Home
last modified time | relevance | path

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

12345678910>>...39

/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_kunit_helpers.c36 struct xe_device *xe; in xe_kunit_helper_alloc_xe_device() local
38 xe = drm_kunit_helper_alloc_drm_device(test, dev, in xe_kunit_helper_alloc_xe_device()
41 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, xe); in xe_kunit_helper_alloc_xe_device()
42 return xe; in xe_kunit_helper_alloc_xe_device()
69 * Return: Always 0.
73 struct xe_device *xe; in xe_kunit_helper_xe_device_test_init() local
80 xe = xe_kunit_helper_alloc_xe_device(test, dev); in xe_kunit_helper_xe_device_test_init()
81 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, xe); in xe_kunit_helper_xe_device_test_init()
83 err = xe_pci_fake_device_init(xe); in xe_kunit_helper_xe_device_test_init()
84 KUNIT_ASSERT_EQ(test, err, 0); in xe_kunit_helper_xe_device_test_init()
[all …]
/linux/drivers/gpu/drm/xe/
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_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_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_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", },
44 static bool xe_nvm_non_posted_erase(struct xe_device *xe) in xe_nvm_non_posted_erase() argument
46 struct xe_mmio *mmio = xe_root_tile_mmio(xe); in xe_nvm_non_posted_erase()
48 switch (xe->info.platform) { in xe_nvm_non_posted_erase()
58 static bool xe_nvm_writable_override(struct xe_device *xe) in xe_nvm_writable_override() argument
[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, struct xe_vm *vm, in madvise_atomic() argument
135 xe_assert(vm->xe, op->type == DRM_XE_MEM_RANGE_ATTR_ATOMIC); in madvise_atomic()
136 xe_assert(vm->xe, op->atomic.val <= DRM_XE_ATOMIC_CPU); in madvise_atomic()
[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_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()
[all …]
H A Dxe_shrinker.c19 * @xe: Back pointer to the device.
27 struct xe_device *xe; member
57 static s64 __xe_shrinker_walk(struct xe_device *xe, in __xe_shrinker_walk() argument
63 s64 freed = 0, lret; in __xe_shrinker_walk()
66 struct ttm_resource_manager *man = ttm_manager_type(&xe->ttm, mem_type); in __xe_shrinker_walk()
82 if (lret < 0) in __xe_shrinker_walk()
90 xe_assert(xe, !IS_ERR(ttm_bo)); in __xe_shrinker_walk()
102 static s64 xe_shrinker_walk(struct xe_device *xe, in xe_shrinker_walk() argument
113 lret = __xe_shrinker_walk(xe, ctx, save_flags, to_scan, scanned); in xe_shrinker_walk()
115 if (lret < 0 || *scanned >= to_scan) in xe_shrinker_walk()
[all …]
H A Dxe_vm.c58 * Return: %0 on success. See drm_exec_lock_obj() for error codes.
98 return 0; in alloc_preempt_fences()
109 return 0; in alloc_preempt_fences()
115 bool vf_migration = IS_SRIOV_VF(vm->xe) && in wait_for_existing_preempt_fences()
116 xe_sriov_vf_migration_supported(vm->xe); in wait_for_existing_preempt_fences()
128 xe_assert(vm->xe, vf_migration); in wait_for_existing_preempt_fences()
133 if (timeout < 0 || q->lr.pfence->error == -ETIME) in wait_for_existing_preempt_fences()
141 return 0; in wait_for_existing_preempt_fences()
166 xe_assert(vm->xe, link != list); in arm_preempt_fences()
184 return 0; in add_preempt_fences()
[all …]
H A Dxe_gsc_proxy.c38 * 1 - Xe submits a request to GSC asking for the message to CSME
40 * 3 - Xe sends the reply from GSC as-is to CSME via the mei proxy component
42 * 5 - Xe submits a request to GSC with the reply from CSME
99 __gsc_proxy_irq_rmw(gsc, 0, HECI_H_CSR_IS); in gsc_proxy_irq_clear()
104 u32 set = enabled ? HECI_H_CSR_IE : 0; in gsc_proxy_irq_toggle()
105 u32 clr = enabled ? 0 : HECI_H_CSR_IE; in gsc_proxy_irq_toggle()
117 if (ret < 0) { in proxy_send_to_csme()
123 if (ret < 0) { in proxy_send_to_csme()
151 return 0; in proxy_send_to_gsc()
160 int ret = 0; in validate_proxy_header()
[all …]
H A Dxe_svm.c29 #define XE_PEER_PAGEMAP ((void *)0ul)
33 * DOC: drm_pagemap reference-counting in xe:
36 * device data, the xe driver holds the following long-time references:
92 vm_dbg(&range_to_vm(&(r__)->base)->xe->drm, \
94 "start=0x%014lx, end=0x%014lx, size=%lu", \
97 xe_svm_range_in_vram((r__)) ? 1 : 0, \
98 xe_svm_range_has_vram_binding((r__)) ? 1 : 0, \
118 drm_gpusvm_init_pages(&range->pages, &gpusvm_to_vm(gpusvm)->xe->drm); in xe_svm_range_alloc()
136 struct xe_device *xe = vm->xe; in xe_svm_garbage_collector_add_range() local
149 queue_work(xe->usm.pf_wq, &vm->svm.garbage_collector.work); in xe_svm_garbage_collector_add_range()
[all …]
H A Dxe_gt_ccs_mode.c23 struct xe_device *xe = gt_to_xe(gt); in __xe_gt_apply_ccs_mode() local
24 int width, cslice = 0; in __xe_gt_apply_ccs_mode()
25 u32 config = 0; in __xe_gt_apply_ccs_mode()
27 xe_assert(xe, xe_gt_ccs_mode_enabled(gt)); in __xe_gt_apply_ccs_mode()
29 xe_assert(xe, num_engines && num_engines <= num_slices); in __xe_gt_apply_ccs_mode()
30 xe_assert(xe, !(num_slices % num_engines)); in __xe_gt_apply_ccs_mode()
38 * slice 0, 1, 2, 3: ccs0 in __xe_gt_apply_ccs_mode()
41 * slice 0, 2: ccs0 in __xe_gt_apply_ccs_mode()
45 * slice 0: ccs0 in __xe_gt_apply_ccs_mode()
64 while ((CCS_INSTANCES(gt) & BIT(cslice)) == 0) in __xe_gt_apply_ccs_mode()
[all …]
H A Dxe_gsc.c48 struct xe_device *xe = gt_to_xe(gt); in memcpy_fw() local
60 xe_map_memcpy_from(xe, storage, &gsc->fw.bo->vmap, 0, fw_size); in memcpy_fw()
61 xe_map_memcpy_to(xe, &gsc->private->vmap, 0, storage, fw_size); in memcpy_fw()
62 xe_map_memset(xe, &gsc->private->vmap, fw_size, 0, in memcpy_fw()
67 return 0; in memcpy_fw()
102 if (timeout < 0) in emit_gsc_upload()
107 return 0; in emit_gsc_upload()
115 static u32 emit_version_query_msg(struct xe_device *xe, struct iosys_map *map, u32 wr_offset) in emit_version_query_msg() argument
117 xe_map_memset(xe, map, wr_offset, 0, sizeof(struct gsc_get_compatibility_version_in)); in emit_version_query_msg()
119 version_query_wr(xe, map, wr_offset, header.group_id, MKHI_GROUP_ID_GFX_SRV); in emit_version_query_msg()
[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 …]
H A Dxe_stolen.c12 struct xe_device *xe; member
19 struct xe_device *xe = node->xe; in xe_stolen_insert_node_in_range() local
22 int err = 0; in xe_stolen_insert_node_in_range()
33 bo = xe_bo_create_pin_range_novm(xe, xe_device_get_root_tile(xe), in xe_stolen_insert_node_in_range()
54 struct xe_device *xe = to_xe_device(drm); in xe_stolen_initialized() local
56 return ttm_manager_type(&xe->ttm, XE_PL_STOLEN); in xe_stolen_initialized()
68 xe_res_first(node->bo->ttm.resource, 0, 4096, &res); in xe_stolen_node_offset()
74 struct xe_device *xe = node->xe; in xe_stolen_node_address() local
76 return xe_ttm_stolen_gpu_offset(xe) + xe_stolen_node_offset(node); in xe_stolen_node_address()
86 struct xe_device *xe = to_xe_device(drm); in xe_stolen_node_alloc() local
[all …]
H A Dxe_display_bo.c34 struct xe_device *xe = to_xe_device(bo->ttm.base.dev); in xe_display_bo_framebuffer_init() local
41 if (XE_IOCTL_DBG(xe, intel_fb_needs_64k_phys(mode_cmd->modifier[0]) && in xe_display_bo_framebuffer_init()
59 if (XE_IOCTL_DBG(xe, xe_bo_is_vm_bound(bo))) { in xe_display_bo_framebuffer_init()
67 return 0; in xe_display_bo_framebuffer_init()
92 struct xe_device *xe = to_xe_device(drm); in xe_display_bo_framebuffer_lookup() local
94 struct drm_gem_object *gem = drm_gem_object_lookup(filp, mode_cmd->handles[0]); in xe_display_bo_framebuffer_lookup()
101 if (IS_DGFX(xe) && in xe_display_bo_framebuffer_lookup()
123 bool xe_display_bo_fbdev_prefer_stolen(struct xe_device *xe, unsigned int size) in xe_display_bo_fbdev_prefer_stolen() argument
127 stolen = ttm_manager_type(&xe->ttm, XE_PL_STOLEN); in xe_display_bo_fbdev_prefer_stolen()
131 if (IS_DGFX(xe)) in xe_display_bo_fbdev_prefer_stolen()
[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 …]
/linux/arch/mips/math-emu/
H A Dieee754dp.c65 xm += 0x3 + ((xm >> 3) & 1); in ieee754dp_get_rounding()
66 /* xm += (xm&0x8)?0x4:0x3 */ in ieee754dp_get_rounding()
70 xm += 0x8; in ieee754dp_get_rounding()
74 xm += 0x8; in ieee754dp_get_rounding()
84 * xe is an unbiased exponent
87 union ieee754dp ieee754dp_format(int sn, int xe, u64 xm) in ieee754dp_format() argument
91 assert((xm >> (DP_FBITS + 1 + 3)) == 0); /* no excess */ in ieee754dp_format()
94 if (xe < DP_EMIN) { in ieee754dp_format()
96 int es = DP_EMIN - xe; in ieee754dp_format()
107 if (sn == 0) in ieee754dp_format()
[all …]
H A Dieee754sp.c65 xm += 0x3 + ((xm >> 3) & 1); in ieee754sp_get_rounding()
66 /* xm += (xm&0x8)?0x4:0x3 */ in ieee754sp_get_rounding()
70 xm += 0x8; in ieee754sp_get_rounding()
74 xm += 0x8; in ieee754sp_get_rounding()
84 * xe is an unbiased exponent
87 union ieee754sp ieee754sp_format(int sn, int xe, unsigned int xm) in ieee754sp_format() argument
91 assert((xm >> (SP_FBITS + 1 + 3)) == 0); /* no excess */ in ieee754sp_format()
94 if (xe < SP_EMIN) { in ieee754sp_format()
96 int es = SP_EMIN - xe; in ieee754sp_format()
107 if (sn == 0) in ieee754sp_format()
[all …]
H A Ddp_tlong.c37 return 0; in ieee754dp_tlong()
43 if (xe >= 63) { in ieee754dp_tlong()
45 if (xe == 63 && xs && xm == DP_HIDDEN_BIT) in ieee754dp_tlong()
46 return -0x8000000000000000LL; in ieee754dp_tlong()
53 if (xe > DP_FBITS) { in ieee754dp_tlong()
54 xm <<= xe - DP_FBITS; in ieee754dp_tlong()
55 } else if (xe < DP_FBITS) { in ieee754dp_tlong()
56 if (xe < -1) { in ieee754dp_tlong()
58 round = 0; in ieee754dp_tlong()
59 sticky = residue != 0; in ieee754dp_tlong()
[all …]

12345678910>>...39