All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Schmitz <schmitzmic@gmail.com>
To: Finn Thain <fthain@telegraphics.com.au>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
	"James E.J. Bottomley" <JBottomley@parallels.com>,
	Sam Creasey <sammy@sammy.net>, scsi <linux-scsi@vger.kernel.org>,
	Linux/m68k <linux-m68k@vger.kernel.org>
Subject: Re: [PATCH 23/29] atari_scsi: Convert to platform device
Date: Mon, 06 Oct 2014 21:14:48 +1300	[thread overview]
Message-ID: <54324F78.6090303@gmail.com> (raw)
In-Reply-To: <alpine.LNX.2.00.1410061754280.26699@nippy.intranet>

Hi Finn,

>>>> Can these be handled through the platform_device's resources?
>>>>
>>>>     
>>>>         
>>> I don't know.
>>>   
>>>       
>> Should be possible - I've seen that used in the ISP116x HCD driver 
>> (arch-dependent post-register access delay function passed via platform 
>> data).
>>     
>
> Yes, possible, but is it desirable?
>   

Only long term, i.e. if we can find a way to fold all the separate 
*_NCR5380 drivers into a core one.


>
> If there's no third configuration then I see little to be gained from 
> completely parameterizing the driver using a bunch of resources.
>
> What am I missing? Why would it be desirable to have bits of driver code 
> in arch/m68k/ and other bits of the same driver kept elsewhere in the 
> tree (in drivers/)?
>
>   

Again, only makes sense if the goal is to reduce the driver to a core 
driver with implementation bits separate.

>>>> (and IRQ_NONE is wrong, you should use 0)
>>>>
>>>>     
>>>>         
>>>>> +       if (IS_A_TT()) {
>>>>>       
>>>>>           
>>>> Check for instance->irq instead?
>>>>     
>>>>         
>>> Yes, you'd think so, but a later patch (not in this set) would have to 
>>> change it back to IS_A_TT().
>>>
>>> Further patches align atari_NCR5380.c with NCR5380.c, such that the 
>>> core driver then checks host->irq to find out whether an IRQ is in 
>>> use. For Atari ST, request_irq() is not called even though the ST DMA 
>>> irq is in use.
>>>   
>>>       
>> That's why the IRQ is set to 0, I guess? Works for me.
>>     
>
> My patch tests for IS_A_TT not 0 because 0 has a different meaning 
> depending on which core driver you use. I don't want to support three 
> forks of NCR5380.c. One of the objectives of this patch series is to try 
> to move toward convergence on a common core driver.
>   

I wasn't talking about the use of IS_A_TT() here, rather about what 
host->irq = 0 achieves. Anyway, in the context of atari_scsi.c, 
host->irq == 0 is synonymous with !IS_A_TT(). If
host->irq == 0 is problematic with the long term goal of a singe 5380 
core driver, we'll just have to pick a value which means 'driver uses 
IRQ but you're not to fiddle with it'.
>> The old code states that setting instance->irq = 0 keeps the midlevel 
>> from tampering with the SCSI IRQ during queuecmd which would interfere 
>> with IDE and floppy.
>>     
>
> I don't know what you mean. AFAIK, the SCSI mid layer doesn't care about 
> instance->irq.
>   

You're right - that's another obsolete comment then. The midlevel uses 
spinlocks now for ages, this means we can set instance->irq to the 
actual IRQ used.

>> I guess this is still relevant - I would not have seen the ST-DMA locked 
>> by IDE during SCSI queuecmd otherwise.
>>     
>
> Lock-ups were due to disabling local IRQs. Please see,
>   

Absolutely right, but that's not what I meant. I assumed the midlevel 
disabled interrupts during queuecommand - it does not, so the point is 
moot. If using the actual IRQ for instance->irq helps at all, no 
objection to that.

SCSI commands can still be queued while IDE IO is in flight - that is 
what the 'ST-DMA locked by IDE' above refers to.

Cheers,

    Michael

  reply	other threads:[~2014-10-06  8:15 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-02  6:56 [PATCH 00/29] Fixes, cleanups and modernization for NCR5380 drivers Finn Thain
2014-10-02  6:56 ` [PATCH 01/29] ncr5380: Use printk() not pr_debug() Finn Thain
2014-10-06  9:11   ` Hannes Reinecke
2014-10-02  6:56 ` [PATCH 02/29] ncr5380: Remove unused hostdata fields Finn Thain
2014-10-06  9:12   ` Hannes Reinecke
2014-10-02  6:56 ` [PATCH 03/29] ncr5380: Fix compiler warnings and __setup options Finn Thain
2014-10-06  9:19   ` Hannes Reinecke
2014-10-02  6:56 ` [PATCH 04/29] ncr5380: Remove unused macros Finn Thain
2014-10-02  6:56   ` Finn Thain
2014-10-06  9:21   ` Hannes Reinecke
2014-10-06  9:21     ` Hannes Reinecke
2014-10-02  6:56 ` [PATCH 05/29] ncr5380: Remove useless prototypes Finn Thain
2014-10-02  6:56 ` [PATCH 06/29] ncr5380: Remove more " Finn Thain
2014-10-02  6:56 ` [PATCH 07/29] ncr5380: Cleanup TAG_NEXT and TAG_NONE macros Finn Thain
2014-10-03  8:09   ` Geert Uytterhoeven
2014-10-03 10:12     ` Finn Thain
2014-10-06  9:19   ` Hannes Reinecke
2014-10-06 12:26     ` Finn Thain
2014-10-02  6:56 ` [PATCH 08/29] ncr5380: Remove redundant AUTOSENSE macro Finn Thain
2014-10-02  6:56   ` Finn Thain
2014-10-02  6:56 ` [PATCH 09/29] ncr5380: Remove duplicate comments Finn Thain
2014-10-02  6:56 ` [PATCH 10/29] ncr5380: Fix SCSI_IRQ_NONE bugs Finn Thain
2014-10-03  8:22   ` Geert Uytterhoeven
2014-10-03 10:42     ` Finn Thain
2014-10-02  6:56 ` [PATCH 11/29] ncr5380: Remove NCR5380_STATS Finn Thain
2014-10-02  6:56 ` [PATCH 12/29] ncr5380: Cleanup host info() methods Finn Thain
2014-10-02  6:56   ` Finn Thain
2014-10-03  8:32   ` Geert Uytterhoeven
2014-10-03  8:32     ` Geert Uytterhoeven
2014-10-02  6:56 ` [PATCH 13/29] ncr5380: Move static PDMA spin counters to host data Finn Thain
2014-10-02  6:56   ` Finn Thain
2014-10-02  6:56 ` [PATCH 14/29] ncr5380: Remove pointless compiler command line override macros Finn Thain
2014-10-02  6:56 ` [PATCH 15/29] ncr5380: Remove *_RELEASE macros Finn Thain
2014-10-02  6:56   ` Finn Thain
2014-10-02  6:56 ` [PATCH 16/29] ncr5380: Drop legacy scsi.h include Finn Thain
2014-10-02  6:56   ` Finn Thain
2014-10-02  6:56 ` [PATCH 17/29] dmx3191d: Use IRQ_NONE Finn Thain
2014-10-03  8:41   ` Geert Uytterhoeven
2014-10-02  6:56 ` [PATCH 18/29] mac_scsi: Remove header Finn Thain
2014-10-02  6:56 ` [PATCH 19/29] mac_scsi: Add module option to Kconfig Finn Thain
2014-10-03  8:44   ` Geert Uytterhoeven
2014-10-03 10:49     ` Finn Thain
2014-10-03 11:31       ` Geert Uytterhoeven
2014-10-02  6:56 ` [PATCH 20/29] mac_scsi: Cleanup PDMA code Finn Thain
2014-10-02  6:56 ` [PATCH 21/29] mac_scsi: Convert to platform device Finn Thain
2014-10-03  9:08   ` Geert Uytterhoeven
2014-10-02  6:56 ` [PATCH 22/29] atari_scsi: Fix atari_scsi deadlocks on Falcon Finn Thain
2014-10-03  9:19   ` Geert Uytterhoeven
2014-10-02  6:56 ` [PATCH 23/29] atari_scsi: Convert to platform device Finn Thain
2014-10-03  9:34   ` Geert Uytterhoeven
2014-10-03 11:10     ` Finn Thain
2014-10-04 23:43       ` Michael Schmitz
2014-10-06  7:05         ` Finn Thain
2014-10-06  8:14           ` Michael Schmitz [this message]
2014-10-08 11:59             ` Finn Thain
2014-10-06  8:36           ` Geert Uytterhoeven
2014-10-20  7:33   ` Michael Schmitz
2014-10-20 11:22     ` Finn Thain
2014-10-20 18:34       ` Michael Schmitz
2014-10-26  7:37       ` Michael Schmitz
2014-10-27  0:15         ` Finn Thain
2014-10-02  6:56 ` [PATCH 24/29] atari_scsi: Remove header Finn Thain
2014-10-02  6:56 ` [PATCH 25/29] sun3_scsi: Convert to platform device Finn Thain
2014-10-02  6:56 ` [PATCH 26/29] sun3_scsi: Move macro definitions Finn Thain
2014-10-02  6:56 ` [PATCH 27/29] ncr5380: Remove ENABLE_IRQ/DISABLE_IRQ macros Finn Thain
2014-10-02  6:56 ` [PATCH 28/29] atari_NCR5380: Refactor Falcon special cases Finn Thain
2014-10-06  9:28   ` Hannes Reinecke
2014-10-06 11:34     ` Finn Thain
2014-10-06 13:41       ` Ondrej Zary
2014-10-02  6:56 ` [PATCH 29/29] atari_NCR5380: Refactor Falcon locking Finn Thain

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=54324F78.6090303@gmail.com \
    --to=schmitzmic@gmail.com \
    --cc=JBottomley@parallels.com \
    --cc=fthain@telegraphics.com.au \
    --cc=geert@linux-m68k.org \
    --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.