public inbox for linux-m68k@lists.linux-m68k.org
 help / color / mirror / Atom feed
From: Michael Schmitz <schmitzmic@gmail.com>
To: Finn Thain <fthain@telegraphics.com.au>
Cc: Christoph Hellwig <hch@infradead.org>,
	Michael Schmitz <schmitz@debian.org>,
	Sam Creasey <sammy@sammy.net>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Linux/m68k <linux-m68k@vger.kernel.org>
Subject: Re: converting the NCR5380 drivers away from scsi_register
Date: Sun, 03 Aug 2014 21:07:12 +1200	[thread overview]
Message-ID: <53DDFBC0.4050906@gmail.com> (raw)
In-Reply-To: <alpine.LNX.2.00.1408031314200.545@nippy.intranet>

Hi Finn,
>> OK, forget about atari_scsi.c for now. From memory, the major difference 
>> between atari_NCR5380.c and the others is handling of the ST-DMA/shared 
>> interrupt locking.
>>     
>
> Yes, sun3_NCR5380.c and NCR5380.c lack support for the ST-DMA chip.
>   

As should be.

> And both NCR5380.c and sun3_NCR5380.c dropped the code to support ISA 
> cards, as I mentioned.
>
> Both NCR5380.c and sun3_NCR5380.c lack merge_contiguous_buffers().
>   

I'm sure that was a tweak added by Roman Hodek to improve performance. 
Should not hurt to merge this one.

> NCR5380.c lacks support for tagged queueing, while sun3_NCR5380.c and 
> atari_NCR5380.c have divergent implementations of this.
>   

Might be equivalent for all I've seen - just array vs. bitmap to store 
tags..

> sun3_NCR5380.c and atari_NCR5380.c have divergent implementations of 
> NCR5380_transfer_dma().
>   

This is due to different DMA hardware in the three cases covered, so 
expected. There's quite a bit of additional DMA mumble in 
NCR5380_information_transfer and NCR5380_reselect.

> sun3_NCR5380.c and atari_NCR5380.c share the same implementation of the 
> NCR5380_main() co-routine, but it differs significantly from the algorithm 
> in NCR5380.c.
>   

atari_NCR5380.c was forked from NCR5380.c as early as 1994, and the 
changes to the NCR5380.c coroutine will be a later addition. NCR5380.c 
has seen development for a few years that we've never picked up.

> Each of sun3_NCR5380.c, atari_NCR5380.c and NCR5380.c have had some clean 
> up and modernization work that does not appear in any of the others.
>
> Despite all of that, I have a patch series that attempts to unify 
> atari_NCR5380.c and sun3_NCR5380.c. This seems like a sensible idea (in 
> theory) given that probably only the ISA cards actually need NCR5380.c.
>   

The diff between the two was amazingly clean and easy to parse (aside 
from the above mentioned DMA setup related stuff). Merging the two seems 
quite possible indeed.

Changes to NCR5380. are rather major though. I need to carefully go 
through the diff again. ISTR trying to run the coroutine as delayed 
workqueue instead of immediate but dropped that again for some reason.

> At some point I'll send some patches for comment, so that we might discuss 
> the issues with everyone on the same page. Until then, I'd prefer to focus 
> on the scsi_register() conversion.
>   

OK, do that first so scsi_register can go away.

>> We need to preserve that pretty much as is, or risk serious regressions. 
>> I mean, more serious trouble than I already have with the current driver 
>> because of the tendency of my Falcon to muck up the SCSI chip's clock 
>> signal under heavy load. Also note that there is still one of my patches 
>> unmerged (under review since early this year) that is necessary to avoid 
>> 'scheduling in interrupt' style panic.
>>     
>
> Can you re-send it please?
>   

I'll do that.

Cheers,

    Michael

  reply	other threads:[~2014-08-03  9:07 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-16 14:18 converting the NCR5380 drivers away from scsi_register Christoph Hellwig
2014-06-17  8:20 ` Finn Thain
2014-06-17  8:38   ` Geert Uytterhoeven
2014-07-30  8:32     ` Finn Thain
2014-07-31  5:31       ` Michael Schmitz
2014-08-01  3:13         ` Finn Thain
2014-08-01  8:15           ` Michael Schmitz
2014-08-02  1:27             ` Finn Thain
2014-08-02  8:51               ` Michael Schmitz
2014-08-03  3:43                 ` Finn Thain
2014-08-03  9:07                   ` Michael Schmitz [this message]
2014-08-04  3:28                     ` Finn Thain
2014-08-05  9:06                       ` Michael Schmitz
2014-08-06  1:25                         ` Sun3 SCSI DMA, was " Finn Thain
2014-08-06 14:42                           ` Sam Creasey
2014-08-08  8:46                             ` Michael Schmitz
2014-08-11 15:10                               ` Sam Creasey
2014-08-13  5:29                                 ` Finn Thain
2014-08-13  9:14                                   ` Michael Schmitz
2014-08-14  1:43                                     ` Finn Thain
2014-08-14  8:57                                       ` Michael Schmitz
2014-08-15  1:46                                         ` Finn Thain
2014-08-15  1:51                                           ` Michael Schmitz
2014-08-15  2:09                                         ` Finn Thain
2014-08-15  3:03                                           ` Michael Schmitz

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=53DDFBC0.4050906@gmail.com \
    --to=schmitzmic@gmail.com \
    --cc=fthain@telegraphics.com.au \
    --cc=geert@linux-m68k.org \
    --cc=hch@infradead.org \
    --cc=linux-m68k@vger.kernel.org \
    --cc=sammy@sammy.net \
    --cc=schmitz@debian.org \
    /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