From: Alexander Usyskin Date: Tue, 7 Nov 2023 11:55:58 +0000 (+0200) Subject: drm/xe/gsc: enable pvc support X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=86017f3898d4ac0ab6c01376ef734c23347b38e7;p=linux.git drm/xe/gsc: enable pvc support Configure and enable PVC HECI GSC support. Signed-off-by: Alexander Usyskin Reviewed-by: Daniele Ceraolo Spurio Signed-off-by: Rodrigo Vivi --- diff --git a/drivers/gpu/drm/xe/regs/xe_regs.h b/drivers/gpu/drm/xe/regs/xe_regs.h index 7202084198bdb..924f7c949d558 100644 --- a/drivers/gpu/drm/xe/regs/xe_regs.h +++ b/drivers/gpu/drm/xe/regs/xe_regs.h @@ -35,6 +35,7 @@ #define XEHPC_BCS8_RING_BASE 0x3ee000 #define DG1_GSC_HECI2_BASE 0x00259000 +#define PVC_GSC_HECI2_BASE 0x00285000 #define DG2_GSC_HECI2_BASE 0x00374000 #define GSCCS_RING_BASE 0x11a000 diff --git a/drivers/gpu/drm/xe/xe_heci_gsc.c b/drivers/gpu/drm/xe/xe_heci_gsc.c index 3328ddca42d03..d8e982e3d9a2c 100644 --- a/drivers/gpu/drm/xe/xe_heci_gsc.c +++ b/drivers/gpu/drm/xe/xe_heci_gsc.c @@ -70,6 +70,13 @@ static const struct heci_gsc_def heci_gsc_def_dg2 = { .bar_size = GSC_BAR_LENGTH, }; +static const struct heci_gsc_def heci_gsc_def_pvc = { + .name = "mei-gscfi", + .bar = PVC_GSC_HECI2_BASE, + .bar_size = GSC_BAR_LENGTH, + .slow_firmware = true, +}; + static void heci_gsc_release_dev(struct device *dev) { struct auxiliary_device *aux_dev = to_auxiliary_dev(dev); @@ -172,7 +179,9 @@ void xe_heci_gsc_init(struct xe_device *xe) heci_gsc->irq = -1; - if (xe->info.platform == XE_DG2) { + if (xe->info.platform == XE_PVC) { + def = &heci_gsc_def_pvc; + } else if (xe->info.platform == XE_DG2) { def = &heci_gsc_def_dg2; } else if (xe->info.platform == XE_DG1) { def = &heci_gsc_def_dg1; diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c index eec2b852c7aaa..40d89d4df87c4 100644 --- a/drivers/gpu/drm/xe/xe_pci.c +++ b/drivers/gpu/drm/xe/xe_pci.c @@ -301,6 +301,7 @@ static const __maybe_unused struct xe_device_desc pvc_desc = { DGFX_FEATURES, PLATFORM(XE_PVC), .require_force_probe = true, + .has_heci_gscfi = 1, }; static const struct xe_device_desc mtl_desc = {