Thread (29 messages) 29 messages, 4 authors, 2020-11-23

RE: [PATCH 1/3] Input: goodix - add option to disable firmware loading

From: Valek, Andrej <hidden>
Date: 2020-10-30 11:03:09
Also in: linux-devicetree, lkml

Hi Hans,

I am not saying, that just configuration loading took such a long time. Thu full process including configuration and FW loading takes it. 

Means that I would like to prevent this situation, but keep the old scenario as a default behavior.

Regards,
Andrej
Hi,

On 10/29/20 9:36 PM, Dmitry Torokhov wrote:
quoted
Hi Andrej,
On Thu, Oct 29, 2020 at 06:03:11PM +0100, Andrej Valek wrote:
quoted
quoted
Firmware file loadind for GT911 controller takes too much time (~60s).
There is no check that configuration is the same which is already present.
This happens always during boot, which makes touchscreen unusable.

Add there an option to prevent firmware file loading, but keep it 
enabled by default.
I thought that Goodix was losing firmware loading at poweroff. Is this 
not the case with this model?
So first of all there are 2 sorts of firmware involved with the Goodix touchscreen controllers, the actual firmware and a > block of config data for that firmware which I presume adjusts it for the specific (model of) the digitizer which is attached.

ATM the mainline Linux driver does not support models where the actual firmware itself needs to be loaded (because they only have RAM, so they come up without firmware).

I do have one model tablet with a ROM-less goodix touchpad controller, so if I ever find the time I might add support for loading the actual firmware.

So what we are talking about here is just loading the config data and I'm a bit surprised that this take so long.
quoted
Adding Hans as he was working with this driver/code.
With all that said I have no objection to this change.

Regards,

Hans


quoted
quoted
Signed-off-by: Andrej Valek <redacted>
---
 drivers/input/touchscreen/goodix.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/input/touchscreen/goodix.c 
b/drivers/input/touchscreen/goodix.c
index 02c75ea385e08..44336ecd2acdf 100644
--- a/drivers/input/touchscreen/goodix.c
+++ b/drivers/input/touchscreen/goodix.c
@@ -941,7 +941,9 @@ static int goodix_get_gpio_config(struct goodix_ts_data *ts)
 	default:
 		if (ts->gpiod_int && ts->gpiod_rst) {
 			ts->reset_controller_at_probe = true;
-			ts->load_cfg_from_disk = true;
+			/* Prevent cfg loading for each start */
+			ts->load_cfg_from_disk = !device_property_read_bool(dev,
+						 "touchscreen-do-not-load-fw");
 			ts->irq_pin_access_method = IRQ_PIN_ACCESS_GPIO;
 		}
 	}
--
2.20.1
Thanks.
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help