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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.
>> 





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux