lkml.org 
[lkml]   [2003]   [Oct]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Patch to add support for SGI's IOC4 chipset
On Wed, Oct 22, 2003 at 08:31:02PM +0200, Bartlomiej Zolnierkiewicz wrote:
>
> I think there is another bug:
>
> ...
> hwif->hw.ack_intr = &sgiioc4_checkirq; /* MultiFunction Chip */
> ...
>
> sgiioc4_clearirq() should be used instead of sgiioc4_checkirq() here,
> because otherwise IRQ won't be cleared.
>
> In order to do this you must modify sgiioc4_clearirq() slightly,
> just change "return intr_reg;" to "return intr_reg & 0x03;".
>
> If you wonder why, please look at ide_ack_intr() use in ide-io.c:ide_intr().

Thanks. I've taken a look at it and have become puzzled.

It looks as though ide_ack_intr normally just "returns" 1 and has no
other effect. But then I see some ide drivers that also have an ack_intr
routine. On some (most?) architechtures, it would appear that the ack_intr
routine is not used, since the ide_ack_intr macro will not call it.

In gayle_ack_intr_a4000(), it looks as though all it does is read a
register and return something. Is that register read supposed to clear
interrupt as a side effect.

So maybe an explicit clear is not needed on most implementations?

jeremy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:58    [W:0.051 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site