Home
last modified time | relevance | path

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

12345678910>>...36

/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 …]
H A Dxe_bo.c54 if (dma_fence_wait_timeout(fence, false, 5 * HZ) <= 0) { in ccs_test_migrate()
75 if (timeout <= 0) { in ccs_test_migrate()
101 if (cpu_map[0] != get_val) { in ccs_test_migrate()
103 "Expected CCS readout 0x%016llx, got 0x%016llx.\n", in ccs_test_migrate()
105 (unsigned long long)cpu_map[0]); in ccs_test_migrate()
114 "Expected CCS readout 0x%016llx, got 0x%016llx.\n", in ccs_test_migrate()
120 cpu_map[0] = assign_val; in ccs_test_migrate()
127 static void ccs_test_run_tile(struct xe_device *xe, struct xe_tile *tile, in ccs_test_run_tile() argument
138 if (IS_DGFX(xe)) in ccs_test_run_tile()
143 bo = xe_bo_create_user(xe, NULL, SZ_1M, DRM_XE_GEM_CPU_CACHING_WC, in ccs_test_run_tile()
[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_sriov_packet.c15 static struct mutex *pf_migration_mutex(struct xe_device *xe, unsigned int vfid) in pf_migration_mutex() argument
17 xe_assert(xe, IS_SRIOV_PF(xe)); in pf_migration_mutex()
18 xe_assert(xe, vfid <= xe_sriov_pf_get_totalvfs(xe)); in pf_migration_mutex()
20 return &xe->sriov.pf.vfs[vfid].migration.lock; in pf_migration_mutex()
23 static struct xe_sriov_packet **pf_pick_pending(struct xe_device *xe, unsigned int vfid) in pf_pick_pending() argument
25 xe_assert(xe, IS_SRIOV_PF(xe)); in pf_pick_pending()
26 xe_assert(xe, vfid <= xe_sriov_pf_get_totalvfs(xe)); in pf_pick_pending()
27 lockdep_assert_held(pf_migration_mutex(xe, vfid)); in pf_pick_pending()
29 return &xe->sriov.pf.vfs[vfid].migration.pending; in pf_pick_pending()
33 pf_pick_descriptor(struct xe_device *xe, unsigned int vfid) in pf_pick_descriptor() 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_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, 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.c121 static u64 get_ccs_bb_pool_size(struct xe_device *xe) in get_ccs_bb_pool_size() argument
128 ccs_mem_size = div64_u64(sys_mem_size, NUM_BYTES_PER_CCS_BYTE(xe)); in get_ccs_bb_pool_size()
145 struct xe_device *xe = tile_to_xe(tile); in alloc_bb_pool() local
150 bb_pool_size = get_ccs_bb_pool_size(xe); in alloc_bb_pool()
151 xe_sriov_info(xe, "Allocating %s CCS BB pool size = %lldMB\n", in alloc_bb_pool()
157 xe_sriov_err(xe, "xe_mem_pool_init failed with error: %pe\n", in alloc_bb_pool()
164 memset(pool_cpu_addr, 0, bb_pool_size); in alloc_bb_pool()
179 return 0; in alloc_bb_pool()
186 u32 dw[10], i = 0; in ccs_rw_update_ring()
194 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_pagefault.c24 * DOC: Xe page faults
26 * Xe page faults are handled in two layers. The producer layer interacts with
60 return 0; in xe_pagefault_begin()
72 return 0; in xe_pagefault_begin()
91 needs_vram = xe_vma_need_vram_for_atomic(vm->xe, vma, atomic); in xe_pagefault_handle_vma()
92 if (needs_vram < 0 || (needs_vram && xe_vma_is_userptr(vma))) in xe_pagefault_handle_vma()
93 return needs_vram < 0 ? needs_vram : -EACCES; in xe_pagefault_handle_vma()
104 return 0; in xe_pagefault_handle_vma()
117 xe_validation_ctx_init(&ctx, &vm->xe->val, &exec, (struct xe_val_flags) {}); in xe_pagefault_handle_vma()
155 static struct xe_vm *xe_pagefault_asid_to_vm(struct xe_device *xe, u32 asid) in xe_pagefault_asid_to_vm() argument
[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_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_ttm_sys_mgr.c49 node->base.mm_nodes[0].start = 0; in xe_ttm_sys_mgr_new()
50 node->base.mm_nodes[0].size = PFN_UP(node->base.base.size); in xe_ttm_sys_mgr_new()
55 return 0; in xe_ttm_sys_mgr_new()
89 struct xe_device *xe = (struct xe_device *)arg; in xe_ttm_sys_mgr_fini() local
90 struct ttm_resource_manager *man = &xe->mem.sys_mgr; in xe_ttm_sys_mgr_fini()
95 err = ttm_resource_manager_evict_all(&xe->ttm, man); in xe_ttm_sys_mgr_fini()
100 ttm_set_driver_manager(&xe->ttm, XE_PL_TT, NULL); in xe_ttm_sys_mgr_fini()
103 int xe_ttm_sys_mgr_init(struct xe_device *xe) in xe_ttm_sys_mgr_init() argument
105 struct ttm_resource_manager *man = &xe->mem.sys_mgr; in xe_ttm_sys_mgr_init()
115 ttm_resource_manager_init(man, &xe->ttm, gtt_size >> PAGE_SHIFT); in xe_ttm_sys_mgr_init()
[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 …]
/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 …]
H A Dsp_tint.c37 return 0; in ieee754sp_tint()
43 if (xe >= 31) { in ieee754sp_tint()
45 if (xe == 31 && xs && xm == SP_HIDDEN_BIT) in ieee754sp_tint()
46 return -0x80000000; in ieee754sp_tint()
53 if (xe > SP_FBITS) { in ieee754sp_tint()
54 xm <<= xe - SP_FBITS; in ieee754sp_tint()
56 if (xe < -1) { in ieee754sp_tint()
58 round = 0; in ieee754sp_tint()
59 sticky = residue != 0; in ieee754sp_tint()
60 xm = 0; in ieee754sp_tint()
[all …]
H A Dsp_tlong.c37 return 0; in ieee754sp_tlong()
43 if (xe >= 63) { in ieee754sp_tlong()
45 if (xe == 63 && xs && xm == SP_HIDDEN_BIT) in ieee754sp_tlong()
46 return -0x8000000000000000LL; in ieee754sp_tlong()
53 if (xe > SP_FBITS) { in ieee754sp_tlong()
54 xm <<= xe - SP_FBITS; in ieee754sp_tlong()
55 } else if (xe < SP_FBITS) { in ieee754sp_tlong()
56 if (xe < -1) { in ieee754sp_tlong()
58 round = 0; in ieee754sp_tlong()
59 sticky = residue != 0; in ieee754sp_tlong()
[all …]

12345678910>>...36