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;
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)
#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)
{
if (err)
return err;
- err = xe_set_dma_info(xe);
- if (err)
- return err;
-
xe_mmio_probe_tiles(xe);
return 0;