Re: [PATCH RFT] irqchip: sun4i: Remove wrong irq_ack callbackimplementation

From: Maxime Ripard
Date: Wed Jul 24 2013 - 05:52:14 EST


Hi Geert,

On Fri, Jul 19, 2013 at 11:29:30AM +0200, Geert Uytterhoeven wrote:
> On Thu, Jul 11, 2013 at 6:13 PM, Maxime Ripard
> <maxime.ripard@xxxxxxxxxxxxxxxxxx> wrote:
> > On Sat, Jul 06, 2013 at 10:35:29PM +0800, Axel Lin wrote:
> >> According to the datasheet[1], the Interrupt IRQ Pending Registers are
> >> read-only. The implementation of sun4i_irq_ack() looks wrong because it writes
> >> to these read-only registers.
> >
> > Right, but the datasheet also says that these registers are "clear"
> > register, which might indicate that it's actually R/W.
>
> I guess it means that the flags are cleared automatically on read?
> That's not so uncommon for interrupt pending registers.

My understanding in this case is that the pending register is just a
"copy" of the pending bits in the related hardware IP, so that clearing
it in the interrupt controller won't do much, since it will be re-set
just after the clear, while if you do clear the interrupt bit in the IP,
it will clear it automatically in the interrupt controller.

Maxime

--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

Attachment: signature.asc
Description: Digital signature