<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/scsi/ipr.c, branch linux-2.6.36.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.36.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.36.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-07-28T14:05:40Z</updated>
<entry>
<title>[SCSI] ipr: fix resource type update and add sdev and shost attributes</title>
<updated>2010-07-28T14:05:40Z</updated>
<author>
<name>Wayne Boyer</name>
</author>
<published>2010-07-14T17:50:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=75576bb9b208d7c66822f310cdef9ca2d72c879c'/>
<id>urn:sha1:75576bb9b208d7c66822f310cdef9ca2d72c879c</id>
<content type='text'>
Setting the resource type in the ipr_update_res_entry function was incorrect in
that the top 4 bits were masked off.  The assignment has been updated to no
longer mask those bits.

Then, two new attributes were added to allow the user space utilities to more
easily get information.  The resource_type sdev attribute is set for all devices
in the adapter's configuration table and indicates the type of device.  The
fw_type shost attribute indicates the firmware type supported by the adapter.

Finally, the resource_path attribute was changed to be mode S_IRUGO.

Signed-off-by: Wayne Boyer &lt;wayneb@linux.vnet.ibm.com&gt;
Acked-by: Brian King &lt;brking@linux.vnet.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI] ipr: fix transition to operational for new adapters</title>
<updated>2010-07-28T14:05:39Z</updated>
<author>
<name>Wayne Boyer</name>
</author>
<published>2010-07-14T17:49:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1df79ca4223632113f14618833b8bb1727a8ca15'/>
<id>urn:sha1:1df79ca4223632113f14618833b8bb1727a8ca15</id>
<content type='text'>
The method of transitioning to operational for new adapters includes using
initialization stages.  The current stage is indicated via a register read.
The final good stage in the sequence is "operational" but does not necessarily
indicate that the driver can proceed.  There is another bit that gets set in the
adapter-&gt;host interrupt register when the adapter has completed enough of its
bringup such that it can accept commands.  The driver was not checking that
bit before proceeding which led to intermittent errors and adapter resets.

The fix is to check the "transition to operational" bit in the interrupt
register after detecting that the initialization stage is "operational" and
only proceed if both are set.

Signed-off-by: Wayne Boyer &lt;wayneb@linux.vnet.ibm.com&gt;
Acked-by: Brian King &lt;brking@linux.vnet.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI] ipr: add support for new Obsidian-E embedded adapter</title>
<updated>2010-07-27T17:03:54Z</updated>
<author>
<name>Wayne Boyer</name>
</author>
<published>2010-06-24T20:34:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b0f56d3d6becfb338a41615d6ce43d41547502c3'/>
<id>urn:sha1:b0f56d3d6becfb338a41615d6ce43d41547502c3</id>
<content type='text'>
This patch allows the driver to recognize a new Obsidian-E based adapter that
uses a new subsystem ID.

This patch also fixes a few tab/space problems.

Signed-off-by: Wayne Boyer &lt;wayneb@linux.vnet.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI] ipr: add MMIO write to perform BIST for 64 bit adapters</title>
<updated>2010-07-27T17:03:49Z</updated>
<author>
<name>Wayne Boyer</name>
</author>
<published>2010-06-17T18:51:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cb237ef7a45f22373575b2d2ad2d06f7d38d6bce'/>
<id>urn:sha1:cb237ef7a45f22373575b2d2ad2d06f7d38d6bce</id>
<content type='text'>
The 64 bit chip used in new adapters does not properly support the BIST register
in PCI config space.  This patch implements an alternative MMIO write reset
method.

Signed-off-by: Wayne Boyer &lt;wayneb@linux.vnet.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI] ipr: move setting of the allow_restart flag for vsets and disks</title>
<updated>2010-07-27T17:01:42Z</updated>
<author>
<name>Wayne Boyer</name>
</author>
<published>2010-06-10T21:46:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=56115598c571cadd4b465836e1423a452a908c89'/>
<id>urn:sha1:56115598c571cadd4b465836e1423a452a908c89</id>
<content type='text'>
A problem was found where the call to scsi_add_device() fails intermittently
for an adapter.  This is caused when __scsi_add_device() returns -ENODEV as
a result of not calling scsi_probe_and_add_lun() since the call to
scsi_host_scan_allowed() fails.  scsi_host_scan_allowed() fails because the
adapter state is set to SHOST_RECOVERY instead of SHOST_RUNNING. The state of
the adapter is being set to SHOST_RECOVERY by scsi_eh_scmd_add() during
error handling.

This problem is avoided by moving the setting of the allow_restart flag to
later in the device initialization sequence.  This prevents further error
handling if we get a NOT_READY response from a TUR command by causing
scsi_check_sense() to return SUCCESS.  Therefore, scsi_eh_scmd_add() will
not run and the adapter state will remain as SHOST_RUNNING.

Signed-off-by: Wayne Boyer &lt;wayneb@linux.vnet.ibm.com&gt;
Acked-by: Brian King &lt;brking@linux.vnet.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI] ipr: add endian swap enablement for 64 bit adapters</title>
<updated>2010-07-27T17:01:30Z</updated>
<author>
<name>Wayne Boyer</name>
</author>
<published>2010-06-04T17:26:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8701f18504751a5b89be3203e28c5ec04c147167'/>
<id>urn:sha1:8701f18504751a5b89be3203e28c5ec04c147167</id>
<content type='text'>
A change in the hardware design of the chip for the new adapters changes the
default endianness of MMIO operations.  This patch adds a register definition
which when written to with a predefined value will change the endianness
back to what the driver expects.

This patch also fixes two problems found during testing.

First, the first reserved field in the ipr_hostrcb64_fabirc_desc structure only
reserved one byte.  The correct amount to reserve is 2 bytes.

Second, the reserved field of the ipr_hostrcb64_error structure only reserved
2 bytes.  The correct amount to reserve is 16 bytes.

Signed-off-by: Wayne Boyer &lt;wayneb@linux.vnet.ibm.com&gt;
Acked-by: Brian King &lt;brking@linux.vnet.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI] ipr: fix resource path display and formatting</title>
<updated>2010-07-21T20:52:13Z</updated>
<author>
<name>Wayne Boyer</name>
</author>
<published>2010-06-03T23:02:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5adcbeb34d2a031d3baca227eef23e56734006ba'/>
<id>urn:sha1:5adcbeb34d2a031d3baca227eef23e56734006ba</id>
<content type='text'>
It was possible to overflow the buffer used to print out the formatted
version of the resource path.  The fix is to limit the number of
bytes that get formatted.

This patch also updates the ipr_show_resource_path function to display the
resource address for devices that are attached to adapters that don't
support resource paths.

Signed-off-by: Wayne Boyer &lt;wayneb@linux.vnet.ibm.com&gt;
Acked-by: Brian King &lt;brking@linux.vnet.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI] ipr: improve interrupt service routine performance</title>
<updated>2010-05-24T16:11:06Z</updated>
<author>
<name>Wayne Boyer</name>
</author>
<published>2010-05-19T18:56:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=64ffdb762241c0a9c0c8fac7ea92aa0ba1529334'/>
<id>urn:sha1:64ffdb762241c0a9c0c8fac7ea92aa0ba1529334</id>
<content type='text'>
During performance testing on P7 machines it was observed that the interrupt
service routine was doing unnecessary MMIO operations.

This patch rearranges the logic of the routine and moves some of the code out
of the main routine.  The result is that there are now fewer MMIO operations in
the performance path of the code.

Signed-off-by: Wayne Boyer &lt;wayneb@linux.vnet.ibm.com&gt;
Acked-by: Brian King &lt;brking@linux.vnet.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI] ipr: set the data list length in the request control block</title>
<updated>2010-05-24T16:11:06Z</updated>
<author>
<name>Wayne Boyer</name>
</author>
<published>2010-05-14T15:55:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b8803b1cef28af785c4e903b9b1449898d68c758'/>
<id>urn:sha1:b8803b1cef28af785c4e903b9b1449898d68c758</id>
<content type='text'>
In bring up testing for the new 64 bit adapters, the first read command failed
after loading the driver.  The cause was that the command requires more than
one scatter gather element and the corresponding code to set the data list
length in the request control block was missing.  This patch adds the correct
assignment.

Signed-off-by: Wayne Boyer &lt;wayneb@linux.vnet.ibm.com&gt;
Acked-by: Brian King &lt;brking@linux.vnet.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>[SCSI] ipr: fix a register read to use the correct address for 64 bit adapters</title>
<updated>2010-05-24T16:11:05Z</updated>
<author>
<name>Wayne Boyer</name>
</author>
<published>2010-05-10T16:14:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7be96900a2a662c67403559acd250f011b1d70db'/>
<id>urn:sha1:7be96900a2a662c67403559acd250f011b1d70db</id>
<content type='text'>
Fix ipr_reset_enable_ioa() to read the correct IOA to host interrupt register
address for 64 bit adapters.  We need to read the lower 32 bits, not the upper
32 bits.

Also change the write of the 64 bit mask value to a single writeq instead
of two writel calls.

Finally, use the correct u8 type for the type field in the ipr_resource_entry
structure.

Signed-off-by: Wayne Boyer &lt;wayneb@linux.vnet.ibm.com&gt;
Acked-by: Brian King &lt;brking@linux.vnet.ibm.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
</feed>
