On Tue, Sep 19, 2017 at 12:49:21PM -0300, Guilherme G. Piccoli wrote: > On 09/19/2017 12:37 PM, Christoph Hellwig wrote: > > On Tue, Sep 19, 2017 at 12:11:55PM -0300, Guilherme G. Piccoli wrote: > >> src_writel(dev, MUnit.IDR, IOP_SRC_RESET_MASK); > >> + > >> + msleep(5000); > > > > src_writel is a writel, and thus a posted MMIO write. You'll need > > to have to a read first to make it a reliable timing base. > > > > Just for my full understanding - you're saying a readl BEFORE > src_writel() or AFTER src_writel() ? AFTER. > I could add a read to some dummy register, but notice it was a sequence > of readl's on aac_is_ctrl_up_and_running() that caused the failure of > reset... Oh, ouch. I guess in that case we'll need to do the writel and pray, but that would need a big comment explaining what's going on there.