Lines Matching refs:xe

28 	struct xe_device *xe = arg;  in tiles_fini()  local
32 for_each_remote_tile(tile, xe, id) in tiles_fini()
55 static void mmio_multi_tile_setup(struct xe_device *xe, size_t tile_mmio_size) in mmio_multi_tile_setup() argument
65 if (xe->info.tile_count == 1) in mmio_multi_tile_setup()
69 if (!xe->info.skip_mtcfg) { in mmio_multi_tile_setup()
70 struct xe_mmio *mmio = xe_root_tile_mmio(xe); in mmio_multi_tile_setup()
82 if (tile_count < xe->info.tile_count) { in mmio_multi_tile_setup()
83 drm_info(&xe->drm, "tile_count: %d, reduced_tile_count %d\n", in mmio_multi_tile_setup()
84 xe->info.tile_count, tile_count); in mmio_multi_tile_setup()
85 xe->info.tile_count = tile_count; in mmio_multi_tile_setup()
93 xe->info.gt_count = xe->info.tile_count; in mmio_multi_tile_setup()
97 regs = xe->mmio.regs; in mmio_multi_tile_setup()
98 for_each_tile(tile, xe, id) { in mmio_multi_tile_setup()
124 static void mmio_extension_setup(struct xe_device *xe, size_t tile_mmio_size, in mmio_extension_setup() argument
131 if (!xe->info.has_mmio_ext) in mmio_extension_setup()
134 regs = xe->mmio.regs + tile_mmio_size * xe->info.tile_count; in mmio_extension_setup()
135 for_each_tile(tile, xe, id) { in mmio_extension_setup()
143 int xe_mmio_probe_tiles(struct xe_device *xe) in xe_mmio_probe_tiles() argument
146 size_t tile_mmio_ext_size = xe->info.tile_mmio_ext_size; in xe_mmio_probe_tiles()
148 mmio_multi_tile_setup(xe, tile_mmio_size); in xe_mmio_probe_tiles()
149 mmio_extension_setup(xe, tile_mmio_size, tile_mmio_ext_size); in xe_mmio_probe_tiles()
151 return devm_add_action_or_reset(xe->drm.dev, tiles_fini, xe); in xe_mmio_probe_tiles()
156 struct xe_device *xe = arg; in mmio_fini() local
157 struct xe_tile *root_tile = xe_device_get_root_tile(xe); in mmio_fini()
159 pci_iounmap(to_pci_dev(xe->drm.dev), xe->mmio.regs); in mmio_fini()
160 xe->mmio.regs = NULL; in mmio_fini()
164 int xe_mmio_init(struct xe_device *xe) in xe_mmio_init() argument
166 struct xe_tile *root_tile = xe_device_get_root_tile(xe); in xe_mmio_init()
167 struct pci_dev *pdev = to_pci_dev(xe->drm.dev); in xe_mmio_init()
174 xe->mmio.size = pci_resource_len(pdev, GTTMMADR_BAR); in xe_mmio_init()
175 xe->mmio.regs = pci_iomap(pdev, GTTMMADR_BAR, 0); in xe_mmio_init()
176 if (xe->mmio.regs == NULL) { in xe_mmio_init()
177 drm_err(&xe->drm, "failed to map registers\n"); in xe_mmio_init()
183 root_tile->mmio.regs = xe->mmio.regs; in xe_mmio_init()
186 return devm_add_action_or_reset(xe->drm.dev, mmio_fini, xe); in xe_mmio_init()
194 if (mmio->tile->xe->info.platform != XE_LUNARLAKE) in mmio_flush_pending_writes()
335 drm_WARN(&mmio->tile->xe->drm, retries == 0, in xe_mmio_read64_2x32()