Home
last modified time | relevance | path

Searched full:i915 (Results 1 – 25 of 203) sorted by relevance

123456789

/linux/drivers/gpu/drm/i915/pxp/
H A Dintel_pxp_tee.c63 struct drm_i915_private *i915 = pxp->ctrl_gt->i915; in intel_pxp_tee_io_message() local
70 * The binding of the component is asynchronous from i915 probe, so we in intel_pxp_tee_io_message()
81 drm_err(&i915->drm, "Failed to send PXP TEE message\n"); in intel_pxp_tee_io_message()
88 drm_err(&i915->drm, "Failed to receive PXP TEE message\n"); in intel_pxp_tee_io_message()
93 drm_err(&i915->drm, in intel_pxp_tee_io_message()
115 struct drm_i915_private *i915 = pxp->ctrl_gt->i915; in intel_pxp_tee_stream_message() local
140 drm_err(&i915->drm, "Failed to send PXP TEE gsc command\n"); in intel_pxp_tee_stream_message()
151 * @i915_kdev: pointer to i915 kernel device
162 struct drm_i915_private *i915 = kdev_to_i915(i915_kdev); in i915_pxp_tee_component_bind() local
163 struct intel_pxp *pxp = i915->pxp; in i915_pxp_tee_component_bind()
[all …]
/linux/Documentation/ABI/testing/
H A Dsysfs-driver-intel-i915-hwmon1 What: /sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/in0_input
7 Only supported for particular Intel i915 graphics platforms.
9 What: /sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_max
21 Only supported for particular Intel i915 graphics platforms.
23 What: /sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_rated_max
29 Only supported for particular Intel i915 graphics platforms.
31 What: /sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_max_interval
38 Only supported for particular Intel i915 graphics platforms.
40 What: /sys/bus/pci/drivers/i915/.../hwmon/hwmon<i>/power1_crit
51 Only supported for particular Intel i915 graphics platforms.
[all …]
/linux/drivers/gpu/drm/i915/gem/selftests/
H A Di915_gem_dmabuf.c20 struct drm_i915_private *i915 = arg; in igt_dmabuf_export() local
24 obj = i915_gem_object_create_shmem(i915, PAGE_SIZE); in igt_dmabuf_export()
42 struct drm_i915_private *i915 = arg; in igt_dmabuf_import_self() local
48 obj = i915_gem_object_create_shmem(i915, PAGE_SIZE); in igt_dmabuf_import_self()
60 import = i915_gem_prime_import(&i915->drm, dmabuf); in igt_dmabuf_import_self()
95 struct drm_i915_private *i915 = arg; in igt_dmabuf_import_same_driver_lmem() local
96 struct intel_memory_region *lmem = i915->mm.regions[INTEL_REGION_LMEM_0]; in igt_dmabuf_import_same_driver_lmem()
107 obj = __i915_gem_object_create_user(i915, PAGE_SIZE, &lmem, 1); in igt_dmabuf_import_same_driver_lmem()
127 import = i915_gem_prime_import(&i915->drm, dmabuf); in igt_dmabuf_import_same_driver_lmem()
148 static int verify_access(struct drm_i915_private *i915, in verify_access() argument
[all …]
H A Dhuge_pages.c28 static struct i915_gem_context *hugepage_ctx(struct drm_i915_private *i915, in hugepage_ctx() argument
31 struct i915_gem_context *ctx = live_context(i915, file); in hugepage_ctx()
50 static unsigned int get_largest_page_size(struct drm_i915_private *i915, in get_largest_page_size() argument
58 if (HAS_PAGE_SIZES(i915, page_size) && rem >= page_size) in get_largest_page_size()
174 huge_pages_object(struct drm_i915_private *i915, in huge_pages_object() argument
195 drm_gem_private_object_init(&i915->drm, &obj->base, size); in huge_pages_object()
203 cache_level = HAS_LLC(i915) ? I915_CACHE_LLC : I915_CACHE_NONE; in huge_pages_object()
213 struct drm_i915_private *i915 = to_i915(obj->base.dev); in fake_get_huge_pages() local
237 unsigned int page_size = get_largest_page_size(i915, rem); in fake_get_huge_pages()
268 struct drm_i915_private *i915 = to_i915(obj->base.dev); in fake_get_huge_pages_single() local
[all …]
H A Dmock_context.c13 mock_context(struct drm_i915_private *i915, in mock_context() argument
26 ctx->i915 = i915; in mock_context()
41 ppgtt = mock_ppgtt(i915, name); in mock_context()
72 void mock_init_contexts(struct drm_i915_private *i915) in mock_init_contexts() argument
74 init_contexts(&i915->gem.contexts); in mock_init_contexts()
78 live_context(struct drm_i915_private *i915, struct file *file) in live_context() argument
86 pc = proto_context_create(fpriv, i915, 0); in live_context()
90 ctx = i915_gem_create_context(i915, pc); in live_context()
91 proto_context_close(i915, pc); in live_context()
111 kernel_context(struct drm_i915_private *i915, in kernel_context() argument
[all …]
H A Di915_gem_object.c15 struct drm_i915_private *i915 = arg; in igt_gem_object() local
21 obj = i915_gem_object_create_shmem(i915, PAGE_SIZE); in igt_gem_object()
37 struct drm_i915_private *i915 = arg; in igt_gem_huge() local
44 obj = huge_gem_object(i915, in igt_gem_huge()
46 to_gt(i915)->ggtt->vm.total + PAGE_SIZE); in igt_gem_huge()
79 struct drm_i915_private *i915; in i915_gem_object_mock_selftests() local
82 i915 = mock_gem_device(); in i915_gem_object_mock_selftests()
83 if (!i915) in i915_gem_object_mock_selftests()
86 err = i915_subtests(tests, i915); in i915_gem_object_mock_selftests()
88 mock_destroy_device(i915); in i915_gem_object_mock_selftests()
[all …]
H A Di915_gem_context.c36 struct drm_i915_private *i915 = arg; in live_nop_switch() local
52 if (!DRIVER_CAPS(i915)->has_logical_contexts) in live_nop_switch()
55 file = mock_file(i915); in live_nop_switch()
66 ctx[n] = live_context(i915, file); in live_nop_switch()
73 for_each_uabi_engine(engine, i915) { in live_nop_switch()
108 err = igt_live_test_begin(&t, i915, __func__, engine->name); in live_nop_switch()
284 struct drm_i915_private *i915 = arg; in live_parallel_switch() local
304 if (!DRIVER_CAPS(i915)->has_logical_contexts) in live_parallel_switch()
307 file = mock_file(i915); in live_parallel_switch()
311 ctx = live_context(i915, file); in live_parallel_switch()
[all …]
/linux/drivers/gpu/drm/i915/
H A Di915_hdcp_gsc.c17 struct drm_i915_private *i915; member
25 struct drm_i915_private *i915 = to_i915(drm); in intel_hdcp_gsc_check_status() local
26 struct intel_gt *gt = i915->media_gt; in intel_hdcp_gsc_check_status()
30 drm_dbg_kms(&i915->drm, in intel_hdcp_gsc_check_status()
39 static int intel_hdcp_gsc_initialize_message(struct drm_i915_private *i915, in intel_hdcp_gsc_initialize_message() argument
42 struct intel_gt *gt = i915->media_gt; in intel_hdcp_gsc_initialize_message()
49 obj = i915_gem_object_create_shmem(i915, 2 * PAGE_SIZE); in intel_hdcp_gsc_initialize_message()
52 drm_err(&i915->drm, "Failed to allocate HDCP streaming command!\n"); in intel_hdcp_gsc_initialize_message()
58 drm_err(&i915->drm, "Failed to map gsc message page!\n"); in intel_hdcp_gsc_initialize_message()
80 gsc_context->i915 = i915; in intel_hdcp_gsc_initialize_message()
[all …]
H A Dintel_memory_region.c52 dev_err(mem->i915->drm.dev, in __iopagetest()
73 dev_err(mem->i915->drm.dev, in iopagetest()
146 intel_memory_region_lookup(struct drm_i915_private *i915, in intel_memory_region_lookup() argument
153 for_each_memory_region(mr, i915, id) { in intel_memory_region_lookup()
162 intel_memory_region_by_type(struct drm_i915_private *i915, in intel_memory_region_by_type() argument
168 for_each_memory_region(mr, i915, id) in intel_memory_region_by_type()
219 struct drm_i915_private *i915 = mem->i915; in intel_memory_region_memtest() local
225 if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM) || i915->params.memtest) in intel_memory_region_memtest()
226 err = iomemtest(mem, i915->params.memtest, caller); in intel_memory_region_memtest()
248 intel_memory_region_create(struct drm_i915_private *i915, in intel_memory_region_create() argument
[all …]
H A Dintel_device_info.c229 static void intel_device_info_subplatform_init(struct drm_i915_private *i915) in intel_device_info_subplatform_init() argument
231 const struct intel_device_info *info = INTEL_INFO(i915); in intel_device_info_subplatform_init()
232 const struct intel_runtime_info *rinfo = RUNTIME_INFO(i915); in intel_device_info_subplatform_init()
235 u16 devid = INTEL_DEVID(i915); in intel_device_info_subplatform_init()
239 RUNTIME_INFO(i915)->platform_mask[pi] = BIT(pb); in intel_device_info_subplatform_init()
248 if (IS_HASWELL(i915) || IS_BROADWELL(i915)) { in intel_device_info_subplatform_init()
294 RUNTIME_INFO(i915)->platform_mask[pi] |= mask; in intel_device_info_subplatform_init()
297 static void ip_ver_read(struct drm_i915_private *i915, u32 offset, struct intel_ip_version *ip) in ip_ver_read() argument
299 struct pci_dev *pdev = to_pci_dev(i915->drm.dev); in ip_ver_read()
306 if (drm_WARN_ON(&i915->drm, !addr)) in ip_ver_read()
[all …]
H A Di915_pmu.c153 struct drm_i915_private *i915 = pmu_to_i915(pmu); in pmu_needs_timer() local
173 if (i915->caps.scheduler & I915_SCHEDULER_CAP_ENGINE_BUSY_STATS) in pmu_needs_timer()
184 struct drm_i915_private *i915 = gt->i915; in __get_rc6() local
189 if (HAS_RC6p(i915)) in __get_rc6()
192 if (HAS_RC6pp(i915)) in __get_rc6()
222 struct drm_i915_private *i915 = gt->i915; in get_rc6() local
224 struct i915_pmu *pmu = &i915->pmu; in get_rc6()
263 struct drm_i915_private *i915 = pmu_to_i915(pmu); in init_rc6() local
267 for_each_gt(gt, i915, i) { in init_rc6()
283 struct i915_pmu *pmu = &gt->i915->pmu; in park_rc6()
[all …]
H A Dintel_memory_region.h43 #define for_each_memory_region(mr, i915, id) \ argument
44 for (id = 0; id < ARRAY_SIZE((i915)->mm.regions); id++) \
45 for_each_if((mr) = (i915)->mm.regions[id])
60 struct drm_i915_private *i915; member
91 intel_memory_region_lookup(struct drm_i915_private *i915,
95 intel_memory_region_create(struct drm_i915_private *i915,
107 int intel_memory_regions_hw_probe(struct drm_i915_private *i915);
108 void intel_memory_regions_driver_release(struct drm_i915_private *i915);
110 intel_memory_region_by_type(struct drm_i915_private *i915,
129 i915_gem_ttm_system_setup(struct drm_i915_private *i915,
[all …]
H A Di915_hwmon.h16 void i915_hwmon_register(struct drm_i915_private *i915);
17 void i915_hwmon_unregister(struct drm_i915_private *i915);
18 void i915_hwmon_power_max_disable(struct drm_i915_private *i915, bool *old);
19 void i915_hwmon_power_max_restore(struct drm_i915_private *i915, bool old);
21 static inline void i915_hwmon_register(struct drm_i915_private *i915) { }; in i915_hwmon_register() argument
22 static inline void i915_hwmon_unregister(struct drm_i915_private *i915) { }; in i915_hwmon_unregister() argument
23 static inline void i915_hwmon_power_max_disable(struct drm_i915_private *i915, bool *old) { }; in i915_hwmon_power_max_disable() argument
24 static inline void i915_hwmon_power_max_restore(struct drm_i915_private *i915, bool old) { }; in i915_hwmon_power_max_restore() argument
/linux/drivers/gpu/drm/i915/gt/
H A Dintel_engine_user.c19 intel_engine_lookup_user(struct drm_i915_private *i915, u8 class, u8 instance) in intel_engine_lookup_user() argument
21 struct rb_node *p = i915->uabi_engines.rb_node; in intel_engine_lookup_user()
43 llist_add(&engine->uabi_llist, &engine->i915->uabi_engines_llist); in intel_engine_add_user()
78 static struct llist_node *get_engines(struct drm_i915_private *i915) in get_engines() argument
80 return llist_del_all(&i915->uabi_engines_llist); in get_engines()
83 static void sort_engines(struct drm_i915_private *i915, in sort_engines() argument
88 llist_for_each_safe(pos, next, get_engines(i915)) { in sort_engines()
96 static void set_scheduler_caps(struct drm_i915_private *i915) in set_scheduler_caps() argument
113 for_each_uabi_engine(engine, i915) { /* all engines must agree! */ in set_scheduler_caps()
134 i915->caps.scheduler = enabled & ~disabled; in set_scheduler_caps()
[all …]
H A Dintel_engine_cs.c284 switch (GRAPHICS_VER(gt->i915)) { in intel_engine_context_size()
286 MISSING_CASE(GRAPHICS_VER(gt->i915)); in intel_engine_context_size()
296 if (IS_HASWELL(gt->i915)) in intel_engine_context_size()
320 GRAPHICS_VER(gt->i915), cxt_size * 64, in intel_engine_context_size()
337 if (GRAPHICS_VER(gt->i915) < 8) in intel_engine_context_size()
343 static u32 __engine_mmio_base(struct drm_i915_private *i915, in __engine_mmio_base() argument
349 if (GRAPHICS_VER(i915) >= bases[i].graphics_ver) in __engine_mmio_base()
376 if (GRAPHICS_VER(engine->i915) < 6 && engine->class != RENDER_CLASS) in intel_engine_set_hwsp_writemask()
379 if (GRAPHICS_VER(engine->i915) >= 3) in intel_engine_set_hwsp_writemask()
453 struct drm_i915_private *i915 = gt->i915; in intel_engine_setup() local
[all …]
H A Dintel_gt_pm_irq.c15 struct drm_i915_private *i915 = gt->i915; in write_pm_imr() local
20 if (GRAPHICS_VER(i915) >= 11) { in write_pm_imr()
23 } else if (GRAPHICS_VER(i915) >= 8) { in write_pm_imr()
65 i915_reg_t reg = GRAPHICS_VER(gt->i915) >= 8 ? GEN8_GT_IIR(2) : GEN6_PMIIR; in gen6_gt_pm_reset_iir()
76 struct drm_i915_private *i915 = gt->i915; in write_pm_ier() local
81 if (GRAPHICS_VER(i915) >= 11) { in write_pm_ier()
84 } else if (GRAPHICS_VER(i915) >= 8) { in write_pm_ier()
H A Dselftest_gt_pm.c41 struct drm_i915_private *i915 = engine->i915; in read_timestamp() local
46 if (GRAPHICS_VER(i915) == 5 || IS_G4X(i915)) in read_timestamp()
92 if (GRAPHICS_VER(gt->i915) < 4) /* Any CS_TIMESTAMP? */ in live_gt_clocks()
104 if (GRAPHICS_VER(engine->i915) < 7 && engine->id != RCS0) in live_gt_clocks()
177 int intel_gt_pm_live_selftests(struct drm_i915_private *i915) in intel_gt_pm_live_selftests() argument
192 if (intel_gt_is_wedged(to_gt(i915))) in intel_gt_pm_live_selftests()
195 return intel_gt_live_subtests(tests, to_gt(i915)); in intel_gt_pm_live_selftests()
198 int intel_gt_pm_late_selftests(struct drm_i915_private *i915) in intel_gt_pm_late_selftests() argument
209 if (intel_gt_is_wedged(to_gt(i915))) in intel_gt_pm_late_selftests()
212 return intel_gt_live_subtests(tests, to_gt(i915)); in intel_gt_pm_late_selftests()
H A Dselftest_migrate.c25 create_lmem_or_internal(struct drm_i915_private *i915, size_t size) in create_lmem_or_internal() argument
29 obj = i915_gem_object_create_lmem(i915, size, 0); in create_lmem_or_internal()
33 return i915_gem_object_create_internal(i915, size); in create_lmem_or_internal()
44 struct drm_i915_private *i915 = migrate->context->engine->i915; in copy() local
52 src = create_lmem_or_internal(i915, sz); in copy()
57 dst = i915_gem_object_create_internal(i915, sz); in copy()
157 if (HAS_64K_PAGES(ce->engine->i915)) in intel_context_copy_ccs()
263 struct drm_i915_private *i915 = migrate->context->engine->i915; in clear() local
272 obj = create_lmem_or_internal(i915, sz); in clear()
279 if (HAS_FLAT_CCS(i915) && i915_gem_object_is_lmem(obj)) in clear()
[all …]
/linux/drivers/gpu/drm/i915/gem/
H A Di915_gem_create.c52 struct drm_i915_private *i915 = mr->i915; in object_set_placements() local
54 obj->mm.placements = &i915->mm.regions[mr->id]; in object_set_placements()
90 __i915_gem_object_create_user_ext(struct drm_i915_private *i915, u64 size, in __i915_gem_object_create_user_ext() argument
100 i915_gem_flush_free_objects(i915); in __i915_gem_object_create_user_ext()
148 * @i915: i915 private
158 __i915_gem_object_create_user(struct drm_i915_private *i915, u64 size, in __i915_gem_object_create_user() argument
162 return __i915_gem_object_create_user_ext(i915, size, placements, in __i915_gem_object_create_user()
227 struct drm_i915_private *i915 = to_i915(dev); in i915_gem_create_ioctl() local
232 mr = intel_memory_region_by_type(i915, INTEL_MEMORY_SYSTEM); in i915_gem_create_ioctl()
234 obj = __i915_gem_object_create_user(i915, args->size, &mr, 1); in i915_gem_create_ioctl()
[all …]
H A Di915_gem_context.c159 engine = intel_engine_lookup_user(ctx->i915, in lookup_user_engine()
173 static int validate_priority(struct drm_i915_private *i915, in validate_priority() argument
181 if (!(i915->caps.scheduler & I915_SCHEDULER_CAP_PRIORITY)) in validate_priority()
195 static void proto_context_close(struct drm_i915_private *i915, in proto_context_close() argument
201 intel_runtime_pm_put(&i915->runtime_pm, pc->pxp_wakeref); in proto_context_close()
212 static int proto_context_set_persistence(struct drm_i915_private *i915, in proto_context_set_persistence() argument
222 if (!i915->params.enable_hangcheck) in proto_context_set_persistence()
228 if (!(i915->caps.scheduler & I915_SCHEDULER_CAP_PREEMPTION)) in proto_context_set_persistence()
244 if (!intel_has_reset_engine(to_gt(i915))) in proto_context_set_persistence()
253 static int proto_context_set_protected(struct drm_i915_private *i915, in proto_context_set_protected() argument
[all …]
H A Di915_gem_internal.c34 struct drm_i915_private *i915 = to_i915(obj->base.dev); in i915_gem_object_get_pages_internal() local
46 max_segment = i915_sg_segment_size(i915->drm.dev) >> PAGE_SHIFT; in i915_gem_object_get_pages_internal()
50 if (IS_I965GM(i915) || IS_I965G(i915)) { in i915_gem_object_get_pages_internal()
138 __i915_gem_object_create_internal(struct drm_i915_private *i915, in __i915_gem_object_create_internal() argument
156 drm_gem_private_object_init(&i915->drm, &obj->base, size); in __i915_gem_object_create_internal()
172 cache_level = HAS_LLC(i915) ? I915_CACHE_LLC : I915_CACHE_NONE; in __i915_gem_object_create_internal()
180 * @i915: the i915 device
194 i915_gem_object_create_internal(struct drm_i915_private *i915, in i915_gem_object_create_internal() argument
197 return __i915_gem_object_create_internal(i915, &i915_gem_object_internal_ops, size); in i915_gem_object_create_internal()
/linux/drivers/gpu/drm/i915/selftests/
H A Digt_live_test.c16 struct drm_i915_private *i915, in igt_live_test_begin() argument
26 t->i915 = i915; in igt_live_test_begin()
30 for_each_gt(gt, i915, i) { in igt_live_test_begin()
41 i915_reset_engine_count(&i915->gpu_error, in igt_live_test_begin()
45 t->reset_global = i915_reset_count(&i915->gpu_error); in igt_live_test_begin()
52 struct drm_i915_private *i915 = t->i915; in igt_live_test_end() local
58 if (igt_flush_test(i915)) in igt_live_test_end()
61 if (t->reset_global != i915_reset_count(&i915->gpu_error)) { in igt_live_test_end()
64 i915_reset_count(&i915->gpu_error) - t->reset_global); in igt_live_test_end()
68 for_each_gt(gt, i915, i) { in igt_live_test_end()
[all …]
H A Di915_request.c52 static unsigned int num_uabi_engines(struct drm_i915_private *i915) in num_uabi_engines() argument
58 for_each_uabi_engine(engine, i915) in num_uabi_engines()
64 static struct intel_engine_cs *rcs0(struct drm_i915_private *i915) in rcs0() argument
66 return intel_engine_lookup_user(i915, I915_ENGINE_CLASS_RENDER, 0); in rcs0()
71 struct drm_i915_private *i915 = arg; in igt_add_request() local
76 request = mock_request(rcs0(i915)->kernel_context, HZ / 10); in igt_add_request()
88 struct drm_i915_private *i915 = arg; in igt_wait_request() local
94 request = mock_request(rcs0(i915)->kernel_context, T); in igt_wait_request()
150 mock_device_flush(i915); in igt_wait_request()
157 struct drm_i915_private *i915 = arg; in igt_fence_wait() local
[all …]
H A Dmock_region.c68 struct drm_i915_private *i915 = mem->i915; in mock_object_init() local
73 drm_gem_private_object_init(&i915->drm, &obj->base, size); in mock_object_init()
89 struct drm_i915_private *i915 = mem->i915; in mock_region_fini() local
94 ida_free(&i915->selftest.mock_region_instances, instance); in mock_region_fini()
106 mock_region_create(struct drm_i915_private *i915, in mock_region_create() argument
113 int instance = ida_alloc_max(&i915->selftest.mock_region_instances, in mock_region_create()
120 return intel_memory_region_create(i915, start, size, min_page_size, in mock_region_create()
/linux/tools/testing/selftests/drivers/gpu/
H A Di915.sh3 # Runs hardware independent tests for i915 (drivers/gpu/drm/i915)
5 if ! /sbin/modprobe -q -r i915; then
6 echo "drivers/gpu/i915: [SKIP]"
10 if /sbin/modprobe -q i915 mock_selftests=-1; then
11 /sbin/modprobe -q -r i915
12 echo "drivers/gpu/i915: ok"
14 echo "drivers/gpu/i915: [FAIL]"

123456789