[Intel-xe] [PATCH] drm/xe: Add Rocketlake device info

Lucas De Marchi lucas.demarchi at intel.com
Tue Apr 11 16:34:03 UTC 2023


On Tue, Apr 11, 2023 at 04:23:02PM +0000, Anusha Srivatsa wrote:
>
>
>> -----Original Message-----
>> From: Roper, Matthew D <matthew.d.roper at intel.com>
>> Sent: Monday, April 10, 2023 11:45 AM
>> To: De Marchi, Lucas <lucas.demarchi at intel.com>
>> Cc: Srivatsa, Anusha <anusha.srivatsa at intel.com>; intel-
>> xe at lists.freedesktop.org
>> Subject: Re: [Intel-xe] [PATCH] drm/xe: Add Rocketlake device info
>>
>> On Mon, Apr 10, 2023 at 11:37:26AM -0700, Lucas De Marchi wrote:
>> > On Mon, Apr 10, 2023 at 11:05:04AM -0700, Anusha Srivatsa wrote:
>> > > Add missing device info for Rocketlake.
>> > >
>> > > v2: Also add abox_mask to the device info(lucas)
>> > > v3: rebase
>> > >
>> > > Signed-off-by: Anusha Srivatsa <anusha.srivatsa at intel.com>
>> > > Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>(v2)
>> > > ---
>> > > drivers/gpu/drm/xe/xe_display.c | 11 +++++++++++
>> > > drivers/gpu/drm/xe/xe_pci.c     |  8 ++++++++
>> > > 2 files changed, 19 insertions(+)
>> > >
>> > > 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),
>> > > +		};
>> > > +		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 b92d8b5a391e..a81427019d02
>> > > 100644
>> > > --- a/drivers/gpu/drm/xe/xe_pci.c
>> > > +++ b/drivers/gpu/drm/xe/xe_pci.c
>> > > @@ -179,6 +179,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,
>> >
>> > now it will have VCS2 as a possible engine. Not sure if the fusing
>> > will handle this correctly or if we should create a different
>> > xe_media_desc for rkl.  Matt?
>>
>> We should double check to be sure, but in theory the fuse readout should handle
>> this properly.
>
>Hmm went ahead with the assumption that the fusing will handle the engines properly. I will add a check in read_media_fuses()

this is more a question than a direction to add more checks. If this is
tested in a RKL machine and confirmed the fusing for VCS2 is read
correctly, then we can keep it simple and not bother with additional
checks in read_media_fuses(). If it is, you should be seeing this in
dmesg:

	drm_info(&xe->drm, "vcs%u fused off\n", j);


Lucas De Marchi

>
>Thanks,
>Anusha
>>
>> Matt
>>
>> >
>> > Lucas De Marchi
>> >
>> > > +	PLATFORM(XE_ROCKETLAKE),
>> > > +	.require_force_probe = true,
>> > > +};
>> > > +
>> > > static const struct xe_device_desc adl_s_desc = {
>> > > 	.graphics = &graphics_xelp,
>> > > 	.media = &media_xem,
>> > > @@ -301,6 +308,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