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.va...@siemens.com>
>>> ---
>>>  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.
>> 

Reply via email to