RE: [PATCH V4 2/2] aacraid: remove wildcard for series 9 controllers

2016-10-03 Thread Don Brace
> -Original Message- > From: James Bottomley [mailto:james.bottom...@hansenpartnership.com] > Sent: Thursday, September 08, 2016 5:38 PM > To: Scott Benesh; James Bottomley; Don Brace; Martin K. Petersen > Cc: Viswas G; Mahesh Rajashekhara; h...@infradead.org; Scott Teel; Kevin > Barnett;

[Bug 151661] Adaptec 3405 3805 prints "AAC: Host adapter dead -1" every 10 seconds but works fine anyway

2016-10-03 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=151661 --- Comment #17 from Piotr Szymaniak --- Created attachment 240661 --> https://bugzilla.kernel.org/attachment.cgi?id=240661=edit aac.patch (In reply to Matthias from comment #14) > you can find it in: >

[PATCH 12/12] scsi/ncr5380: Suppress unhelpful "interrupt without IRQ bit" message

2016-10-03 Thread Finn Thain
If a NCR5380 host instance ends up on a shared interrupt line then this printk will be a problem. It is already a problem on some Mac models: when testing mac_scsi on a PowerBook 180 I found that PDMA transfers (but not PIO transfers) cause the message to be logged. These spurious interrupts

[PATCH 11/12] scsi/ncr5380: Use correct types for DMA routines

2016-10-03 Thread Finn Thain
Apply prototypes to get consistent function signatures for the DMA functions implemented in the board-specific drivers. To avoid using macros to alter actual parameters, some of those functions are reworked slightly. This is a step toward the goal of passing the board-specific routines to the

[PATCH 08/12] scsi/ncr5380: Use correct types for device register accessors

2016-10-03 Thread Finn Thain
For timeout values adopt unsigned long, which is the type of jiffies etc. For chip register values and bit masks pass u8, which is the return type of readb, inb etc. For device register offsets adopt unsigned int, as it is suitable for adding to base addresses. Pass the NCR5380_hostdata pointer

[PATCH 01/12] scsi/g_NCR5380: Merge g_NCR5380 and g_NCR5380_mmio drivers

2016-10-03 Thread Finn Thain
From: Ondrej Zary Merge the port-mapped IO and memory-mapped IO support (with the help of ioport_map) into the g_NCR5380 module and delete g_NCR5380_mmio. Signed-off-by: Ondrej Zary Signed-off-by: Finn Thain

[PATCH 03/12] scsi/atari_scsi: Make device register accessors re-enterant

2016-10-03 Thread Finn Thain
This patch fixes an old bug: accesses to device registers from the interrupt handler (after reselection, DMA completion etc.) could mess up a device register access elsewhere, if the latter takes place outside of an irq lock (during selection etc.). Signed-off-by: Finn Thain

[PATCH 04/12] scsi/ncr5380: Simplify register polling limit

2016-10-03 Thread Finn Thain
When polling a device register under irq lock the polling loop terminates after a given number of jiffies. Make this timeout independent of the HZ setting. All 5380 drivers benefit from this patch, which optimizes the PIO fast path, because they all use PIO transfers (for phases other than DATA

[PATCH 07/12] scsi/ncr5380: Store IO ports and addresses in host private data

2016-10-03 Thread Finn Thain
The various 5380 drivers inconsistently store register pointers either in the Scsi_Host struct "legacy crap" area or in special, board-specific members of the NCR5380_hostdata struct. Uniform use of the latter struct makes for simpler and faster code (see the following patches) and helps to reduce

[PATCH 02/12] scsi/cumana_1: Remove unused cumanascsi_setup() function

2016-10-03 Thread Finn Thain
Signed-off-by: Finn Thain --- drivers/scsi/arm/cumana_1.c | 4 1 file changed, 4 deletions(-) diff --git a/drivers/scsi/arm/cumana_1.c b/drivers/scsi/arm/cumana_1.c index 8e9cfe8..f616756 100644 --- a/drivers/scsi/arm/cumana_1.c +++ b/drivers/scsi/arm/cumana_1.c

[PATCH 09/12] scsi/ncr5380: Pass hostdata pointer to register polling routines

2016-10-03 Thread Finn Thain
Pass a NCR5380_hostdata struct pointer to the board-specific routines instead of a Scsi_Host struct pointer. This reduces pointer chasing in the PIO and PDMA fast paths. The old way was a mistake because it is slow and the board-specific code is not concerned with the mid-layer. Signed-off-by:

[PATCH 10/12] scsi/ncr5380: Expedite register polling

2016-10-03 Thread Finn Thain
Avoid the call to NCR5380_poll_politely2() when possible. The call is easily short-circuited on the PIO fast path, using the inline wrapper. This requires that the NCR5380_read macro be made available before any #include "NCR5380.h" so a few declarations have to be moved too. Signed-off-by: Finn

[PATCH 06/12] scsi/ncr5380: Improve hostdata struct member alignment and cache-ability

2016-10-03 Thread Finn Thain
Re-order struct members so that hot data lies at the beginning of the struct and cold data at the end. Improve the comments while we're here. Signed-off-by: Finn Thain --- drivers/scsi/NCR5380.h | 40 1 file changed, 20

[PATCH 05/12] scsi/ncr5380: Increase register polling limit

2016-10-03 Thread Finn Thain
If NCR5380_poll_politely() is called under irq lock, the polling time limit is clamped to avoid a spike in interrupt latency. When not under irq lock, the same polling time limit acts as the worst case delay between schedule() calls. During PDMA (under irq lock) I've found that the 10 ms time

[PATCH 00/12] Fixes, cleanup and g_NCR5380_mmio/g_NCR5380 merger

2016-10-03 Thread Finn Thain
This patch series has fixes for compatibility, reliability and performance issues and some cleanup. It also includes a new version of Ondrej Zary's patch that merges g_NCR5380_mmio into g_NCR5380. I've tested this patch series on a Powerbook 180. If someone would test some of the other platforms