drm/xe: Move xe_mmio_probe_tiles outside of MMIO setup
authorMichał Winiarski <michal.winiarski@intel.com>
Wed, 29 Nov 2023 21:45:01 +0000 (22:45 +0100)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:45:10 +0000 (11:45 -0500)
MMIO is going to be setup earlier during probe. Move xe_mmio_probe_tiles
outside of MMIO setup.

Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20231129214509.1174116-6-michal.winiarski@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_device.c
drivers/gpu/drm/xe/xe_mmio.c
drivers/gpu/drm/xe/xe_mmio.h

index dcb08710839316a4e93651f81ddd27b110967795..785bf2e610b7c98990a22c00138b0f26f03a2c3e 100644 (file)
@@ -403,6 +403,8 @@ int xe_device_probe(struct xe_device *xe)
        if (err)
                return err;
 
+       xe_mmio_probe_tiles(xe);
+
        err = drmm_add_action_or_reset(&xe->drm, xe_driver_flr_fini, xe);
        if (err)
                return err;
index 43f322cd30a1df1144770ce000f5b2a8c558a8c8..ab91be1405c960dff226ffbec6baa192dc20bd89 100644 (file)
@@ -295,7 +295,7 @@ int xe_mmio_probe_vram(struct xe_device *xe)
        return 0;
 }
 
-static void xe_mmio_probe_tiles(struct xe_device *xe)
+void xe_mmio_probe_tiles(struct xe_device *xe)
 {
        size_t tile_mmio_size = SZ_16M, tile_mmio_ext_size = xe->info.tile_mmio_ext_size;
        u8 id, tile_count = xe->info.tile_count;
@@ -409,8 +409,6 @@ int xe_mmio_init(struct xe_device *xe)
        if (err)
                return err;
 
-       xe_mmio_probe_tiles(xe);
-
        return 0;
 }
 
index 218b796629adcf9d5afa66a2ebdf6113f643ab3f..c054c27f6925ded06b751d7f72267e8f38b00096 100644 (file)
@@ -21,6 +21,7 @@ struct xe_device;
 #define LMEM_BAR               2
 
 int xe_mmio_init(struct xe_device *xe);
+void xe_mmio_probe_tiles(struct xe_device *xe);
 
 static inline u8 xe_mmio_read8(struct xe_gt *gt, struct xe_reg reg)
 {