<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/mps, branch release/10.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F10.1.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F10.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2014-08-20T23:09:27Z</updated>
<entry>
<title>MFC r269314 and r269316</title>
<updated>2014-08-20T23:09:27Z</updated>
<author>
<name>Stephen McConnell</name>
<email>slm@FreeBSD.org</email>
</author>
<published>2014-08-20T23:09:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ffad5d897ee276657163ee15cfe39f43794db0b3'/>
<id>urn:sha1:ffad5d897ee276657163ee15cfe39f43794db0b3</id>
<content type='text'>
r269314:
Bring in LSI's phase16 - phase18 changes
* Implements Start Stop Unit for SATA direct-attach devices in IR mode to avoid
  data corruption.
* Use CAM_DEV_NOT_THERE instead of CAM_SEL_TIMEOUT and CAM_TID_INVALID

r269316:
Bring in LSI's phase19 changes
* Removed unused mpssas_discovery_timeout function.
* Don't alter mapping boundaries if not raid firmware.
* Check free_busaddr instead of post_busaddr (diff minimisation really)

Approved by:	ken (co-mentor) and smh
</content>
</entry>
<entry>
<title>Merge r268071, 268072, 268088</title>
<updated>2014-07-02T23:32:05Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2014-07-02T23:32:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e9407cbe8c01337f17f2b81cc6746d01ecc496fc'/>
<id>urn:sha1:e9407cbe8c01337f17f2b81cc6746d01ecc496fc</id>
<content type='text'>
 Refactor some code in mps.c to reduce header pollution.
 Add accessor functions for manipulating the CAM CCB status field.
 Don't overload the CCB status field within the driver.

Reviewed by:    gibbs, slm
Obtained from:  Netflix, Inc.
</content>
</entry>
<entry>
<title>MFC mpr(4) changes: r265484, r265485, r265709 and r265712</title>
<updated>2014-05-22T16:34:00Z</updated>
<author>
<name>Kenneth D. Merry</name>
<email>ken@FreeBSD.org</email>
</author>
<published>2014-05-22T16:34:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ab369a36e14ebcf4671ff2e026d73ec19d392213'/>
<id>urn:sha1:ab369a36e14ebcf4671ff2e026d73ec19d392213</id>
<content type='text'>
  ------------------------------------------------------------------------
  r265484 | ken | 2014-05-06 23:11:16 -0600 (Tue, 06 May 2014) | 5 lines

  Remove some debugging code.

  Submitted by:	Steve McConnell &lt;stephen.mcconnell@avagotech.com&gt;

  ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r265485 | ken | 2014-05-06 23:14:48 -0600 (Tue, 06 May 2014) | 9 lines

  Hold the SIM lock when calling xpt_create_path() and xpt_action() in
  mprsas_SSU_to_SATA_devices().

  This fixes an assertion on shutdown with INVARIANTS enabled with SATA
  drives present on an IR firmware controller.

  Reviewed by:	Steve McConnell &lt;stephen.mcconnell@avagotech.com&gt;.

  ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r265709 | ken | 2014-05-08 14:28:22 -0600 (Thu, 08 May 2014) | 15 lines

  Fix TLR (Transport Layer Retry) support in the mps(4) and mpr(4) drivers.

  TLR is necessary for reliable communication with SAS tape drives.

  This was broken by change 246713 in the mps(4) driver.  It changed the
  cm_data field for SCSI I/O requests to point to the CCB instead of the data
  buffer.  So, instead, look at the CCB's data pointer to determine whether
  or not we're talking to a tape drive.

  Also, take the residual into account to make sure that we don't go off the
  end of the request.

  Sponsored by:	Spectra Logic Corporation

  ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r265712 | ken | 2014-05-08 14:46:46 -0600 (Thu, 08 May 2014) | 10 lines

  Add #ifdefs in the mpr(4) driver so that versions of stable/9 that
  have implemented the PIM_NOSCAN rescan functionality will have it
  enabled.

  This is a no-op for head.

  Reviewed by:	slm
  Sponsored by:	Spectra Logic Corporation

  ------------------------------------------------------------------------

Sponsored by:	Spectra Logic, Avago
</content>
</entry>
<entry>
<title>MFC r264229</title>
<updated>2014-04-15T08:02:57Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2014-04-15T08:02:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=03101a1dbca0171df9d008528a0b3d8d61b58d8a'/>
<id>urn:sha1:03101a1dbca0171df9d008528a0b3d8d61b58d8a</id>
<content type='text'>
Add some assertions to ensure that the target array doesn't get accessed
out of bounds.
</content>
</entry>
<entry>
<title>MFC r262575:</title>
<updated>2014-03-06T13:37:34Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2014-03-06T13:37:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=59b21d5e0388e0b1363c722b38b33674071c912f'/>
<id>urn:sha1:59b21d5e0388e0b1363c722b38b33674071c912f</id>
<content type='text'>
Restore SIM freeze/release match, broken at r253549.

This fixes problem with SIM left in frozen state after reinit, for example,
after firmware update.
</content>
</entry>
<entry>
<title>MFC r262553:</title>
<updated>2014-03-06T13:24:51Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2014-03-06T13:24:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=60c97d8a0a13fc43c239f03d00cb492d98e576b9'/>
<id>urn:sha1:60c97d8a0a13fc43c239f03d00cb492d98e576b9</id>
<content type='text'>
Pass proper pointer to bus_dmamem_free() in mps_iocfacts_free().

Passing there pointer into the middle of allocated area caused kernel
panic during reinit, for example, after firmware upgrade.
</content>
</entry>
<entry>
<title>Fix an issue that caused Integrated RAID volumes on LSI mps(4) controllers</title>
<updated>2013-09-12T22:06:12Z</updated>
<author>
<name>Kenneth D. Merry</name>
<email>ken@FreeBSD.org</email>
</author>
<published>2013-09-12T22:06:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cd04f04fb5252ea9495e96c49923bc56a30e0d99'/>
<id>urn:sha1:cd04f04fb5252ea9495e96c49923bc56a30e0d99</id>
<content type='text'>
to not get scanned on boot.

The problem originated in change 253549.  With the change to the mps(4)
driver to scan only targets that it knows it has (as opposed to scanning
the entire bus), scanning RAID volumes on boot was omitted.

So, for versions of FreeBSD that have the scanning changes
(__FreeBSD_version 1000039 and higher), scan RAID volumes that are added
whether or not we're booting.

PR:		kern/181784
Reported by:	Xiguang Wang &lt;kurapica@gmail.com&gt;
Tested by:	Dennis Glatting &lt;dg@pki2.com&gt;
Sponsored by:	Spectra Logic
Approved by:	re (delphij)
MFC After:	3 days
</content>
</entry>
<entry>
<title>Fix mps(4) driver breakage that came in in change 253550 that</title>
<updated>2013-08-21T21:30:56Z</updated>
<author>
<name>Kenneth D. Merry</name>
<email>ken@FreeBSD.org</email>
</author>
<published>2013-08-21T21:30:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ec99409e7ee1427ef102597e6827561d9c3602bd'/>
<id>urn:sha1:ec99409e7ee1427ef102597e6827561d9c3602bd</id>
<content type='text'>
manifested itself in out of chain frame conditions.

When the driver ran out of chain frames, the request in question
would get completed early, and go through mpssas_scsiio_complete().

In mpssas_scsiio_complete(), the negation of the CAM status values
(CAM_STATUS_MASK | CAM_SIM_QUEUED) was ORed in instead of being
ANDed in.  This resulted in a bogus CAM CCB status value.  This
didn't show up in the non-error case, because the status was reset
to something valid (e.g. CAM_REQ_CMP) later on in the function.

But in the error case, such as when the driver ran out of chain
frames, the CAM_REQUEUE_REQ status was ORed in to the bogus status
value.  This led to the CAM transport layer repeatedly releasing
the SIM queue, because it though that the CAM_RELEASE_SIMQ flag had
been set.  The symptom was messages like this on the console when
INVARIANTS were enabled:

xpt_release_simq: requested 1 &gt; present 0
xpt_release_simq: requested 1 &gt; present 0
xpt_release_simq: requested 1 &gt; present 0

mps_sas.c:	In mpssas_scsiio_complete(), use &amp;= to take status
		bits out.  |= adds them in.

		In the error case in mpssas_scsiio_complete(), set
		the status to CAM_REQUEUE_REQ, don't OR it in.

MFC after:	3 days
Sponsored by:	Spectra Logic
</content>
</entry>
<entry>
<title>Update PCI drivers to no longer look at the MEMIO-enabled bit in the PCI</title>
<updated>2013-08-12T23:30:01Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2013-08-12T23:30:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c68534f1d5bab4ad466384c4fb9bb2956811e8b9'/>
<id>urn:sha1:c68534f1d5bab4ad466384c4fb9bb2956811e8b9</id>
<content type='text'>
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, achadd, achim
MFC after:	1 day
</content>
</entry>
<entry>
<title>Add brace missing in r254253.</title>
<updated>2013-08-12T20:17:37Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2013-08-12T20:17:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fe97b88c1523fe34ca34ff60b95fcecfc0e4325a'/>
<id>urn:sha1:fe97b88c1523fe34ca34ff60b95fcecfc0e4325a</id>
<content type='text'>
</content>
</entry>
</feed>
