Re: [v1.1,1/3] driver: input :touchscreen : add Raydium crc touch function

From: Dmitry Torokhov
Date: Fri Jul 08 2016 - 14:57:23 EST


On Fri, Jul 08, 2016 at 07:36:45AM -0700, jeffrey.lin wrote:
> >This is not offset, this is size, or length, of CRC.
> I'll change namming as RM_CONTACT_CRC_SIZE
>
> >> @@ -798,33 +803,54 @@ static void raydium_mt_event(struct raydium_data *ts)
> >> input_mt_slot(ts->input, i);
> >> input_mt_report_slot_state(ts->input, MT_TOOL_FINGER, state);
> >>
> >> - if (!state)
> >> - continue;
> >> -
> >> - input_report_abs(ts->input, ABS_MT_POSITION_X,
> >> + if (state == 0x01) {
>
> >Why we need this change? How is it related to CRC? Do you intent to
> >report contact as active but not emit any position data of state is
> >neither 0 nor 1?
> This is no relationship with CRC, just want to make sure report points as state equal to 1.

If active contact only reported when state is 0x01 you need to update
the statements above like this:

input_mt_report_slot_state(ts->input, MT_TOOL_FINGER,
state == 0x01);

if (state != 0x01)
continue;

but I am surprised that your firmware would report anything but 0 for
inactive contact.

Could you document all possible state values?

Thanks.

--
Dmitry