[lkml]   [2008]   [Sep]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 2/5] ide: ->ide_dma_clear_irq() -> ->clear_irq()
Hello, I wrote:

>> * Rename ->ide_dma_clear_irq method to ->clear_irq
>> and move it from ide_hwif_t to struct ide_port_ops.
>> * Move ->waiting_for_dma check inside ->clear_irq method.
>> * Move ->dma_base check inside ->clear_irq method.
>> piix.c:
>> * Add ich_port_ops and remove init_hwif_ich() wrapper.
>> There should be no functional changes caused by this patch.
> Good. I think it's worth implementing this method in at least
> cmd64x.c which actually reads the IDE interrupt latch bits
> (independent from the DMA interrupt status) in the dma_test_irq()
> methods but never clears them, so the latches may reflect a
> non-current state of the IDE interrupt...

I forgot that it does clear them in its dma_end() methods (which I
myself have reworked :-).
It seems however that at least for SFF-8038 compatibles, it makes
sense to leave it that way since INTRQ might be asserted while BMIDE
interrupt bit is not, so the interrupt latch would need clearing even on
DMA timeout...

> It may also be worth considering turning this method into
> test-and-clear, so that we can get the actual IDE interrupt state on
> the chips that implement this...

Probably might add the test_irq() method to be called on
!hwif->waiting_for_dma. Cleraing the status at once seems impractical...

>> Signed-off-by: Bartlomiej Zolnierkiewicz <>
> Acked-by: Sergei Shtylyov <>

Not feeling sure about this patch -- ->waiting_for_dma probably
should've been left where it was...

MBR, Sergei

 \ /
  Last update: 2008-09-16 00:13    [W:0.083 / U:5.364 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site