<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/scsi/pm8001, branch v5.8-rc3</title>
<subtitle>Linux Kernel (branches are rebased on master from time to time)</subtitle>
<id>https://sre.ring0.de/linux/atom?h=v5.8-rc3</id>
<link rel='self' href='https://sre.ring0.de/linux/atom?h=v5.8-rc3'/>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/'/>
<updated>2020-06-16T03:40:43Z</updated>
<entry>
<title>scsi: Wire up ata_scsi_dma_need_drain for SAS HBA drivers</title>
<updated>2020-06-16T03:40:43Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2020-06-15T06:46:24Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=b8f1d1e05817f5e5f7517911b55ea13d2c0438a0'/>
<id>urn:sha1:b8f1d1e05817f5e5f7517911b55ea13d2c0438a0</id>
<content type='text'>
We need ata_scsi_dma_need_drain for all drivers wired up to drive ATAPI
devices through libata.  That also includes the SAS HBA drivers in addition
to native libata HBA drivers.

Link: https://lore.kernel.org/r/20200615064624.37317-3-hch@lst.de
Fixes: cc97923a5bcc ("block: move dma drain handling to scsi")
Reported-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Tested-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Acked-by: Jack Wang &lt;jinpu.wang@cloud.ionos.com&gt;
Acked-by: John Garry &lt;john.garry@huawei.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>scsi: pm80xx: Introduce read and write length for IOCTL payload structure</title>
<updated>2020-03-17T17:57:19Z</updated>
<author>
<name>Viswas G</name>
<email>viswas.g@microchip.com</email>
</author>
<published>2020-03-16T07:49:06Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=9b88984658fbe14dae7597070a45e3668d1b6ffb'/>
<id>urn:sha1:9b88984658fbe14dae7597070a45e3668d1b6ffb</id>
<content type='text'>
Removed the common length and introduce read and write length for IOCTL
payload structure.

[mkp: fixed SoB ordering]

Link: https://lore.kernel.org/r/20200316074906.9119-7-deepak.ukey@microchip.com
Acked-by: Jack Wang &lt;jinpu.wang@cloud.ionos.com&gt;
Signed-off-by: Viswas G &lt;viswas.g@microchip.com&gt;
Signed-off-by: Deepak Ukey &lt;deepak.ukey@microchip.com&gt;
Signed-off-by: Radha Ramachandran &lt;radha@google.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>scsi: pm80xx: sysfs attribute for non fatal dump</title>
<updated>2020-03-17T17:57:18Z</updated>
<author>
<name>Deepak Ukey</name>
<email>deepak.ukey@microchip.com</email>
</author>
<published>2020-03-16T07:49:05Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=dba2cc03b9db85fa356bf3137404542c0996e8c7'/>
<id>urn:sha1:dba2cc03b9db85fa356bf3137404542c0996e8c7</id>
<content type='text'>
Added the sysfs attribute for non fatal log so that management utility can
get the non fatal dump from driver. The non-fatal error is an error
condition or abnormal behavior detected by the host, or detected and
reported by the controller to the host.The non-fatal error does not stop
the controller firmware and enables it to still respond to host requests.
A typical example of a non-fatal error is an I/O timeout or an unusual
error notification from the controller. Since the firmware is operational,
the error dump information is pushed to host memory (by firmware) upon
request from the host.

Link: https://lore.kernel.org/r/20200316074906.9119-6-deepak.ukey@microchip.com
Acked-by: Jack Wang &lt;jinpu.wang@cloud.ionos.com&gt;
Signed-off-by: Deepak Ukey &lt;deepak.ukey@microchip.com&gt;
Signed-off-by: Viswas G &lt;Viswas.G@microchip.com&gt;
Signed-off-by: Radha Ramachandran &lt;radha@google.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>scsi: pm80xx: Cleanup initialization loading fail path</title>
<updated>2020-03-17T17:57:16Z</updated>
<author>
<name>Peter Chang</name>
<email>dpf@google.com</email>
</author>
<published>2020-03-16T07:49:04Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=b40f28820fbafbcb0e0ec555fc2bca76ac1d9612'/>
<id>urn:sha1:b40f28820fbafbcb0e0ec555fc2bca76ac1d9612</id>
<content type='text'>
1) Move the instance tracking down after we think the instance is good to
   go. Avoids having a use-after free.

2) There are goto targets for trying to cleanup if the hw fails to
   initialize, but there's some overlap depending on who thinks they own
   the sub-structures.

Link: https://lore.kernel.org/r/20200316074906.9119-5-deepak.ukey@microchip.com
Acked-by: Jack Wang &lt;jinpu.wang@cloud.ionos.com&gt;
Signed-off-by: Peter Chang &lt;dpf@google.com&gt;
Signed-off-by: Deepak Ukey &lt;deepak.ukey@microchip.com&gt;
Signed-off-by: Viswas G &lt;Viswas.G@microchip.com&gt;
Signed-off-by: Radha Ramachandran &lt;radha@google.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>scsi: pm80xx: Free the tag when mpi_set_phy_profile_resp is received</title>
<updated>2020-03-17T17:57:16Z</updated>
<author>
<name>yuuzheng</name>
<email>yuuzheng@google.com</email>
</author>
<published>2020-03-16T07:49:03Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=9d9c7c20fb35444fe26bf284fb89006fd7767ab7'/>
<id>urn:sha1:9d9c7c20fb35444fe26bf284fb89006fd7767ab7</id>
<content type='text'>
In pm80xx driver, the command mpi_set_phy_profile_req is sent by host
during boot to configure the phy profile such as analog setting page, rate
control page. However, the tag is not freed when its response is
received. As a result, 16 tags are missing for each HBA after boot.  When
NCQ is enabled with queue depth 16, it needs at least, 15 * 16 = 240 tags
for each HBA to achieve the best performance. In current pm80xx driver with
setting CCB_MAX = 256, the total number of tags in each HBA is 255 for data
IO. Hence, without returning those tags to the pool after boot, some device
will finally be forced to non-ncq mode by ATA layer due to excessive errors
(i.e. LLDD cannot allocate tag for queued task).

Link: https://lore.kernel.org/r/20200316074906.9119-4-deepak.ukey@microchip.com
Acked-by: Jack Wang &lt;jinpu.wang@cloud.ionos.com&gt;
Signed-off-by: yuuzheng &lt;yuuzheng@google.com&gt;
Signed-off-by: Deepak Ukey &lt;deepak.ukey@microchip.com&gt;
Signed-off-by: Viswas G &lt;Viswas.G@microchip.com&gt;
Signed-off-by: Radha Ramachandran &lt;radha@google.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>scsi: pm80xx: Deal with kexec reboots</title>
<updated>2020-03-17T17:57:15Z</updated>
<author>
<name>Vikram Auradkar</name>
<email>auradkar@google.com</email>
</author>
<published>2020-03-16T07:49:02Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=d384be6ede5caa22e8d34dc89949b987c4f44381'/>
<id>urn:sha1:d384be6ede5caa22e8d34dc89949b987c4f44381</id>
<content type='text'>
A kexec reboot causes the controller fw to assert. This assertion shows up
in two ways, the controller doesn't show up as ready and an interrupt is
waiting as soon as the handler is registered. To resolve this added below
fix:

 - Split the interrupt handling setup into two parts, setup and request.

 - If the controller ready register indicates not-ready, but that the not
   readiness is only on the IOC units we can still try a reset to bring the
   system back to the pre-reboot state.

Link: https://lore.kernel.org/r/20200316074906.9119-3-deepak.ukey@microchip.com
Acked-by: Jack Wang &lt;jinpu.wang@cloud.ionos.com&gt;
Signed-off-by: Vikram Auradkar &lt;auradkar@google.com&gt;
Signed-off-by: Deepak Ukey &lt;deepak.ukey@microchip.com&gt;
Signed-off-by: Viswas G &lt;Viswas.G@microchip.com&gt;
Signed-off-by: Radha Ramachandran &lt;radha@google.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>scsi: pm80xx: Increase request sg length</title>
<updated>2020-03-17T17:57:14Z</updated>
<author>
<name>Peter Chang</name>
<email>dpf@google.com</email>
</author>
<published>2020-03-16T07:49:01Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=58bf14c17e6569cb32d1e9a8ac7418f7f5a88fca'/>
<id>urn:sha1:58bf14c17e6569cb32d1e9a8ac7418f7f5a88fca</id>
<content type='text'>
Increasing the per-request size maximum (max_sectors_kb) runs into the
per-device DMA scatter gather list limit (max_segments) for users of the io
vector system calls (eg, readv and writev). This is because the kernel
combines io vectors into DMA segments when possible, but it doesn't work
for our user because the vectors in the buffer cache get scrambled.  This
change bumps the advertised max scatter gather length to 528 to cover 2M w/
x86's 4k pages and some extra for the user checksum.  It trims the size of
some of the tables we don't care about and exposes all of the command slots
upstream to the SCSI layer.  Also reduced the PM8001_MAX_CCB to 256 as
pm8001 driver has memory limit depend on machine capability. If we increase
the sg length, we need to trade-off it by decreasing PM8001_MAX_CCB.
PM8001_MAX_CCB = 256 does not have any influence on normal use

Link: https://lore.kernel.org/r/20200316074906.9119-2-deepak.ukey@microchip.com
Reported-by: kbuild test robot &lt;lkp@intel.com&gt;
Acked-by: Jack Wang &lt;jinpu.wang@cloud.ionos.com&gt;
Signed-off-by: Peter Chang &lt;dpf@google.com&gt;
Signed-off-by: Deepak Ukey &lt;deepak.ukey@microchip.com&gt;
Signed-off-by: Viswas G &lt;Viswas.G@microchip.com&gt;
Signed-off-by: Radha Ramachandran &lt;radha@google.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>scsi: pm80xx: fix spelling mistake "to" -&gt; "too"</title>
<updated>2020-01-30T15:31:47Z</updated>
<author>
<name>Colin Ian King</name>
<email>colin.king@canonical.com</email>
</author>
<published>2020-01-23T00:57:06Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=20bc1ad2e4da2e59e1b8481f19f022d78b43429e'/>
<id>urn:sha1:20bc1ad2e4da2e59e1b8481f19f022d78b43429e</id>
<content type='text'>
There is a spelling mistake in a pm8001_printk message. Fix it.

Link: https://lore.kernel.org/r/20200123005706.2834281-1-colin.king@canonical.com
Signed-off-by: Colin Ian King &lt;colin.king@canonical.com&gt;
Acked-by: Jack Wang &lt;jinpu.wang@cloud.ionos.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>compat_ioctl: scsi: handle HDIO commands from drivers</title>
<updated>2020-01-03T08:42:52Z</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2019-11-30T19:28:12Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=75c0b0e118b929cb8bad8ce1ab4c8be8a76c45e2'/>
<id>urn:sha1:75c0b0e118b929cb8bad8ce1ab4c8be8a76c45e2</id>
<content type='text'>
The ata_sas_scsi_ioctl() function implements a number of HDIO_* commands
for SCSI devices, it is used by all libata drivers as well as a few
drivers that support SAS attached SATA drives.

The only command that is not safe for compat ioctls here is
HDIO_GET_32BIT. Change the implementation to check for in_compat_syscall()
in order to do both cases correctly, and change all callers to use it
as both native and compat callback pointers, including the indirect
callers through sas_ioctl and ata_scsi_ioctl.

Reviewed-by: Ben Hutchings &lt;ben.hutchings@codethink.co.uk&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
</content>
</entry>
<entry>
<title>Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi</title>
<updated>2019-12-08T20:23:42Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2019-12-08T20:23:42Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=138f371ddf4ff50207dbe33ebfc237e756cd6222'/>
<id>urn:sha1:138f371ddf4ff50207dbe33ebfc237e756cd6222</id>
<content type='text'>
Pull more SCSI updates from James Bottomley:
 "Eleven patches, all in drivers (no core changes) that are either minor
  cleanups or small fixes.

  They were late arriving, but still safe for -rc1"

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
  scsi: MAINTAINERS: Add the linux-scsi mailing list to the ISCSI entry
  scsi: megaraid_sas: Make poll_aen_lock static
  scsi: sd_zbc: Improve report zones error printout
  scsi: qla2xxx: Fix qla2x00_request_irqs() for MSI
  scsi: qla2xxx: unregister ports after GPN_FT failure
  scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan
  scsi: pm80xx: Remove unused include of linux/version.h
  scsi: pm80xx: fix logic to break out of loop when register value is 2 or 3
  scsi: scsi_transport_sas: Fix memory leak when removing devices
  scsi: lpfc: size cpu map by last cpu id set
  scsi: ibmvscsi_tgt: Remove unneeded variable rc
</content>
</entry>
</feed>
