aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Winiarski <[email protected]>2023-11-29 22:45:00 +0100
committerRodrigo Vivi <[email protected]>2023-12-21 11:45:10 -0500
commit01c2413a5bc2c66ab54b4aebd3078823a148e69e (patch)
tree87dad0b2d84862fa0201a4c6f012c735fc9548fc
parent604f7e7777d663033063886b6a5362d0e6092e3a (diff)
drm/xe: Move xe_set_dma_info outside of MMIO setup
MMIO is going to be setup earlier during probe. Move xe_set_dma_info outside of MMIO setup. Signed-off-by: Michał Winiarski <[email protected]> Reviewed-by: Matthew Brost <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Rodrigo Vivi <[email protected]>
-rw-r--r--drivers/gpu/drm/xe/xe_device.c26
-rw-r--r--drivers/gpu/drm/xe/xe_mmio.c26
2 files changed, 26 insertions, 26 deletions
diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index 296260f142dc..dcb087108393 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -353,6 +353,28 @@ static void xe_device_sanitize(struct drm_device *drm, void *arg)
xe_gt_sanitize(gt);
}
+static int xe_set_dma_info(struct xe_device *xe)
+{
+ unsigned int mask_size = xe->info.dma_mask_size;
+ int err;
+
+ dma_set_max_seg_size(xe->drm.dev, xe_sg_segment_size(xe->drm.dev));
+
+ err = dma_set_mask(xe->drm.dev, DMA_BIT_MASK(mask_size));
+ if (err)
+ goto mask_err;
+
+ err = dma_set_coherent_mask(xe->drm.dev, DMA_BIT_MASK(mask_size));
+ if (err)
+ goto mask_err;
+
+ return 0;
+
+mask_err:
+ drm_err(&xe->drm, "Can't set DMA mask/consistent mask (%d)\n", err);
+ return err;
+}
+
int xe_device_probe(struct xe_device *xe)
{
struct xe_tile *tile;
@@ -367,6 +389,10 @@ int xe_device_probe(struct xe_device *xe)
if (err)
return err;
+ err = xe_set_dma_info(xe);
+ if (err)
+ return err;
+
for_each_tile(tile, xe, id) {
err = xe_tile_alloc(tile);
if (err)
diff --git a/drivers/gpu/drm/xe/xe_mmio.c b/drivers/gpu/drm/xe/xe_mmio.c
index 883610fc0abf..43f322cd30a1 100644
--- a/drivers/gpu/drm/xe/xe_mmio.c
+++ b/drivers/gpu/drm/xe/xe_mmio.c
@@ -25,28 +25,6 @@
#define BAR_SIZE_SHIFT 20
-static int xe_set_dma_info(struct xe_device *xe)
-{
- unsigned int mask_size = xe->info.dma_mask_size;
- int err;
-
- dma_set_max_seg_size(xe->drm.dev, xe_sg_segment_size(xe->drm.dev));
-
- err = dma_set_mask(xe->drm.dev, DMA_BIT_MASK(mask_size));
- if (err)
- goto mask_err;
-
- err = dma_set_coherent_mask(xe->drm.dev, DMA_BIT_MASK(mask_size));
- if (err)
- goto mask_err;
-
- return 0;
-
-mask_err:
- drm_err(&xe->drm, "Can't set DMA mask/consistent mask (%d)\n", err);
- return err;
-}
-
static void
_resize_bar(struct xe_device *xe, int resno, resource_size_t size)
{
@@ -431,10 +409,6 @@ int xe_mmio_init(struct xe_device *xe)
if (err)
return err;
- err = xe_set_dma_info(xe);
- if (err)
- return err;
-
xe_mmio_probe_tiles(xe);
return 0;