Messages in this thread | | | Date | Wed, 24 Jul 2013 11:51:45 +0200 | From | Maxime Ripard <> | Subject | Re: [PATCH RFT] irqchip: sun4i: Remove wrong irq_ack callback implementation |
| |
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@free-electrons.com> 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 [unhandled content-type:application/pgp-signature] | |