All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] dell-led: Change dell-led.h to dell-common.h
@ 2018-03-08  7:12 Kai-Heng Feng
  2018-03-08  7:12 ` [PATCH 2/2] platform/x86: dell-*: Add interface for switchable graphics status query Kai-Heng Feng
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Kai-Heng Feng @ 2018-03-08  7:12 UTC (permalink / raw)
  To: mjg59, pali.rohar, dvhart, andy, mario.limonciello, tiwai
  Cc: platform-driver-x86, linux-kernel, alsa-devel, Kai-Heng Feng

This header will be used for more than just led. Change it to a more
generic name.

Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
---
 drivers/platform/x86/dell-laptop.c          | 2 +-
 include/linux/{dell-led.h => dell-common.h} | 4 ++--
 sound/pci/hda/dell_wmi_helper.c             | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)
 rename include/linux/{dell-led.h => dell-common.h} (61%)

diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
index c52c6723374b..8ba820e6c3d0 100644
--- a/drivers/platform/x86/dell-laptop.c
+++ b/drivers/platform/x86/dell-laptop.c
@@ -29,7 +29,7 @@
 #include <linux/mm.h>
 #include <linux/i8042.h>
 #include <linux/debugfs.h>
-#include <linux/dell-led.h>
+#include <linux/dell-common.h>
 #include <linux/seq_file.h>
 #include <acpi/video.h>
 #include "dell-rbtn.h"
diff --git a/include/linux/dell-led.h b/include/linux/dell-common.h
similarity index 61%
rename from include/linux/dell-led.h
rename to include/linux/dell-common.h
index 92521471517f..37e4b614dd74 100644
--- a/include/linux/dell-led.h
+++ b/include/linux/dell-common.h
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __DELL_LED_H__
-#define __DELL_LED_H__
+#ifndef __DELL_COMMON_H__
+#define __DELL_COMMON_H__
 
 int dell_micmute_led_set(int on);
 
diff --git a/sound/pci/hda/dell_wmi_helper.c b/sound/pci/hda/dell_wmi_helper.c
index 1b48a8c19d28..56050cc3c0ee 100644
--- a/sound/pci/hda/dell_wmi_helper.c
+++ b/sound/pci/hda/dell_wmi_helper.c
@@ -4,7 +4,7 @@
  */
 
 #if IS_ENABLED(CONFIG_DELL_LAPTOP)
-#include <linux/dell-led.h>
+#include <linux/dell-common.h>
 
 enum {
 	MICMUTE_LED_ON,
-- 
2.15.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/2] platform/x86: dell-*: Add interface for switchable graphics status query
  2018-03-08  7:12 [PATCH 1/2] dell-led: Change dell-led.h to dell-common.h Kai-Heng Feng
@ 2018-03-08  7:12 ` Kai-Heng Feng
  2018-03-08  7:34     ` Mario.Limonciello
  2018-03-08  7:23   ` Takashi Iwai
  2018-03-08  7:31   ` Mario.Limonciello
  2 siblings, 1 reply; 12+ messages in thread
From: Kai-Heng Feng @ 2018-03-08  7:12 UTC (permalink / raw)
  To: mjg59, pali.rohar, dvhart, andy, mario.limonciello, tiwai
  Cc: platform-driver-x86, linux-kernel, alsa-devel, Kai-Heng Feng

On some Dell platforms, there's a BIOS option "Enable Switchable
Graphics". This information is useful if we want to do different things
based on this value, e.g. disable unused audio controller that comes
with the discrete graphics.

Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
---
 drivers/platform/x86/dell-laptop.c | 23 +++++++++++++++++++++++
 drivers/platform/x86/dell-smbios.c |  2 ++
 drivers/platform/x86/dell-smbios.h |  2 ++
 3 files changed, 27 insertions(+)

diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
index 8ba820e6c3d0..3f6fc07b8cf2 100644
--- a/drivers/platform/x86/dell-laptop.c
+++ b/drivers/platform/x86/dell-laptop.c
@@ -2116,6 +2116,29 @@ int dell_micmute_led_set(int state)
 }
 EXPORT_SYMBOL_GPL(dell_micmute_led_set);
 
+int dell_switchable_gfx_enabled(bool *enabled)
+{
+	struct calling_interface_buffer buffer;
+	struct calling_interface_token *token;
+	int ret;
+
+	*enabled = false;
+
+	token = dell_smbios_find_token(SWITCHABLE_GRAPHICS_ENABLE);
+	if (!token)
+		return -ENODEV;
+
+	dell_fill_request(&buffer, token->location, 0, 0, 0);
+	ret = dell_send_request(&buffer, CLASS_TOKEN_READ, SELECT_TOKEN_STD);
+	if (ret)
+		return ret;
+
+	*enabled = !!buffer.output[1];
+
+	return 0;
+}
+EXPORT_SYMBOL_GPL(dell_switchable_gfx_enabled);
+
 static int __init dell_init(void)
 {
 	struct calling_interface_token *token;
diff --git a/drivers/platform/x86/dell-smbios.c b/drivers/platform/x86/dell-smbios.c
index 8541cde4cb7d..ca38b9d9dcf4 100644
--- a/drivers/platform/x86/dell-smbios.c
+++ b/drivers/platform/x86/dell-smbios.c
@@ -86,6 +86,8 @@ struct token_range {
 static struct token_range token_whitelist[] = {
 	/* used by userspace: fwupdate */
 	{CAP_SYS_ADMIN,	CAPSULE_EN_TOKEN,	CAPSULE_DIS_TOKEN},
+	/* can indicate to userspace Switchable Graphics enable status */
+	{CAP_SYS_ADMIN,	SWITCHABLE_GRAPHICS_ENABLE,	SWITCHABLE_GRAPHICS_DISABLE},
 	/* can indicate to userspace that WMI is needed */
 	{0x0000,	WSMT_EN_TOKEN,		WSMT_DIS_TOKEN}
 };
diff --git a/drivers/platform/x86/dell-smbios.h b/drivers/platform/x86/dell-smbios.h
index 138d478d9adc..b012d4abd239 100644
--- a/drivers/platform/x86/dell-smbios.h
+++ b/drivers/platform/x86/dell-smbios.h
@@ -37,6 +37,8 @@
 #define KBD_LED_AUTO_100_TOKEN	0x02F6
 #define GLOBAL_MIC_MUTE_ENABLE	0x0364
 #define GLOBAL_MIC_MUTE_DISABLE	0x0365
+#define SWITCHABLE_GRAPHICS_ENABLE	0x037A
+#define SWITCHABLE_GRAPHICS_DISABLE	0x037B
 
 struct notifier_block;
 
-- 
2.15.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] dell-led: Change dell-led.h to dell-common.h
  2018-03-08  7:12 [PATCH 1/2] dell-led: Change dell-led.h to dell-common.h Kai-Heng Feng
@ 2018-03-08  7:23   ` Takashi Iwai
  2018-03-08  7:23   ` Takashi Iwai
  2018-03-08  7:31   ` Mario.Limonciello
  2 siblings, 0 replies; 12+ messages in thread
From: Takashi Iwai @ 2018-03-08  7:23 UTC (permalink / raw)
  To: Kai-Heng Feng
  Cc: mario.limonciello, pali.rohar, andy, dvhart, mjg59, alsa-devel,
	linux-kernel, platform-driver-x86

On Thu, 08 Mar 2018 08:12:06 +0100,
Kai-Heng Feng wrote:
> 
> This header will be used for more than just led. Change it to a more
> generic name.
> 
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>

Not sure whether dell-common.h is the best name, but I have no time
for bikeshedding.

For the sound change, feel free to take my ack:
  Reviewed-by: Takashi Iwai <tiwai@suse.de>


thanks,

Takashi

> ---
>  drivers/platform/x86/dell-laptop.c          | 2 +-
>  include/linux/{dell-led.h => dell-common.h} | 4 ++--
>  sound/pci/hda/dell_wmi_helper.c             | 2 +-
>  3 files changed, 4 insertions(+), 4 deletions(-)
>  rename include/linux/{dell-led.h => dell-common.h} (61%)
> 
> diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
> index c52c6723374b..8ba820e6c3d0 100644
> --- a/drivers/platform/x86/dell-laptop.c
> +++ b/drivers/platform/x86/dell-laptop.c
> @@ -29,7 +29,7 @@
>  #include <linux/mm.h>
>  #include <linux/i8042.h>
>  #include <linux/debugfs.h>
> -#include <linux/dell-led.h>
> +#include <linux/dell-common.h>
>  #include <linux/seq_file.h>
>  #include <acpi/video.h>
>  #include "dell-rbtn.h"
> diff --git a/include/linux/dell-led.h b/include/linux/dell-common.h
> similarity index 61%
> rename from include/linux/dell-led.h
> rename to include/linux/dell-common.h
> index 92521471517f..37e4b614dd74 100644
> --- a/include/linux/dell-led.h
> +++ b/include/linux/dell-common.h
> @@ -1,6 +1,6 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -#ifndef __DELL_LED_H__
> -#define __DELL_LED_H__
> +#ifndef __DELL_COMMON_H__
> +#define __DELL_COMMON_H__
>  
>  int dell_micmute_led_set(int on);
>  
> diff --git a/sound/pci/hda/dell_wmi_helper.c b/sound/pci/hda/dell_wmi_helper.c
> index 1b48a8c19d28..56050cc3c0ee 100644
> --- a/sound/pci/hda/dell_wmi_helper.c
> +++ b/sound/pci/hda/dell_wmi_helper.c
> @@ -4,7 +4,7 @@
>   */
>  
>  #if IS_ENABLED(CONFIG_DELL_LAPTOP)
> -#include <linux/dell-led.h>
> +#include <linux/dell-common.h>
>  
>  enum {
>  	MICMUTE_LED_ON,
> -- 
> 2.15.1
> 
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] dell-led: Change dell-led.h to dell-common.h
@ 2018-03-08  7:23   ` Takashi Iwai
  0 siblings, 0 replies; 12+ messages in thread
From: Takashi Iwai @ 2018-03-08  7:23 UTC (permalink / raw)
  To: Kai-Heng Feng
  Cc: mario.limonciello, pali.rohar, andy, dvhart, mjg59, alsa-devel,
	linux-kernel, platform-driver-x86

On Thu, 08 Mar 2018 08:12:06 +0100,
Kai-Heng Feng wrote:
> 
> This header will be used for more than just led. Change it to a more
> generic name.
> 
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>

Not sure whether dell-common.h is the best name, but I have no time
for bikeshedding.

For the sound change, feel free to take my ack:
  Reviewed-by: Takashi Iwai <tiwai@suse.de>


thanks,

Takashi

> ---
>  drivers/platform/x86/dell-laptop.c          | 2 +-
>  include/linux/{dell-led.h => dell-common.h} | 4 ++--
>  sound/pci/hda/dell_wmi_helper.c             | 2 +-
>  3 files changed, 4 insertions(+), 4 deletions(-)
>  rename include/linux/{dell-led.h => dell-common.h} (61%)
> 
> diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
> index c52c6723374b..8ba820e6c3d0 100644
> --- a/drivers/platform/x86/dell-laptop.c
> +++ b/drivers/platform/x86/dell-laptop.c
> @@ -29,7 +29,7 @@
>  #include <linux/mm.h>
>  #include <linux/i8042.h>
>  #include <linux/debugfs.h>
> -#include <linux/dell-led.h>
> +#include <linux/dell-common.h>
>  #include <linux/seq_file.h>
>  #include <acpi/video.h>
>  #include "dell-rbtn.h"
> diff --git a/include/linux/dell-led.h b/include/linux/dell-common.h
> similarity index 61%
> rename from include/linux/dell-led.h
> rename to include/linux/dell-common.h
> index 92521471517f..37e4b614dd74 100644
> --- a/include/linux/dell-led.h
> +++ b/include/linux/dell-common.h
> @@ -1,6 +1,6 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -#ifndef __DELL_LED_H__
> -#define __DELL_LED_H__
> +#ifndef __DELL_COMMON_H__
> +#define __DELL_COMMON_H__
>  
>  int dell_micmute_led_set(int on);
>  
> diff --git a/sound/pci/hda/dell_wmi_helper.c b/sound/pci/hda/dell_wmi_helper.c
> index 1b48a8c19d28..56050cc3c0ee 100644
> --- a/sound/pci/hda/dell_wmi_helper.c
> +++ b/sound/pci/hda/dell_wmi_helper.c
> @@ -4,7 +4,7 @@
>   */
>  
>  #if IS_ENABLED(CONFIG_DELL_LAPTOP)
> -#include <linux/dell-led.h>
> +#include <linux/dell-common.h>
>  
>  enum {
>  	MICMUTE_LED_ON,
> -- 
> 2.15.1
> 
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH 1/2] dell-led: Change dell-led.h to dell-common.h
  2018-03-08  7:12 [PATCH 1/2] dell-led: Change dell-led.h to dell-common.h Kai-Heng Feng
@ 2018-03-08  7:31   ` Mario.Limonciello
  2018-03-08  7:23   ` Takashi Iwai
  2018-03-08  7:31   ` Mario.Limonciello
  2 siblings, 0 replies; 12+ messages in thread
From: Mario.Limonciello @ 2018-03-08  7:31 UTC (permalink / raw)
  To: kai.heng.feng, mjg59, pali.rohar, dvhart, andy, tiwai
  Cc: platform-driver-x86, linux-kernel, alsa-devel

> -----Original Message-----
> From: Kai-Heng Feng [mailto:kai.heng.feng@canonical.com]
> Sent: Thursday, March 8, 2018 3:12 PM
> To: mjg59@srcf.ucam.org; pali.rohar@gmail.com; dvhart@infradead.org;
> andy@infradead.org; Limonciello, Mario <Mario_Limonciello@Dell.com>;
> tiwai@suse.com
> Cc: platform-driver-x86@vger.kernel.org; linux-kernel@vger.kernel.org; alsa-
> devel@alsa-project.org; Kai-Heng Feng <kai.heng.feng@canonical.com>
> Subject: [PATCH 1/2] dell-led: Change dell-led.h to dell-common.h
> 
> This header will be used for more than just led. Change it to a more
> generic name.
> 
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>

Reviewed-by: Mario Limonciello <mario.limonciello@dell.com>

> ---
>  drivers/platform/x86/dell-laptop.c          | 2 +-
>  include/linux/{dell-led.h => dell-common.h} | 4 ++--
>  sound/pci/hda/dell_wmi_helper.c             | 2 +-
>  3 files changed, 4 insertions(+), 4 deletions(-)
>  rename include/linux/{dell-led.h => dell-common.h} (61%)
> 
> diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
> index c52c6723374b..8ba820e6c3d0 100644
> --- a/drivers/platform/x86/dell-laptop.c
> +++ b/drivers/platform/x86/dell-laptop.c
> @@ -29,7 +29,7 @@
>  #include <linux/mm.h>
>  #include <linux/i8042.h>
>  #include <linux/debugfs.h>
> -#include <linux/dell-led.h>
> +#include <linux/dell-common.h>
>  #include <linux/seq_file.h>
>  #include <acpi/video.h>
>  #include "dell-rbtn.h"
> diff --git a/include/linux/dell-led.h b/include/linux/dell-common.h
> similarity index 61%
> rename from include/linux/dell-led.h
> rename to include/linux/dell-common.h
> index 92521471517f..37e4b614dd74 100644
> --- a/include/linux/dell-led.h
> +++ b/include/linux/dell-common.h
> @@ -1,6 +1,6 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -#ifndef __DELL_LED_H__
> -#define __DELL_LED_H__
> +#ifndef __DELL_COMMON_H__
> +#define __DELL_COMMON_H__
> 
>  int dell_micmute_led_set(int on);
> 
> diff --git a/sound/pci/hda/dell_wmi_helper.c b/sound/pci/hda/dell_wmi_helper.c
> index 1b48a8c19d28..56050cc3c0ee 100644
> --- a/sound/pci/hda/dell_wmi_helper.c
> +++ b/sound/pci/hda/dell_wmi_helper.c
> @@ -4,7 +4,7 @@
>   */
> 
>  #if IS_ENABLED(CONFIG_DELL_LAPTOP)
> -#include <linux/dell-led.h>
> +#include <linux/dell-common.h>
> 
>  enum {
>  	MICMUTE_LED_ON,
> --
> 2.15.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH 1/2] dell-led: Change dell-led.h to dell-common.h
@ 2018-03-08  7:31   ` Mario.Limonciello
  0 siblings, 0 replies; 12+ messages in thread
From: Mario.Limonciello @ 2018-03-08  7:31 UTC (permalink / raw)
  To: kai.heng.feng, mjg59, pali.rohar, dvhart, andy, tiwai
  Cc: platform-driver-x86, linux-kernel, alsa-devel

> -----Original Message-----
> From: Kai-Heng Feng [mailto:kai.heng.feng@canonical.com]
> Sent: Thursday, March 8, 2018 3:12 PM
> To: mjg59@srcf.ucam.org; pali.rohar@gmail.com; dvhart@infradead.org;
> andy@infradead.org; Limonciello, Mario <Mario_Limonciello@Dell.com>;
> tiwai@suse.com
> Cc: platform-driver-x86@vger.kernel.org; linux-kernel@vger.kernel.org; alsa-
> devel@alsa-project.org; Kai-Heng Feng <kai.heng.feng@canonical.com>
> Subject: [PATCH 1/2] dell-led: Change dell-led.h to dell-common.h
> 
> This header will be used for more than just led. Change it to a more
> generic name.
> 
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>

Reviewed-by: Mario Limonciello <mario.limonciello@dell.com>

> ---
>  drivers/platform/x86/dell-laptop.c          | 2 +-
>  include/linux/{dell-led.h => dell-common.h} | 4 ++--
>  sound/pci/hda/dell_wmi_helper.c             | 2 +-
>  3 files changed, 4 insertions(+), 4 deletions(-)
>  rename include/linux/{dell-led.h => dell-common.h} (61%)
> 
> diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
> index c52c6723374b..8ba820e6c3d0 100644
> --- a/drivers/platform/x86/dell-laptop.c
> +++ b/drivers/platform/x86/dell-laptop.c
> @@ -29,7 +29,7 @@
>  #include <linux/mm.h>
>  #include <linux/i8042.h>
>  #include <linux/debugfs.h>
> -#include <linux/dell-led.h>
> +#include <linux/dell-common.h>
>  #include <linux/seq_file.h>
>  #include <acpi/video.h>
>  #include "dell-rbtn.h"
> diff --git a/include/linux/dell-led.h b/include/linux/dell-common.h
> similarity index 61%
> rename from include/linux/dell-led.h
> rename to include/linux/dell-common.h
> index 92521471517f..37e4b614dd74 100644
> --- a/include/linux/dell-led.h
> +++ b/include/linux/dell-common.h
> @@ -1,6 +1,6 @@
>  /* SPDX-License-Identifier: GPL-2.0 */
> -#ifndef __DELL_LED_H__
> -#define __DELL_LED_H__
> +#ifndef __DELL_COMMON_H__
> +#define __DELL_COMMON_H__
> 
>  int dell_micmute_led_set(int on);
> 
> diff --git a/sound/pci/hda/dell_wmi_helper.c b/sound/pci/hda/dell_wmi_helper.c
> index 1b48a8c19d28..56050cc3c0ee 100644
> --- a/sound/pci/hda/dell_wmi_helper.c
> +++ b/sound/pci/hda/dell_wmi_helper.c
> @@ -4,7 +4,7 @@
>   */
> 
>  #if IS_ENABLED(CONFIG_DELL_LAPTOP)
> -#include <linux/dell-led.h>
> +#include <linux/dell-common.h>
> 
>  enum {
>  	MICMUTE_LED_ON,
> --
> 2.15.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH 2/2] platform/x86: dell-*: Add interface for switchable graphics status query
  2018-03-08  7:12 ` [PATCH 2/2] platform/x86: dell-*: Add interface for switchable graphics status query Kai-Heng Feng
@ 2018-03-08  7:34     ` Mario.Limonciello
  0 siblings, 0 replies; 12+ messages in thread
From: Mario.Limonciello @ 2018-03-08  7:34 UTC (permalink / raw)
  To: kai.heng.feng, mjg59, pali.rohar, dvhart, andy, tiwai
  Cc: platform-driver-x86, linux-kernel, alsa-devel

> -----Original Message-----
> From: Kai-Heng Feng [mailto:kai.heng.feng@canonical.com]
> Sent: Thursday, March 8, 2018 3:12 PM
> To: mjg59@srcf.ucam.org; pali.rohar@gmail.com; dvhart@infradead.org;
> andy@infradead.org; Limonciello, Mario <Mario_Limonciello@Dell.com>;
> tiwai@suse.com
> Cc: platform-driver-x86@vger.kernel.org; linux-kernel@vger.kernel.org; alsa-
> devel@alsa-project.org; Kai-Heng Feng <kai.heng.feng@canonical.com>
> Subject: [PATCH 2/2] platform/x86: dell-*: Add interface for switchable graphics
> status query
> 
> On some Dell platforms, there's a BIOS option "Enable Switchable
> Graphics". This information is useful if we want to do different things
> based on this value, e.g. disable unused audio controller that comes
> with the discrete graphics.
> 

I was expecting the follow on patch that uses this interface too as part of the
series. This patch itself however looks like.

Reviewed-by: Mario Limonciello <mario.limonciello@dell.com>
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
> ---
>  drivers/platform/x86/dell-laptop.c | 23 +++++++++++++++++++++++
>  drivers/platform/x86/dell-smbios.c |  2 ++
>  drivers/platform/x86/dell-smbios.h |  2 ++
>  3 files changed, 27 insertions(+)
> 
> diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
> index 8ba820e6c3d0..3f6fc07b8cf2 100644
> --- a/drivers/platform/x86/dell-laptop.c
> +++ b/drivers/platform/x86/dell-laptop.c
> @@ -2116,6 +2116,29 @@ int dell_micmute_led_set(int state)
>  }
>  EXPORT_SYMBOL_GPL(dell_micmute_led_set);
> 
> +int dell_switchable_gfx_enabled(bool *enabled)
> +{
> +	struct calling_interface_buffer buffer;
> +	struct calling_interface_token *token;
> +	int ret;
> +
> +	*enabled = false;
> +
> +	token = dell_smbios_find_token(SWITCHABLE_GRAPHICS_ENABLE);
> +	if (!token)
> +		return -ENODEV;
> +
> +	dell_fill_request(&buffer, token->location, 0, 0, 0);
> +	ret = dell_send_request(&buffer, CLASS_TOKEN_READ,
> SELECT_TOKEN_STD);
> +	if (ret)
> +		return ret;
> +
> +	*enabled = !!buffer.output[1];
> +
> +	return 0;
> +}
> +EXPORT_SYMBOL_GPL(dell_switchable_gfx_enabled);
> +
>  static int __init dell_init(void)
>  {
>  	struct calling_interface_token *token;
> diff --git a/drivers/platform/x86/dell-smbios.c b/drivers/platform/x86/dell-smbios.c
> index 8541cde4cb7d..ca38b9d9dcf4 100644
> --- a/drivers/platform/x86/dell-smbios.c
> +++ b/drivers/platform/x86/dell-smbios.c
> @@ -86,6 +86,8 @@ struct token_range {
>  static struct token_range token_whitelist[] = {
>  	/* used by userspace: fwupdate */
>  	{CAP_SYS_ADMIN,	CAPSULE_EN_TOKEN,	CAPSULE_DIS_TOKEN},
> +	/* can indicate to userspace Switchable Graphics enable status */
> +	{CAP_SYS_ADMIN,	SWITCHABLE_GRAPHICS_ENABLE,
> 	SWITCHABLE_GRAPHICS_DISABLE},
>  	/* can indicate to userspace that WMI is needed */
>  	{0x0000,	WSMT_EN_TOKEN,		WSMT_DIS_TOKEN}
>  };
> diff --git a/drivers/platform/x86/dell-smbios.h b/drivers/platform/x86/dell-smbios.h
> index 138d478d9adc..b012d4abd239 100644
> --- a/drivers/platform/x86/dell-smbios.h
> +++ b/drivers/platform/x86/dell-smbios.h
> @@ -37,6 +37,8 @@
>  #define KBD_LED_AUTO_100_TOKEN	0x02F6
>  #define GLOBAL_MIC_MUTE_ENABLE	0x0364
>  #define GLOBAL_MIC_MUTE_DISABLE	0x0365
> +#define SWITCHABLE_GRAPHICS_ENABLE	0x037A
> +#define SWITCHABLE_GRAPHICS_DISABLE	0x037B
> 
>  struct notifier_block;
> 
> --
> 2.15.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH 2/2] platform/x86: dell-*: Add interface for switchable graphics status query
@ 2018-03-08  7:34     ` Mario.Limonciello
  0 siblings, 0 replies; 12+ messages in thread
From: Mario.Limonciello @ 2018-03-08  7:34 UTC (permalink / raw)
  To: kai.heng.feng, mjg59, pali.rohar, dvhart, andy, tiwai
  Cc: platform-driver-x86, linux-kernel, alsa-devel

> -----Original Message-----
> From: Kai-Heng Feng [mailto:kai.heng.feng@canonical.com]
> Sent: Thursday, March 8, 2018 3:12 PM
> To: mjg59@srcf.ucam.org; pali.rohar@gmail.com; dvhart@infradead.org;
> andy@infradead.org; Limonciello, Mario <Mario_Limonciello@Dell.com>;
> tiwai@suse.com
> Cc: platform-driver-x86@vger.kernel.org; linux-kernel@vger.kernel.org; alsa-
> devel@alsa-project.org; Kai-Heng Feng <kai.heng.feng@canonical.com>
> Subject: [PATCH 2/2] platform/x86: dell-*: Add interface for switchable graphics
> status query
> 
> On some Dell platforms, there's a BIOS option "Enable Switchable
> Graphics". This information is useful if we want to do different things
> based on this value, e.g. disable unused audio controller that comes
> with the discrete graphics.
> 

I was expecting the follow on patch that uses this interface too as part of the
series. This patch itself however looks like.

Reviewed-by: Mario Limonciello <mario.limonciello@dell.com>
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
> ---
>  drivers/platform/x86/dell-laptop.c | 23 +++++++++++++++++++++++
>  drivers/platform/x86/dell-smbios.c |  2 ++
>  drivers/platform/x86/dell-smbios.h |  2 ++
>  3 files changed, 27 insertions(+)
> 
> diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
> index 8ba820e6c3d0..3f6fc07b8cf2 100644
> --- a/drivers/platform/x86/dell-laptop.c
> +++ b/drivers/platform/x86/dell-laptop.c
> @@ -2116,6 +2116,29 @@ int dell_micmute_led_set(int state)
>  }
>  EXPORT_SYMBOL_GPL(dell_micmute_led_set);
> 
> +int dell_switchable_gfx_enabled(bool *enabled)
> +{
> +	struct calling_interface_buffer buffer;
> +	struct calling_interface_token *token;
> +	int ret;
> +
> +	*enabled = false;
> +
> +	token = dell_smbios_find_token(SWITCHABLE_GRAPHICS_ENABLE);
> +	if (!token)
> +		return -ENODEV;
> +
> +	dell_fill_request(&buffer, token->location, 0, 0, 0);
> +	ret = dell_send_request(&buffer, CLASS_TOKEN_READ,
> SELECT_TOKEN_STD);
> +	if (ret)
> +		return ret;
> +
> +	*enabled = !!buffer.output[1];
> +
> +	return 0;
> +}
> +EXPORT_SYMBOL_GPL(dell_switchable_gfx_enabled);
> +
>  static int __init dell_init(void)
>  {
>  	struct calling_interface_token *token;
> diff --git a/drivers/platform/x86/dell-smbios.c b/drivers/platform/x86/dell-smbios.c
> index 8541cde4cb7d..ca38b9d9dcf4 100644
> --- a/drivers/platform/x86/dell-smbios.c
> +++ b/drivers/platform/x86/dell-smbios.c
> @@ -86,6 +86,8 @@ struct token_range {
>  static struct token_range token_whitelist[] = {
>  	/* used by userspace: fwupdate */
>  	{CAP_SYS_ADMIN,	CAPSULE_EN_TOKEN,	CAPSULE_DIS_TOKEN},
> +	/* can indicate to userspace Switchable Graphics enable status */
> +	{CAP_SYS_ADMIN,	SWITCHABLE_GRAPHICS_ENABLE,
> 	SWITCHABLE_GRAPHICS_DISABLE},
>  	/* can indicate to userspace that WMI is needed */
>  	{0x0000,	WSMT_EN_TOKEN,		WSMT_DIS_TOKEN}
>  };
> diff --git a/drivers/platform/x86/dell-smbios.h b/drivers/platform/x86/dell-smbios.h
> index 138d478d9adc..b012d4abd239 100644
> --- a/drivers/platform/x86/dell-smbios.h
> +++ b/drivers/platform/x86/dell-smbios.h
> @@ -37,6 +37,8 @@
>  #define KBD_LED_AUTO_100_TOKEN	0x02F6
>  #define GLOBAL_MIC_MUTE_ENABLE	0x0364
>  #define GLOBAL_MIC_MUTE_DISABLE	0x0365
> +#define SWITCHABLE_GRAPHICS_ENABLE	0x037A
> +#define SWITCHABLE_GRAPHICS_DISABLE	0x037B
> 
>  struct notifier_block;
> 
> --
> 2.15.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] platform/x86: dell-*: Add interface for switchable graphics status query
  2018-03-08  7:34     ` Mario.Limonciello
@ 2018-03-08  8:20       ` Kai Heng Feng
  -1 siblings, 0 replies; 12+ messages in thread
From: Kai Heng Feng @ 2018-03-08  8:20 UTC (permalink / raw)
  To: Mario.Limonciello
  Cc: mjg59, pali.rohar, dvhart, andy, tiwai, platform-driver-x86,
	linux-kernel, alsa-devel



> On Mar 8, 2018, at 3:34 PM, Mario.Limonciello@dell.com wrote:
>
>> -----Original Message-----
>> From: Kai-Heng Feng [mailto:kai.heng.feng@canonical.com]
>> Sent: Thursday, March 8, 2018 3:12 PM
>> To: mjg59@srcf.ucam.org; pali.rohar@gmail.com; dvhart@infradead.org;
>> andy@infradead.org; Limonciello, Mario <Mario_Limonciello@Dell.com>;
>> tiwai@suse.com
>> Cc: platform-driver-x86@vger.kernel.org; linux-kernel@vger.kernel.org;  
>> alsa-
>> devel@alsa-project.org; Kai-Heng Feng <kai.heng.feng@canonical.com>
>> Subject: [PATCH 2/2] platform/x86: dell-*: Add interface for switchable  
>> graphics
>> status query
>>
>> On some Dell platforms, there's a BIOS option "Enable Switchable
>> Graphics". This information is useful if we want to do different things
>> based on this value, e.g. disable unused audio controller that comes
>> with the discrete graphics.
>
> I was expecting the follow on patch that uses this interface too as part  
> of the
> series. This patch itself however looks like.

I thought it should be easier to separate patch series for different  
subsystems.
But of course I can make them the as one series.

I'll resend a v2 for this.

Kai-Heng

>
> Reviewed-by: Mario Limonciello <mario.limonciello@dell.com>
>> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
>> ---
>>  drivers/platform/x86/dell-laptop.c | 23 +++++++++++++++++++++++
>>  drivers/platform/x86/dell-smbios.c |  2 ++
>>  drivers/platform/x86/dell-smbios.h |  2 ++
>>  3 files changed, 27 insertions(+)
>>
>> diff --git a/drivers/platform/x86/dell-laptop.c  
>> b/drivers/platform/x86/dell-laptop.c
>> index 8ba820e6c3d0..3f6fc07b8cf2 100644
>> --- a/drivers/platform/x86/dell-laptop.c
>> +++ b/drivers/platform/x86/dell-laptop.c
>> @@ -2116,6 +2116,29 @@ int dell_micmute_led_set(int state)
>>  }
>>  EXPORT_SYMBOL_GPL(dell_micmute_led_set);
>>
>> +int dell_switchable_gfx_enabled(bool *enabled)
>> +{
>> +	struct calling_interface_buffer buffer;
>> +	struct calling_interface_token *token;
>> +	int ret;
>> +
>> +	*enabled = false;
>> +
>> +	token = dell_smbios_find_token(SWITCHABLE_GRAPHICS_ENABLE);
>> +	if (!token)
>> +		return -ENODEV;
>> +
>> +	dell_fill_request(&buffer, token->location, 0, 0, 0);
>> +	ret = dell_send_request(&buffer, CLASS_TOKEN_READ,
>> SELECT_TOKEN_STD);
>> +	if (ret)
>> +		return ret;
>> +
>> +	*enabled = !!buffer.output[1];
>> +
>> +	return 0;
>> +}
>> +EXPORT_SYMBOL_GPL(dell_switchable_gfx_enabled);
>> +
>>  static int __init dell_init(void)
>>  {
>>  	struct calling_interface_token *token;
>> diff --git a/drivers/platform/x86/dell-smbios.c  
>> b/drivers/platform/x86/dell-smbios.c
>> index 8541cde4cb7d..ca38b9d9dcf4 100644
>> --- a/drivers/platform/x86/dell-smbios.c
>> +++ b/drivers/platform/x86/dell-smbios.c
>> @@ -86,6 +86,8 @@ struct token_range {
>>  static struct token_range token_whitelist[] = {
>>  	/* used by userspace: fwupdate */
>>  	{CAP_SYS_ADMIN,	CAPSULE_EN_TOKEN,	CAPSULE_DIS_TOKEN},
>> +	/* can indicate to userspace Switchable Graphics enable status */
>> +	{CAP_SYS_ADMIN,	SWITCHABLE_GRAPHICS_ENABLE,
>> 	SWITCHABLE_GRAPHICS_DISABLE},
>>  	/* can indicate to userspace that WMI is needed */
>>  	{0x0000,	WSMT_EN_TOKEN,		WSMT_DIS_TOKEN}
>>  };
>> diff --git a/drivers/platform/x86/dell-smbios.h  
>> b/drivers/platform/x86/dell-smbios.h
>> index 138d478d9adc..b012d4abd239 100644
>> --- a/drivers/platform/x86/dell-smbios.h
>> +++ b/drivers/platform/x86/dell-smbios.h
>> @@ -37,6 +37,8 @@
>>  #define KBD_LED_AUTO_100_TOKEN	0x02F6
>>  #define GLOBAL_MIC_MUTE_ENABLE	0x0364
>>  #define GLOBAL_MIC_MUTE_DISABLE	0x0365
>> +#define SWITCHABLE_GRAPHICS_ENABLE	0x037A
>> +#define SWITCHABLE_GRAPHICS_DISABLE	0x037B
>>
>>  struct notifier_block;
>>
>> --
>> 2.15.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] platform/x86: dell-*: Add interface for switchable graphics status query
@ 2018-03-08  8:20       ` Kai Heng Feng
  0 siblings, 0 replies; 12+ messages in thread
From: Kai Heng Feng @ 2018-03-08  8:20 UTC (permalink / raw)
  To: Mario.Limonciello
  Cc: mjg59, alsa-devel, linux-kernel, tiwai, platform-driver-x86,
	pali.rohar, dvhart, andy



> On Mar 8, 2018, at 3:34 PM, Mario.Limonciello@dell.com wrote:
>
>> -----Original Message-----
>> From: Kai-Heng Feng [mailto:kai.heng.feng@canonical.com]
>> Sent: Thursday, March 8, 2018 3:12 PM
>> To: mjg59@srcf.ucam.org; pali.rohar@gmail.com; dvhart@infradead.org;
>> andy@infradead.org; Limonciello, Mario <Mario_Limonciello@Dell.com>;
>> tiwai@suse.com
>> Cc: platform-driver-x86@vger.kernel.org; linux-kernel@vger.kernel.org;  
>> alsa-
>> devel@alsa-project.org; Kai-Heng Feng <kai.heng.feng@canonical.com>
>> Subject: [PATCH 2/2] platform/x86: dell-*: Add interface for switchable  
>> graphics
>> status query
>>
>> On some Dell platforms, there's a BIOS option "Enable Switchable
>> Graphics". This information is useful if we want to do different things
>> based on this value, e.g. disable unused audio controller that comes
>> with the discrete graphics.
>
> I was expecting the follow on patch that uses this interface too as part  
> of the
> series. This patch itself however looks like.

I thought it should be easier to separate patch series for different  
subsystems.
But of course I can make them the as one series.

I'll resend a v2 for this.

Kai-Heng

>
> Reviewed-by: Mario Limonciello <mario.limonciello@dell.com>
>> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
>> ---
>>  drivers/platform/x86/dell-laptop.c | 23 +++++++++++++++++++++++
>>  drivers/platform/x86/dell-smbios.c |  2 ++
>>  drivers/platform/x86/dell-smbios.h |  2 ++
>>  3 files changed, 27 insertions(+)
>>
>> diff --git a/drivers/platform/x86/dell-laptop.c  
>> b/drivers/platform/x86/dell-laptop.c
>> index 8ba820e6c3d0..3f6fc07b8cf2 100644
>> --- a/drivers/platform/x86/dell-laptop.c
>> +++ b/drivers/platform/x86/dell-laptop.c
>> @@ -2116,6 +2116,29 @@ int dell_micmute_led_set(int state)
>>  }
>>  EXPORT_SYMBOL_GPL(dell_micmute_led_set);
>>
>> +int dell_switchable_gfx_enabled(bool *enabled)
>> +{
>> +	struct calling_interface_buffer buffer;
>> +	struct calling_interface_token *token;
>> +	int ret;
>> +
>> +	*enabled = false;
>> +
>> +	token = dell_smbios_find_token(SWITCHABLE_GRAPHICS_ENABLE);
>> +	if (!token)
>> +		return -ENODEV;
>> +
>> +	dell_fill_request(&buffer, token->location, 0, 0, 0);
>> +	ret = dell_send_request(&buffer, CLASS_TOKEN_READ,
>> SELECT_TOKEN_STD);
>> +	if (ret)
>> +		return ret;
>> +
>> +	*enabled = !!buffer.output[1];
>> +
>> +	return 0;
>> +}
>> +EXPORT_SYMBOL_GPL(dell_switchable_gfx_enabled);
>> +
>>  static int __init dell_init(void)
>>  {
>>  	struct calling_interface_token *token;
>> diff --git a/drivers/platform/x86/dell-smbios.c  
>> b/drivers/platform/x86/dell-smbios.c
>> index 8541cde4cb7d..ca38b9d9dcf4 100644
>> --- a/drivers/platform/x86/dell-smbios.c
>> +++ b/drivers/platform/x86/dell-smbios.c
>> @@ -86,6 +86,8 @@ struct token_range {
>>  static struct token_range token_whitelist[] = {
>>  	/* used by userspace: fwupdate */
>>  	{CAP_SYS_ADMIN,	CAPSULE_EN_TOKEN,	CAPSULE_DIS_TOKEN},
>> +	/* can indicate to userspace Switchable Graphics enable status */
>> +	{CAP_SYS_ADMIN,	SWITCHABLE_GRAPHICS_ENABLE,
>> 	SWITCHABLE_GRAPHICS_DISABLE},
>>  	/* can indicate to userspace that WMI is needed */
>>  	{0x0000,	WSMT_EN_TOKEN,		WSMT_DIS_TOKEN}
>>  };
>> diff --git a/drivers/platform/x86/dell-smbios.h  
>> b/drivers/platform/x86/dell-smbios.h
>> index 138d478d9adc..b012d4abd239 100644
>> --- a/drivers/platform/x86/dell-smbios.h
>> +++ b/drivers/platform/x86/dell-smbios.h
>> @@ -37,6 +37,8 @@
>>  #define KBD_LED_AUTO_100_TOKEN	0x02F6
>>  #define GLOBAL_MIC_MUTE_ENABLE	0x0364
>>  #define GLOBAL_MIC_MUTE_DISABLE	0x0365
>> +#define SWITCHABLE_GRAPHICS_ENABLE	0x037A
>> +#define SWITCHABLE_GRAPHICS_DISABLE	0x037B
>>
>>  struct notifier_block;
>>
>> --
>> 2.15.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH 2/2] platform/x86: dell-*: Add interface for switchable graphics status query
  2018-03-08  8:20       ` Kai Heng Feng
@ 2018-03-08  8:35         ` Mario.Limonciello
  -1 siblings, 0 replies; 12+ messages in thread
From: Mario.Limonciello @ 2018-03-08  8:35 UTC (permalink / raw)
  To: kai.heng.feng
  Cc: mjg59, pali.rohar, dvhart, andy, tiwai, platform-driver-x86,
	linux-kernel, alsa-devel

> -----Original Message-----
> From: Kai Heng Feng [mailto:kai.heng.feng@canonical.com]
> Sent: Thursday, March 8, 2018 4:20 PM
> To: Limonciello, Mario <Mario_Limonciello@Dell.com>
> Cc: mjg59@srcf.ucam.org; pali.rohar@gmail.com; dvhart@infradead.org;
> andy@infradead.org; tiwai@suse.com; platform-driver-x86@vger.kernel.org; linux-
> kernel@vger.kernel.org; alsa-devel@alsa-project.org
> Subject: Re: [PATCH 2/2] platform/x86: dell-*: Add interface for switchable graphics
> status query
> 
> 
> 
> > On Mar 8, 2018, at 3:34 PM, Mario.Limonciello@dell.com wrote:
> >
> >> -----Original Message-----
> >> From: Kai-Heng Feng [mailto:kai.heng.feng@canonical.com]
> >> Sent: Thursday, March 8, 2018 3:12 PM
> >> To: mjg59@srcf.ucam.org; pali.rohar@gmail.com; dvhart@infradead.org;
> >> andy@infradead.org; Limonciello, Mario <Mario_Limonciello@Dell.com>;
> >> tiwai@suse.com
> >> Cc: platform-driver-x86@vger.kernel.org; linux-kernel@vger.kernel.org;
> >> alsa-
> >> devel@alsa-project.org; Kai-Heng Feng <kai.heng.feng@canonical.com>
> >> Subject: [PATCH 2/2] platform/x86: dell-*: Add interface for switchable
> >> graphics
> >> status query
> >>
> >> On some Dell platforms, there's a BIOS option "Enable Switchable
> >> Graphics". This information is useful if we want to do different things
> >> based on this value, e.g. disable unused audio controller that comes
> >> with the discrete graphics.
> >
> > I was expecting the follow on patch that uses this interface too as part
> > of the
> > series. This patch itself however looks like.
> 
> I thought it should be easier to separate patch series for different
> subsystems.
> But of course I can make them the as one series.
> 
> I'll resend a v2 for this.
> 

At least in other subsystem in the kernel I've heard comments from
maintainer that it doesn't make sense to add code that no one uses.
I don't know if that's how Darren and Andy feel to. 

At worst case scenario patches 1 and 2 could be added while patch
3 iterates too.

> Kai-Heng
> 
> >
> > Reviewed-by: Mario Limonciello <mario.limonciello@dell.com>
> >> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
> >> ---
> >>  drivers/platform/x86/dell-laptop.c | 23 +++++++++++++++++++++++
> >>  drivers/platform/x86/dell-smbios.c |  2 ++
> >>  drivers/platform/x86/dell-smbios.h |  2 ++
> >>  3 files changed, 27 insertions(+)
> >>
> >> diff --git a/drivers/platform/x86/dell-laptop.c
> >> b/drivers/platform/x86/dell-laptop.c
> >> index 8ba820e6c3d0..3f6fc07b8cf2 100644
> >> --- a/drivers/platform/x86/dell-laptop.c
> >> +++ b/drivers/platform/x86/dell-laptop.c
> >> @@ -2116,6 +2116,29 @@ int dell_micmute_led_set(int state)
> >>  }
> >>  EXPORT_SYMBOL_GPL(dell_micmute_led_set);
> >>
> >> +int dell_switchable_gfx_enabled(bool *enabled)
> >> +{
> >> +	struct calling_interface_buffer buffer;
> >> +	struct calling_interface_token *token;
> >> +	int ret;
> >> +
> >> +	*enabled = false;
> >> +
> >> +	token = dell_smbios_find_token(SWITCHABLE_GRAPHICS_ENABLE);
> >> +	if (!token)
> >> +		return -ENODEV;
> >> +
> >> +	dell_fill_request(&buffer, token->location, 0, 0, 0);
> >> +	ret = dell_send_request(&buffer, CLASS_TOKEN_READ,
> >> SELECT_TOKEN_STD);
> >> +	if (ret)
> >> +		return ret;
> >> +
> >> +	*enabled = !!buffer.output[1];
> >> +
> >> +	return 0;
> >> +}
> >> +EXPORT_SYMBOL_GPL(dell_switchable_gfx_enabled);
> >> +
> >>  static int __init dell_init(void)
> >>  {
> >>  	struct calling_interface_token *token;
> >> diff --git a/drivers/platform/x86/dell-smbios.c
> >> b/drivers/platform/x86/dell-smbios.c
> >> index 8541cde4cb7d..ca38b9d9dcf4 100644
> >> --- a/drivers/platform/x86/dell-smbios.c
> >> +++ b/drivers/platform/x86/dell-smbios.c
> >> @@ -86,6 +86,8 @@ struct token_range {
> >>  static struct token_range token_whitelist[] = {
> >>  	/* used by userspace: fwupdate */
> >>  	{CAP_SYS_ADMIN,	CAPSULE_EN_TOKEN,	CAPSULE_DIS_TOKEN},
> >> +	/* can indicate to userspace Switchable Graphics enable status */
> >> +	{CAP_SYS_ADMIN,	SWITCHABLE_GRAPHICS_ENABLE,
> >> 	SWITCHABLE_GRAPHICS_DISABLE},
> >>  	/* can indicate to userspace that WMI is needed */
> >>  	{0x0000,	WSMT_EN_TOKEN,		WSMT_DIS_TOKEN}
> >>  };
> >> diff --git a/drivers/platform/x86/dell-smbios.h
> >> b/drivers/platform/x86/dell-smbios.h
> >> index 138d478d9adc..b012d4abd239 100644
> >> --- a/drivers/platform/x86/dell-smbios.h
> >> +++ b/drivers/platform/x86/dell-smbios.h
> >> @@ -37,6 +37,8 @@
> >>  #define KBD_LED_AUTO_100_TOKEN	0x02F6
> >>  #define GLOBAL_MIC_MUTE_ENABLE	0x0364
> >>  #define GLOBAL_MIC_MUTE_DISABLE	0x0365
> >> +#define SWITCHABLE_GRAPHICS_ENABLE	0x037A
> >> +#define SWITCHABLE_GRAPHICS_DISABLE	0x037B
> >>
> >>  struct notifier_block;
> >>
> >> --
> >> 2.15.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] platform/x86: dell-*: Add interface for switchable graphics status query
@ 2018-03-08  8:35         ` Mario.Limonciello
  0 siblings, 0 replies; 12+ messages in thread
From: Mario.Limonciello @ 2018-03-08  8:35 UTC (permalink / raw)
  To: kai.heng.feng
  Cc: mjg59, alsa-devel, linux-kernel, tiwai, platform-driver-x86,
	pali.rohar, dvhart, andy

> -----Original Message-----
> From: Kai Heng Feng [mailto:kai.heng.feng@canonical.com]
> Sent: Thursday, March 8, 2018 4:20 PM
> To: Limonciello, Mario <Mario_Limonciello@Dell.com>
> Cc: mjg59@srcf.ucam.org; pali.rohar@gmail.com; dvhart@infradead.org;
> andy@infradead.org; tiwai@suse.com; platform-driver-x86@vger.kernel.org; linux-
> kernel@vger.kernel.org; alsa-devel@alsa-project.org
> Subject: Re: [PATCH 2/2] platform/x86: dell-*: Add interface for switchable graphics
> status query
> 
> 
> 
> > On Mar 8, 2018, at 3:34 PM, Mario.Limonciello@dell.com wrote:
> >
> >> -----Original Message-----
> >> From: Kai-Heng Feng [mailto:kai.heng.feng@canonical.com]
> >> Sent: Thursday, March 8, 2018 3:12 PM
> >> To: mjg59@srcf.ucam.org; pali.rohar@gmail.com; dvhart@infradead.org;
> >> andy@infradead.org; Limonciello, Mario <Mario_Limonciello@Dell.com>;
> >> tiwai@suse.com
> >> Cc: platform-driver-x86@vger.kernel.org; linux-kernel@vger.kernel.org;
> >> alsa-
> >> devel@alsa-project.org; Kai-Heng Feng <kai.heng.feng@canonical.com>
> >> Subject: [PATCH 2/2] platform/x86: dell-*: Add interface for switchable
> >> graphics
> >> status query
> >>
> >> On some Dell platforms, there's a BIOS option "Enable Switchable
> >> Graphics". This information is useful if we want to do different things
> >> based on this value, e.g. disable unused audio controller that comes
> >> with the discrete graphics.
> >
> > I was expecting the follow on patch that uses this interface too as part
> > of the
> > series. This patch itself however looks like.
> 
> I thought it should be easier to separate patch series for different
> subsystems.
> But of course I can make them the as one series.
> 
> I'll resend a v2 for this.
> 

At least in other subsystem in the kernel I've heard comments from
maintainer that it doesn't make sense to add code that no one uses.
I don't know if that's how Darren and Andy feel to. 

At worst case scenario patches 1 and 2 could be added while patch
3 iterates too.

> Kai-Heng
> 
> >
> > Reviewed-by: Mario Limonciello <mario.limonciello@dell.com>
> >> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
> >> ---
> >>  drivers/platform/x86/dell-laptop.c | 23 +++++++++++++++++++++++
> >>  drivers/platform/x86/dell-smbios.c |  2 ++
> >>  drivers/platform/x86/dell-smbios.h |  2 ++
> >>  3 files changed, 27 insertions(+)
> >>
> >> diff --git a/drivers/platform/x86/dell-laptop.c
> >> b/drivers/platform/x86/dell-laptop.c
> >> index 8ba820e6c3d0..3f6fc07b8cf2 100644
> >> --- a/drivers/platform/x86/dell-laptop.c
> >> +++ b/drivers/platform/x86/dell-laptop.c
> >> @@ -2116,6 +2116,29 @@ int dell_micmute_led_set(int state)
> >>  }
> >>  EXPORT_SYMBOL_GPL(dell_micmute_led_set);
> >>
> >> +int dell_switchable_gfx_enabled(bool *enabled)
> >> +{
> >> +	struct calling_interface_buffer buffer;
> >> +	struct calling_interface_token *token;
> >> +	int ret;
> >> +
> >> +	*enabled = false;
> >> +
> >> +	token = dell_smbios_find_token(SWITCHABLE_GRAPHICS_ENABLE);
> >> +	if (!token)
> >> +		return -ENODEV;
> >> +
> >> +	dell_fill_request(&buffer, token->location, 0, 0, 0);
> >> +	ret = dell_send_request(&buffer, CLASS_TOKEN_READ,
> >> SELECT_TOKEN_STD);
> >> +	if (ret)
> >> +		return ret;
> >> +
> >> +	*enabled = !!buffer.output[1];
> >> +
> >> +	return 0;
> >> +}
> >> +EXPORT_SYMBOL_GPL(dell_switchable_gfx_enabled);
> >> +
> >>  static int __init dell_init(void)
> >>  {
> >>  	struct calling_interface_token *token;
> >> diff --git a/drivers/platform/x86/dell-smbios.c
> >> b/drivers/platform/x86/dell-smbios.c
> >> index 8541cde4cb7d..ca38b9d9dcf4 100644
> >> --- a/drivers/platform/x86/dell-smbios.c
> >> +++ b/drivers/platform/x86/dell-smbios.c
> >> @@ -86,6 +86,8 @@ struct token_range {
> >>  static struct token_range token_whitelist[] = {
> >>  	/* used by userspace: fwupdate */
> >>  	{CAP_SYS_ADMIN,	CAPSULE_EN_TOKEN,	CAPSULE_DIS_TOKEN},
> >> +	/* can indicate to userspace Switchable Graphics enable status */
> >> +	{CAP_SYS_ADMIN,	SWITCHABLE_GRAPHICS_ENABLE,
> >> 	SWITCHABLE_GRAPHICS_DISABLE},
> >>  	/* can indicate to userspace that WMI is needed */
> >>  	{0x0000,	WSMT_EN_TOKEN,		WSMT_DIS_TOKEN}
> >>  };
> >> diff --git a/drivers/platform/x86/dell-smbios.h
> >> b/drivers/platform/x86/dell-smbios.h
> >> index 138d478d9adc..b012d4abd239 100644
> >> --- a/drivers/platform/x86/dell-smbios.h
> >> +++ b/drivers/platform/x86/dell-smbios.h
> >> @@ -37,6 +37,8 @@
> >>  #define KBD_LED_AUTO_100_TOKEN	0x02F6
> >>  #define GLOBAL_MIC_MUTE_ENABLE	0x0364
> >>  #define GLOBAL_MIC_MUTE_DISABLE	0x0365
> >> +#define SWITCHABLE_GRAPHICS_ENABLE	0x037A
> >> +#define SWITCHABLE_GRAPHICS_DISABLE	0x037B
> >>
> >>  struct notifier_block;
> >>
> >> --
> >> 2.15.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-03-08  8:35 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-08  7:12 [PATCH 1/2] dell-led: Change dell-led.h to dell-common.h Kai-Heng Feng
2018-03-08  7:12 ` [PATCH 2/2] platform/x86: dell-*: Add interface for switchable graphics status query Kai-Heng Feng
2018-03-08  7:34   ` Mario.Limonciello
2018-03-08  7:34     ` Mario.Limonciello
2018-03-08  8:20     ` Kai Heng Feng
2018-03-08  8:20       ` Kai Heng Feng
2018-03-08  8:35       ` Mario.Limonciello
2018-03-08  8:35         ` Mario.Limonciello
2018-03-08  7:23 ` [PATCH 1/2] dell-led: Change dell-led.h to dell-common.h Takashi Iwai
2018-03-08  7:23   ` Takashi Iwai
2018-03-08  7:31 ` Mario.Limonciello
2018-03-08  7:31   ` Mario.Limonciello

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.