lkml.org 
[lkml]   [2008]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH] libata-sff: Fix oops reported in kerneloops.org for pnp devices with no ctl
Alan Cox wrote:
> The Linusified version:
>
> - Make ata_sff_altstatus private so nobody uses it by mistake
> - Drop the 400nS delay from it
>
> Add
>
> ata_sff_irq_status - encapsulates the IRQ check logic
>
> This function keeps the existing behaviour for altstatus using devices. I
> actually suspect the logic was wrong before the changes but -rc isn't the
> time to play with that
>
> ata_sff_sync - ensure writes hit the device
>
> Really we want an io* operation for 'is posted' eg ioisposted(ioaddr) so
> that we can fix the nasty delay this causes on most systems.
>
> - ata_sff_pause - 400nS delay
>
> Ensure the command hit the device and delay 400nS
>
> - ata_sff_dma_pause
>
> Ensure the I/O hit the device and enforce an HDMA1:0 transition delay.
> Requires altstatus register exists, BUG if not so we don't risk
> corruption in MWDMA modes. (UDMA the checksum will save your backside in
> theory)
>
> The only other complication then is devices with their own handlers.
> rb532 can use dma_pause but scc needs to access its own altstatus
> register for internal errata workarounds so directly call the drivers own
> altstatus function.
>
> Signed-off-by: Alan Cox <alan@redhat.com>

Honestly I think your first RFC PATCH (dated Thu, 29 May 2008 22:10:58
+0100) turned out better than this.

NO_ALTSTATUS is a bit ugly, don't you think?

In any case, based on a quick review I would certainly ack the first RFC
PATCH.

Jeff






\
 
 \ /
  Last update: 2008-05-29 23:59    [W:0.129 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site