Re: [PATCH v2 3/5] input: himax_hx83112b: implement MCU register reading

From: Felix Kaechele
Date: Wed May 29 2024 - 19:16:25 EST


On 2024-05-14 10:01, Felix Kaechele wrote:
On 2024-05-14 05:46, Mark Brown wrote:
On Mon, May 13, 2024 at 04:01:59PM -0700, Dmitry Torokhov wrote:
On Sat, May 11, 2024 at 08:12:24AM -0400, Felix Kaechele wrote:
Implement reading from the MCU in a more universal fashion. This allows
properly handling reads of more than 4 bytes using the AHB FIFO
implemented in the chip.

Mark, do we have anything in regmap to support this better or having a
wrapper is the best solution here?

No, I've not seen something that explicitly requires toggling a burst
mode on and off to do a bulk operation.  Off the top of my head I'd
suggest just always leaving the burst mode enabled but I assume there's
some downside to doing that.  We could add something but I'm not sure if
it's worth it without having seen any other devices with the same need.

I can experiment some more with just leaving burst mode enabled.

I've done some testing now and can confirm that, unfortunately, not enabling burst mode for every read of the FIFO register results in unreliable touchscreen operation.

For testing purposes I only enabled burst mode once at both probe and resume.
The touchscreen will stop working both randomly in normal operation and reproducibly after returning from screen blanking.
My wild guess is that DSI commands (e.g. for re-initializing the panel) alter the state of the IC such that the burst mode on the I2C interface ends up disabled again.

That means the bus read function from this current v2 series could be used as-is.
I have a v3 in the pipeline to address the comments Conor made on another patch in the series.
So far those are the only changes compared to this v2. If you have any other ideas for what I could test in regards to this, please let me know. Otherwise I'll be sending v3 in the next few days.

Regards,
Felix