[Intel-xe] [PATCH] drm/xe: Add Rocketlake device info
Matt Roper
matthew.d.roper at intel.com
Tue Apr 11 19:33:26 UTC 2023
On Tue, Apr 11, 2023 at 12:24:03PM -0700, Anusha Srivatsa wrote:
> Add missing device info for Rocketlake.
> While at it, also set the value for IS_ROCKETLAKE
> macro which is right now set to 0.
>
> v2: Also add abox_mask to the device info(Lucas)
> v3: rebase
> v4: Set IS_ROCKETLAKE (Anusha)
>
> Cc: Matt Roper <matthew.d.roper at intel.com>
> Signed-off-by: Anusha Srivatsa <anusha.srivatsa at intel.com>
> Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>(v2)
> Tested-by: Anushas Srivatsa <anusha.srivatsa at intel.com>
> ---
> drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h | 2 +-
> drivers/gpu/drm/xe/xe_display.c | 11 +++++++++++
> drivers/gpu/drm/xe/xe_pci.c | 8 ++++++++
> 3 files changed, 20 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
> index ae25bb02896a..3de1b0c8e23e 100644
> --- a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
> +++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
> @@ -70,7 +70,7 @@ static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
> #define IS_ICELAKE(dev_priv) (dev_priv && 0)
> #define IS_JSL_EHL(dev_priv) (dev_priv && 0)
> #define IS_TIGERLAKE(dev_priv) IS_PLATFORM(dev_priv, XE_TIGERLAKE)
> -#define IS_ROCKETLAKE(dev_priv) (dev_priv && 0)
> +#define IS_ROCKETLAKE(dev_priv) IS_PLATFORM(dev_priv, XE_ROCKETLAKE)
> #define IS_DG1(dev_priv) IS_PLATFORM(dev_priv, XE_DG1)
> #define IS_ALDERLAKE_S(dev_priv) IS_PLATFORM(dev_priv, XE_ALDERLAKE_S)
> #define IS_ALDERLAKE_P(dev_priv) IS_PLATFORM(dev_priv, XE_ALDERLAKE_P)
> diff --git a/drivers/gpu/drm/xe/xe_display.c b/drivers/gpu/drm/xe/xe_display.c
> index 5fab5b9fbde0..44697c0f7fb5 100644
> --- a/drivers/gpu/drm/xe/xe_display.c
> +++ b/drivers/gpu/drm/xe/xe_display.c
> @@ -488,6 +488,17 @@ void xe_display_info_init(struct xe_device *xe)
> case XE_DG1:
> xe->info.display = (struct xe_device_display_info) { GEN12_DISPLAY };
> break;
> + case XE_ROCKETLAKE:
> + xe->info.display = (struct xe_device_display_info) {
> + GEN12_DISPLAY,
> + .abox_mask = BIT(0),
> + .has_hti = 1,
> + .has_psr_hw_tracking = 0,
> + .cpu_transcoder_mask =
> + BIT(TRANSCODER_A) | BIT(TRANSCODER_B) |
> + BIT(TRANSCODER_C),
Do we need pipe_mask set here too? RKL only has three pipes, so
inheriting the value from GEN12_DISPLAY -> __DISPLAY_DEFAULTS won't be
correct.
Matt
> + };
> + break;
> case XE_ALDERLAKE_S:
> xe->info.display = (struct xe_device_display_info) {
> GEN12_DISPLAY,
> diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
> index 4b01d8c538ae..c92faffc838c 100644
> --- a/drivers/gpu/drm/xe/xe_pci.c
> +++ b/drivers/gpu/drm/xe/xe_pci.c
> @@ -181,6 +181,13 @@ static const struct xe_device_desc tgl_desc = {
> .require_force_probe = true,
> };
>
> +static const struct xe_device_desc rkl_desc = {
> + .graphics = &graphics_xelp,
> + .media = &media_xem,
> + PLATFORM(XE_ROCKETLAKE),
> + .require_force_probe = true,
> +};
> +
> static const struct xe_device_desc adl_s_desc = {
> .graphics = &graphics_xelp,
> .media = &media_xem,
> @@ -305,6 +312,7 @@ static struct gmdid_map media_ip_map[] = {
> */
> static const struct pci_device_id pciidlist[] = {
> XE_TGL_IDS(INTEL_VGA_DEVICE, &tgl_desc),
> + XE_RKL_IDS(INTEL_VGA_DEVICE, &rkl_desc),
> XE_ADLS_IDS(INTEL_VGA_DEVICE, &adl_s_desc),
> XE_ADLP_IDS(INTEL_VGA_DEVICE, &adl_p_desc),
> XE_DG1_IDS(INTEL_VGA_DEVICE, &dg1_desc),
> --
> 2.25.1
>
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
More information about the Intel-xe
mailing list