From: Jani Nikula <jani.nikula@linux.intel.com>
To: Kai-Heng Feng <kai.heng.feng@canonical.com>,
joonas.lahtinen@linux.intel.com, rodrigo.vivi@intel.com,
tvrtko.ursulin@linux.intel.com
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>,
David Airlie <airlied@linux.ie>,
intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org,
Kai-Heng Feng <kai.heng.feng@canonical.com>,
Daniel Vetter <daniel@ffwll.ch>,
Zenghui Yu <yuzenghui@huawei.com>
Subject: Re: [Intel-gfx] [PATCH] drm/i915: Switch TGL-H DP-IN to dGFX when it's supported
Date: Tue, 16 Aug 2022 11:06:18 +0300 [thread overview]
Message-ID: <87leror4sl.fsf@intel.com> (raw)
In-Reply-To: <20220816025217.618181-1-kai.heng.feng@canonical.com>
On Tue, 16 Aug 2022, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
> On mobile workstations like HP ZBook Fury G8, iGFX's DP-IN can switch to
> dGFX so external monitors are routed to dGFX, and more monitors can be
> supported as result.
>
> To switch the DP-IN to dGFX, the driver needs to invoke _DSM function 20
> on intel_dsm_guid2. This method is described in Intel document 632107.
Is this the policy decision that we want to unconditionally make,
though?
BR,
Jani.
>
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
> ---
> drivers/gpu/drm/i915/display/intel_acpi.c | 18 +++++++++++++++++-
> 1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_acpi.c b/drivers/gpu/drm/i915/display/intel_acpi.c
> index e78430001f077..3bd5930e2769b 100644
> --- a/drivers/gpu/drm/i915/display/intel_acpi.c
> +++ b/drivers/gpu/drm/i915/display/intel_acpi.c
> @@ -20,6 +20,7 @@ static const guid_t intel_dsm_guid =
> 0xa8, 0x54, 0x0f, 0x13, 0x17, 0xb0, 0x1c, 0x2c);
>
> #define INTEL_DSM_FN_GET_BIOS_DATA_FUNCS_SUPPORTED 0 /* No args */
> +#define INTEL_DSM_FN_DP_IN_SWITCH_TO_DGFX 20 /* No args */
>
> static const guid_t intel_dsm_guid2 =
> GUID_INIT(0x3e5b41c6, 0xeb1d, 0x4260,
> @@ -187,6 +188,7 @@ void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915)
> struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
> acpi_handle dhandle;
> union acpi_object *obj;
> + int supported = 0;
>
> dhandle = ACPI_HANDLE(&pdev->dev);
> if (!dhandle)
> @@ -194,8 +196,22 @@ void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915)
>
> obj = acpi_evaluate_dsm(dhandle, &intel_dsm_guid2, INTEL_DSM_REVISION_ID,
> INTEL_DSM_FN_GET_BIOS_DATA_FUNCS_SUPPORTED, NULL);
> - if (obj)
> + if (obj) {
> + if (obj->type == ACPI_TYPE_INTEGER)
> + supported = obj->integer.value;
> +
> ACPI_FREE(obj);
> + }
> +
> + /* Tiger Lake H DP-IN Boot Time Switching from iGfx to dGfx */
> + if (supported & BIT(20)) {
> + obj = acpi_evaluate_dsm(dhandle, &intel_dsm_guid2,
> + INTEL_DSM_REVISION_ID,
> + INTEL_DSM_FN_DP_IN_SWITCH_TO_DGFX,
> + NULL);
> + if (obj)
> + ACPI_FREE(obj);
> + }
> }
>
> /*
--
Jani Nikula, Intel Open Source Graphics Center
WARNING: multiple messages have this Message-ID (diff)
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Kai-Heng Feng <kai.heng.feng@canonical.com>,
joonas.lahtinen@linux.intel.com, rodrigo.vivi@intel.com,
tvrtko.ursulin@linux.intel.com
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>,
David Airlie <airlied@linux.ie>,
intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org,
Hans de Goede <hdegoede@redhat.com>,
Kai-Heng Feng <kai.heng.feng@canonical.com>,
Zenghui Yu <yuzenghui@huawei.com>
Subject: Re: [PATCH] drm/i915: Switch TGL-H DP-IN to dGFX when it's supported
Date: Tue, 16 Aug 2022 11:06:18 +0300 [thread overview]
Message-ID: <87leror4sl.fsf@intel.com> (raw)
In-Reply-To: <20220816025217.618181-1-kai.heng.feng@canonical.com>
On Tue, 16 Aug 2022, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
> On mobile workstations like HP ZBook Fury G8, iGFX's DP-IN can switch to
> dGFX so external monitors are routed to dGFX, and more monitors can be
> supported as result.
>
> To switch the DP-IN to dGFX, the driver needs to invoke _DSM function 20
> on intel_dsm_guid2. This method is described in Intel document 632107.
Is this the policy decision that we want to unconditionally make,
though?
BR,
Jani.
>
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
> ---
> drivers/gpu/drm/i915/display/intel_acpi.c | 18 +++++++++++++++++-
> 1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_acpi.c b/drivers/gpu/drm/i915/display/intel_acpi.c
> index e78430001f077..3bd5930e2769b 100644
> --- a/drivers/gpu/drm/i915/display/intel_acpi.c
> +++ b/drivers/gpu/drm/i915/display/intel_acpi.c
> @@ -20,6 +20,7 @@ static const guid_t intel_dsm_guid =
> 0xa8, 0x54, 0x0f, 0x13, 0x17, 0xb0, 0x1c, 0x2c);
>
> #define INTEL_DSM_FN_GET_BIOS_DATA_FUNCS_SUPPORTED 0 /* No args */
> +#define INTEL_DSM_FN_DP_IN_SWITCH_TO_DGFX 20 /* No args */
>
> static const guid_t intel_dsm_guid2 =
> GUID_INIT(0x3e5b41c6, 0xeb1d, 0x4260,
> @@ -187,6 +188,7 @@ void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915)
> struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
> acpi_handle dhandle;
> union acpi_object *obj;
> + int supported = 0;
>
> dhandle = ACPI_HANDLE(&pdev->dev);
> if (!dhandle)
> @@ -194,8 +196,22 @@ void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915)
>
> obj = acpi_evaluate_dsm(dhandle, &intel_dsm_guid2, INTEL_DSM_REVISION_ID,
> INTEL_DSM_FN_GET_BIOS_DATA_FUNCS_SUPPORTED, NULL);
> - if (obj)
> + if (obj) {
> + if (obj->type == ACPI_TYPE_INTEGER)
> + supported = obj->integer.value;
> +
> ACPI_FREE(obj);
> + }
> +
> + /* Tiger Lake H DP-IN Boot Time Switching from iGfx to dGfx */
> + if (supported & BIT(20)) {
> + obj = acpi_evaluate_dsm(dhandle, &intel_dsm_guid2,
> + INTEL_DSM_REVISION_ID,
> + INTEL_DSM_FN_DP_IN_SWITCH_TO_DGFX,
> + NULL);
> + if (obj)
> + ACPI_FREE(obj);
> + }
> }
>
> /*
--
Jani Nikula, Intel Open Source Graphics Center
WARNING: multiple messages have this Message-ID (diff)
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Kai-Heng Feng <kai.heng.feng@canonical.com>,
joonas.lahtinen@linux.intel.com, rodrigo.vivi@intel.com,
tvrtko.ursulin@linux.intel.com
Cc: "Kai-Heng Feng" <kai.heng.feng@canonical.com>,
"David Airlie" <airlied@linux.ie>,
"Daniel Vetter" <daniel@ffwll.ch>,
"Ville Syrjälä" <ville.syrjala@linux.intel.com>,
"Zenghui Yu" <yuzenghui@huawei.com>,
"Lyude Paul" <lyude@redhat.com>,
"Hans de Goede" <hdegoede@redhat.com>,
"Heikki Krogerus" <heikki.krogerus@linux.intel.com>,
intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] drm/i915: Switch TGL-H DP-IN to dGFX when it's supported
Date: Tue, 16 Aug 2022 11:06:18 +0300 [thread overview]
Message-ID: <87leror4sl.fsf@intel.com> (raw)
In-Reply-To: <20220816025217.618181-1-kai.heng.feng@canonical.com>
On Tue, 16 Aug 2022, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote:
> On mobile workstations like HP ZBook Fury G8, iGFX's DP-IN can switch to
> dGFX so external monitors are routed to dGFX, and more monitors can be
> supported as result.
>
> To switch the DP-IN to dGFX, the driver needs to invoke _DSM function 20
> on intel_dsm_guid2. This method is described in Intel document 632107.
Is this the policy decision that we want to unconditionally make,
though?
BR,
Jani.
>
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
> ---
> drivers/gpu/drm/i915/display/intel_acpi.c | 18 +++++++++++++++++-
> 1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_acpi.c b/drivers/gpu/drm/i915/display/intel_acpi.c
> index e78430001f077..3bd5930e2769b 100644
> --- a/drivers/gpu/drm/i915/display/intel_acpi.c
> +++ b/drivers/gpu/drm/i915/display/intel_acpi.c
> @@ -20,6 +20,7 @@ static const guid_t intel_dsm_guid =
> 0xa8, 0x54, 0x0f, 0x13, 0x17, 0xb0, 0x1c, 0x2c);
>
> #define INTEL_DSM_FN_GET_BIOS_DATA_FUNCS_SUPPORTED 0 /* No args */
> +#define INTEL_DSM_FN_DP_IN_SWITCH_TO_DGFX 20 /* No args */
>
> static const guid_t intel_dsm_guid2 =
> GUID_INIT(0x3e5b41c6, 0xeb1d, 0x4260,
> @@ -187,6 +188,7 @@ void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915)
> struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
> acpi_handle dhandle;
> union acpi_object *obj;
> + int supported = 0;
>
> dhandle = ACPI_HANDLE(&pdev->dev);
> if (!dhandle)
> @@ -194,8 +196,22 @@ void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915)
>
> obj = acpi_evaluate_dsm(dhandle, &intel_dsm_guid2, INTEL_DSM_REVISION_ID,
> INTEL_DSM_FN_GET_BIOS_DATA_FUNCS_SUPPORTED, NULL);
> - if (obj)
> + if (obj) {
> + if (obj->type == ACPI_TYPE_INTEGER)
> + supported = obj->integer.value;
> +
> ACPI_FREE(obj);
> + }
> +
> + /* Tiger Lake H DP-IN Boot Time Switching from iGfx to dGfx */
> + if (supported & BIT(20)) {
> + obj = acpi_evaluate_dsm(dhandle, &intel_dsm_guid2,
> + INTEL_DSM_REVISION_ID,
> + INTEL_DSM_FN_DP_IN_SWITCH_TO_DGFX,
> + NULL);
> + if (obj)
> + ACPI_FREE(obj);
> + }
> }
>
> /*
--
Jani Nikula, Intel Open Source Graphics Center
next prev parent reply other threads:[~2022-08-16 8:06 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-16 2:52 [Intel-gfx] [PATCH] drm/i915: Switch TGL-H DP-IN to dGFX when it's supported Kai-Heng Feng
2022-08-16 2:52 ` Kai-Heng Feng
2022-08-16 2:52 ` Kai-Heng Feng
2022-08-16 3:52 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork
2022-08-16 8:06 ` Jani Nikula [this message]
2022-08-16 8:06 ` [PATCH] " Jani Nikula
2022-08-16 8:06 ` Jani Nikula
2022-08-16 11:29 ` [Intel-gfx] " Kai-Heng Feng
2022-08-16 11:29 ` Kai-Heng Feng
2022-08-16 11:29 ` Kai-Heng Feng
2022-08-16 18:24 ` [Intel-gfx] " Lyude Paul
2022-08-16 18:24 ` Lyude Paul
2022-08-16 18:24 ` Lyude Paul
2022-08-16 18:36 ` [Intel-gfx] " Lyude Paul
2022-08-16 18:36 ` Lyude Paul
2022-08-16 18:36 ` Lyude Paul
2022-08-17 1:08 ` [Intel-gfx] " Kai-Heng Feng
2022-08-17 1:08 ` Kai-Heng Feng
2022-08-17 1:08 ` Kai-Heng Feng
2022-08-17 1:02 ` [Intel-gfx] " Kai-Heng Feng
2022-08-17 1:02 ` Kai-Heng Feng
2022-08-17 1:02 ` Kai-Heng Feng
2022-08-17 17:56 ` [Intel-gfx] " Lyude Paul
2022-08-17 17:56 ` Lyude Paul
2022-08-17 17:56 ` Lyude Paul
2022-08-18 20:26 ` [Intel-gfx] [External] " Mark Pearson
2022-08-18 20:26 ` Mark Pearson
2022-08-18 20:26 ` Mark Pearson
2022-08-24 18:33 ` [Intel-gfx] " Karol Herbst
2022-08-24 18:33 ` Karol Herbst
2022-08-24 18:33 ` Karol Herbst
2022-08-18 11:53 ` [Intel-gfx] " Lukas Wunner
2022-08-18 11:53 ` Lukas Wunner
2022-08-18 11:53 ` Lukas Wunner
2022-08-19 17:01 ` [Intel-gfx] " Karol Herbst
2022-08-19 17:01 ` Karol Herbst
2022-08-19 17:01 ` Karol Herbst
2022-08-24 14:22 ` [Intel-gfx] " Kai-Heng Feng
2022-08-24 14:22 ` Kai-Heng Feng
2022-08-24 14:22 ` Kai-Heng Feng
2022-08-16 18:49 ` [Intel-gfx] " Karol Herbst
2022-08-16 18:49 ` Karol Herbst
2022-08-16 18:49 ` Karol Herbst
2022-08-17 1:18 ` [Intel-gfx] " Kai-Heng Feng
2022-08-17 1:18 ` Kai-Heng Feng
2022-08-17 1:18 ` Kai-Heng Feng
2022-08-17 1:48 ` [Intel-gfx] " Karol Herbst
2022-08-17 1:48 ` Karol Herbst
2022-08-17 1:48 ` Karol Herbst
2022-08-17 3:04 ` [Intel-gfx] " Kai-Heng Feng
2022-08-17 3:04 ` Kai-Heng Feng
2022-08-17 3:04 ` Kai-Heng Feng
2022-08-17 11:59 ` [Intel-gfx] " Ville Syrjälä
2022-08-17 11:59 ` Ville Syrjälä
2022-08-17 12:15 ` Kai-Heng Feng
2022-08-17 12:15 ` Kai-Heng Feng
2022-08-17 13:05 ` Ville Syrjälä
2022-08-17 13:05 ` Ville Syrjälä
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87leror4sl.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=airlied@linux.ie \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=joonas.lahtinen@linux.intel.com \
--cc=kai.heng.feng@canonical.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rodrigo.vivi@intel.com \
--cc=tvrtko.ursulin@linux.intel.com \
--cc=yuzenghui@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.