Lines Matching refs:xe
27 _resize_bar(struct xe_device *xe, int resno, resource_size_t size) in _resize_bar() argument
29 struct pci_dev *pdev = to_pci_dev(xe->drm.dev); in _resize_bar()
38 …drm_info(&xe->drm, "Failed to resize BAR%d to %dM (%pe). Consider enabling 'Resizable BAR' support… in _resize_bar()
43 drm_info(&xe->drm, "BAR%d resized to %dM\n", resno, 1 << bar_size); in _resize_bar()
50 static void resize_vram_bar(struct xe_device *xe) in resize_vram_bar() argument
53 struct pci_dev *pdev = to_pci_dev(xe->drm.dev); in resize_vram_bar()
78 drm_info(&xe->drm, in resize_vram_bar()
96 drm_info(&xe->drm, "Attempting to resize bar from %lluMiB -> %lluMiB\n", in resize_vram_bar()
109 …drm_info(&xe->drm, "Can't resize VRAM BAR - platform support is missing. Consider enabling 'Resiza… in resize_vram_bar()
116 _resize_bar(xe, LMEM_BAR, rebar_size); in resize_vram_bar()
136 static int determine_lmem_bar_size(struct xe_device *xe) in determine_lmem_bar_size() argument
138 struct pci_dev *pdev = to_pci_dev(xe->drm.dev); in determine_lmem_bar_size()
141 drm_err(&xe->drm, "pci resource is not valid\n"); in determine_lmem_bar_size()
145 resize_vram_bar(xe); in determine_lmem_bar_size()
147 xe->mem.vram.io_start = pci_resource_start(pdev, LMEM_BAR); in determine_lmem_bar_size()
148 xe->mem.vram.io_size = pci_resource_len(pdev, LMEM_BAR); in determine_lmem_bar_size()
149 if (!xe->mem.vram.io_size) in determine_lmem_bar_size()
153 xe->mem.vram.dpa_base = 0; in determine_lmem_bar_size()
156 xe->mem.vram.mapping = ioremap_wc(xe->mem.vram.io_start, xe->mem.vram.io_size); in determine_lmem_bar_size()
163 struct xe_device *xe = gt_to_xe(gt); in get_flat_ccs_offset() local
167 if (GRAPHICS_VER(xe) >= 20) { in get_flat_ccs_offset()
188 xe_assert_msg(xe, offset == (xe_mmio_read64_2x32(>_to_tile(gt)->mmio, GSMBASE) - in get_flat_ccs_offset()
221 struct xe_device *xe = tile_to_xe(tile); in tile_vram_size() local
227 if (IS_SRIOV_VF(xe)) { in tile_vram_size()
232 for_each_tile(t, xe, id) in tile_vram_size()
248 if (unlikely(xe->info.platform == XE_DG1)) { in tile_vram_size()
249 *tile_size = pci_resource_len(to_pci_dev(xe->drm.dev), LMEM_BAR); in tile_vram_size()
258 if (xe->info.has_flat_ccs) { in tile_vram_size()
274 struct xe_device *xe = arg; in vram_fini() local
278 if (xe->mem.vram.mapping) in vram_fini()
279 iounmap(xe->mem.vram.mapping); in vram_fini()
281 xe->mem.vram.mapping = NULL; in vram_fini()
283 for_each_tile(tile, xe, id) in vram_fini()
295 int xe_vram_probe(struct xe_device *xe) in xe_vram_probe() argument
307 if (!IS_DGFX(xe)) in xe_vram_probe()
311 tile = xe_device_get_root_tile(xe); in xe_vram_probe()
316 err = determine_lmem_bar_size(xe); in xe_vram_probe()
320 drm_info(&xe->drm, "VISIBLE VRAM: %pa, %pa\n", &xe->mem.vram.io_start, in xe_vram_probe()
321 &xe->mem.vram.io_size); in xe_vram_probe()
323 io_size = xe->mem.vram.io_size; in xe_vram_probe()
326 for_each_tile(tile, xe, id) { in xe_vram_probe()
332 tile->mem.vram.io_start = xe->mem.vram.io_start + tile_offset; in xe_vram_probe()
336 drm_err(&xe->drm, "Tile without any CPU visible VRAM. Aborting.\n"); in xe_vram_probe()
340 tile->mem.vram.dpa_base = xe->mem.vram.dpa_base + tile_offset; in xe_vram_probe()
342 tile->mem.vram.mapping = xe->mem.vram.mapping + tile_offset; in xe_vram_probe()
345 drm_info(&xe->drm, "Small BAR device\n"); in xe_vram_probe()
346 …drm_info(&xe->drm, "VRAM[%u, %u]: Actual physical size %pa, usable size exclude stolen %pa, CPU ac… in xe_vram_probe()
348 drm_info(&xe->drm, "VRAM[%u, %u]: DPA range: [%pa-%llx], io range: [%pa-%llx]\n", id, tile->id, in xe_vram_probe()
356 if (total_size > xe->mem.vram.io_size) { in xe_vram_probe()
357 drm_info(&xe->drm, "VRAM: %pa is larger than resource %pa\n", in xe_vram_probe()
358 &total_size, &xe->mem.vram.io_size); in xe_vram_probe()
364 xe->mem.vram.actual_physical_size = total_size; in xe_vram_probe()
366 drm_info(&xe->drm, "Total VRAM: %pa, %pa\n", &xe->mem.vram.io_start, in xe_vram_probe()
367 &xe->mem.vram.actual_physical_size); in xe_vram_probe()
368 drm_info(&xe->drm, "Available VRAM: %pa, %pa\n", &xe->mem.vram.io_start, in xe_vram_probe()
371 return devm_add_action_or_reset(xe->drm.dev, vram_fini, xe); in xe_vram_probe()