Re: [PATCH 1/2] platform/x86: touchscreen_dmi: Correct min/max values for Chuwi Hi10 Pro (CWI529) tablet

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

 



Hi All,

On 12/25/21 13:02, Hans de Goede wrote:
> The firmware distributed as part of the Windows and Android drivers uses
> significantly different min and max values for the x- and y-axis,
> compared to the EFI's embedded touchscreen firmware.
> 
> The difference is large enough that e.g. typing on an onscreen keyboard
> results in the wrong "keys" getting pressed.
> 
> Adjust the values to match those of the firmware distributed with the
> Windows and Android drivers (which is necessary for pen support) and
> put the EFI-fw version's min/max values in the new "silead,efi-fw-min-max"
> property. The silead driver will use these when it is using the
> EFI embedded firmware, so as to not regress functionality in that case.
> 
> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>

I've added this series to my review-hans (soon to be for-next) branch now.

Regards,

Hans

> ---
>  drivers/platform/x86/touchscreen_dmi.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c
> index 17dd54d4b783..92d274eb9dbe 100644
> --- a/drivers/platform/x86/touchscreen_dmi.c
> +++ b/drivers/platform/x86/touchscreen_dmi.c
> @@ -124,13 +124,16 @@ static const struct ts_dmi_data chuwi_hi10_plus_data = {
>  	.properties     = chuwi_hi10_plus_props,
>  };
>  
> +static const u32 chuwi_hi10_pro_efi_min_max[] = { 8, 1911, 8, 1271 };
> +
>  static const struct property_entry chuwi_hi10_pro_props[] = {
> -	PROPERTY_ENTRY_U32("touchscreen-min-x", 8),
> -	PROPERTY_ENTRY_U32("touchscreen-min-y", 8),
> -	PROPERTY_ENTRY_U32("touchscreen-size-x", 1912),
> -	PROPERTY_ENTRY_U32("touchscreen-size-y", 1272),
> +	PROPERTY_ENTRY_U32("touchscreen-min-x", 80),
> +	PROPERTY_ENTRY_U32("touchscreen-min-y", 26),
> +	PROPERTY_ENTRY_U32("touchscreen-size-x", 1962),
> +	PROPERTY_ENTRY_U32("touchscreen-size-y", 1254),
>  	PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
>  	PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-chuwi-hi10-pro.fw"),
> +	PROPERTY_ENTRY_U32_ARRAY("silead,efi-fw-min-max", chuwi_hi10_pro_efi_min_max),
>  	PROPERTY_ENTRY_U32("silead,max-fingers", 10),
>  	PROPERTY_ENTRY_BOOL("silead,home-button"),
>  	{ }
> 




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux