Re: [PATCH] ARM: at91: fix rtc irq mask for sam9x5 SoCs

Johan Hovold
2014-05-30T12:10:06Z

On Thu, May 29, 2014 at 04:09:48PM -0700, Andrew Morton wrote:
> On Fri, 9 May 2014 18:36:52 +0200 Johan Hovold <johan@hovold.com> wrote:
>
> > On Thu, May 08, 2014 at 07:28:04PM +0200, Boris BREZILLON wrote:
> >
> > > > You should also keep the flush (read of IMR) regardless (to make sure
> > > > the write has reached the peripheral), and remember to remove the now
> > > > unused mask variable.
> > >
> > > Does it has something to do with memory barriers ?
> > > If so, why not using writel instead of writel_relaxed ?
> >
> > You only need to use the non-relaxed version when synchronising with DMA
> > operations.
> >
> > The read-back of a register on the same device is a common technique to
> > make sure that preceding write has actually reached the peripheral
> > (write posting or flushing). In this case, it is used to make
> > (reasonably) sure that interrupts have actually been masked before
> > returning. (In the general case, you'd even need to verify the read-back
> > value to be certain that the device has changed its state.)
>
> So I grabbed this patch as it's tied to "rtc: rtc-at91rm9200: fix
> uninterruptible wait for ACKUPD" and is not in linux-next. Someone
> shout at me if that was a mistake.

The patch is needed, but it seems you got the wrong version. There was
an updated v4 posted the next day in this thread:

http://marc.info/?l=linux-kernel&m=139964712229420&w=2

Johan