2020-02-27 01:14:05

by Johnny Chuang

[permalink] [raw]
Subject: [PATCH] Input: elants_i2c - Report resolution information for touch major

From: Johnny Chuang <[email protected]>

This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR event.
This information is needed in showing pressure/width radius.

Signed-off-by: Johnny Chuang <[email protected]>
---
drivers/input/touchscreen/elants_i2c.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/input/touchscreen/elants_i2c.c b/drivers/input/touchscreen/elants_i2c.c
index 4911799..14c577c 100644
--- a/drivers/input/touchscreen/elants_i2c.c
+++ b/drivers/input/touchscreen/elants_i2c.c
@@ -1309,6 +1309,7 @@ static int elants_i2c_probe(struct i2c_client *client,
input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, 255, 0, 0);
input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
+ input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, 1);

error = input_register_device(ts->input);
if (error) {
--
2.7.4


2020-02-27 18:45:14

by Harry Cutts

[permalink] [raw]
Subject: Re: [PATCH] Input: elants_i2c - Report resolution information for touch major

On Wed, 26 Feb 2020 at 17:13, Johnny Chuang <[email protected]> wrote:
>
> From: Johnny Chuang <[email protected]>
>
> This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR event.
> This information is needed in showing pressure/width radius.
>
> Signed-off-by: Johnny Chuang <[email protected]>
> ---
> drivers/input/touchscreen/elants_i2c.c | 1 +
> 1 file changed, 1 insertion(+)

Reviewed-by: Harry Cutts <[email protected]>

Harry Cutts
Chrome OS Touch/Input team

2020-02-27 22:37:36

by Peter Hutterer

[permalink] [raw]
Subject: Re: [PATCH] Input: elants_i2c - Report resolution information for touch major

On Thu, Feb 27, 2020 at 09:13:20AM +0800, Johnny Chuang wrote:
> From: Johnny Chuang <[email protected]>
>
> This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR event.
> This information is needed in showing pressure/width radius.
>
> Signed-off-by: Johnny Chuang <[email protected]>
> ---
> drivers/input/touchscreen/elants_i2c.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/input/touchscreen/elants_i2c.c b/drivers/input/touchscreen/elants_i2c.c
> index 4911799..14c577c 100644
> --- a/drivers/input/touchscreen/elants_i2c.c
> +++ b/drivers/input/touchscreen/elants_i2c.c
> @@ -1309,6 +1309,7 @@ static int elants_i2c_probe(struct i2c_client *client,
> input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, 255, 0, 0);
> input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
> input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
> + input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, 1);

official resolution for absinfo is "units per mm", so a value of 3 would
mean 3mm, is that correct?

Not that it matters too much, since touch major is already all over the
place and needs userspace overrides for every device but it'd be nice to at
least make this useful out of the box on one device class.

Reviewed-by: Peter Hutterer <[email protected]>

otherwise

Cheers,
Peter

>
> error = input_register_device(ts->input);
> if (error) {
> --
> 2.7.4
>

2020-03-02 08:25:08

by Johnny.Chuang

[permalink] [raw]
Subject: RE: [PATCH] Input: elants_i2c - Report resolution information for touch major

> -----Original Message-----
> From: Peter Hutterer [mailto:[email protected]]
> Sent: Friday, February 28, 2020 6:36 AM
> To: Johnny Chuang
> Cc: Dmitry Torokhov; Benjamin Tissoires; [email protected];
> [email protected]; Johnny Chuang; Jennifer Tsai; James Chen;
Paul
> Liang; Jeff Chuang
> Subject: Re: [PATCH] Input: elants_i2c - Report resolution information for
touch
> major
>
> On Thu, Feb 27, 2020 at 09:13:20AM +0800, Johnny Chuang wrote:
> > From: Johnny Chuang <[email protected]>
> >
> > This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR event.
> > This information is needed in showing pressure/width radius.
> >
> > Signed-off-by: Johnny Chuang <[email protected]>
> > ---
> > drivers/input/touchscreen/elants_i2c.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/input/touchscreen/elants_i2c.c
> b/drivers/input/touchscreen/elants_i2c.c
> > index 4911799..14c577c 100644
> > --- a/drivers/input/touchscreen/elants_i2c.c
> > +++ b/drivers/input/touchscreen/elants_i2c.c
> > @@ -1309,6 +1309,7 @@ static int elants_i2c_probe(struct i2c_client
> *client,
> > input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, 255, 0, 0);
> > input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
> > input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
> > + input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, 1);
>
> official resolution for absinfo is "units per mm", so a value of 3 would
> mean 3mm, is that correct?

Correct.
This resolution (1 unit/mm) is for all elan I2C touchscreen devices,
including the touchscreen devices in the future.
This information is from our firmware members.

>
> Not that it matters too much, since touch major is already all over the
> place and needs userspace overrides for every device but it'd be nice to
at
> least make this useful out of the box on one device class.
>
> Reviewed-by: Peter Hutterer <[email protected]>
>
> otherwise
>
> Cheers,
> Peter
>
> >
> > error = input_register_device(ts->input);
> > if (error) {
> > --
> > 2.7.4
> >

2020-03-06 06:29:39

by Johnny.Chuang

[permalink] [raw]
Subject: RE: [PATCH] Input: elants_i2c - Report resolution information for touch major

> > -----Original Message-----
> > From: Peter Hutterer [mailto:[email protected]]
> > Sent: Friday, February 28, 2020 6:36 AM
> > To: Johnny Chuang
> > Cc: Dmitry Torokhov; Benjamin Tissoires; [email protected];
> > [email protected]; Johnny Chuang; Jennifer Tsai; James Chen;
> > Paul Liang; Jeff Chuang
> > Subject: Re: [PATCH] Input: elants_i2c - Report resolution information
> > for touch major
> >
> > On Thu, Feb 27, 2020 at 09:13:20AM +0800, Johnny Chuang wrote:
> > > From: Johnny Chuang <[email protected]>
> > >
> > > This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR
> event.
> > > This information is needed in showing pressure/width radius.
> > >
> > > Signed-off-by: Johnny Chuang <[email protected]>
> > > ---
> > > drivers/input/touchscreen/elants_i2c.c | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/input/touchscreen/elants_i2c.c
> > b/drivers/input/touchscreen/elants_i2c.c
> > > index 4911799..14c577c 100644
> > > --- a/drivers/input/touchscreen/elants_i2c.c
> > > +++ b/drivers/input/touchscreen/elants_i2c.c
> > > @@ -1309,6 +1309,7 @@ static int elants_i2c_probe(struct i2c_client
> > *client,
> > > input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, 255, 0, 0);
> > > input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
> > > input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
> > > + input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, 1);
> >
> > official resolution for absinfo is "units per mm", so a value of 3
> > would mean 3mm, is that correct?
>
> Correct.
> This resolution (1 unit/mm) is for all elan I2C touchscreen devices,
including
> the touchscreen devices in the future.
> This information is from our firmware members.

Hi Peter / Benjamin,
Could you help to review and approve this patch?

>
> >
> > Not that it matters too much, since touch major is already all over
> > the place and needs userspace overrides for every device but it'd be
> > nice to at least make this useful out of the box on one device class.
> >
> > Reviewed-by: Peter Hutterer <[email protected]>
> >
> > otherwise
> >
> > Cheers,
> > Peter
> >
> > >
> > > error = input_register_device(ts->input);
> > > if (error) {
> > > --
> > > 2.7.4
> > >

2020-03-06 07:47:55

by Johnny.Chuang

[permalink] [raw]
Subject: RE: [PATCH] Input: elants_i2c - Report resolution information for touch major

> > > -----Original Message-----
> > > From: Peter Hutterer [mailto:[email protected]]
> > > Sent: Friday, February 28, 2020 6:36 AM
> > > To: Johnny Chuang
> > > Cc: Dmitry Torokhov; Benjamin Tissoires;
> > > [email protected]; [email protected]; Johnny
> > > Chuang; Jennifer Tsai; James Chen; Paul Liang; Jeff Chuang
> > > Subject: Re: [PATCH] Input: elants_i2c - Report resolution
> > > information for touch major
> > >
> > > On Thu, Feb 27, 2020 at 09:13:20AM +0800, Johnny Chuang wrote:
> > > > From: Johnny Chuang <[email protected]>
> > > >
> > > > This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR
> > event.
> > > > This information is needed in showing pressure/width radius.
> > > >
> > > > Signed-off-by: Johnny Chuang <[email protected]>
> > > > ---
> > > > drivers/input/touchscreen/elants_i2c.c | 1 +
> > > > 1 file changed, 1 insertion(+)
> > > >
> > > > diff --git a/drivers/input/touchscreen/elants_i2c.c
> > > b/drivers/input/touchscreen/elants_i2c.c
> > > > index 4911799..14c577c 100644
> > > > --- a/drivers/input/touchscreen/elants_i2c.c
> > > > +++ b/drivers/input/touchscreen/elants_i2c.c
> > > > @@ -1309,6 +1309,7 @@ static int elants_i2c_probe(struct
> > > > i2c_client
> > > *client,
> > > > input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, 255, 0,
0);
> > > > input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
> > > > input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
> > > > + input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, 1);
> > >
> > > official resolution for absinfo is "units per mm", so a value of 3
> > > would mean 3mm, is that correct?
> >
> > Correct.
> > This resolution (1 unit/mm) is for all elan I2C touchscreen devices,
> > including the touchscreen devices in the future.
> > This information is from our firmware members.
>
> Hi Peter / Benjamin,
> Could you help to review and approve this patch?
>

Hi Peter / Benjamin,
HP project Mordin mass production on 2020/3/10. ODM needs to upgrade new
image with this patch to verify.
Because ODM can not get the image link from Google, already delay verify
schedule.
Please help to review and approve this patch ASAP. Thank you very much.

> >
> > >
> > > Not that it matters too much, since touch major is already all over
> > > the place and needs userspace overrides for every device but it'd be
> > > nice to at least make this useful out of the box on one device class.
> > >
> > > Reviewed-by: Peter Hutterer <[email protected]>
> > >
> > > otherwise
> > >
> > > Cheers,
> > > Peter
> > >
> > > >
> > > > error = input_register_device(ts->input);
> > > > if (error) {
> > > > --
> > > > 2.7.4
> > > >

2020-03-06 17:46:11

by Benjamin Tissoires

[permalink] [raw]
Subject: Re: [PATCH] Input: elants_i2c - Report resolution information for touch major

On Thu, Feb 27, 2020 at 2:13 AM Johnny Chuang
<[email protected]> wrote:
>
> From: Johnny Chuang <[email protected]>
>
> This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR event.
> This information is needed in showing pressure/width radius.
>
> Signed-off-by: Johnny Chuang <[email protected]>
> ---

Acked-by: Benjamin Tissoires <[email protected]>

Cheers,
Benjamin

> drivers/input/touchscreen/elants_i2c.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/input/touchscreen/elants_i2c.c b/drivers/input/touchscreen/elants_i2c.c
> index 4911799..14c577c 100644
> --- a/drivers/input/touchscreen/elants_i2c.c
> +++ b/drivers/input/touchscreen/elants_i2c.c
> @@ -1309,6 +1309,7 @@ static int elants_i2c_probe(struct i2c_client *client,
> input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, 255, 0, 0);
> input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
> input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
> + input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, 1);
>
> error = input_register_device(ts->input);
> if (error) {
> --
> 2.7.4
>

2020-03-06 18:06:37

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH] Input: elants_i2c - Report resolution information for touch major

On Thu, Feb 27, 2020 at 09:13:20AM +0800, Johnny Chuang wrote:
> From: Johnny Chuang <[email protected]>
>
> This patch supports reporting resolution for ABS_MT_TOUCH_MAJOR event.
> This information is needed in showing pressure/width radius.
>
> Signed-off-by: Johnny Chuang <[email protected]>

Applied, thank you.

> ---
> drivers/input/touchscreen/elants_i2c.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/input/touchscreen/elants_i2c.c b/drivers/input/touchscreen/elants_i2c.c
> index 4911799..14c577c 100644
> --- a/drivers/input/touchscreen/elants_i2c.c
> +++ b/drivers/input/touchscreen/elants_i2c.c
> @@ -1309,6 +1309,7 @@ static int elants_i2c_probe(struct i2c_client *client,
> input_set_abs_params(ts->input, ABS_MT_PRESSURE, 0, 255, 0, 0);
> input_abs_set_res(ts->input, ABS_MT_POSITION_X, ts->x_res);
> input_abs_set_res(ts->input, ABS_MT_POSITION_Y, ts->y_res);
> + input_abs_set_res(ts->input, ABS_MT_TOUCH_MAJOR, 1);
>
> error = input_register_device(ts->input);
> if (error) {
> --
> 2.7.4
>

--
Dmitry