Re: [PATCH RESEND v8 2/4] input: elants: support old touch report format

From: Dmitry Osipenko
Date: Sat Jan 23 2021 - 09:09:01 EST


23.01.2021 01:37, Michał Mirosław пишет:
> On Fri, Jan 22, 2021 at 11:10:52PM +0300, Dmitry Osipenko wrote:
>> 08.01.2021 01:06, Dmitry Osipenko пишет:
>>> 11.12.2020 21:48, Dmitry Torokhov пишет:
>>>> On Fri, Dec 11, 2020 at 06:04:01PM +0100, Michał Mirosław wrote:
>>>>> On Fri, Dec 11, 2020 at 07:39:33PM +0300, Dmitry Osipenko wrote:
>>>>>> 11.12.2020 19:09, Michał Mirosław пишет:
>>>>>>> On Thu, Dec 10, 2020 at 11:29:40PM -0800, Dmitry Torokhov wrote:
>>>>>>>> Hi Michał,
>>>>>>>> On Fri, Dec 11, 2020 at 07:53:56AM +0100, Michał Mirosław wrote:
>>>>>>>>> @@ -998,17 +1011,18 @@ static irqreturn_t elants_i2c_irq(int irq, void *_dev)
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> report_len = ts->buf[FW_HDR_LENGTH] / report_count;
>>>>>>>>> - if (report_len != PACKET_SIZE) {
>>>>>>>>> + if (report_len != PACKET_SIZE &&
>>>>>>>>> + report_len != PACKET_SIZE_OLD) {
>>>>>>>>> dev_err(&client->dev,
>>>>>>>>> - "mismatching report length: %*ph\n",
>>>>>>>>> + "unsupported report length: %*ph\n",
>>>>>>>>> HEADER_SIZE, ts->buf);
>>>>>>>> Do I understand this correctly that the old packets are only observed on
>>>>>>>> EKTF3624? If so can we expand the check so that we only accept packets
>>>>>>>> with "old" size when we know we are dealing with this device?
>>>>>>>
>>>>>>> We only have EKTF3624 and can't be sure there are no other chips needing this.
>>>>>>
>>>>>> In practice this older packet format should be seen only on 3624, but
>>>>>> nevertheless we could make it more explicit by adding the extra chip_id
>>>>>> checks.
>>>>>>
>>>>>> It won't be difficult to change it in the future if will be needed.
>>>>>>
>>>>>> I think the main point that Dmitry Torokhov conveys here is that we
>>>>>> should minimize the possible impact on the current EKT3500 code since we
>>>>>> don't have definitive answers regarding the firmware differences among
>>>>>> the hardware variants.
>>>>>
>>>>> The only possible impact here is that older firmware instead of breaking
>>>>> would suddenly work. Maybe we can accept such a risk?
>>>>
>>>> These are not controllers we'll randomly find in devices: Windows boxes
>>>> use I2C HID, Chrome devices use "new" firmware, so that leaves random
>>>> ARM where someone needs to consciously add proper compatible before the
>>>> driver will engage with the controller.
>>>>
>>>> I would prefer we were conservative and not accept potentially invalid
>>>> data.
>>>>
>>>> Thanks.
>>>>
>>>
>>> Michał, will you be able to make v9 with all the review comments addressed?
>>>
>>
>> I'll make a v9 over this weekend.
>>
>> Michał, please let me know if you already started to work on this or
>> have any objections.
>
> Hi,
>
> Sorry for staying quiet so long. I have to revive my Transformer before
> I can test anything, so please go ahead.

No problems, hope it's nothing serious and you'll have some spare time
to revive it soon!