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: Koby Elbaz <kelbaz@habana.ai>
Reviewed-by: Ofir Bitton <obitton@habana.ai>
Reviewed-by: Moti Haimovski <mhaimovski@habana.ai>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
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 */
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 */
u8 is_dgfx:1;
u8 has_llc:1;
u8 bypass_mtcfg:1;
+ u8 supports_mmio_ext:1;
};
#define PLATFORM(x) \
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;
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;