Re: [PATCHv3] w1: omap-hdq: Simplify driver with PM runtime autosuspend

From: Tony Lindgren
Date: Wed Apr 29 2020 - 17:38:23 EST


* H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> [200429 21:35]:
> I have reworked the way the spinlocks, setting and resetting
> of the hdq_irqstatus bits are done and now it works right from
> start of boot. Without any timeouts or delays.
>
> I am not exactly sure what went wrong, but it seems as if
> the read is already done when the write interrupt status
> bit is processed. Then, the old logic did wipe out both
> bits by hdq_reset_irqstatus() and the read code did timeout
> because it did not notice that the data had already been
> available. This may depend on other system activities so
> that it can explain why other tests didn't reveal it.
>
> omap_hdq_runtime_resume() and omap_hdq_runtime_suspend()
> also behave fine.
>
> Before I can post something I need to clean up my hacks
> and add similar fixes to omap_hdq_break() and omap_w1_triplet()
> where I hope that I don't break those...

OK good to hear you were able to figure out what is
going on here.

Regards,

Tony