Thread (11 messages) 11 messages, 3 authors, 2005-08-05

Re: [PATCH linux-2.6.13-rc3] SATA: rewritten sil24 driver

From: Tejun Heo <hidden>
Date: 2005-08-04 02:20:33
Also in: lkml

 Hello, Edward.

 One more question.
quoted
quoted
I think this will work (adapted from sil_interrupt():

static void sil_irq_clear(struct ata_port *ap)
{
       struct sil_port_priv *pp = ap->private_data;
       struct Port_Registers *port_base = pp->pregs;
   unsigned long port_int;

   port_int  = readl((void *)&port_base->IntStatus);
   writel(port_int, &port_base->IntStatus);
}

I'm assuming that this entry point is expected to clear all interrupts, no?
Correct.
 I'll verify with the error register clearing part of the original
driver and submit a patch.
 Command completion interrupt is automatcally cleared by reading
PORT_SLOT_STAT register (SlotStatus in the original driver), and error
registers should be manually cleared by writing to PORT_IRQ_STAT
(IntStatus).

 I agree that above code should clear both.  Just wanna verify.  Have
you tested it and/or do you have any information confirming this?  If
we don't have any further info, I think we should read PORT_SLOT_STAT
before clearing PORT_IRQ_STAT to be on the safe side.

 Thanks.

-- 
tejun
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help