linux-m68k.vger.kernel.org archive mirror
 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: 100+ 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 ` [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-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-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-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-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-30  7:36   ` Hannes Reinecke
2014-10-27  5:26 ` [PATCH v2 16/36] ncr5380: Drop legacy scsi.h include Finn Thain
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).