[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