[Intel-xe] [PATCH v3 04/20] drm/xe: Move xe_set_dma_info outside of MMIO setup
Michał Winiarski
michal.winiarski at intel.com
Tue Nov 14 13:02:15 UTC 2023
MMIO is going to be setup earlier during probe. Move xe_set_dma_info
outside of MMIO setup.
Signed-off-by: Michał Winiarski <michal.winiarski at intel.com>
Reviewed-by: Matthew Brost <matthew.brost at intel.com>
---
drivers/gpu/drm/xe/xe_device.c | 26 ++++++++++++++++++++++++++
drivers/gpu/drm/xe/xe_mmio.c | 26 --------------------------
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 af0abe56c24b7..ef5099eabde0a 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -342,6 +342,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;
@@ -356,6 +378,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 d8f9fabf715e9..1076ffdb3f92b 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)
{
@@ -430,10 +408,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;
--
2.42.1
More information about the Intel-xe
mailing list