<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/scsi/aacraid/aacraid.h, branch v4.4.60</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>aacraid: Fix for KDUMP driver hang</title>
<updated>2016-06-08T01:14:34+00:00</updated>
<author>
<name>Raghava Aditya Renukunta</name>
<email>RaghavaAditya.Renukunta@microsemi.com</email>
</author>
<published>2016-04-26T06:32:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9a11bd2d14ad54e92170cdc9c2e2f278305929c1'/>
<id>9a11bd2d14ad54e92170cdc9c2e2f278305929c1</id>
<content type='text'>
commit 78cbccd3bd683c295a44af8050797dc4a41376ff upstream.

When KDUMP is triggered the driver first talks to the firmware in INTX
mode, but the adapter firmware is still in MSIX mode. Therefore the first
driver command hangs since the driver is waiting for an INTX response and
firmware gives a MSIX response. If when the OS is installed on a RAID
drive created by the adapter KDUMP will hang since the driver does not
receive a response in sync mode.

Fixed by: Change the firmware to INTX mode if it is in MSIX mode before
sending the first sync command.

Signed-off-by: Raghava Aditya Renukunta &lt;RaghavaAditya.Renukunta@microsemi.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 78cbccd3bd683c295a44af8050797dc4a41376ff upstream.

When KDUMP is triggered the driver first talks to the firmware in INTX
mode, but the adapter firmware is still in MSIX mode. Therefore the first
driver command hangs since the driver is waiting for an INTX response and
firmware gives a MSIX response. If when the OS is installed on a RAID
drive created by the adapter KDUMP will hang since the driver does not
receive a response in sync mode.

Fixed by: Change the firmware to INTX mode if it is in MSIX mode before
sending the first sync command.

Signed-off-by: Raghava Aditya Renukunta &lt;RaghavaAditya.Renukunta@microsemi.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>aacraid: Fix RRQ overload</title>
<updated>2016-04-12T16:08:38+00:00</updated>
<author>
<name>Raghava Aditya Renukunta</name>
<email>raghavaaditya.renukunta@pmcs.com</email>
</author>
<published>2016-02-03T23:06:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1624297ccc24486aa9e264f04f59743e5563a6b2'/>
<id>1624297ccc24486aa9e264f04f59743e5563a6b2</id>
<content type='text'>
commit 3f4ce057d51a9c0ed9b01ba693df685d230ffcae upstream.

The driver utilizes an array of atomic variables to keep track of IO
submissions to each vector. To submit an IO multiple threads iterate
through the array to find a vector which has empty slots to send an
IO. The reading and updating of the variable is not atomic, causing race
conditions when a thread uses a full vector to submit an IO.

Fixed by mapping each FIB to a vector, the submission path then uses
said vector to submit IO thereby removing the possibly of a race
condition.The vector assignment is started from 1 since vector 0 is
reserved for the use of AIF management FIBS.If the number of MSIx
vectors is 1 (MSI or INTx mode) then all the fibs are allocated to
vector 0.

Fixes: 495c0217 "aacraid: MSI-x support"
Signed-off-by: Raghava Aditya Renukunta &lt;raghavaaditya.renukunta@pmcs.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 3f4ce057d51a9c0ed9b01ba693df685d230ffcae upstream.

The driver utilizes an array of atomic variables to keep track of IO
submissions to each vector. To submit an IO multiple threads iterate
through the array to find a vector which has empty slots to send an
IO. The reading and updating of the variable is not atomic, causing race
conditions when a thread uses a full vector to submit an IO.

Fixed by mapping each FIB to a vector, the submission path then uses
said vector to submit IO thereby removing the possibly of a race
condition.The vector assignment is started from 1 since vector 0 is
reserved for the use of AIF management FIBS.If the number of MSIx
vectors is 1 (MSI or INTx mode) then all the fibs are allocated to
vector 0.

Fixes: 495c0217 "aacraid: MSI-x support"
Signed-off-by: Raghava Aditya Renukunta &lt;raghavaaditya.renukunta@pmcs.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>aacraid: Update driver version</title>
<updated>2015-11-10T00:12:56+00:00</updated>
<author>
<name>Mahesh Rajashekhara</name>
<email>Mahesh.Rajashekhara@pmcs.com</email>
</author>
<published>2015-08-28T10:38:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ead1cbf92745b2b52846da56c9b3dd83ea4e718b'/>
<id>ead1cbf92745b2b52846da56c9b3dd83ea4e718b</id>
<content type='text'>
Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Reviewed-by: Karthikeya Sunkesula &lt;Karthikeya.Sunkesula@pmcs.com&gt;
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Reviewed-by: Karthikeya Sunkesula &lt;Karthikeya.Sunkesula@pmcs.com&gt;
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>aacraid: Use pci_enable_msix_range()</title>
<updated>2015-11-10T00:12:13+00:00</updated>
<author>
<name>Mahesh Rajashekhara</name>
<email>Mahesh.Rajashekhara@pmcs.com</email>
</author>
<published>2015-08-28T10:38:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=84859c926b0828b07b2c3dd66a440ef4120a8668'/>
<id>84859c926b0828b07b2c3dd66a440ef4120a8668</id>
<content type='text'>
As pci_enable_msix() deprecated, replaced with pci_enable_msix_range()

Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Reviewed-by: Karthikeya Sunkesula &lt;Karthikeya.Sunkesula@pmcs.com&gt;
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As pci_enable_msix() deprecated, replaced with pci_enable_msix_range()

Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Reviewed-by: Karthikeya Sunkesula &lt;Karthikeya.Sunkesula@pmcs.com&gt;
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>aacraid: Reset irq affinity hints</title>
<updated>2015-11-10T00:06:38+00:00</updated>
<author>
<name>Mahesh Rajashekhara</name>
<email>Mahesh.Rajashekhara@pmcs.com</email>
</author>
<published>2015-08-28T10:38:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8b1462e0ebb677ee07da6c18f7047539ea6e449e'/>
<id>8b1462e0ebb677ee07da6c18f7047539ea6e449e</id>
<content type='text'>
Reset irq affinity hints before releasing IRQ.
Removed duplicate code of IRQ acquire/release.

Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Reviewed-by: Karthikeya Sunkesula &lt;Karthikeya.Sunkesula@pmcs.com&gt;
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reset irq affinity hints before releasing IRQ.
Removed duplicate code of IRQ acquire/release.

Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Reviewed-by: Karthikeya Sunkesula &lt;Karthikeya.Sunkesula@pmcs.com&gt;
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>aacraid: Enable 64bit write to controller register</title>
<updated>2015-11-10T00:01:29+00:00</updated>
<author>
<name>Mahesh Rajashekhara</name>
<email>Mahesh.Rajashekhara@pmcs.com</email>
</author>
<published>2015-08-28T10:38:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c6992781d9e8086d592f95870092a59042d111a2'/>
<id>c6992781d9e8086d592f95870092a59042d111a2</id>
<content type='text'>
If writeq() not supported, then do atomic two 32bit write

Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Reviewed-by: Karthikeya Sunkesula &lt;Karthikeya.Sunkesula@pmcs.com&gt;
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If writeq() not supported, then do atomic two 32bit write

Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Reviewed-by: Karthikeya Sunkesula &lt;Karthikeya.Sunkesula@pmcs.com&gt;
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>aacraid: Add Power Management support</title>
<updated>2015-11-09T23:59:18+00:00</updated>
<author>
<name>Mahesh Rajashekhara</name>
<email>Mahesh.Rajashekhara@pmcs.com</email>
</author>
<published>2015-08-28T10:38:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=de665f28f788ad72ff6a0ce6ac2721d77248b7cf'/>
<id>de665f28f788ad72ff6a0ce6ac2721d77248b7cf</id>
<content type='text'>
* .suspend() and .resume() routines implemented in the driver
* aac_release_resources() initiates firmware shutdown
* aac_acquire_resources re-initializes the host interface

Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Reviewed-by: Karthikeya Sunkesula &lt;Karthikeya.Sunkesula@pmcs.com&gt;
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* .suspend() and .resume() routines implemented in the driver
* aac_release_resources() initiates firmware shutdown
* aac_acquire_resources re-initializes the host interface

Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Reviewed-by: Karthikeya Sunkesula &lt;Karthikeya.Sunkesula@pmcs.com&gt;
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>aacraid: driver version change</title>
<updated>2015-04-09T23:57:01+00:00</updated>
<author>
<name>Mahesh Rajashekhara</name>
<email>Mahesh.Rajashekhara@pmcs.com</email>
</author>
<published>2015-03-26T14:41:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f20dffc7c67b1c88aedd600031229cc97a4ddb97'/>
<id>f20dffc7c67b1c88aedd600031229cc97a4ddb97</id>
<content type='text'>
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>aacraid: AIF raw device remove support</title>
<updated>2015-04-09T23:56:18+00:00</updated>
<author>
<name>Mahesh Rajashekhara</name>
<email>Mahesh.Rajashekhara@pmcs.com</email>
</author>
<published>2015-03-26T14:41:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dab04b0151975103ed6c56a0c03e66dd85f6c158'/>
<id>dab04b0151975103ed6c56a0c03e66dd85f6c158</id>
<content type='text'>
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>aacraid: performance improvement changes</title>
<updated>2015-04-09T23:55:21+00:00</updated>
<author>
<name>Mahesh Rajashekhara</name>
<email>Mahesh.Rajashekhara@pmcs.com</email>
</author>
<published>2015-03-26T14:41:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ef6162333a6910007c0ae2237e750ffd5bf25811'/>
<id>ef6162333a6910007c0ae2237e750ffd5bf25811</id>
<content type='text'>
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Mahesh Rajashekhara &lt;Mahesh.Rajashekhara@pmcs.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Reviewed-by: Murthy Bhat &lt;Murthy.Bhat@pmcs.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
