Commit 866b2b17 authored by Koby Elbaz's avatar Koby Elbaz Committed by Rodrigo Vivi
Browse files

drm/xe: add MMIO extension support flags



Besides the regular MMIO space that exists by default, MMIO
extension support & MMIO extension tile size should both be
defined per device, and updated from the device's descriptor.

Signed-off-by: default avatarKoby Elbaz <kelbaz@habana.ai>
Reviewed-by: default avatarOfir Bitton <obitton@habana.ai>
Reviewed-by: default avatarMoti Haimovski <mhaimovski@habana.ai>
Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent fdef72e0
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -200,6 +200,8 @@ struct xe_device {
		const char *graphics_name;
		/** @media_name: media IP name */
		const char *media_name;
		/** @tile_mmio_ext_size: size of MMIO extension space, per-tile */
		u32 tile_mmio_ext_size;
		/** @graphics_verx100: graphics IP version */
		u32 graphics_verx100;
		/** @media_verx100: media IP version */
@@ -245,6 +247,8 @@ struct xe_device {
		u8 has_range_tlb_invalidation:1;
		/** @bypass_mtcfg: Bypass Multi-Tile configuration from MTCFG register */
		u8 bypass_mtcfg:1;
		/** @supports_mmio_ext: supports MMIO extension/s */
		u8 supports_mmio_ext:1;
	} info;

	/** @irq: device interrupt state */
+3 −0
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ struct xe_device_desc {
	u8 is_dgfx:1;
	u8 has_llc:1;
	u8 bypass_mtcfg:1;
	u8 supports_mmio_ext:1;
};

#define PLATFORM(x)		\
@@ -555,6 +556,8 @@ static int xe_info_init(struct xe_device *xe,
	xe->info.media_name = media_desc ? media_desc->name : "none";
	xe->info.has_llc = desc->has_llc;
	xe->info.bypass_mtcfg = desc->bypass_mtcfg;
	xe->info.supports_mmio_ext = desc->supports_mmio_ext;
	xe->info.tile_mmio_ext_size = graphics_desc->tile_mmio_ext_size;

	xe->info.dma_mask_size = graphics_desc->dma_mask_size;
	xe->info.vram_flags = graphics_desc->vram_flags;
+2 −0
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ struct xe_graphics_desc {

	u64 hw_engine_mask;	/* hardware engines provided by graphics IP */

	u32 tile_mmio_ext_size; /* size of MMIO extension space, per-tile */

	u8 max_remote_tiles:2;

	u8 has_asid:1;