Charity Donation

2016-01-02 Thread Jeff Skoll
Hi, My name is Jeffrey Skoll, a philanthropist and the founder of one of the largest private foundations in the world. I believe strongly in ‘giving while living.’ I had one idea that never changed in my mind — that you should use your wealth to help people and I have decided to secretly give

Re: [PATCH v4 69/78] ncr5380: Fix whitespace in comments using regexp

2016-01-02 Thread Joe Perches
On Sun, 2016-01-03 at 16:06 +1100, Finn Thain wrote: > Hanging indentation was a poor choice for the text inside comments. It > has been used in the wrong places and done badly elsewhere. There is > little consistency within any file. One fork of the core driver uses > tabs for this indentation

Re: [PATCH 1/3] NFC-mei_phy: Refactoring for mei_nfc_connect()

2016-01-02 Thread Joe Perches
On Sun, 2016-01-03 at 08:00 +0100, SF Markus Elfring wrote: > > > r = 0; > > > - > > > -err: > > > +free_reply: > > > kfree(reply); > > > +free_cmd: > > > kfree(cmd); > > > - > > > > Why are you deleting the two blank lines here? > > Can they be unnecessary at this source

__vmalloc() vs. GFP_NOIO/GFP_NOFS

2016-01-02 Thread Al Viro
While trying to write documentation on allocator choice, I've run into something odd: /* * __vmalloc() will allocate data pages and auxillary structures (e.g. * pagetables) with GFP_KERNEL, yet we may be under GFP_NOFS context * here. Hence we need to

[PATCH] ixgbe: constify ixgbe_mbx_operations structure

2016-01-02 Thread Julia Lawall
This ixgbe_mbx_operations structure is never modified, so declare it as const. The other structure of this type is already const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall --- drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c |2 +-

Re: [PATCH 1/3] NFC-mei_phy: Refactoring for mei_nfc_connect()

2016-01-02 Thread SF Markus Elfring
>> r = 0; >> - >> -err: >> +free_reply: >> kfree(reply); >> +free_cmd: >> kfree(cmd); >> - > > Why are you deleting the two blank lines here? Can they be unnecessary at this source code place according to the Linux coding style convention? Regards, Markus -- To

[PATCH] igb: constify e1000_phy_operations structure

2016-01-02 Thread Julia Lawall
This e1000_phy_operations structure is never modified, so declare it as const. Other structures of this type are already const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall --- drivers/net/ethernet/intel/igb/e1000_82575.c |2 +- drivers/net/ethernet/intel/igb/e1000_hw.h

Re: [PATCH 00/42] ACPICA: 20151218 Release

2016-01-02 Thread David Lang
what is ACPICA and why should we care about divergence between it and the linux upstream? Where is it to be found? This may be common knowlege to many people, but it should probably be documented in the patch bundle and it's explination. David Lang On Tue, 29 Dec 2015, Lv Zheng wrote:

Re: rcu_preempt self-detected stall on CPU from 4.4-rc4, since 3.17

2016-01-02 Thread Paul E. McKenney
On Sun, Jan 03, 2016 at 04:29:11PM +1100, Ross Green wrote: > Still seeing these rcu_preempt stalls on kernels through to 4.4-rc7 > > Still have not found a sure fire method to evoke this stall, but have > found that it will normally occur within a week of running a kernel - > usually when it is

[PATCH v4 14/78] ncr5380: Use return instead of goto in NCR5380_select()

2016-01-02 Thread Finn Thain
The "failed" label in NCR5380_select() is not helpful. Some failures return 0, others -1. Use return instead of goto to improve clarity and brevity, like atari_NCR5380.c does. Fix the relevant comments. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by:

[PATCH v4 13/78] ncr5380: Remove redundant register writes

2016-01-02 Thread Finn Thain
Remove the duplicate write to the Select Enable Register that appeared in v1.1.38. Also remove the redundant write to Initiator Command Register prior to calling do_abort(). Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz ---

[PATCH v4 16/78] ncr5380: Proceed with next command after NCR5380_select() calls scsi_done

2016-01-02 Thread Finn Thain
If a target disappears from the SCSI bus, NCR5380_select() may subsequently fail with a time-out. In this situation, scsi_done is called and NCR5380_select() returns 0. Both hostdata->connected and hostdata->selecting are NULL and the main loop should proceed with the next command in the issue

[PATCH v4 01/78] atari_scsi: Fix SCSI host ID setting

2016-01-02 Thread Finn Thain
The NVRAM location of this byte is 16, as documented in http://toshyp.atari.org/en/004009.html This was confirmed by Michael Schmitz, by setting the SCSI host ID under EmuTOS and then checking the value in /proc/driver/nvram and /dev/nvram under Linux. Signed-off-by: Finn Thain Reviewed-by:

[PATCH v4 04/78] ncr5380: Remove more pointless macros

2016-01-02 Thread Finn Thain
ASM macro is never defined. rtrc in pas16.c is not used. NCR5380_map_config, do_NCR5380_intr, do_t128_intr and do_pas16_intr are unused. NCR_NOT_SET harms readability. Remove them. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary --- drivers/scsi/NCR5380.h |

[PATCH v4 02/78] ncr5380: Remove redundant static variable initializers

2016-01-02 Thread Finn Thain
Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary --- drivers/scsi/NCR5380.c |2 +- drivers/scsi/dtc.c |4 ++-- drivers/scsi/g_NCR5380.c |4 ++-- drivers/scsi/pas16.c | 10 +- drivers/scsi/sun3_scsi.c |8

[PATCH v4 20/78] ncr5380: Introduce unbound workqueue

2016-01-02 Thread Finn Thain
Allocate a work queue that will permit busy waiting and sleeping. This means NCR5380_init() can potentially fail, so add this error path. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz --- In subsequent patches, the work function

[PATCH v4 24/78] ncr5380: Implement NCR5380_dma_xfer_len and remove LIMIT_TRANSFERSIZE macro

2016-01-02 Thread Finn Thain
Follow the example of the atari_NCR5380.c core driver and adopt the NCR5380_dma_xfer_len() hook. Implement NCR5380_dma_xfer_len() for dtc.c and g_NCR5380.c to take care of the limitations of these cards. Keep the default for drivers using PSEUDO_DMA. Eliminate the unused macro LIMIT_TRANSFERSIZE.

[PATCH v4 18/78] ncr5380: Eliminate USLEEP_WAITLONG delay

2016-01-02 Thread Finn Thain
Linux 2.1.105 introduced the USLEEP_WAITLONG delay, apparently "needed for Mustek scanners". It is intended to stall the issue queue for 5 seconds. There are a number of problems with this. 1. Only g_NCR5380 enables the delay, which implies that the other five drivers using the NCR5380.c core

[PATCH v4 23/78] ncr5380: Always retry arbitration and selection

2016-01-02 Thread Finn Thain
If NCR5380_select() returns -1, it means arbitration was lost or selection failed and should be retried. If the main loop simply terminates when there are still commands on the issue queue, they will remain queued until they expire. Fix this by clearing the 'done' flag after selection failure or

[PATCH v4 21/78] ncr5380: Sleep when polling, if possible

2016-01-02 Thread Finn Thain
When in process context, sleep during polling if doing so won't add significant latency. In interrupt context or if the lock is held, poll briefly then give up. Keep both core drivers in sync. Calibrate busy-wait iterations to allow for variation in chip register access times between different

[PATCH v4 19/78] ncr5380: Cleanup bogus {request,release}_region() calls

2016-01-02 Thread Finn Thain
Commit 8b801ead3d7a ("[ARM] rpc: update Acorn SCSI drivers to modern ecard interfaces") neglected to remove a request_region() call in cumana_1.c. Commit eda32612f7b2 ("[PATCH] give all LLDD driver a ->release method") in history/history.git added some pointless release_region() calls in dtc.c,

[PATCH v4 17/78] ncr5380: Keep BSY asserted when entering SELECTION phase

2016-01-02 Thread Finn Thain
NCR5380.c is not compliant with the SCSI-2 standard (at least, not with the draft revision 10L that I have to refer to). The selection algorithm in atari_NCR5380.c is correct, so use that. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz

[PATCH v4 15/78] ncr5380: Always escalate bad target time-out in NCR5380_select()

2016-01-02 Thread Finn Thain
Remove the restart_select and targets_present variables introduced in Linux v1.1.38. The former was used only for a questionable debug printk and the latter "so we can call a select failure a retryable condition". Well, retrying select failure in general is a different problem to a target that

[PATCH v4 22/78] ncr5380: Eliminate selecting state

2016-01-02 Thread Finn Thain
Linux v2.1.105 changed the algorithm for polling for the BSY signal in NCR5380_select() and NCR5380_main(). Presently, this code has a bug. Back then, NCR5380_set_timer(hostdata, 1) meant reschedule main() after sleeping for 10 ms. Repeated 25 times this provided the recommended 250 ms selection

Re: [RFC PATCH v0] Add tw5864 driver

2016-01-02 Thread Leon Romanovsky
On Sun, Jan 03, 2016 at 03:41:42AM +0200, Andrey Utkin wrote: > +/* > + * TW5864 driver - Exp-Golomb code functions > + * > + * Copyright (C) 2015 Bluecherry, LLC > + * Copyright (C) 2015 Andrey Utkin I doubt that you have contract with your employer which permits you to claim copyright

[PATCH v4 28/78] ncr5380: Drop DEF_SCSI_QCMD macro

2016-01-02 Thread Finn Thain
Remove the DEF_SCSI_QCMD macro (already removed from atari_NCR5380.c). The lock provided by DEF_SCSI_QCMD is only needed for queue data structures. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz --- drivers/scsi/NCR5380.c |

[PATCH v4 25/78] ncr5380: Rework disconnect versus poll logic

2016-01-02 Thread Finn Thain
The atari_NCR5380.c and NCR5380.c core drivers differ in their handling of target disconnection. This is partly because atari_NCR5380.c had all of the polling and sleeping removed to become entirely interrupt-driven, and it is partly because of damage done to NCR5380.c after atari_NCR5380.c was

[PATCH v4 09/78] atari_NCR5380: Reset bus on driver initialization if required

2016-01-02 Thread Finn Thain
Merge the bus reset code from NCR5380.c into atari_NCR5380.c. This allows for removal of a lot of duplicated code conditional on the RESET_BOOT macro (in the next patch). The atari_NCR5380.c fork lacks the do_reset() and NCR5380_poll_politely() routines from NCR5380.c, so introduce them. They are

[PATCH v4 26/78] ncr5380: Fix NCR5380_transfer_pio() result

2016-01-02 Thread Finn Thain
According to the SCSI-2 draft revision 10L, atari_NCR5380.c is correct when it says that the phase lines are valid up until ACK is negated following the transmission of the last byte in MESSAGE IN phase. This is true for all information transfer phases, from target to initiator. Sample the phase

[PATCH v4 12/78] ncr5380: Remove unused hostdata->aborted flag

2016-01-02 Thread Finn Thain
The aborted flag was introduced in v1.1.38 but never used. Remove it. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz --- drivers/scsi/NCR5380.c |2 -- drivers/scsi/NCR5380.h |1 - drivers/scsi/atari_NCR5380.c |

[PATCH v4 29/78] ncr5380: Remove references to linked commands

2016-01-02 Thread Finn Thain
From: Hannes Reinecke Some old drivers partially implemented support for linked commands using a "proposed" next_link pointer in struct scsi_cmnd that never actually existed. Remove this code. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael

[PATCH v4 10/78] atari_NCR5380: Remove RESET_BOOT, CONFIG_ATARI_SCSI_TOSHIBA_DELAY and CONFIG_ATARI_SCSI_RESET_BOOT

2016-01-02 Thread Finn Thain
The atari_NCR5380.c core driver now takes care of bus reset upon driver initialization if required (same as NCR5380.c). Move the Toshiba CD-ROM support into the core driver, enabled with a host flag, so that all NCR5380 drivers can make use of it. Drop the RESET_BOOT macros and the

[PATCH v4 11/78] ncr5380: Simplify bus reset handlers

2016-01-02 Thread Finn Thain
Make use of do_reset() in the bus reset handler in atari_NCR5380.c. The version in NCR5380.c already does so. Keep them in sync. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz --- Bus reset handlers in both core drivers still have

[PATCH v4 30/78] ncr5380: Add missing break after case MESSAGE_REJECT

2016-01-02 Thread Finn Thain
MESSAGE REJECT does not imply DISCONNECT: the target is about to enter MESSAGE IN or MESSAGE OUT phase. This bug fix comes from atari_NCR5380.c. Unfortunately it never made it into the original NCR5380.c core driver. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary

[PATCH v4 31/78] ncr5380: Fix !REQ timeout in do_abort()

2016-01-02 Thread Finn Thain
NCR5380_poll_politely() never returns -1. That means do_abort() can fail to handle a timeout after waiting for the target to negate REQ. Fix this and cleanup other NCR5380_poll_politely() call sites. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary ---

next-20151231 - aes crypto algorithm went missing?

2016-01-02 Thread Valdis Kletnieks
So booting into a next-20151222 kernel, I can mount an external drive that uses cryptLuks. I try -1231, and I get this failure: Failed to setup dm-crypt key mapping for device /dev/sdb2. Check that kernel supports aes-cbc-essiv:sha256 cipher (check syslog for more info). Tracked it down to

[PATCH v4 36/78] ncr5380: Use work_struct instead of delayed_work

2016-01-02 Thread Finn Thain
Each host instance now has it's own work queue so the main() work item can sleep when necessary. That means we can use a simple work item rather than a delayed work item. This brings NCR5380.c closer to atari_NCR5380.c. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej

[PATCH v4 32/78] ncr5380: Fix bus phase in do_abort()

2016-01-02 Thread Finn Thain
NCR5380_poll_politely() returns either 0 (success) or -ETIMEDOUT. However, in do_abort(), the return value is incorrectly taken to be the status register value. This means that the bus is put into DATA OUT phase instead of MESSAGE OUT. Fix this. Signed-off-by: Finn Thain Reviewed-by: Hannes

[PATCH v4 34/78] atari_NCR5380: Use arbitration timeout

2016-01-02 Thread Finn Thain
Allow target selection to fail with a timeout instead of waiting in infinite loops. This gets rid of the unused NCR_TIMEOUT macro, it is more defensive and has proved helpful in debugging. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz

[PATCH v4 38/78] ncr5380: Remove UNSAFE macro

2016-01-02 Thread Finn Thain
Configuring core drivers using macros like this one prevents re-unifying the core driver forks, and prevents implementing the core driver as a library or a platform driver. The UNSAFE macro in particular is a poor workaround for the problem of interrupt latency. Releasing the locks complicates

[PATCH v4 46/78] ncr5380: Fix NDEBUG_NO_DATAOUT flag

2016-01-02 Thread Finn Thain
NDEBUG_NO_DATAOUT should not disable DATA IN phases too. Fix this. (This bug has long been fixed in atari_NCR5380.c.) Signed-off-by: Finn Thain Tested-by: Ondrej Zary Reviewed-by: Hannes Reinecke --- drivers/scsi/NCR5380.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index:

[PATCH v4 45/78] ncr5380: Cleanup #include directives

2016-01-02 Thread Finn Thain
Remove unused includes (stat.h, signal.h, proc_fs.h) and move includes needed by the core drivers into the common header (delay.h etc). Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz --- drivers/scsi/NCR5380.c |2 --

[PATCH v4 37/78] ncr5380: Standardize work queueing algorithm

2016-01-02 Thread Finn Thain
The complex main_running/queue_main mechanism is peculiar to atari_NCR5380.c. It isn't SMP safe and offers little value given that the work queue already offers concurrency management. Remove this complexity to bring atari_NCR5380.c closer to NCR5380.c. It is not a good idea to call the

[PATCH v4 35/78] ncr5380: Dont wait for BUS FREE after disconnect

2016-01-02 Thread Finn Thain
When there is a queued command and no connected command, NCR5380_select() is called and arbitration begins. The chip waits for BUS FREE once the MR_ARBITRATE bit in the mode register is enabled. That means there is no need to wait for BUS FREE after disconnecting. There is presently no polling

[PATCH v4 06/78] ncr5380: Remove NCR5380_instance_name macro

2016-01-02 Thread Finn Thain
This macro makes the code cryptic. Remove it. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary --- drivers/scsi/NCR5380.c |2 +- drivers/scsi/g_NCR5380.c |7 --- drivers/scsi/g_NCR5380.h |2 -- 3 files changed, 5 insertions(+), 6 deletions(-)

[PATCH v4 50/78] ncr5380: Change instance->host_lock to hostdata->lock

2016-01-02 Thread Finn Thain
NCR5380.c presently uses the instance->host_lock spin lock. Convert this to a new spin lock that protects the NCR5380_hostdata struct. atari_NCR5380.c previously used local_irq_save/restore() rather than a spin lock. Convert this to hostdata->lock in irq mode. For SMP platforms, the interrupt

[PATCH v4 41/78] ncr5380: Replace redundant flags with FLAG_NO_DMA_FIXUP

2016-01-02 Thread Finn Thain
The flags DMA_WORKS_RIGHT, FLAG_NCR53C400 and FLAG_HAS_LAST_BYTE_SENT all mean the same thing, i.e. the chip is not a 538[01]. (More recent devices such as the 53C80 have a 'Last Byte Sent' bit in the Target Command Register as well as other fixes for End-of-DMA errata.) These flags have no

[PATCH v4 44/78] ncr5380: Fix off-by-one bug in extended_msg[] bounds check

2016-01-02 Thread Finn Thain
Fix the array bounds check when transferring an extended message from the target. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz --- drivers/scsi/NCR5380.c |3 ++- drivers/scsi/atari_NCR5380.c |4 ++-- 2 files changed,

[PATCH v4 43/78] ncr5380: Standardize reselection handling

2016-01-02 Thread Finn Thain
Bring the two NCR5380_reselect() implementations into agreement. Replace infinite loops in atari_NCR5380.c with timeouts, as per NCR5380.c. Remove 'abort' flag in NCR5380.c as per atari_NCR5380.c -- if reselection fails, there may be no MESSAGE IN phase so don't attempt data transfer. During

[PATCH v4 40/78] ncr5380: Introduce NCR5380_poll_politely2

2016-01-02 Thread Finn Thain
SCSI bus protocol sometimes requires monitoring two related conditions simultaneously. Enhance NCR5380_poll_politely() for this purpose, and put it to use in the arbitration algorithm. It will also find use in pseudo DMA. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej

[PATCH v4 07/78] ncr5380: Split NCR5380_init() into two functions

2016-01-02 Thread Finn Thain
This patch splits the NCR5380_init() function into two parts, similar to the scheme used with atari_NCR5380.c. This avoids two problems. Firstly, NCR5380_init() may perform a bus reset, which would cause the chip to assert IRQ. The chip is unable to mask its bus reset interrupt. Drivers can't

[PATCH v4 05/78] ncr5380: Remove NCR5380_local_declare and NCR5380_setup macros

2016-01-02 Thread Finn Thain
The NCR5380_local_declare and NCR5380_setup macros exist to define and initialize a particular local variable, to provide the address of the chip registers needed for the driver's implementation of its NCR5380_read/write register access macros. In cumana_1 and macscsi, these macros generate

[PATCH v4 49/78] ncr5380: Remove redundant ICR_ARBITRATION_LOST test and eliminate FLAG_DTC3181E

2016-01-02 Thread Finn Thain
Remove FLAG_DTC3181E. It was used to suppress a final Arbitration Lost (SEL asserted) test that isn't actually needed. The test was suppressed because it causes problems for DTC436 and DTC536 chips. It takes place after the host wins arbitration, so SEL has been asserted. These chips can't seem to

[PATCH v4 58/78] ncr5380: Refactor command completion

2016-01-02 Thread Finn Thain
Implement a 'complete_cmd' function to complete commands. This is needed by the following patch; the new function provides a site for the logic needed to correctly handle REQUEST SENSE commands. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael

[PATCH v4 47/78] ncr5380: Fix and cleanup scsi_host_template initializers

2016-01-02 Thread Finn Thain
Add missing .module initializer. Use distinct .proc_name values for the g_NCR5380 and g_NCR5380_mmio modules. Remove pointless CAN_QUEUE and CMD_PER_LUN override macros. Cleanup whitespace and code style. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by:

[PATCH v4 57/78] ncr5380: Use standard list data structure

2016-01-02 Thread Finn Thain
The NCR5380 drivers have a home-spun linked list implementation for scsi_cmnd structs that uses cmd->host_scribble as a 'next' pointer. Adopt the standard list_head data structure and list operations instead. Remove the eh_abort_handler rather than convert it. Doing the conversion would only be

[PATCH v4 48/78] atari_NCR5380: Fix queue_size limit

2016-01-02 Thread Finn Thain
When a target reports a QUEUE_FULL condition it causes the driver to update the 'queue_size' limit with the number of currently allocated tags. At least, that's what's supposed to happen, according to the comments. Unfortunately the terms in the assignment are swapped. Fix this and cleanup some

Re: rcu_preempt self-detected stall on CPU from 4.4-rc4, since 3.17

2016-01-02 Thread Ross Green
Still seeing these rcu_preempt stalls on kernels through to 4.4-rc7 Still have not found a sure fire method to evoke this stall, but have found that it will normally occur within a week of running a kernel - usually when it is quiet with light load. Have seen similar self detected stalls all the

[PATCH] staging: xgifb: Don't use multiple blank lines

2016-01-02 Thread Benoit Hiller
Remove multiple blank lines. Problem found using checkpatch.pl "CHECK: Please don't use multiple blank lines" Signed-off-by: Benoit Hiller --- drivers/staging/xgifb/XGI_main_26.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/xgifb/XGI_main_26.c

[PATCH v4 55/78] ncr5380: Remove LIST and REMOVE macros

2016-01-02 Thread Finn Thain
Printing command pointers can be useful when debugging queues. Other than that, the LIST and REMOVE macros are just clutter. These macros are redundant now that NDEBUG_QUEUES causes pointers to be printed, so remove them. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej

[PATCH v4 53/78] ncr5380: Use shost_priv helper

2016-01-02 Thread Finn Thain
Make use of the shost_priv() helper. Remove HOSTDATA and SETUP_HOSTDATA macros because they harm readability. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz --- drivers/scsi/NCR5380.c | 23 ++-

[PATCH v4 52/78] ncr5380: Remove H_NO macro and introduce dsprintk

2016-01-02 Thread Finn Thain
Replace all H_NO and some HOSTNO macros (both peculiar to atari_NCR5380.c) with a new dsprintk macro that's more useful and more consistent. The new macro avoids a lot of boilerplate in new code in subsequent patches. Keep NCR5380.c in sync. Remaining HOSTNO macros are removed as side-effects of

[PATCH v4 54/78] ncr5380: Use dsprintk() for queue debugging

2016-01-02 Thread Finn Thain
Print the command pointers in the log messages for debugging queue data structures. The LIST and REMOVE macros can then be removed. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz --- drivers/scsi/NCR5380.c | 36

[PATCH v4 51/78] ncr5380: Remove command list debug code

2016-01-02 Thread Finn Thain
Some NCR5380 hosts offer a .show_info method to access the contents of the various command list data structures from a procfs file. When NDEBUG is set, the same information is sent to the console during EH. The two core drivers, atari_NCR5380.c and NCR5380.c differ here. Because it is just for

[PATCH v4 61/78] ncr5380: Fix EH during arbitration and selection

2016-01-02 Thread Finn Thain
During arbitration and selection, the relevant command is invisible to exception handlers and can be found only in a pointer on the stack of a different thread. When eh_abort_handler can't find a given command, it can't decide whether that command was completed already or is still in arbitration

[PATCH v4 63/78] atari_NCR5380: Remove HOSTNO macro from printk() and seq_printf() calls

2016-01-02 Thread Finn Thain
Remove the HOSTNO macro that is peculiar to atari_NCR5380.c and contributes to the problem of divergence of the NCR5380 core drivers. Keep NCR5380.c in sync. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz --- drivers/scsi/NCR5380.c

[PATCH v4 59/78] ncr5380: Fix autosense bugs

2016-01-02 Thread Finn Thain
NCR5380_information_transfer() may re-queue a command for autosense, after calling scsi_eh_prep_cmnd(). This creates several possibilities: 1. Reselection may intervene before the re-queued command gets processed. If the reconnected command then undergoes autosense, this causes the

[PATCH v4 66/78] ncr5380: Fix soft lockups

2016-01-02 Thread Finn Thain
Because of the rudimentary design of the chip, it is necessary to poll the SCSI bus signals during PIO and this tends to hog the CPU. The driver will accept new commands while others execute, and this causes a soft lockup because the workqueue item will not terminate until the issue queue is

[PATCH v4 60/78] ncr5380: Implement new eh_abort_handler

2016-01-02 Thread Finn Thain
Introduce a new eh_abort_handler implementation. This one attempts to follow all of the rules relating to EH handlers. There is still a known bug: during selection, a command becomes invisible to the EH handlers because it only appears in a pointer on the stack of a different thread. This bug is

[PATCH v4 67/78] ncr5380: Cleanup comments

2016-01-02 Thread Finn Thain
The CVS revision log is not nearly as useful as the history/history.git repo, so remove it. Roman's commentary at the top of his driver repeats the same information elsewhere in the file so remove it. Also remove some other redundant or obsolete comments. Both the driver and the datasheets

[PATCH v4 73/78] ncr5380: Fix pseudo DMA transfers on 53C400

2016-01-02 Thread Finn Thain
From: Ondrej Zary Pseudo-DMA (PDMA) has been broken for ages, resulting in hangs on 53C400-based cards. According to 53C400 datasheet, PDMA transfer length must be a multiple of 128. Check if that's true and use PIO if it's not. This makes PDMA work on 53C400 (Canon FG2-5202). Signed-off-by:

[PATCH v4 75/78] ncr5380: Enable PDMA for NCR53C400A

2016-01-02 Thread Finn Thain
From: Ondrej Zary Add I/O register mapping for NCR53C400A and enable PDMA mode to improve performance and fix non-working IRQ. Tested with HP C2502 (and user-space enabler). Signed-off-by: Ondrej Zary Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke --- Changes to Ondrej's version:

[PATCH v4 71/78] atari_NCR5380: Merge changes from NCR5380.c

2016-01-02 Thread Finn Thain
In the past, atari_NCR5380.c was overlooked by those working on NCR5380.c and this caused needless divergence. All of the changes in this patch were taken from NCR5380.c. This removes some unimportant discrepancies between the two core driver forks so that 'diff' can be used to reveal the

[PATCH v4 72/78] ncr5380: Cleanup whitespace and parentheses

2016-01-02 Thread Finn Thain
Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz --- drivers/scsi/NCR5380.c | 30 +++--- drivers/scsi/atari_NCR5380.c | 26 +- 2 files changed, 32 insertions(+), 24 deletions(-)

[PATCH v4 70/78] ncr5380: Merge changes from atari_NCR5380.c

2016-01-02 Thread Finn Thain
In the past, NCR5380.c was overlooked by those working on atari_NCR5380.c and this caused needless divergence. All of the changes in this patch were taken from atari_NCR5380.c. This removes some unimportant discrepancies between the two core driver forks so that 'diff' can be used to reveal the

[PATCH v4 68/78] ncr5380: Fix trailing whitespace using regexp

2016-01-02 Thread Finn Thain
This patch is the result of the following substitution. It removes any tabs and spaces at the end of a line. perl -i -pe 's,[\t ]+$,,' drivers/scsi/{atari_,}NCR5380.c This removes some unimportant discrepancies between the two core driver forks so that the important ones become obvious, to

[PATCH v4 78/78] ncr5380: Add support for HP C2502

2016-01-02 Thread Finn Thain
From: Ondrej Zary HP C2502 cards (based on 53C400A chips) use different magic numbers for software-based I/O address configuration than other cards. The configuration is also extended to allow setting the IRQ. Move the configuration to a new function magic_configure() and move magic the magic

[PATCH v4 77/78] ncr5380: Fix wait for 53C80 registers registers after PDMA

2016-01-02 Thread Finn Thain
From: Ondrej Zary The check for 53C80 registers accessibility was commented out because it was broken (inverted). Fix and enable it. Signed-off-by: Ondrej Zary Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke --- drivers/scsi/g_NCR5380.c | 37 ++---

[PATCH v4 69/78] ncr5380: Fix whitespace in comments using regexp

2016-01-02 Thread Finn Thain
Hanging indentation was a poor choice for the text inside comments. It has been used in the wrong places and done badly elsewhere. There is little consistency within any file. One fork of the core driver uses tabs for this indentation while the other uses spaces. Better to use flush-left alignment

[PATCH v4 76/78] ncr5380: Enable PDMA for DTC chips

2016-01-02 Thread Finn Thain
From: Ondrej Zary Add I/O register mapping for DTC chips and enable PDMA mode. These chips have 16-bit wide HOST BUFFER register and it must be read by 16-bit accesses (we lose data otherwise). Large PIO transfers crash at least the DTCT-436P chip (all reads result in 0xFF) so this patch

[PATCH v4 74/78] ncr5380: Use runtime register mapping

2016-01-02 Thread Finn Thain
From: Ondrej Zary Convert compile-time C400_ register mapping to runtime mapping. This removes the weird negative register offsets and allows adding additional mappings. While at it, convert read/write loops into insb/outsb. Signed-off-by: Ondrej Zary Signed-off-by: Finn Thain Reviewed-by:

[PATCH v4 62/78] ncr5380: Implement new eh_bus_reset_handler

2016-01-02 Thread Finn Thain
NCR5380.c lacks a sane eh_bus_reset_handler. The atari_NCR5380.c code is much better but it should not throw out the issue queue (that would be a host reset) and it neglects to set the result code for commands that it throws out. Fix these bugs and keep the two core drivers in sync.

[PATCH v4 65/78] atari_scsi, sun3_scsi: Remove global Scsi_Host pointer

2016-01-02 Thread Finn Thain
This refactoring removes two global Scsi_Host pointers. This improves consistency with other ncr5380 drivers. Adopting the same conventions as the other drivers makes them easier to read. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Michael Schmitz ---

[PATCH v4 03/78] ncr5380: Eliminate PDEBUG*, TDEBUG* and DTCDEBUG* macros

2016-01-02 Thread Finn Thain
Replace {P,T,DTC}DEBUG_INIT with NDEBUG_INIT. Remove dead debugging code, including code that's conditional upon *DEBUG_TRANSFER. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke --- drivers/scsi/dtc.c | 18 ++ drivers/scsi/dtc.h | 27 ---

[PATCH v4 64/78] atari_NCR5380: Eliminate HOSTNO macro

2016-01-02 Thread Finn Thain
Keep the two core driver forks in sync. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz --- drivers/scsi/NCR5380.c | 71 +++-- drivers/scsi/atari_NCR5380.c | 102

[PATCH v4 42/78] ncr5380: Replace READ_OVERRUNS macro with FLAG_NO_DMA_FIXUPS

2016-01-02 Thread Finn Thain
The workarounds for chip errata appear twice, in slightly different forms. One is used when defined(REAL_DMA) || defined(REAL_DMA_POLL), the other when defined(PSEUDO_DMA). In the PDMA case, the workarounds have been made conditional on FLAG_NO_DMA_FIXUPS. Do the same for the DMA case, to

[PATCH v4 56/78] ncr5380: Remove redundant volatile qualifiers

2016-01-02 Thread Finn Thain
The hostdata struct is now protected by a spin lock so the volatile qualifiers are redundant. Remove them. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz --- drivers/scsi/NCR5380.h | 12 ++--

[PATCH v4 39/78] ncr5380: Standardize interrupt handling

2016-01-02 Thread Finn Thain
Because interrupt handling is crucial to the core driver(s), all wrapper drivers need to agree on this code. This patch removes discrepancies. NCR5380_intr() in NCR5380.c has the following pointless loop that differs from the code in atari_NCR5380.c. done = 1; do {

[PATCH v4 08/78] ncr5380: Move NCR53C400-specific code

2016-01-02 Thread Finn Thain
Move board-specific code like this, NCR5380_write(C400_CONTROL_STATUS_REG, CSR_BASE); from the core driver to the board driver. Eliminate the NCR53C400 macro from the core driver. Removal of all macros like this one will be necessary in order to have one core driver that can support all

[PATCH v4 33/78] atari_NCR5380: Set do_abort() timeouts

2016-01-02 Thread Finn Thain
Use timeouts in do_abort() in atari_NCR5380.c instead of infinite loops. Also fix the kernel-doc comment. Keep the two core driver forks in sync. Signed-off-by: Finn Thain Reviewed-by: Hannes Reinecke Tested-by: Ondrej Zary Tested-by: Michael Schmitz --- drivers/scsi/NCR5380.c | 26

[PATCH v4 27/78] ncr5380: Add missing lock in eh_abort_handler

2016-01-02 Thread Finn Thain
The host spin lock needs to be acquired by NCR5380_abort() before it calls NCR5380_select(). This patch doesn't actually fix the EH issues in this driver but it does avoid this: BUG: spinlock already unlocked on CPU#0, kworker/u4:1/14 lock: 0xc0c0f834, .magic: dead4ead, .owner: /-1, .owner_cpu:

[PATCH v4 00/78] More fixes, cleanup and modernization for NCR5380 drivers

2016-01-02 Thread Finn Thain
Like my previous work on the NCR5380 drivers, this patch series has bug fixes, code cleanup and modernization. These drivers suffer from mistakes, poor style and neglect and this long series addresses the worst of it, covering all ten wrapper drivers and both of the core driver forks. The

Re: [PATCH 3/7] input: touchscreen: use to_delayed_work

2016-01-02 Thread Dmitry Torokhov
On Fri, Jan 01, 2016 at 10:59:08PM +0800, Geliang Tang wrote: > Use to_delayed_work() instead of open-coding it. > > Signed-off-by: Geliang Tang Applied, thank you. > --- > drivers/input/touchscreen/pcap_ts.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git

Re: [PATCH] Input: bma150 - constify bma150_cfg structure

2016-01-02 Thread Dmitry Torokhov
On Wed, Dec 30, 2015 at 12:11:19PM +0100, Julia Lawall wrote: > The bma150_cfg structure is never modified, so declare it as const. > > Done with the help of Coccinelle. > > Signed-off-by: Julia Lawall Applied, thank you. > > --- > drivers/input/misc/bma150.c |2 +- > 1 file changed, 1

Re: [PATCH] ext4: disable retry logic in ext4_set_encrypted_filename

2016-01-02 Thread Theodore Ts'o
On Sat, Jan 02, 2016 at 08:50:11PM +0100, Arnd Bergmann wrote: > gcc correctly warns that the ctx variable in ext4_set_encrypted_filename > has gone out of scope in ext4_set_encrypted_filename if we enter the > retry path and a 'goto' into the previous code block can not guarantee > to get the

Re: [PATCH] Input: i8042 add Fujitsu Lifebook U745 to the nomux list

2016-01-02 Thread Dmitry Torokhov
On Wed, Dec 30, 2015 at 01:14:23AM +0100, Aurélien Francillon wrote: > Without i8042.nomux=1 the Elantech touch pad is not working at all on > a Fujitsu Lifebook U745. This patch does not seem necessary for all > U745 (maybe because of different BIOS versions?). However, it was > verified that the

Re: [PATCH] Input: evdev - drop partial events after emptying the buffer

2016-01-02 Thread Dmitry Torokhov
On Thu, Dec 31, 2015 at 03:36:47AM +0530, Aniroop Mathur wrote: > This patch introduces concept to drop partial events in evdev handler > itself after emptying the buffer which are dropped by all evdev > clients in userspace after SYN_DROPPED occurs. > This in turn saves space of partial events in

Re: [PATCH] Input: evdev - Avoid duplicate checking of empty SYN_REPORT

2016-01-02 Thread Dmitry Torokhov
Hi Aniroop, On Thu, Dec 31, 2015 at 04:55:58AM +0530, Aniroop Mathur wrote: > Input core already drops empty syn_report event so there is no need > to check again for dropping empty syn_report event in evdev handler > for all clients on every new event. This reasoning is flawed: if all events

Re: [RFC PATCH v0] Add tw5864 driver

2016-01-02 Thread Joe Perches
On Sun, 2016-01-03 at 03:41 +0200, Andrey Utkin wrote: > (Disclaimer up to scissors mark) > > Please be so kind to take a look at a new driver. trivial comments only: > diff --git a/drivers/staging/media/tw5864/tw5864-bs.h > b/drivers/staging/media/tw5864/tw5864-bs.h [] > +static inline int

Re: [PATCHV5 3/3] x86, ras: Add __mcsafe_copy() function to recover from machine checks

2016-01-02 Thread Andy Lutomirski
On Fri, Jan 1, 2016 at 2:19 PM, Tony Luck wrote: > Somehow this didn't get sent ... found it in the "Drafts" folder. But > it's rubbish, skip to the > bottom. > > On Thu, Dec 31, 2015 at 12:30 PM, Tony Luck wrote: >> I switched to BIAS 0xC000 ... and now I should get class 1 entries >>

  1   2   3   4   5   >