Home
last modified time | relevance | path

Searched +full:0 +full:xe (Results 1 – 25 of 1009) sorted by relevance

12345678910>>...41

/linux/drivers/gpu/drm/xe/
H A Dxe_device.c90 struct xe_device *xe = to_xe_device(dev); in xe_file_open()
108 xef->xe = xe; in xe_file_open()
128 return 0; in xe_file_destroy()
148 * xe_file_get() - Take a reference to the xe file object
149 * @xef: Pointer to the xe file in xe_file_get()
151 * Anyone with a pointer to xef must take a reference to the xe file in xe_file_get()
154 * Return: xe file pointer
163 * xe_file_put() - Drop a reference to the xe file object in xe_file_put()
164 * @xef: Pointer to the xe fil in xe_file_put()
87 struct xe_device *xe = to_xe_device(dev); xe_file_open() local
168 struct xe_device *xe = to_xe_device(dev); xe_file_close() local
224 struct xe_device *xe = to_xe_device(file_priv->minor->dev); xe_drm_ioctl() local
242 struct xe_device *xe = to_xe_device(file_priv->minor->dev); xe_drm_compat_ioctl() local
326 struct xe_device *xe = to_xe_device(dev); xe_pci_barrier_mmap() local
449 xe_device_is_admin_only(const struct xe_device * xe) xe_device_is_admin_only() argument
458 struct xe_device *xe = to_xe_device(dev); xe_device_destroy() local
488 struct xe_device *xe; xe_device_create() local
522 xe_device_init_early(struct xe_device * xe) xe_device_init_early() argument
604 xe_driver_flr_disabled(struct xe_device * xe) xe_driver_flr_disabled() argument
630 __xe_driver_flr(struct xe_device * xe) __xe_driver_flr() argument
676 xe_driver_flr(struct xe_device * xe) xe_driver_flr() argument
686 struct xe_device *xe = arg; xe_driver_flr_fini() local
694 struct xe_device *xe = arg; xe_device_sanitize() local
702 xe_set_dma_info(struct xe_device * xe) xe_set_dma_info() argument
724 assert_lmem_ready(struct xe_device * xe) assert_lmem_ready() argument
733 vf_update_device_info(struct xe_device * xe) vf_update_device_info() argument
747 xe_device_vram_alloc(struct xe_device * xe) xe_device_vram_alloc() argument
772 xe_device_probe_early(struct xe_device * xe) xe_device_probe_early() argument
834 probe_has_flat_ccs(struct xe_device * xe) probe_has_flat_ccs() argument
873 detect_preproduction_hw(struct xe_device * xe) detect_preproduction_hw() argument
918 struct xe_device *xe = arg; xe_device_wedged_fini() local
925 xe_debug_page_size_alloc_ctrl_init(struct xe_device * xe) xe_debug_page_size_alloc_ctrl_init() argument
939 xe_debug_page_size_alloc_ctrl_init(struct xe_device * xe) xe_debug_page_size_alloc_ctrl_init() argument
945 xe_device_probe(struct xe_device * xe) xe_device_probe() argument
1164 xe_device_remove(struct xe_device * xe) xe_device_remove() argument
1173 xe_device_shutdown(struct xe_device * xe) xe_device_shutdown() argument
1204 xe_device_wmb(struct xe_device * xe) xe_device_wmb() argument
1214 tdf_request_sync(struct xe_device * xe) tdf_request_sync() argument
1245 xe_device_is_l2_flush_optimized(struct xe_device * xe) xe_device_is_l2_flush_optimized() argument
1262 xe_device_l2_flush(struct xe_device * xe) xe_device_l2_flush() argument
1304 xe_device_td_flush(struct xe_device * xe) xe_device_td_flush() argument
1333 xe_device_ccs_bytes(struct xe_device * xe,u64 size) xe_device_ccs_bytes() argument
1350 xe_device_assert_mem_access(struct xe_device * xe) xe_device_assert_mem_access() argument
1355 xe_device_snapshot_print(struct xe_device * xe,struct drm_printer * p) xe_device_snapshot_print() argument
1376 xe_device_canonicalize_addr(struct xe_device * xe,u64 address) xe_device_canonicalize_addr() argument
1381 xe_device_uncanonicalize_addr(struct xe_device * xe,u64 address) xe_device_uncanonicalize_addr() argument
1430 xe_device_set_wedged_method(struct xe_device * xe,unsigned long method) xe_device_set_wedged_method() argument
1453 xe_device_declare_wedged(struct xe_device * xe) xe_device_declare_wedged() argument
1504 xe_device_validate_wedged_mode(struct xe_device * xe,unsigned int mode) xe_device_validate_wedged_mode() argument
1550 xe_device_asid_to_vm(struct xe_device * xe,u32 asid) xe_device_asid_to_vm() argument
[all...]
H A Dxe_sriov_pf_migration.c19 static struct xe_sriov_migration_state *pf_pick_migration(struct xe_device *xe, unsigned int vfid) in pf_pick_migration() argument
21 xe_assert(xe, IS_SRIOV_PF(xe)); in pf_pick_migration()
22 xe_assert(xe, vfid <= xe_sriov_pf_get_totalvfs(xe)); in pf_pick_migration()
24 return &xe->sriov.pf.vfs[vfid].migration; in pf_pick_migration()
29 * @xe: the &xe_device
34 wait_queue_head_t *xe_sriov_pf_migration_waitqueue(struct xe_device *xe, unsigned int vfid) in xe_sriov_pf_migration_waitqueue() argument
36 return &pf_pick_migration(xe, vfid)->wq; in xe_sriov_pf_migration_waitqueue()
41 * @xe: the &xe_device
45 bool xe_sriov_pf_migration_supported(struct xe_device *xe) in xe_sriov_pf_migration_supported() argument
47 xe_assert(xe, IS_SRIOV_PF(xe)); in xe_sriov_pf_migration_supported()
[all …]
H A Dxe_pci_sriov.c26 static void pf_reset_vfs(struct xe_device *xe, unsigned int num_vfs) in pf_reset_vfs() argument
31 xe_sriov_pf_control_reset_vf(xe, n); in pf_reset_vfs()
34 static void pf_link_vfs(struct xe_device *xe, int num_vfs) in pf_link_vfs() argument
36 struct pci_dev *pdev_pf = to_pci_dev(xe->drm.dev); in pf_link_vfs()
56 xe_sriov_err(xe, "Cannot find VF%u device, aborting link%s creation!\n", in pf_link_vfs()
65 xe_sriov_notice(xe, "Failed linking VF%u\n", n); in pf_link_vfs()
71 static void pf_engine_activity_stats(struct xe_device *xe, unsigned int num_vfs, bool enable) in pf_engine_activity_stats() argument
75 int ret = 0; in pf_engine_activity_stats()
77 for_each_gt(gt, xe, id) { in pf_engine_activity_stats()
85 static int pf_resize_vf_vram_bar(struct xe_device *xe, int num_vfs) in pf_resize_vf_vram_bar() argument
[all …]
H A Dxe_bo_evict.c15 static int xe_bo_apply_to_pinned(struct xe_device *xe, in xe_bo_apply_to_pinned() argument
22 int ret = 0; in xe_bo_apply_to_pinned()
24 spin_lock(&xe->pinned.lock); in xe_bo_apply_to_pinned()
32 spin_unlock(&xe->pinned.lock); in xe_bo_apply_to_pinned()
36 spin_lock(&xe->pinned.lock); in xe_bo_apply_to_pinned()
44 spin_unlock(&xe->pinned.lock); in xe_bo_apply_to_pinned()
47 spin_lock(&xe->pinned.lock); in xe_bo_apply_to_pinned()
50 spin_unlock(&xe->pinned.lock); in xe_bo_apply_to_pinned()
58 * @xe: xe device
62 * Return: 0 on success, negative error code on error.
[all …]
H A Dxe_sriov_pf_service.c18 * @xe: the &xe_device to initialize
24 void xe_sriov_pf_service_init(struct xe_device *xe) in xe_sriov_pf_service_init() argument
29 xe_assert(xe, IS_SRIOV_PF(xe)); in xe_sriov_pf_service_init()
32 xe->sriov.pf.service.version.base.major = GUC_RELAY_VERSION_BASE_MAJOR; in xe_sriov_pf_service_init()
33 xe->sriov.pf.service.version.base.minor = GUC_RELAY_VERSION_BASE_MINOR; in xe_sriov_pf_service_init()
36 xe->sriov.pf.service.version.latest.major = GUC_RELAY_VERSION_LATEST_MAJOR; in xe_sriov_pf_service_init()
37 xe->sriov.pf.service.version.latest.minor = GUC_RELAY_VERSION_LATEST_MINOR; in xe_sriov_pf_service_init()
40 /* Return: 0 on success or a negative error code on failure. */
41 static int pf_negotiate_version(struct xe_device *xe, in pf_negotiate_version() argument
45 struct xe_sriov_pf_service_version base = xe->sriov.pf.service.version.base; in pf_negotiate_version()
[all …]
H A Dxe_heci_gsc.c19 #define GSC_BAR_LENGTH 0x00000FFC
102 if (heci_gsc->irq >= 0) in xe_heci_gsc_fini()
108 static int heci_gsc_irq_setup(struct xe_device *xe) in heci_gsc_irq_setup() argument
110 struct xe_heci_gsc *heci_gsc = &xe->heci_gsc; in heci_gsc_irq_setup()
113 heci_gsc->irq = irq_alloc_desc(0); in heci_gsc_irq_setup()
114 if (heci_gsc->irq < 0) { in heci_gsc_irq_setup()
115 drm_err(&xe->drm, "gsc irq error %d\n", heci_gsc->irq); in heci_gsc_irq_setup()
120 if (ret < 0) in heci_gsc_irq_setup()
121 drm_err(&xe->drm, "gsc irq init failed %d\n", ret); in heci_gsc_irq_setup()
126 static int heci_gsc_add_device(struct xe_device *xe, const struct heci_gsc_def *def) in heci_gsc_add_device() argument
[all …]
H A Dxe_rtp.c28 static bool has_samedia(const struct xe_device *xe) in has_samedia() argument
30 return xe->info.media_verx100 >= 1300; in has_samedia()
34 const struct xe_device *xe; member
50 const struct xe_device *xe = match_ctx->xe; in rule_match_item() local
57 return xe->info.platform == r->platform; in rule_match_item()
59 return xe->info.platform == r->platform && in rule_match_item()
60 xe->info.subplatform == r->subplatform; in rule_match_item()
62 if (drm_WARN_ON(&xe->drm, xe->info.step.platform == STEP_NONE)) in rule_match_item()
65 return xe->info.step.platform >= r->step_start && in rule_match_item()
66 xe->info.step.platform < r->step_end; in rule_match_item()
[all …]
H A Dxe_i2c.c3 * Intel Xe I2C attached Microcontroller Units (MCU)
39 * DOC: Xe I2C devices
53 PROPERTY_ENTRY_STRING("compatible", "intel,xe-i2c"),
62 val[0] = xe_mmio_read32(mmio, REG_SG_REMAP_ADDR_PREFIX); in xe_i2c_read_endpoint()
79 xe_mmio_rmw32(i2c->mmio, I2C_CONFIG_CMD, PCI_COMMAND_INTX_DISABLE, 0); in xe_i2c_handle_smbus_alert()
142 return 0; in xe_i2c_register_adapter()
157 * @xe: xe device instance
164 bool xe_i2c_present(struct xe_device *xe) in xe_i2c_present() argument
166 return xe in xe_i2c_present()
169 xe_i2c_irq_present(struct xe_device * xe) xe_i2c_irq_present() argument
183 xe_i2c_irq_handler(struct xe_device * xe,u32 master_ctl) xe_i2c_irq_handler() argument
191 xe_i2c_irq_reset(struct xe_device * xe) xe_i2c_irq_reset() argument
202 xe_i2c_irq_postinstall(struct xe_device * xe) xe_i2c_irq_postinstall() argument
293 xe_i2c_pm_suspend(struct xe_device * xe) xe_i2c_pm_suspend() argument
304 xe_i2c_pm_resume(struct xe_device * xe,bool d3cold) xe_i2c_pm_resume() argument
321 struct xe_device *xe = tile_to_xe(i2c->mmio->tile); xe_i2c_remove() local
348 xe_i2c_probe(struct xe_device * xe) xe_i2c_probe() argument
[all...]
H A Dxe_bo.c54 .fpfn = 0,
55 .lpfn = 0,
57 .flags = 0,
69 .fpfn = 0,
70 .lpfn = 0,
75 .fpfn = 0,
76 .lpfn = 0,
88 for (unsigned int __bit_tmp = BIT(0); __bit_tmp <= XE_BO_FLAG_VRAM_MASK; __bit_tmp <<= 1) \
96 static bool resource_is_stolen_vram(struct xe_device *xe, struct ttm_resource *res) in resource_is_stolen_vram()
98 return res->mem_type == XE_PL_STOLEN && IS_DGFX(xe); in resource_is_stolen_vram()
95 resource_is_stolen_vram(struct xe_device * xe,struct ttm_resource * res) resource_is_stolen_vram() argument
167 mem_type_to_migrate(struct xe_device * xe,u32 mem_type) mem_type_to_migrate() argument
176 try_add_system(struct xe_device * xe,struct xe_bo * bo,u32 bo_flags,u32 * c) try_add_system() argument
209 vram_bo_flag_to_tile_id(struct xe_device * xe,u32 vram_bo_flag) vram_bo_flag_to_tile_id() argument
217 bo_vram_flags_to_vram_placement(struct xe_device * xe,u32 bo_flags,u32 vram_flag,enum ttm_bo_type type) bo_vram_flags_to_vram_placement() argument
230 add_vram(struct xe_device * xe,struct xe_bo * bo,struct ttm_place * places,u32 bo_flags,u32 mem_type,u32 * c) add_vram() argument
261 try_add_vram(struct xe_device * xe,struct xe_bo * bo,u32 bo_flags,enum ttm_bo_type type,u32 * c) try_add_vram() argument
273 try_add_stolen(struct xe_device * xe,struct xe_bo * bo,u32 bo_flags,u32 * c) try_add_stolen() argument
288 __xe_bo_placement_for_flags(struct xe_device * xe,struct xe_bo * bo,u32 bo_flags,enum ttm_bo_type type) __xe_bo_placement_for_flags() argument
308 xe_bo_placement_for_flags(struct xe_device * xe,struct xe_bo * bo,u32 bo_flags,enum ttm_bo_type type) xe_bo_placement_for_flags() argument
318 struct xe_device *xe = container_of(tbo->bdev, typeof(*xe), ttm); xe_evict_flags() local
388 xe_tt_map_sg(struct xe_device * xe,struct ttm_tt * tt) xe_tt_map_sg() argument
420 xe_tt_unmap_sg(struct xe_device * xe,struct ttm_tt * tt) xe_tt_unmap_sg() argument
444 xe_ttm_tt_account_add(struct xe_device * xe,struct ttm_tt * tt) xe_ttm_tt_account_add() argument
454 xe_ttm_tt_account_subtract(struct xe_device * xe,struct ttm_tt * tt) xe_ttm_tt_account_subtract() argument
491 struct xe_device *xe = xe_bo_device(bo); xe_bo_account_pin() local
515 struct xe_device *xe = xe_bo_device(bo); xe_bo_account_unpin() local
562 struct xe_device *xe = ttm_to_xe_device(ttm_dev); update_global_total_pages() local
575 struct xe_device *xe = xe_bo_device(bo); xe_ttm_tt_create() local
682 struct xe_device *xe = ttm_to_xe_device(ttm_dev); xe_ttm_tt_unpopulate() local
701 xe_ttm_resource_visible(struct xe_device * xe,struct ttm_resource * mem) xe_ttm_resource_visible() argument
735 struct xe_device *xe = ttm_to_xe_device(bdev); xe_ttm_io_mem_reserve() local
769 xe_bo_trigger_rebind(struct xe_device * xe,struct xe_bo * bo,const struct ttm_operation_ctx * ctx) xe_bo_trigger_rebind() argument
851 struct xe_device *xe = ttm_to_xe_device(ttm_bo->bdev); xe_bo_move_dmabuf() local
909 struct xe_device *xe = ttm_to_xe_device(ttm_bo->bdev); xe_bo_move_notify() local
961 struct xe_device *xe = ttm_to_xe_device(ttm_bo->bdev); xe_bo_set_purgeable_shrinker() local
998 struct xe_device *xe = xe_bo_device(bo); xe_bo_set_purgeable_state() local
1070 struct xe_device *xe = ttm_to_xe_device(ttm_bo->bdev); xe_bo_move() local
1316 struct xe_device *xe = ttm_to_xe_device(bo->bdev); xe_bo_shrink_purge() local
1395 struct xe_device *xe = ttm_to_xe_device(bo->bdev); xe_bo_shrink() local
1457 struct xe_device *xe = ttm_to_xe_device(bo->ttm.bdev); xe_bo_notifier_prepare_pinned() local
1527 struct xe_device *xe = xe_bo_device(bo); xe_bo_evict_pinned_copy() local
1595 struct xe_device *xe = ttm_to_xe_device(bo->ttm.bdev); xe_bo_evict_pinned() local
1665 struct xe_device *xe = ttm_to_xe_device(bo->ttm.bdev); xe_bo_restore_pinned() local
1786 struct xe_device *xe = ttm_to_xe_device(ttm_bo->bdev); xe_ttm_bo_lock_in_destructor() local
1891 struct xe_device *xe = ttm_to_xe_device(ttm_bo->bdev); xe_ttm_access_memory() local
1958 struct xe_device *xe = ttm_to_xe_device(ttm_bo->bdev); xe_ttm_bo_destroy() local
2076 __xe_bo_cpu_fault(struct vm_fault * vmf,struct xe_device * xe,struct xe_bo * bo) __xe_bo_cpu_fault() argument
2119 xe_bo_cpu_fault_fastpath(struct vm_fault * vmf,struct xe_device * xe,struct xe_bo * bo,bool needs_rpm) xe_bo_cpu_fault_fastpath() argument
2189 struct xe_device *xe = to_xe_device(ddev); xe_bo_cpu_fault() local
2296 struct xe_device *xe = xe_bo_device(bo); xe_bo_vm_access() local
2423 xe_bo_init_locked(struct xe_device * xe,struct xe_bo * bo,struct xe_tile * tile,struct dma_resv * resv,struct ttm_lru_bulk_move * bulk,size_t size,u16 cpu_caching,enum ttm_bo_type type,u32 flags,struct dma_buf * dma_buf,struct drm_exec * exec) xe_bo_init_locked() argument
2582 __xe_bo_fixed_placement(struct xe_device * xe,struct xe_bo * bo,enum ttm_bo_type type,u32 flags,u64 start,u64 end,u64 size) __xe_bo_fixed_placement() argument
2624 __xe_bo_create_locked(struct xe_device * xe,struct xe_tile * tile,struct xe_vm * vm,size_t size,u64 start,u64 end,u16 cpu_caching,enum ttm_bo_type type,u32 flags,u64 alignment,struct drm_exec * exec) __xe_bo_create_locked() argument
2722 xe_bo_create_locked(struct xe_device * xe,struct xe_tile * tile,struct xe_vm * vm,size_t size,enum ttm_bo_type type,u32 flags,struct drm_exec * exec) xe_bo_create_locked() argument
2731 xe_bo_create_novm(struct xe_device * xe,struct xe_tile * tile,size_t size,u16 cpu_caching,enum ttm_bo_type type,u32 flags,u64 alignment,bool intr) xe_bo_create_novm() argument
2758 xe_bo_debug_mixed_mode_cur_index_advance(struct xe_device * xe,struct xe_bo * bo) xe_bo_debug_mixed_mode_cur_index_advance() argument
2778 get_flag_from_cur_index_in_mixed_mode(struct xe_device * xe,size_t * align_size,int * err) get_flag_from_cur_index_in_mixed_mode() argument
2812 xe_bo_apply_debug_page_size_policy(struct xe_device * xe,u32 * bo_flags,size_t * size) xe_bo_apply_debug_page_size_policy() argument
2883 xe_bo_apply_debug_page_size_policy(struct xe_device * xe,u32 * bo_flags,size_t * size) xe_bo_apply_debug_page_size_policy() argument
2890 xe_bo_debug_mixed_mode_cur_index_advance(struct xe_device * xe,struct xe_bo * bo) xe_bo_debug_mixed_mode_cur_index_advance() argument
2910 xe_bo_create_user(struct xe_device * xe,struct xe_vm * vm,size_t size,u16 cpu_caching,u32 flags,struct drm_exec * exec) xe_bo_create_user() argument
2958 xe_bo_create_pin_range_novm(struct xe_device * xe,struct xe_tile * tile,size_t size,u64 start,u64 end,enum ttm_bo_type type,u32 flags) xe_bo_create_pin_range_novm() argument
2990 xe_bo_create_pin_map_at_aligned(struct xe_device * xe,struct xe_tile * tile,struct xe_vm * vm,size_t size,u64 offset,enum ttm_bo_type type,u32 flags,u64 alignment,struct drm_exec * exec) xe_bo_create_pin_map_at_aligned() argument
3052 xe_bo_create_pin_map_at_novm(struct xe_device * xe,struct xe_tile * tile,size_t size,u64 offset,enum ttm_bo_type type,u32 flags,u64 alignment,bool intr) xe_bo_create_pin_map_at_novm() argument
3095 xe_bo_create_pin_map(struct xe_device * xe,struct xe_tile * tile,struct xe_vm * vm,size_t size,enum ttm_bo_type type,u32 flags,struct drm_exec * exec) xe_bo_create_pin_map() argument
3121 xe_bo_create_pin_map_novm(struct xe_device * xe,struct xe_tile * tile,size_t size,enum ttm_bo_type type,u32 flags,bool intr) xe_bo_create_pin_map_novm() argument
3133 xe_managed_bo_create_pin_map(struct xe_device * xe,struct xe_tile * tile,size_t size,u32 flags) xe_managed_bo_create_pin_map() argument
3156 xe_managed_bo_create_from_data(struct xe_device * xe,struct xe_tile * tile,const void * data,size_t size,u32 flags) xe_managed_bo_create_from_data() argument
3182 xe_managed_bo_reinit_in_vram(struct xe_device * xe,struct xe_tile * tile,struct xe_bo ** src) xe_managed_bo_reinit_in_vram() argument
3210 struct xe_device *xe = ttm_to_xe_device(res->bo->bdev); vram_region_gpu_offset() local
3238 struct xe_device *xe = xe_bo_device(bo); xe_bo_pin_external() local
3281 struct xe_device *xe = xe_bo_device(bo); xe_bo_pin() local
3336 struct xe_device *xe = xe_bo_device(bo); xe_bo_unpin_external() local
3354 struct xe_device *xe = xe_bo_device(bo); xe_bo_unpin() local
3435 struct xe_device *xe = xe_bo_device(bo); __xe_bo_addr() local
3467 struct xe_device *xe = ttm_to_xe_device(bo->ttm.bdev); xe_bo_vmap() local
3515 gem_create_set_pxp_type(struct xe_device * xe,struct xe_bo * bo,u64 value) gem_create_set_pxp_type() argument
3535 gem_create_user_ext_set_property(struct xe_device * xe,struct xe_bo * bo,u64 extension) gem_create_user_ext_set_property() argument
3570 gem_create_user_extensions(struct xe_device * xe,struct xe_bo * bo,u64 extensions,int ext_number) gem_create_user_extensions() argument
3605 struct xe_device *xe = to_xe_device(dev); xe_gem_create_ioctl() local
3748 struct xe_device *xe = to_xe_device(dev); xe_gem_mmap_offset_ioctl() local
3803 struct xe_device *xe = xe_bo_device(bo); xe_bo_decompress() local
3936 struct xe_device *xe = ttm_to_xe_device(bo->ttm.bdev); xe_bo_migrate() local
4018 struct xe_device *xe = xe_bo_device(bo); xe_bo_needs_ccs_pages() local
4140 struct xe_device *xe = to_xe_device(dev); xe_bo_dumb_create() local
[all...]
H A Dxe_sysctrl.c36 #define XE_SYSCTRL_APP_RESP_VALID BIT(0) in sysctrl_fini()
45 XE_SYSCTRL_APP_OCODE = 0x0C, in xe_sysctrl_work()
46 XE_SYSCTRL_APP_DIAG = 0x0D, in xe_sysctrl_work()
51 struct xe_device *xe = arg;
52 struct xe_sysctrl *sc = &xe->sc;
55 xe->soc_remapper.set_sysctrl_region(xe, 0);
61 struct xe_device *xe = sc_to_xe(sc); in xe_sysctrl_init()
63 guard(xe_pm_runtime)(xe); in xe_sysctrl_init()
34 struct xe_device *xe = arg; sysctrl_fini() local
44 struct xe_device *xe = sc_to_xe(sc); xe_sysctrl_work() local
59 xe_sysctrl_init(struct xe_device * xe) xe_sysctrl_init() argument
100 xe_sysctrl_irq_handler(struct xe_device * xe,u32 master_ctl) xe_sysctrl_irq_handler() argument
118 xe_sysctrl_pm_resume(struct xe_device * xe) xe_sysctrl_pm_resume() argument
[all...]
H A Dxe_late_bind_fw.c58 struct xe_device *xe = late_bind_fw_to_xe(lb_fw); in parse_cpd_header() local
63 u32 offset = 0; in parse_cpd_header()
67 xe_assert(xe, manifest_entry); in parse_cpd_header()
73 drm_err(&xe->drm, "%s late binding fw: Invalid CPD header length %u!\n", in parse_cpd_header()
80 drm_err(&xe->drm, "%s late binding fw: too small! %zu < %zu\n", in parse_cpd_header()
87 for (i = 0; i < header->num_of_entries; i++, entry++) in parse_cpd_header()
88 if (strcmp(entry->name, manifest_entry) == 0) in parse_cpd_header()
92 drm_err(&xe->drm, "%s late binding fw: Failed to find manifest_entry\n", in parse_cpd_header()
99 drm_err(&xe->drm, "%s late binding fw: too small! %zu < %zu\n", in parse_cpd_header()
108 return 0; in parse_cpd_header()
[all …]
H A Dxe_vm_madvise.c55 madvise_range->num_vmas = 0; in get_vmas()
60 vm_dbg(&vm->xe->drm, "VMA's in range: start=0x%016llx, end=0x%016llx", addr, addr + range); in get_vmas()
89 vm_dbg(&vm->xe->drm, "madvise_range-num_vmas = %d\n", madvise_range->num_vmas); in get_vmas()
91 return 0; in get_vmas()
94 static void madvise_preferred_mem_loc(struct xe_device *xe, struct xe_vm *vm, in madvise_preferred_mem_loc() argument
101 xe_assert(vm->xe, op->type == DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC); in madvise_preferred_mem_loc()
103 for (i = 0; i < num_vmas; i++) { in madvise_preferred_mem_loc()
127 static void madvise_atomic(struct xe_device *xe, struc argument
169 madvise_pat_index(struct xe_device * xe,struct xe_vm * vm,struct xe_vma ** vmas,int num_vmas,struct drm_xe_madvise * op,struct xe_madvise_details * details) madvise_pat_index() argument
200 madvise_purgeable(struct xe_device * xe,struct xe_vm * vm,struct xe_vma ** vmas,int num_vmas,struct drm_xe_madvise * op,struct xe_madvise_details * details) madvise_purgeable() argument
349 madvise_args_are_sane(struct xe_device * xe,const struct drm_xe_madvise * args) madvise_args_are_sane() argument
443 struct xe_device *xe = vm->xe; xe_madvise_details_init() local
496 check_pat_args_are_sane(struct xe_device * xe,struct xe_vmas_in_madvise_range * madvise_range,u16 pat_index) check_pat_args_are_sane() argument
538 struct xe_device *xe = vm->xe; check_bo_args_are_sane() local
583 struct xe_device *xe = to_xe_device(dev); xe_vm_madvise_ioctl() local
[all...]
H A Dxe_nvm.c16 #define GEN12_GUNIT_NVM_BASE 0x00102040
17 #define GEN12_DEBUG_NVM_BASE 0x00101018
19 #define GEN12_CNTL_PROTECTED_NVM_REG 0x0010100C
21 #define GEN12_GUNIT_NVM_SIZE 0x80
22 #define GEN12_DEBUG_NVM_SIZE 0x4
29 [0] = { .name = "DESCRIPTOR", },
45 static bool xe_nvm_non_posted_erase(struct xe_device *xe) in xe_nvm_non_posted_erase()
47 struct xe_mmio *mmio = xe_root_tile_mmio(xe); in xe_nvm_non_posted_erase()
49 switch (xe->info.platform) { in xe_nvm_non_posted_erase()
59 static bool xe_nvm_writable_override(struct xe_device *xe) in xe_nvm_writable_override()
44 xe_nvm_non_posted_erase(struct xe_device * xe) xe_nvm_non_posted_erase() argument
58 xe_nvm_writable_override(struct xe_device * xe) xe_nvm_writable_override() argument
104 struct xe_device *xe = arg; xe_nvm_fini() local
123 xe_nvm_init(struct xe_device * xe) xe_nvm_init() argument
[all...]
H A Dxe_vram.c44 static int determine_lmem_bar_size(struct xe_device *xe, struct xe_vram_region *lmem_bar) in determine_lmem_bar_size()
46 struct pci_dev *pdev = to_pci_dev(xe->drm.dev); in determine_lmem_bar_size()
49 drm_err(&xe->drm, "pci resource is not valid\n"); in determine_lmem_bar_size()
58 /* XXX: Need to change when xe link code is ready */ in determine_lmem_bar_size()
59 lmem_bar->dpa_base = 0; in determine_lmem_bar_size()
61 return 0; in determine_lmem_bar_size()
66 struct xe_device *xe = gt_to_xe(gt); in get_flat_ccs_offset() local
74 if (GRAPHICS_VER(xe) >= 20) { in get_flat_ccs_offset()
93 drm_info(&xe->drm, "FLAT_CCS base:%llx, aligned:%s\n", offset, in get_flat_ccs_offset()
111 xe_assert_msg(xe, offse in get_flat_ccs_offset()
41 determine_lmem_bar_size(struct xe_device * xe,struct xe_vram_region * lmem_bar) determine_lmem_bar_size() argument
146 struct xe_device *xe = tile_to_xe(tile); tile_vram_size() local
195 struct xe_device *xe = arg; vram_fini() local
208 xe_vram_region_alloc(struct xe_device * xe,u8 id,u32 placement) xe_vram_region_alloc() argument
228 print_vram_region_info(struct xe_device * xe,struct xe_vram_region * vram) print_vram_region_info() argument
243 vram_region_init(struct xe_device * xe,struct xe_vram_region * vram,struct xe_vram_region * lmem_bar,u64 offset,u64 usable_size,u64 region_size,resource_size_t remain_io_size) vram_region_init() argument
279 struct xe_device *xe = ttm_to_xe_device(res->bo->bdev); xe_map_resource_to_region() local
298 xe_vram_probe(struct xe_device * xe) xe_vram_probe() argument
[all...]
H A Dxe_pmu.c20 * DOC: Xe PMU (Performance Monitoring Unit)
28 * $ ls /sys/bus/event_source/devices/xe_0000_00_02.0/events/
29 * $ ls /sys/bus/event_source/devices/xe_0000_00_02.0/format/
42 * For gt specific events (gt-*) gt parameter must be passed. All other parameters will be 0.
58 #define XE_PMU_EVENT_ID_MASK GENMASK_ULL(11, 0)
85 #define XE_PMU_EVENT_GT_C6_RESIDENCY 0x01
86 #define XE_PMU_EVENT_ENGINE_ACTIVE_TICKS 0x02
87 #define XE_PMU_EVENT_ENGINE_TOTAL_TICKS 0x03
88 #define XE_PMU_EVENT_GT_ACTUAL_FREQUENCY 0x04
89 #define XE_PMU_EVENT_GT_REQUESTED_FREQUENCY 0x05
[all …]
H A Dxe_pagefault.c26 * DOC: Xe page faults
28 * Xe page faults are handled in two layers. The producer layer interacts with
41 * DOC: Xe page fault cache in xe_pagefault_entry_size()
43 * Some Xe hardware can trigger “fault storms,” which are many page faults to in xe_pagefault_entry_size()
100 XE_PAGEFAULT_ALLOC_STATE_FREE = 0, in xe_pagefault_handle_vma()
129 return 0; in xe_pagefault_handle_vma()
141 return 0; in xe_pagefault_handle_vma()
156 int err = 0, needs_vram; in xe_pagefault_asid_to_vm() argument
160 needs_vram = xe_vma_need_vram_for_atomic(vm->xe, vma, atomic); in xe_pagefault_asid_to_vm()
161 if (needs_vram < 0) { in xe_pagefault_asid_to_vm()
174 struct xe_device *xe = gt_to_xe(gt); xe_pagefault_service() local
267 xe_pagefault_save_to_vm(struct xe_device * xe,struct xe_pagefault * pf) xe_pagefault_save_to_vm() argument
296 struct xe_device *xe = pf_queue->xe; xe_pagefault_queue_work() local
340 xe_pagefault_queue_init(struct xe_device * xe,struct xe_pagefault_queue * pf_queue) xe_pagefault_queue_init() argument
390 struct xe_device *xe = arg; xe_pagefault_fini() local
403 xe_pagefault_init(struct xe_device * xe) xe_pagefault_init() argument
429 xe_pagefault_queue_reset(struct xe_device * xe,struct xe_gt * gt,struct xe_pagefault_queue * pf_queue) xe_pagefault_queue_reset() argument
459 xe_pagefault_reset(struct xe_device * xe,struct xe_gt * gt) xe_pagefault_reset() argument
485 xe_pagefault_handler(struct xe_device * xe,struct xe_pagefault * pf) xe_pagefault_handler() argument
[all...]
H A Dxe_sriov_vf_ccs.c123 static u64 get_ccs_bb_pool_size(struct xe_device *xe) in get_ccs_bb_pool_size() argument
130 ccs_mem_size = div64_u64(sys_mem_size, NUM_BYTES_PER_CCS_BYTE(xe)); in get_ccs_bb_pool_size()
147 struct xe_device *xe = tile_to_xe(tile); in alloc_bb_pool() local
152 bb_pool_size = get_ccs_bb_pool_size(xe); in alloc_bb_pool()
153 xe_sriov_info(xe, "Allocating %s CCS BB pool size = %lldMB\n", in alloc_bb_pool()
159 xe_sriov_err(xe, "xe_mem_pool_init failed with error: %pe\n", in alloc_bb_pool()
166 memset(pool_cpu_addr, 0, bb_pool_size); in alloc_bb_pool()
181 return 0; in alloc_bb_pool()
188 u32 dw[10], i = 0; in ccs_rw_update_ring()
196 lrc->ring.tail = 0; in ccs_rw_update_ring()
214 xe_sriov_vf_ccs_rebase(struct xe_device * xe) xe_sriov_vf_ccs_rebase() argument
257 xe_sriov_vf_ccs_register_context(struct xe_device * xe) xe_sriov_vf_ccs_register_context() argument
283 vf_migration_ccs_bb_needed(struct xe_device * xe) vf_migration_ccs_bb_needed() argument
298 vf_migration_ccs_bb_support_check(struct xe_device * xe) vf_migration_ccs_bb_support_check() argument
336 xe_sriov_vf_ccs_init(struct xe_device * xe) xe_sriov_vf_ccs_init() argument
399 struct xe_device *xe = gt_to_xe(ctx->mig_q->gt); xe_sriov_vf_ccs_rw_update_bb_addr() local
420 struct xe_device *xe = xe_bo_device(bo); xe_sriov_vf_ccs_attach_bo() local
468 struct xe_device *xe = xe_bo_device(bo); xe_sriov_vf_ccs_detach_bo() local
502 xe_sriov_vf_ccs_print(struct xe_device * xe,struct drm_printer * p) xe_sriov_vf_ccs_print() argument
[all...]
H A Dxe_mmio.c44 * '----------------------' <- 0MB
46 static void mmio_multi_tile_setup(struct xe_device *xe, size_t tile_mmio_size) in mmio_multi_tile_setup()
51 for_each_remote_tile(tile, xe, id) in mmio_multi_tile_setup()
52 xe_mmio_init(&tile->mmio, tile, xe->mmio.regs + id * tile_mmio_size, SZ_4M); in mmio_multi_tile_setup()
57 * @xe: the &xe_device
61 * Return: 0 on success or a negative error code on failure.
63 int xe_mmio_probe_tiles(struct xe_device *xe) in xe_mmio_probe_tiles()
68 * Nothing to be done as tile 0 has already been setup earlier with the in xe_mmio_probe_tiles()
71 if (xe->info.tile_count == 1) in xe_mmio_probe_tiles()
72 return 0; in xe_mmio_probe_tiles()
45 mmio_multi_tile_setup(struct xe_device * xe,size_t tile_mmio_size) mmio_multi_tile_setup() argument
62 xe_mmio_probe_tiles(struct xe_device * xe) xe_mmio_probe_tiles() argument
85 struct xe_device *xe = arg; mmio_fini() local
101 xe_mmio_probe_early(struct xe_device * xe) xe_mmio_probe_early() argument
422 vf_regs_stride(struct xe_device * xe) vf_regs_stride() argument
436 struct xe_device *xe = tile->xe; xe_mmio_init_vf_view() local
[all...]
H A Dxe_vm.c61 * Return: %0 on success. See drm_exec_lock_obj() for error codes. in xe_vm_drm_exec_lock()
101 return 0; in alloc_preempt_fences()
112 return 0; in wait_for_existing_preempt_fences()
118 bool vf_migration = IS_SRIOV_VF(vm->xe) && in wait_for_existing_preempt_fences()
119 xe_sriov_vf_migration_supported(vm->xe); in wait_for_existing_preempt_fences()
131 xe_assert(vm->xe, vf_migration); in wait_for_existing_preempt_fences()
136 if (timeout < 0 || q->lr.pfence->error == -ETIME) in wait_for_existing_preempt_fences()
144 return 0; in xe_vm_is_idle()
153 if (!xe_exec_queue_is_idle(q, 0)) in xe_vm_is_idle()
169 xe_assert(vm->xe, lin in arm_preempt_fences()
479 struct xe_device *xe = vm->xe; vm_suspend_rebind_worker() local
1321 struct xe_device *xe = xe_vma_vm(vma)->xe; xe_vma_destroy_unlocked() local
1453 struct xe_device *xe = xe_bo_device(bo); pde_pat_index() local
1530 xelp_pte_encode_addr(struct xe_device * xe,u64 addr,u16 pat_index,u32 pt_level,bool devmem,u64 flags) xelp_pte_encode_addr() argument
1576 xe_vm_create_scratch(struct xe_device * xe,struct xe_tile * tile,struct xe_vm * vm,struct drm_exec * exec) xe_vm_create_scratch() argument
1632 xe_vm_init_prove_locking(struct xe_device * xe,struct xe_vm * vm) xe_vm_init_prove_locking() argument
1646 xe_vm_create(struct xe_device * xe,u32 flags,struct xe_file * xef) xe_vm_create() argument
1870 struct xe_device *xe = vm->xe; xe_vm_close() local
1913 struct xe_device *xe = vm->xe; xe_vm_close_and_put() local
2022 struct xe_device *xe = vm->xe; vm_destroy_work_func() local
2105 struct xe_device *xe = to_xe_device(dev); xe_vm_create_ioctl() local
2179 struct xe_device *xe = to_xe_device(dev); xe_vm_destroy_ioctl() local
2248 struct xe_device *xe = to_xe_device(dev); xe_vm_query_vmas_attrs_ioctl() local
2358 print_op(struct xe_device * xe,struct drm_gpuva_op * op) print_op() argument
2399 print_op(struct xe_device * xe,struct drm_gpuva_op * op) print_op() argument
2804 struct xe_device *xe = vm->xe; vm_bind_ioctl_ops_parse() local
3642 vm_bind_ioctl_check_args(struct xe_device * xe,struct xe_vm * vm,struct drm_xe_vm_bind * args,struct drm_xe_vm_bind_op ** bind_ops) vm_bind_ioctl_check_args() argument
3832 xe_vm_bind_ioctl_validate_bo(struct xe_device * xe,struct xe_bo * bo,u64 addr,u64 range,u64 obj_offset,u16 pat_index,u32 op,u32 bind_flags) xe_vm_bind_ioctl_validate_bo() argument
3906 struct xe_device *xe = to_xe_device(dev); xe_vm_bind_ioctl() local
4237 struct xe_device *xe = to_xe_device(drm); xe_vm_get_property_ioctl() local
4381 struct xe_device *xe = xe_vma_vm(vma)->xe; xe_vm_invalidate_vma_submit() local
4720 xe_vma_need_vram_for_atomic(struct xe_device * xe,struct xe_vma * vma,bool is_atomic) xe_vma_need_vram_for_atomic() argument
4976 struct xe_device *xe = vm->xe; xe_vm_add_exec_queue() local
[all...]
H A Dxe_shrinker.c19 * @xe: Back pointer to the device.
27 struct xe_device *xe; member
59 struct xe_device *xe = shrinker->xe; in __xe_shrinker_runtime_pm_get() local
61 if (xe_pm_runtime_get_if_active(xe)) in __xe_shrinker_runtime_pm_get()
64 if (xe_rpm_reclaim_safe(xe) && !ttm_bo_shrink_avoid_wait()) { in __xe_shrinker_runtime_pm_get()
65 xe_pm_runtime_get(xe); in __xe_shrinker_runtime_pm_get()
69 queue_work(xe->unordered_wq, &shrinker->pm_worker); in __xe_shrinker_runtime_pm_get()
77 xe_pm_runtime_put(shrinker->xe); in xe_shrinker_runtime_pm_put()
86 struct xe_device *xe = shrinker->xe; in __xe_shrinker_walk() local
89 int ret = 0; in __xe_shrinker_walk()
[all …]
H A Dxe_oa.c131 [XE_OA_FORMAT_A12] = { 0, 64, DRM_FMT(OAG) },
140 [XE_OA_FORMAT_PEC64u64] = { 1, 576, DRM_FMT(PEC), HDR_64_BIT, 1, 0 },
143 [XE_OA_FORMAT_PEC32u64_G1] = { 5, 320, DRM_FMT(PEC), HDR_64_BIT, 1, 0 },
145 [XE_OA_FORMAT_PEC32u64_G2] = { 6, 320, DRM_FMT(PEC), HDR_64_BIT, 1, 0 },
147 [XE_OA_FORMAT_PEC36u64_G1_32_G2_4] = { 3, 320, DRM_FMT(PEC), HDR_64_BIT, 1, 0 },
148 [XE_OA_FORMAT_PEC36u64_G1_4_G2_32] = { 4, 320, DRM_FMT(PEC), HDR_64_BIT, 1, 0 },
225 xe_map_rd(stream->oa->xe, map, report_offset, u64) : in oa_report_id()
226 xe_map_rd(stream->oa->xe, map, report_offset, u32); in oa_report_id()
234 xe_map_wr(stream->oa->xe, map, report_offset, u64, 0) in oa_report_id_clear()
831 HAS_OA_BPC_REPORTING(xe) global() argument
2041 struct xe_device *xe = to_xe_device(dev); xe_oa_stream_open_ioctl() local
2369 struct xe_device *xe = to_xe_device(dev); xe_oa_add_config_ioctl() local
2476 struct xe_device *xe = to_xe_device(dev); xe_oa_remove_config_ioctl() local
2543 xe_oa_register(struct xe_device * xe) xe_oa_register() argument
2841 struct xe_device *xe = arg; xe_oa_fini() local
2859 xe_oa_init(struct xe_device * xe) xe_oa_init() argument
[all...]
/linux/drivers/gpu/drm/xe/tests/
H A Dxe_sriov_pf_service_kunit.c19 struct xe_device *xe; in pf_service_test_init() local
24 xe = test->priv; in pf_service_test_init()
25 KUNIT_ASSERT_EQ(test, xe_sriov_init(xe), 0); in pf_service_test_init()
27 xe_sriov_pf_service_init(xe); in pf_service_test_init()
33 KUNIT_ASSERT_NE(test, 0, xe->sriov.pf.service.version.base.major); in pf_service_test_init()
34 KUNIT_ASSERT_NE(test, 0, xe->sriov.pf.service.version.latest.major); in pf_service_test_init()
35 KUNIT_ASSERT_LE(test, xe->sriov.pf.service.version.base.major, in pf_service_test_init()
36 xe->sriov.pf.service.version.latest.major); in pf_service_test_init()
37 if (xe->sriov.pf.service.version.base.major == xe->sriov.pf.service.version.latest.major) in pf_service_test_init()
38 KUNIT_ASSERT_LE(test, xe->sriov.pf.service.version.base.minor, in pf_service_test_init()
[all …]
H A Dxe_migrate.c16 static bool sanity_fence_failed(struct xe_device *xe, struct dma_fence *fence, in sanity_fence_failed() argument
30 if (ret <= 0) { in sanity_fence_failed()
38 static int run_sanity_job(struct xe_migrate *m, struct xe_device *xe, in run_sanity_job() argument
42 u64 batch_base = xe_migrate_batch_base(m, xe->info.has_usm); in run_sanity_job()
58 if (sanity_fence_failed(xe, fence, str, test)) in run_sanity_job()
63 return 0; in run_sanity_job()
71 } } while (0)
76 struct xe_device *xe = tile_to_xe(m->tile); in test_copy() local
77 u64 retval, expected = 0; in test_copy()
83 struct xe_bo *remote = xe_bo_create_locked(xe, m->tile, NULL, in test_copy()
[all …]
/linux/drivers/gpu/drm/xe/display/
H A Dxe_hdcp_gsc.c27 struct xe_device *xe; member
37 struct xe_device *xe = to_xe_device(drm); in intel_hdcp_gsc_check_status() local
38 struct xe_tile *tile = xe_device_get_root_tile(xe); in intel_hdcp_gsc_check_status()
43 drm_dbg_kms(&xe->drm, in intel_hdcp_gsc_check_status()
51 drm_dbg_kms(&xe->drm, in intel_hdcp_gsc_check_status()
56 guard(xe_pm_runtime)(xe); in intel_hdcp_gsc_check_status()
59 drm_dbg_kms(&xe->drm, in intel_hdcp_gsc_check_status()
68 static int intel_hdcp_gsc_initialize_message(struct xe_device *xe, in intel_hdcp_gsc_initialize_message() argument
73 int ret = 0; in intel_hdcp_gsc_initialize_message()
76 bo = xe_bo_create_pin_map_novm(xe, xe_device_get_root_tile(xe), PAGE_SIZE * 2, in intel_hdcp_gsc_initialize_message()
[all …]
/linux/drivers/gpu/drm/amd/include/asic_reg/umc/
H A Dumc_6_7_0_sh_mask.h29 …C_UMC0_MCUMC_STATUST0__ErrorCode__SHIFT 0x0
30 …_UMC0_MCUMC_STATUST0__ErrorCodeExt__SHIFT 0x10
31 …_UMC0_MCUMC_STATUST0__RESERV22__SHIFT 0x16
32 …_UMC0_MCUMC_STATUST0__AddrLsb__SHIFT 0x18
33 …_UMC0_MCUMC_STATUST0__RESERV30__SHIFT 0x1e
34 …_UMC0_MCUMC_STATUST0__ErrCoreId__SHIFT 0x20
35 …_UMC0_MCUMC_STATUST0__RESERV38__SHIFT 0x26
36 …_UMC0_MCUMC_STATUST0__Scrub__SHIFT 0x28
37 …_UMC0_MCUMC_STATUST0__RESERV41__SHIFT 0x29
38 …_UMC0_MCUMC_STATUST0__Poison__SHIFT 0x2b
[all …]

12345678910>>...41