Lines Matching defs:xe

28 static void resize_bar(struct xe_device *xe, int resno, resource_size_t size)
30 struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
36 drm_info(&xe->drm, "Failed to resize BAR%d to %dM (%pe). Consider enabling 'Resizable BAR' support in your BIOS\n",
41 drm_info(&xe->drm, "BAR%d resized to %dM\n", resno, 1 << bar_size);
48 void xe_vram_resize_bar(struct xe_device *xe)
51 struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
71 drm_info(&xe->drm,
93 drm_info(&xe->drm, "Attempting to resize bar from %lluMiB -> %lluMiB\n",
106 drm_info(&xe->drm, "Can't resize VRAM BAR - platform support is missing. Consider enabling 'Resizable BAR' support in your BIOS\n");
113 resize_bar(xe, LMEM_BAR, rebar_size);
133 static int determine_lmem_bar_size(struct xe_device *xe, struct xe_vram_region *lmem_bar)
135 struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
138 drm_err(&xe->drm, "pci resource is not valid\n");
147 /* XXX: Need to change when xe link code is ready */
158 struct xe_device *xe = gt_to_xe(gt);
167 if (GRAPHICS_VER(xe) >= 20) {
188 xe_assert_msg(xe, offset == (xe_mmio_read64_2x32(&gt_to_tile(gt)->mmio, GSMBASE) -
224 struct xe_device *xe = tile_to_xe(tile);
229 if (IS_SRIOV_VF(xe)) {
234 for_each_tile(t, xe, id)
246 if (unlikely(xe->info.platform == XE_DG1)) {
247 *tile_size = pci_resource_len(to_pci_dev(xe->drm.dev), LMEM_BAR);
256 if (xe->info.has_flat_ccs) {
273 struct xe_device *xe = arg;
277 xe->mem.vram->mapping = NULL;
279 for_each_tile(tile, xe, id) {
286 struct xe_vram_region *xe_vram_region_alloc(struct xe_device *xe, u8 id, u32 placement)
289 struct drm_device *drm = &xe->drm;
291 xe_assert(xe, id < xe->info.tile_count);
297 vram->xe = xe;
301 vram->migrate = xe->tiles[id].migrate;
306 static void print_vram_region_info(struct xe_device *xe, struct xe_vram_region *vram)
308 struct drm_device *drm = &xe->drm;
321 static int vram_region_init(struct xe_device *xe, struct xe_vram_region *vram,
334 drm_err(&xe->drm, "Tile without any CPU visible VRAM. Aborting.\n");
342 print_vram_region_info(xe, vram);
349 * @xe: the &xe_device
355 int xe_vram_probe(struct xe_device *xe)
365 if (!IS_DGFX(xe))
368 err = determine_lmem_bar_size(xe, &lmem_bar);
371 drm_info(&xe->drm, "VISIBLE VRAM: %pa, %pa\n", &lmem_bar.io_start, &lmem_bar.io_size);
375 for_each_tile(tile, xe, id) {
387 err = vram_region_init(xe, tile->mem.vram, &lmem_bar, tile_offset, usable_size,
393 drm_info(&xe->drm, "VRAM: %pa is larger than resource %pa\n",
400 err = vram_region_init(xe, xe->mem.vram, &lmem_bar, 0, available_size, total_size,
405 return devm_add_action_or_reset(xe->drm.dev, vram_fini, xe);