All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Schmitz <schmitzmic@gmail.com>
To: Finn Thain <fthain@telegraphics.com.au>
Cc: "James E.J. Bottomley" <JBottomley@parallels.com>,
	Sam Creasey <sammy@sammy.net>,
	linux-scsi@vger.kernel.org, linux-m68k@vger.kernel.org
Subject: Re: [PATCH v2 00/36] Fixes, cleanups and modernization for NCR5380 drivers
Date: Sun, 02 Nov 2014 18:28:39 +1300	[thread overview]
Message-ID: <5455C107.6040500@gmail.com> (raw)
In-Reply-To: <20141027052607.105914311@telegraphics.com.au>

Finn,
> This patch series has fixes for bugs and compiler warnings as well as code
> cleanup and modernization. It covers all ten NCR5380 drivers and the three
> core NCR5380 drivers so it's fairly large.
>
> These patches remove a lot of duplicated code and C pre-processor abuse.
> There are also patches for scsi_add_host() conversion for atari_scsi,
> mac_scsi and sun3_scsi.
>
> Some steps are taken toward re-unification of the NCR5380 core driver forks
> by reducing divergence between them. Also, the atari_NCR5380.c core driver
> is generalized so it can be used by sun3_scsi.c (and others).
>
> I have compile-tested all of the NCR5380 drivers (x86, ARM and m68k) and
> executed mac_scsi and dmx3191d on suitable hardware. I found no regressions
> but the core NCR5380 drivers have bugs unrelated to these patches.
>
> Testing mac_scsi and dmx3191d provides only limited code coverage for these
> patches. Some testing on Sun 3, Atari ST and/or Atari TT would be nice
> (I don't have the hardware).
>   
Tested atari_scsi on Falcon / CT60 hardware - no regressions over v1 
that I've seen.

Tested-by: Michael Schmitz <schmitzmic@gmail.com>

> There are old bugs relating to exception handling and autosense in the
> core NCR5380 drivers that can make testing difficult. I'm working on a
> series of patches to address these bugs. Those patches are not yet ready
> for submission but they were helpful for the testing I did and may be
> helpful to other testers. Let me know if so.
>
> Changes since v1:
> - Re-based to v3.17.
> - Addressed issues raised in code review (see relevant patches for details).
> - Added patches 30 to 36, to remove sun3_NCR5380.c entirely and remove more
>   static variables from atari_NCR5380.c.
>
> This patch set stops short of parameterizing the drivers with platform_data
> and/or ops struct. IMHO, it would be premature to do such refactoring before
> drivers have been purged of static variables and certain #ifdefs. After
> that is done, entire modules could be replaced with platform devices.
>
> Several patches in this set address issues with the tagged command queueing
> code (see patches 7, 33 and 34). I've since learned from recent discussions
> on the linux-scsi list that use of the tag member in struct scsi_cmnd is
> deprecated. If removal of the tag member is imminent then it may be better
> to remove TCQ support from all of the NCR5380 drivers instead of this
> cleanup. Or it could be done separately.
>
> Removal of TCQ code might make re-unification easier, by bringing
> atari_NCR5380.c closer to NCR5380.c and eliminating some #ifdefs.
> Changes to the TCQ code would affect atari_scsi, being the only driver to
> #define SUPPORT_TAGS.
>
> ---
>  MAINTAINERS                         |    1 
>  arch/m68k/atari/config.c            |   27 
>  arch/m68k/atari/stdma.c             |   61 
>  arch/m68k/include/asm/atari_stdma.h |    4 
>  arch/m68k/include/asm/macintosh.h   |    4 
>  arch/m68k/mac/config.c              |  146 +
>  arch/m68k/sun3/config.c             |   60 
>  drivers/scsi/Kconfig                |    2 
>  drivers/scsi/NCR5380.c              |  295 +--
>  drivers/scsi/NCR5380.h              |   78 
>  drivers/scsi/arm/cumana_1.c         |   18 
>  drivers/scsi/arm/oak.c              |   23 
>  drivers/scsi/atari_NCR5380.c        |  981 +++++-------
>  drivers/scsi/atari_scsi.c           |  676 +++-----
>  drivers/scsi/atari_scsi.h           |   60 
>  drivers/scsi/dmx3191d.c             |   31 
>  drivers/scsi/dtc.c                  |   85 -
>  drivers/scsi/dtc.h                  |   26 
>  drivers/scsi/g_NCR5380.c            |  224 --
>  drivers/scsi/g_NCR5380.h            |   26 
>  drivers/scsi/mac_scsi.c             |  542 ++----
>  drivers/scsi/mac_scsi.h             |   74 
>  drivers/scsi/pas16.c                |  106 -
>  drivers/scsi/pas16.h                |   21 
>  drivers/scsi/sun3_NCR5380.c         | 2933 ------------------------------------
>  drivers/scsi/sun3_scsi.c            |  512 ++----
>  drivers/scsi/sun3_scsi.h            |   84 -
>  drivers/scsi/t128.c                 |   83 -
>  drivers/scsi/t128.h                 |   23 
>  29 files changed, 1745 insertions(+), 5461 deletions(-)
>
>
>
>
>   

  parent reply	other threads:[~2014-11-02  5:28 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-27  5:26 [PATCH v2 00/36] Fixes, cleanups and modernization for NCR5380 drivers Finn Thain
2014-10-27  5:26 ` [PATCH v2 01/36] ncr5380: Use printk() not pr_debug() Finn Thain
2014-10-27  5:26 ` [PATCH v2 02/36] ncr5380: Remove unused hostdata fields Finn Thain
2014-10-27  5:26 ` [PATCH v2 03/36] ncr5380: Fix compiler warnings and __setup options Finn Thain
2014-10-27  5:26 ` [PATCH v2 04/36] ncr5380: Remove unused macros Finn Thain
2014-10-27  5:26   ` Finn Thain
2014-10-27  5:26 ` [PATCH v2 05/36] ncr5380: Remove useless prototypes Finn Thain
2014-10-29 14:41   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 06/36] ncr5380: Remove more " Finn Thain
2014-10-29 14:44   ` Hannes Reinecke
2014-11-09 12:19     ` Finn Thain
2014-11-11 12:47       ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 07/36] ncr5380: Cleanup TAG_NEXT and TAG_NONE macros Finn Thain
2014-10-29 14:45   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 08/36] ncr5380: Remove redundant AUTOSENSE macro Finn Thain
2014-10-27  5:26   ` Finn Thain
2014-10-29 15:57   ` Hannes Reinecke
2014-10-29 15:57     ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 09/36] ncr5380: Remove duplicate comments Finn Thain
2014-10-29 15:59   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 10/36] ncr5380: Fix SCSI_IRQ_NONE bugs Finn Thain
2014-10-27  5:26   ` Finn Thain
2014-10-29 16:07   ` Hannes Reinecke
2014-10-29 16:07     ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 11/36] ncr5380: Remove NCR5380_STATS Finn Thain
2014-10-29 16:11   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 12/36] ncr5380: Cleanup host info() methods Finn Thain
2014-10-27  5:26   ` Finn Thain
2014-10-29 16:17   ` Hannes Reinecke
2014-10-29 16:17     ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 13/36] ncr5380: Move static PDMA spin counters to host data Finn Thain
2014-10-27  5:26   ` Finn Thain
2014-10-30  7:31   ` Hannes Reinecke
2014-10-30  7:31     ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 14/36] ncr5380: Remove pointless compiler command line override macros Finn Thain
2014-10-30  7:34   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 15/36] ncr5380: Remove *_RELEASE macros Finn Thain
2014-10-27  5:26   ` Finn Thain
2014-10-30  7:36   ` Hannes Reinecke
2014-10-30  7:36     ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 16/36] ncr5380: Drop legacy scsi.h include Finn Thain
2014-10-27  5:26   ` Finn Thain
2014-10-30  7:37   ` Hannes Reinecke
2014-10-30  7:37     ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 17/36] dmx3191d: Use NO_IRQ Finn Thain
2014-10-30  7:38   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 18/36] mac_scsi: Remove header Finn Thain
2014-10-30  7:39   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 19/36] mac_scsi: Add module option to Kconfig Finn Thain
2014-10-30  7:44   ` Hannes Reinecke
2014-10-31  7:17     ` Finn Thain
2014-10-31  8:33       ` Hannes Reinecke
2014-11-09 12:17         ` Finn Thain
2014-11-10  7:02           ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 20/36] mac_scsi: Cleanup PDMA code Finn Thain
2014-10-30  7:46   ` Hannes Reinecke
2014-10-30  8:45     ` Hannes Reinecke
2014-10-31  7:18       ` Finn Thain
2014-10-31  8:34         ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 21/36] mac_scsi: Convert to platform device Finn Thain
2014-10-30  7:55   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 22/36] atari_scsi: Fix atari_scsi deadlocks on Falcon Finn Thain
2014-10-30  8:07   ` Hannes Reinecke
2014-11-07 18:08   ` Michael Schmitz
2014-11-08  0:37     ` Finn Thain
2014-11-08  7:22       ` Michael Schmitz
2014-10-27  5:26 ` [PATCH v2 23/36] atari_scsi: Convert to platform device Finn Thain
2014-10-30  8:17   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 24/36] atari_scsi: Remove header Finn Thain
2014-10-30  8:18   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 25/36] sun3_scsi: Convert to platform device Finn Thain
2014-10-30  8:20   ` Hannes Reinecke
2014-11-09 10:25   ` Geert Uytterhoeven
2014-11-09 12:12     ` Finn Thain
2014-11-09 12:18       ` Geert Uytterhoeven
2014-10-27  5:26 ` [PATCH v2 26/36] sun3_scsi: Move macro definitions Finn Thain
2014-10-30  8:20   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 27/36] ncr5380: Remove ENABLE_IRQ/DISABLE_IRQ macros Finn Thain
2014-10-30  8:21   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 28/36] atari_NCR5380: Refactor Falcon special cases Finn Thain
2014-10-30  8:23   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 29/36] atari_NCR5380: Refactor Falcon locking Finn Thain
2014-10-30  8:27   ` Hannes Reinecke
2014-10-31  7:20     ` Finn Thain
2014-11-09 12:18       ` Finn Thain
2014-11-10  7:03         ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 30/36] atari_NCR5380: Merge from sun3_NCR5380.c Finn Thain
2014-10-30  8:33   ` Hannes Reinecke
2014-10-31  7:21     ` Finn Thain
2014-10-31  8:40       ` Hannes Reinecke
2014-10-31 12:48         ` Finn Thain
2014-10-27  5:26 ` [PATCH v2 31/36] sun3_scsi: Adopt atari_NCR5380 core driver and remove sun3_NCR5380.c Finn Thain
2014-10-30  8:35   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 32/36] atari_NCR5380: Merge from NCR5380.c Finn Thain
2014-10-30  8:37   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 33/36] atari_NCR5380: Introduce FLAG_TAGGED_QUEUING Finn Thain
2014-10-30  8:39   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 34/36] atari_NCR5380: Move static TagAlloc array to host data Finn Thain
2014-10-30  8:41   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 35/36] atari_NCR5380: Move static co-routine variables " Finn Thain
2014-10-30  8:42   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 36/36] atari_NCR5380: Remove RESET_RUN_DONE macro Finn Thain
2014-10-30  8:44   ` Hannes Reinecke
2014-11-02  5:28 ` Michael Schmitz [this message]
2014-11-02  6:12   ` [PATCH v2 00/36] Fixes, cleanups and modernization for NCR5380 drivers Finn Thain
     [not found]     ` <5455E340.7080305@gmail.com>
2014-11-04 23:36       ` Michael Schmitz
2014-11-05  7:56         ` David Gálvez
2014-11-05  8:10           ` Geert Uytterhoeven
2014-11-06  2:09             ` Michael Schmitz
2014-11-06  4:50               ` Finn Thain
2014-11-06 18:54                 ` Michael Schmitz
2014-11-07  2:34                   ` Finn Thain
2014-11-09 10:33                     ` Geert Uytterhoeven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5455C107.6040500@gmail.com \
    --to=schmitzmic@gmail.com \
    --cc=JBottomley@parallels.com \
    --cc=fthain@telegraphics.com.au \
    --cc=linux-m68k@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=sammy@sammy.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.