From: Finn Thain <fthain@telegraphics.com.au>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Michael Schmitz <schmitzmic@gmail.com>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
Tejun Heo <tj@kernel.org>,
"linux-ide@vger.kernel.org" <linux-ide@vger.kernel.org>,
Linux/m68k <linux-m68k@lists.linux-m68k.org>,
Linux Kernel Development <linux-kernel@vger.kernel.org>,
Andreas Schwab <schwab@linux-m68k.org>
Subject: Re: [PATCH 0/3] ata: add m68k/Atari Falcon PATA support
Date: Fri, 27 Jan 2017 12:41:50 +1100 (AEDT) [thread overview]
Message-ID: <alpine.LNX.2.00.1701271234010.32301@nippy.intranet> (raw)
In-Reply-To: <CAMuHMdW9CgZNdq9rDY4EgJNXEzxSLZESqnSRHEU_Zy2u4hon1A@mail.gmail.com>
On Thu, 26 Jan 2017, Geert Uytterhoeven wrote:
> Hi Finn,
>
> On Thu, Jan 26, 2017 at 9:47 AM, Finn Thain <fthain@telegraphics.com.au>
> wrote:
> > The difficulty will be arranging for disabled FDC & IDE interrupt
> > sources during SCSI DMA, and disabled SCSI & IDE interrupt sources
> > during FDC DMA. (Not all 5380 interrupts can be disabled; no idea
> > about the IDE device or WD1772 FDC.)
>
> IDE interrupts are disabled at the device level. Unfortunately some hard
> drives (e.g. Western Digital Caviar) didn't honour the ATA disable IRQ
> bit, so they caused an interrupt deadlock if you probed for them on
> Amiga with the IDE interrupt enabled. The problem didn't show up on PC
> because they had no shared interrupts, while on A4000 the IDE interrupt
> is shared with Zorro Ethernet, which was still enabled.
>
> That was fixed (in 1995 or 1996?) by disabling the IDE interrupt at the
> IRQ controller level.
>
As I undersand it, masking these interrupts at the IRQ controller level
won't work because these interrupt sources are all logically-OR'd together
to generate the input that is to be polled during DMA. (And accessing the
individual device registers is impossible during DMA!)
Anyway, the end result is that both IDE and SCSI have the potential to
(occasionally) mess up the DMA polling during and FDC or SCSI transfer.
For SCSI, I believe that we can detect this when it happens (by checking
the sector count registers in the DMA chip) and return the SCSI command
with an error result, so that the mid-layer will retry it.
I don't know how it would be handled in the case of an FDC transfer but I
presume that a similar mechanism is available in the block layer.
--
> Gr{oetje,eeting}s,
>
> Geert
>
next prev parent reply other threads:[~2017-01-27 1:52 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20161230140139epcas5p160eda5a6a77be084e21f12002c85cc2a@epcas5p1.samsung.com>
2016-12-30 14:01 ` [PATCH 0/3] ata: add m68k/Atari Falcon PATA support Bartlomiej Zolnierkiewicz
2016-12-30 14:01 ` [PATCH 1/3] ata: allow subsystem to be used on m68k arch Bartlomiej Zolnierkiewicz
2016-12-30 14:12 ` Christoph Hellwig
2016-12-30 17:14 ` Bartlomiej Zolnierkiewicz
2017-01-08 10:08 ` Christoph Hellwig
2017-01-09 16:01 ` Bartlomiej Zolnierkiewicz
2017-01-09 16:15 ` Geert Uytterhoeven
2016-12-30 14:01 ` [PATCH 2/3] ata: pass queued command to ->sff_data_xfer method Bartlomiej Zolnierkiewicz
2016-12-30 14:01 ` [PATCH 3/3] ata: add Atari Falcon PATA controller driver Bartlomiej Zolnierkiewicz
2017-01-03 10:49 ` [PATCH 0/3] ata: add m68k/Atari Falcon PATA support Geert Uytterhoeven
2017-01-09 16:11 ` Bartlomiej Zolnierkiewicz
2017-01-10 16:09 ` Tejun Heo
2017-01-05 21:01 ` Michael Schmitz
2017-01-10 12:53 ` Bartlomiej Zolnierkiewicz
2017-01-10 20:02 ` Michael Schmitz
2017-01-13 2:33 ` Finn Thain
2017-01-14 8:55 ` Michael Schmitz
2017-01-14 23:47 ` Finn Thain
2017-01-15 1:48 ` Michael Schmitz
2017-01-15 4:42 ` Finn Thain
2017-01-20 7:49 ` Michael Schmitz
2017-01-21 7:37 ` Finn Thain
2017-01-23 8:04 ` Michael Schmitz
2017-01-26 8:47 ` Finn Thain
2017-01-26 9:03 ` Geert Uytterhoeven
2017-01-27 1:41 ` Finn Thain [this message]
2017-01-27 4:28 ` Michael Schmitz
2017-02-01 8:40 ` Finn Thain
2017-02-01 8:45 ` Geert Uytterhoeven
2017-02-02 7:48 ` Michael Schmitz
2017-01-10 16:11 ` Tejun Heo
2017-02-15 8:45 ` Geert Uytterhoeven
2017-02-20 18:15 ` Bartlomiej Zolnierkiewicz
2017-02-21 22:18 ` Tejun Heo
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=alpine.LNX.2.00.1701271234010.32301@nippy.intranet \
--to=fthain@telegraphics.com.au \
--cc=b.zolnierkie@samsung.com \
--cc=geert@linux-m68k.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
--cc=schmitzmic@gmail.com \
--cc=schwab@linux-m68k.org \
--cc=tj@kernel.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