<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/dev/firewire, branch release/9.2.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F9.2.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F9.2.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2013-08-15T12:19:16Z</updated>
<entry>
<title> Merge r254306:</title>
<updated>2013-08-15T12:19:16Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2013-08-15T12:19:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=63e0f0f0c230505454bb02922661c407e1b437aa'/>
<id>urn:sha1:63e0f0f0c230505454bb02922661c407e1b437aa</id>
<content type='text'>
 Update PCI drivers to no longer look at the MEMIO-enabled bit in the PCI
 command register.  The lazy BAR allocation code in FreeBSD sometimes
 disables this bit when it detects a range conflict, and will re-enable
 it on demand when a driver allocates the BAR.  Thus, the bit is no longer
 a reliable indication of capability, and should not be checked.  This
 results in the elimination of a lot of code from drivers, and also gives
 the opportunity to simplify a lot of drivers to use a helper API to set
 the busmaster enable bit.

 This changes fixes some recent reports of disk controllers and their
 associated drives/enclosures disappearing during boot.

Submitted by:	jhb
Reviewed by:	jfv, marius, adrian, achim
Approved by:	re
</content>
</entry>
<entry>
<title>MFC r249468:</title>
<updated>2013-07-08T15:54:38Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2013-07-08T15:54:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=3e4e5885166ea909e8b4fb152427c50e5d311a22'/>
<id>urn:sha1:3e4e5885166ea909e8b4fb152427c50e5d311a22</id>
<content type='text'>
Stop abusing xpt_periph in random plases that really have no periph related
to CCB, for example, bus scanning.  NULL value is fine in such cases and it
is correctly logged in debug messages as "noperiph".  If at some point we
need some real XPT periphs (alike to pmpX now), quite likely they will be
per-bus, and not a single global instance as xpt_periph now.
</content>
</entry>
<entry>
<title>Big MFC of the physbio changes necessary for unmapped I/O.  These changes</title>
<updated>2013-06-18T00:36:53Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2013-06-18T00:36:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=039e422c063977ba9073fd2c93883dd8a5a36d48'/>
<id>urn:sha1:039e422c063977ba9073fd2c93883dd8a5a36d48</id>
<content type='text'>
have been in production at Netflix for several months with significant
success.

MFC r246713:

Reform the busdma API so that new types may be added without modifying
every architecture's busdma_machdep.c.  It is done by unifying the
bus_dmamap_load_buffer() routines so that they may be called from MI
code.  The MD busdma is then given a chance to do any final processing
in the complete() callback.

MFC r249538:
Some compilers issue a warning when wider integer is casted to narrow
pointer.  Supposedly shut down the warning by casting through
uintptr_t.

MFC r251479:
Simplify the checking of flags for cam_periph_mapmem().  This gets rid of
a lot of code redundancy and grossness at very minor expense.

MFC r251837:
MFC r251842:
Add infrastructure for doing compatibility shims, as has been sorely
needed for the last 10 years.  Far too much of the internal API is
exposed, and every small adjustment causes applications to stop working.
To kick this off, bump the API version to 0x17 as should have been done
with r246713, but add shims to compensate.  Thanks to the shims, there
should be no visible change in application behavior.

Submitted by:	kib, jeffr
Approved by:	kib
Obtained from:	Netflix
</content>
</entry>
<entry>
<title>MFC r227293 (by ed):</title>
<updated>2013-04-05T08:22:11Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2013-04-05T08:22:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=1139d398ea93668ee65ae02b8ceab630ca9e5487'/>
<id>urn:sha1:1139d398ea93668ee65ae02b8ceab630ca9e5487</id>
<content type='text'>
Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs.

This means that their use is restricted to a single C file.
</content>
</entry>
<entry>
<title>MFC: r227309 (partial)</title>
<updated>2013-03-09T02:36:32Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2013-03-09T02:36:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=7b1b32ed4582e7bcdd416c4718d0d79ebaea192d'/>
<id>urn:sha1:7b1b32ed4582e7bcdd416c4718d0d79ebaea192d</id>
<content type='text'>
Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.

The SYSCTL_NODE macro defines a list that stores all child-elements of
that node. If there's no SYSCTL_DECL macro anywhere else, there's no
reason why it shouldn't be static.
</content>
</entry>
<entry>
<title>MFC: r243857 (partial)</title>
<updated>2013-03-09T00:39:54Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2013-03-09T00:39:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=03abd02e1efa33cbb430b395dfdf238e8f3a5f60'/>
<id>urn:sha1:03abd02e1efa33cbb430b395dfdf238e8f3a5f60</id>
<content type='text'>
Mechanically substitute flags from historic mbuf allocator with
malloc(9) flags in sys/dev.
</content>
</entry>
<entry>
<title>MFC r237601:</title>
<updated>2012-06-29T21:33:36Z</updated>
<author>
<name>Kenneth D. Merry</name>
<email>ken@FreeBSD.org</email>
</author>
<published>2012-06-29T21:33:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=d3d95b86f4350d720779bd4be04f7d13673c33f9'/>
<id>urn:sha1:d3d95b86f4350d720779bd4be04f7d13673c33f9</id>
<content type='text'>
  r237601 | ken | 2012-06-26 08:51:35 -0600 (Tue, 26 Jun 2012) | 38 lines

  Fix an issue that caused the kernel to panic inside CTL when trying
  to attach to target capable HBAs that implement the old immediate
  notify (XPT_IMMED_NOTIFY) and notify acknowledge (XPT_NOTIFY_ACK)
  CCBs.  The new API has been in place since SVN change 196008 in
  2009.

  The solution is two-fold:  fix CTL to handle the responses from the
  HBAs, and convert the HBA drivers in question to use the new API.

  These drivers have not been tested with CTL, so how well they will
  interoperate with CTL is unknown.

  scsi_target.c:Update the userland target example code to use the
  		new immediate notify API.

  scsi_ctl.c:	Detect when an immediate notify CCB is returned
  		with CAM_REQ_INVALID or CAM_PROVIDE_FAIL status,
  		and just free it.

  		Fix a duplicate assignment.

  aic79xx.c,
  aic79xx_osm.c:Update the aic79xx driver to use the new API.
    		Target mode is not enabled on for this driver, so
  		the changes will have no practical effect.

  aic7xxx.c,
  aic7xxx_osm.c:Update the aic7xxx driver to use the new API.

  sbp_targ.c:	Update the firewire target code to work with the
  		new API.

  mpt_cam.c:	Update the mpt(4) driver to work with the new API.
  		Target mode is only enabled for Fibre Channel
  		mpt(4) devices.
</content>
</entry>
<entry>
<title>MFC r226173, r227843, r227848 and r227908:</title>
<updated>2011-12-31T14:12:12Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2011-12-31T14:12:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0105e7b57ec82d3d157edb9f4322f29f05d54f6e'/>
<id>urn:sha1:0105e7b57ec82d3d157edb9f4322f29f05d54f6e</id>
<content type='text'>
Use DEVMETHOD_END to mark end of device methods.
Remove superfluous device methods.
Add some missing __FBSBID() macros.
</content>
</entry>
<entry>
<title>MFC r225950:</title>
<updated>2011-10-06T19:15:51Z</updated>
<author>
<name>Kenneth D. Merry</name>
<email>ken@FreeBSD.org</email>
</author>
<published>2011-10-06T19:15:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=eec8a391eb22ae92295ac7b87a533eb38eb1eaab'/>
<id>urn:sha1:eec8a391eb22ae92295ac7b87a533eb38eb1eaab</id>
<content type='text'>
Add descriptor sense support to CAM, and honor sense residuals properly in
CAM.

Desriptor sense is a new sense data format that originated in SPC-3.  Among
other things, it allows for an 8-byte info field, which is necessary to
pass back block numbers larger than 4 bytes.

This change adds a number of new functions to scsi_all.c (and therefore
libcam) that abstract out most access to sense data.

This includes a bump of CAM_VERSION, because the CCB ABI has changed.
Userland programs that use the CAM pass(4) driver will need to be
recompiled.

camcontrol.c:	Change uses of scsi_extract_sense() to use
		scsi_extract_sense_len().

		Use scsi_get_sks() instead of accessing sense key specific
		data directly.

scsi_modes:	Update the control mode page to the latest version (SPC-4).

scsi_cmds.c,
scsi_target.c:	Change references to struct scsi_sense_data to struct
		scsi_sense_data_fixed.  This should be changed to allow the
		user to specify fixed or descriptor sense, and then use
		scsi_set_sense_data() to build the sense data.

ps3cdrom.c:	Use scsi_set_sense_data() instead of setting sense data
		manually.

cam_periph.c:	Use scsi_extract_sense_len() instead of using
		scsi_extract_sense() or accessing sense data directly.

cam_ccb.h:	Bump the CAM_VERSION from 0x15 to 0x16.  The change of
		struct scsi_sense_data from 32 to 252 bytes changes the
		size of struct ccb_scsiio, but not the size of union ccb.
		So the version must be bumped to prevent structure
		mis-matches.

scsi_all.h:	Lots of updated SCSI sense data and other structures.

		Add function prototypes for the new sense data functions.

		Take out the inline implementation of scsi_extract_sense().
		It is now too large to put in a header file.

		Add macros to calculate whether fields are present and
		filled in fixed and descriptor sense data

scsi_all.c:	In scsi_op_desc(), allow the user to pass in NULL inquiry
		data, and we'll assume a direct access device in that case.

		Changed the SCSI RESERVED sense key name and description
		to COMPLETED, as it is now defined in the spec.

		Change the error recovery action for a number of read errors
		to prevent lots of retries when the drive has said that the
		block isn't accessible.  This speeds up reconstruction of
		the block by any RAID software running on top of the drive
		(e.g. ZFS).

		In scsi_sense_desc(), allow for invalid sense key numbers.
		This allows calling this routine without checking the input
		values first.

		Change scsi_error_action() to use scsi_extract_sense_len(),
		and handle things when invalid asc/ascq values are
		encountered.

		Add a new routine, scsi_desc_iterate(), that will call the
		supplied function for every descriptor in descriptor format
		sense data.

		Add scsi_set_sense_data(), and scsi_set_sense_data_va(),
		which build descriptor and fixed format sense data.  They
		currently default to fixed format sense data.

		Add a number of scsi_get_*() functions, which get different
		types of sense data fields from either fixed or descriptor
		format sense data, if the data is present.

		Add a number of scsi_*_sbuf() functions, which print
		formatted versions of various sense data fields.  These
		functions work for either fixed or descriptor sense.

		Add a number of scsi_sense_*_sbuf() functions, which have a
		standard calling interface and print the indicated field.
		These functions take descriptors only.

		Add scsi_sense_desc_sbuf(), which will print a formatted
		version of the given sense descriptor.

		Pull out a majority of the scsi_sense_sbuf() function and
		put it into scsi_sense_only_sbuf().  This allows callers
		that don't use struct ccb_scsiio to easily utilize the
		printing routines.  Revamp that function to handle
		descriptor sense and use the new sense fetching and
		printing routines.

		Move scsi_extract_sense() into scsi_all.c, and implement it
		in terms of the new function, scsi_extract_sense_len().
		The _len() version takes a length (which should be the
		sense length - residual) and can indicate which fields are
		present and valid in the sense data.

		Add a couple of new scsi_get_*() routines to get the sense
		key, asc, and ascq only.

mly.c:		Rename struct scsi_sense_data to struct
		scsi_sense_data_fixed.

sbp_targ.c:	Use the new sense fetching routines to get sense data
		instead of accessing it directly.

sbp.c:		Change the firewire/SCSI sense data transformation code to
		use struct scsi_sense_data_fixed instead of struct
		scsi_sense_data.  This should be changed later to use
		scsi_set_sense_data().

ciss.c:		Calculate the sense residual properly.  Use
		scsi_get_sense_key() to fetch the sense key.

mps_sas.c,
mpt_cam.c:	Set the sense residual properly.

iir.c:		Use scsi_set_sense_data() instead of building sense data by
		hand.

iscsi_subr.c:	Use scsi_extract_sense_len() instead of grabbing sense data
		directly.

umass.c:	Use scsi_set_sense_data() to build sense data.

		Grab the sense key using scsi_get_sense_key().

		Calculate the sense residual properly.

isp_freebsd.h:	Use scsi_get_*() routines to grab asc, ascq, and sense key
		values.

		Calculate and set the sense residual.

Approved by:	re (kib)
Sponsored by:	Spectra Logic Corporation
</content>
</entry>
<entry>
<title>When we see an interrupt status of 0xffffffff, check to see if the</title>
<updated>2011-06-21T03:07:59Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2011-06-21T03:07:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=24c02d2f9e4cb17e32735f0362453c74eafdb952'/>
<id>urn:sha1:24c02d2f9e4cb17e32735f0362453c74eafdb952</id>
<content type='text'>
child is still present.  If not, return 'handled' and don't print
anything (this is expected behavior).  We expect an interrupt on eject,
power-down and/or shutdown.
</content>
</entry>
</feed>
