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: >> Hi Andrej, >> > On Thu, Oct 29, 2020 at 06:03:11PM +0100, Andrej Valek wrote: >>> 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. > >> Adding Hans as he was working with this driver/code. > > With all that said I have no objection to this change. > > Regards, > > Hans > > > >> >>> >>> Signed-off-by: Andrej Valek <andrej.valek@xxxxxxxxxxx> >>> --- >>> 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. >>