]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe/vf: Don't check has flat ccs in bios on VF
authorJakub Kolakowski <jakub1.kolakowski@intel.com>
Wed, 11 Dec 2024 06:42:09 +0000 (07:42 +0100)
committerMatt Roper <matthew.d.roper@intel.com>
Tue, 7 Jan 2025 23:22:00 +0000 (15:22 -0800)
Don't check for flat ccs from VF-level as VF does not have direct
access to the register.

If the BIOS disables FlatCCS support (a use-case that will nearly never
be used) and the has_flat_ccs flag is set, there shouldn't be
any functional impact. The hardware will drop writes to the CCS region,
and reads from the CCS region will always return 0.
For the native case, the flag is disabled if the BIOS disables
it to avoid unnecessary overhead in buffer object (BO) creation
and migration.

Signed-off-by: Jakub Kolakowski <jakub1.kolakowski@intel.com>
Suggested-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Cc: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Michal Winiarski <michal.winiarski@intel.com>
Cc: Narasimha C V <narasimha.c.v@intel.com>
Cc: Piotr Piorkowski <piotr.piorkowski@intel.com>
Cc: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
Cc: Tomasz Lis <tomasz.lis@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241211064211.781820-2-marcin.bernatowicz@linux.intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
drivers/gpu/drm/xe/xe_device.c

index 7f021ec5f8e75933775d3072a27c4fc2010d7f30..bb627247c9c8d0a20ad8c9016cf7e33af111eaca 100644 (file)
@@ -607,7 +607,7 @@ static int probe_has_flat_ccs(struct xe_device *xe)
        u32 reg;
 
        /* Always enabled/disabled, no runtime check to do */
-       if (GRAPHICS_VER(xe) < 20 || !xe->info.has_flat_ccs)
+       if (GRAPHICS_VER(xe) < 20 || !xe->info.has_flat_ccs || IS_SRIOV_VF(xe))
                return 0;
 
        gt = xe_root_mmio_gt(xe);