Messages in this thread | | | Subject | Re: [PATCHv3] w1: omap-hdq: Simplify driver with PM runtime autosuspend | From | "H. Nikolaus Schaller" <> | Date | Sat, 9 May 2020 13:47:12 +0200 |
| |
Hi Tony,
> Am 29.04.2020 um 23:38 schrieb Tony Lindgren <tony@atomide.com>: > > * H. Nikolaus Schaller <hns@goldelico.com> [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.
I have found another small bug and a dev_dbg format weakness and now it seems to work well even if I remove or reinsert the battery while read operations are ongoing.
Still I need more time to fix up the patch(es).
BR and thanks, Nikolaus
| |