[v2] pinctrl: cherryview: limit Strago DMI workarounds to version 1.0

Message ID 20180522204753.GA260493@dtor-ws
State New
Headers show
Series
  • [v2] pinctrl: cherryview: limit Strago DMI workarounds to version 1.0
Related show

Commit Message

Dmitry Torokhov May 22, 2018, 8:47 p.m.
As Google/Intel will fix the BIOS/Coreboot issues with hardcoding
virtual interrupt numbers for keyboard/touchpad/touchscreen controllers
in ACPI tables, they will also update BOARD version number from 1.0
to 1.1. Let's limit the DMI quirks that try to preserve virtual IRQ
numbers on Strago boards to those that still carry older BIOSes.

Note that ideally not BOARD but BIOS version should have been updated.
However the BIOS version used by Chrome devices has format of
Google_BUILD.BRANCH.PATCH which is not well suited for DMI matching as
we do not have "less than" match mode for DMI data.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=197953
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---

v1->v2:

- switch from matching on DMI_BIOS_VERSION to DMI_BOARD_VERSION


 drivers/pinctrl/intel/pinctrl-cherryview.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Mika Westerberg May 23, 2018, 4:36 a.m. | #1
On Tue, May 22, 2018 at 01:47:53PM -0700, Dmitry Torokhov wrote:
> As Google/Intel will fix the BIOS/Coreboot issues with hardcoding
> virtual interrupt numbers for keyboard/touchpad/touchscreen controllers
> in ACPI tables, they will also update BOARD version number from 1.0
> to 1.1. Let's limit the DMI quirks that try to preserve virtual IRQ
> numbers on Strago boards to those that still carry older BIOSes.
> 
> Note that ideally not BOARD but BIOS version should have been updated.
> However the BIOS version used by Chrome devices has format of
> Google_BUILD.BRANCH.PATCH which is not well suited for DMI matching as
> we do not have "less than" match mode for DMI data.
> 
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=197953
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Guenter Roeck May 23, 2018, 4:46 a.m. | #2
On 05/22/2018 01:47 PM, Dmitry Torokhov wrote:
> As Google/Intel will fix the BIOS/Coreboot issues with hardcoding
> virtual interrupt numbers for keyboard/touchpad/touchscreen controllers
> in ACPI tables, they will also update BOARD version number from 1.0
> to 1.1. Let's limit the DMI quirks that try to preserve virtual IRQ
> numbers on Strago boards to those that still carry older BIOSes.
> 
> Note that ideally not BOARD but BIOS version should have been updated.
> However the BIOS version used by Chrome devices has format of
> Google_BUILD.BRANCH.PATCH which is not well suited for DMI matching as
> we do not have "less than" match mode for DMI data.
> 
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=197953
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
> 
> v1->v2:
> 
> - switch from matching on DMI_BIOS_VERSION to DMI_BOARD_VERSION
> 
> 
>   drivers/pinctrl/intel/pinctrl-cherryview.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c b/drivers/pinctrl/intel/pinctrl-cherryview.c
> index b1ae1618fefea..44133e6846303 100644
> --- a/drivers/pinctrl/intel/pinctrl-cherryview.c
> +++ b/drivers/pinctrl/intel/pinctrl-cherryview.c
> @@ -1527,6 +1527,7 @@ static const struct dmi_system_id chv_no_valid_mask[] = {
>   		.matches = {
>   			DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),
>   			DMI_MATCH(DMI_PRODUCT_FAMILY, "Intel_Strago"),
> +			DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
>   		},
>   	},
>   	{
> @@ -1534,6 +1535,7 @@ static const struct dmi_system_id chv_no_valid_mask[] = {
>   		.matches = {
>   			DMI_MATCH(DMI_SYS_VENDOR, "HP"),
>   			DMI_MATCH(DMI_PRODUCT_NAME, "Setzer"),
> +			DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
>   		},
>   	},
>   	{
> @@ -1541,6 +1543,7 @@ static const struct dmi_system_id chv_no_valid_mask[] = {
>   		.matches = {
>   			DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),
>   			DMI_MATCH(DMI_PRODUCT_NAME, "Cyan"),
> +			DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
>   		},
>   	},
>   	{
> @@ -1548,6 +1551,7 @@ static const struct dmi_system_id chv_no_valid_mask[] = {
>   		.matches = {
>   			DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),
>   			DMI_MATCH(DMI_PRODUCT_NAME, "Celes"),
> +			DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
>   		},
>   	},
>   	{}
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andy Shevchenko May 23, 2018, 8:54 a.m. | #3
On Tue, 2018-05-22 at 13:47 -0700, Dmitry Torokhov wrote:
> As Google/Intel will fix the BIOS/Coreboot issues with hardcoding
> virtual interrupt numbers for keyboard/touchpad/touchscreen
> controllers
> in ACPI tables, they will also update BOARD version number from 1.0
> to 1.1. Let's limit the DMI quirks that try to preserve virtual IRQ
> numbers on Strago boards to those that still carry older BIOSes.
> 
> Note that ideally not BOARD but BIOS version should have been updated.
> However the BIOS version used by Chrome devices has format of
> Google_BUILD.BRANCH.PATCH which is not well suited for DMI matching as
> we do not have "less than" match mode for DMI data.
> 

Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=197953
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---
> 
> v1->v2:
> 
> - switch from matching on DMI_BIOS_VERSION to DMI_BOARD_VERSION
> 
> 
>  drivers/pinctrl/intel/pinctrl-cherryview.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c
> b/drivers/pinctrl/intel/pinctrl-cherryview.c
> index b1ae1618fefea..44133e6846303 100644
> --- a/drivers/pinctrl/intel/pinctrl-cherryview.c
> +++ b/drivers/pinctrl/intel/pinctrl-cherryview.c
> @@ -1527,6 +1527,7 @@ static const struct dmi_system_id
> chv_no_valid_mask[] = {
>  		.matches = {
>  			DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),
>  			DMI_MATCH(DMI_PRODUCT_FAMILY,
> "Intel_Strago"),
> +			DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
>  		},
>  	},
>  	{
> @@ -1534,6 +1535,7 @@ static const struct dmi_system_id
> chv_no_valid_mask[] = {
>  		.matches = {
>  			DMI_MATCH(DMI_SYS_VENDOR, "HP"),
>  			DMI_MATCH(DMI_PRODUCT_NAME, "Setzer"),
> +			DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
>  		},
>  	},
>  	{
> @@ -1541,6 +1543,7 @@ static const struct dmi_system_id
> chv_no_valid_mask[] = {
>  		.matches = {
>  			DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),
>  			DMI_MATCH(DMI_PRODUCT_NAME, "Cyan"),
> +			DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
>  		},
>  	},
>  	{
> @@ -1548,6 +1551,7 @@ static const struct dmi_system_id
> chv_no_valid_mask[] = {
>  		.matches = {
>  			DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),
>  			DMI_MATCH(DMI_PRODUCT_NAME, "Celes"),
> +			DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
>  		},
>  	},
>  	{}
> -- 
> 2.17.0.441.gb46fe60e1d-goog
> 
>
Linus Walleij May 24, 2018, 8:19 a.m. | #4
On Tue, May 22, 2018 at 10:47 PM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:

> As Google/Intel will fix the BIOS/Coreboot issues with hardcoding
> virtual interrupt numbers for keyboard/touchpad/touchscreen controllers
> in ACPI tables, they will also update BOARD version number from 1.0
> to 1.1. Let's limit the DMI quirks that try to preserve virtual IRQ
> numbers on Strago boards to those that still carry older BIOSes.
>
> Note that ideally not BOARD but BIOS version should have been updated.
> However the BIOS version used by Chrome devices has format of
> Google_BUILD.BRANCH.PATCH which is not well suited for DMI matching as
> we do not have "less than" match mode for DMI data.
>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=197953
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---
>
> v1->v2:
>
> - switch from matching on DMI_BIOS_VERSION to DMI_BOARD_VERSION

Patch applied for fixes.

Should this also be tagged for stable?

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dmitry Torokhov May 24, 2018, 4:01 p.m. | #5
Hi Linus,

On Thu, May 24, 2018 at 10:19:55AM +0200, Linus Walleij wrote:
> On Tue, May 22, 2018 at 10:47 PM, Dmitry Torokhov
> <dmitry.torokhov@gmail.com> wrote:
> 
> > As Google/Intel will fix the BIOS/Coreboot issues with hardcoding
> > virtual interrupt numbers for keyboard/touchpad/touchscreen controllers
> > in ACPI tables, they will also update BOARD version number from 1.0
> > to 1.1. Let's limit the DMI quirks that try to preserve virtual IRQ
> > numbers on Strago boards to those that still carry older BIOSes.
> >
> > Note that ideally not BOARD but BIOS version should have been updated.
> > However the BIOS version used by Chrome devices has format of
> > Google_BUILD.BRANCH.PATCH which is not well suited for DMI matching as
> > we do not have "less than" match mode for DMI data.
> >
> > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=197953
> > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> > ---
> >
> > v1->v2:
> >
> > - switch from matching on DMI_BIOS_VERSION to DMI_BOARD_VERSION
> 
> Patch applied for fixes.
> 
> Should this also be tagged for stable?

No, I do not think so. The workaround being active does not cause any
issues on boxes with updated firmware, so there is no point in trying to
get the patch to older kernels. It is going forward that we want the
"proper" behavior, when possible.

Also, I am not quite sure when the new firmware version will get
qualified for release.

Thanks.

Patch

diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c b/drivers/pinctrl/intel/pinctrl-cherryview.c
index b1ae1618fefea..44133e6846303 100644
--- a/drivers/pinctrl/intel/pinctrl-cherryview.c
+++ b/drivers/pinctrl/intel/pinctrl-cherryview.c
@@ -1527,6 +1527,7 @@  static const struct dmi_system_id chv_no_valid_mask[] = {
 		.matches = {
 			DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),
 			DMI_MATCH(DMI_PRODUCT_FAMILY, "Intel_Strago"),
+			DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
 		},
 	},
 	{
@@ -1534,6 +1535,7 @@  static const struct dmi_system_id chv_no_valid_mask[] = {
 		.matches = {
 			DMI_MATCH(DMI_SYS_VENDOR, "HP"),
 			DMI_MATCH(DMI_PRODUCT_NAME, "Setzer"),
+			DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
 		},
 	},
 	{
@@ -1541,6 +1543,7 @@  static const struct dmi_system_id chv_no_valid_mask[] = {
 		.matches = {
 			DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),
 			DMI_MATCH(DMI_PRODUCT_NAME, "Cyan"),
+			DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
 		},
 	},
 	{
@@ -1548,6 +1551,7 @@  static const struct dmi_system_id chv_no_valid_mask[] = {
 		.matches = {
 			DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),
 			DMI_MATCH(DMI_PRODUCT_NAME, "Celes"),
+			DMI_MATCH(DMI_BOARD_VERSION, "1.0"),
 		},
 	},
 	{}