Home
last modified time | relevance | path

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

123456789

/linux/drivers/gpu/drm/xe/
H A DMakefile203 # i915 Display compat #defines and #includes
205 -I$(src)/compat-i915-headers \
206 -I$(srctree)/drivers/gpu/drm/i915/display/
208 # Rule to build display code shared with i915
209 $(obj)/i915-display/%.o: $(srctree)/drivers/gpu/drm/i915/display/%.c FORCE
230 # Display code shared with i915
232 i915-display/icl_dsi.o \
233 i915-display/intel_alpm.o \
234 i915-display/intel_atomic.o \
235 i915-display/intel_audio.o \
[all …]
/linux/drivers/gpu/drm/i915/gem/
H A Di915_gem_stolen.c30 struct drm_i915_private *i915; member
46 static int __i915_gem_stolen_insert_node_in_range(struct drm_i915_private *i915, in __i915_gem_stolen_insert_node_in_range() argument
52 if (!drm_mm_initialized(&i915->mm.stolen)) in __i915_gem_stolen_insert_node_in_range()
56 if (GRAPHICS_VER(i915) >= 8 && start < 4096) in __i915_gem_stolen_insert_node_in_range()
59 mutex_lock(&i915->mm.stolen_lock); in __i915_gem_stolen_insert_node_in_range()
60 ret = drm_mm_insert_node_in_range(&i915->mm.stolen, node, in __i915_gem_stolen_insert_node_in_range()
63 mutex_unlock(&i915->mm.stolen_lock); in __i915_gem_stolen_insert_node_in_range()
71 return __i915_gem_stolen_insert_node_in_range(node->i915, &node->node, in i915_gem_stolen_insert_node_in_range()
76 static int __i915_gem_stolen_insert_node(struct drm_i915_private *i915, in __i915_gem_stolen_insert_node() argument
80 return __i915_gem_stolen_insert_node_in_range(i915, node, in __i915_gem_stolen_insert_node()
[all …]
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_shmem.c65 int shmem_sg_alloc_table(struct drm_i915_private *i915, struct sg_table *st, in shmem_sg_alloc_table() argument
123 i915_gem_shrink(NULL, i915, 2 * page_count, NULL, *s++); in shmem_sg_alloc_table()
215 struct drm_i915_private *i915 = to_i915(obj->base.dev); in shmem_get_pages() local
218 unsigned int max_segment = i915_sg_segment_size(i915->drm.dev); in shmem_get_pages()
235 ret = shmem_sg_alloc_table(i915, st, obj->base.size, mem, mapping, in shmem_get_pages()
254 dev_warn(i915->drm.dev, in shmem_get_pages()
358 struct drm_i915_private *i915 = to_i915(obj->base.dev); in __i915_gem_object_release_shmem() local
379 if (!HAS_LLC(i915) && !IS_DGFX(i915)) in __i915_gem_object_release_shmem()
503 static int __create_shmem(struct drm_i915_private *i915, in __create_shmem() argument
512 drm_gem_private_object_init(&i915->drm, obj, size); in __create_shmem()
[all …]
/linux/drivers/gpu/drm/i915/
H A Di915_driver.c1 /* i915_drv.c -- i830,i845,i855,i865,i915 driver -*- linux-c -*-
136 * The i915 workqueue is primarily used for batched retirement of in i915_workqueues_init()
149 dev_priv->wq = alloc_ordered_workqueue("i915", 0); in i915_workqueues_init()
154 * The unordered i915 workqueue should be used for all work in i915_workqueues_init()
159 dev_priv->unordered_wq = alloc_workqueue("i915-unordered", WQ_PERCPU, in i915_workqueues_init()
213 static void sanitize_gpu(struct drm_i915_private *i915) in sanitize_gpu() argument
215 if (!intel_gt_gpu_reset_clobbers_display(to_gt(i915))) { in sanitize_gpu()
219 for_each_gt(gt, i915, i) in sanitize_gpu()
382 * @i915: valid i915 instance
390 static int i915_set_dma_info(struct drm_i915_private *i915) in i915_set_dma_info() argument
[all …]
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/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/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 …]
/linux/drivers/gpu/drm/i915/gt/
H A Dintel_gsc.c49 obj = i915_gem_object_create_lmem(gt->i915, size, in gsc_ext_om_alloc()
128 static void gsc_destroy_one(struct drm_i915_private *i915, in gsc_destroy_one() argument
152 static void gsc_init_one(struct drm_i915_private *i915, struct intel_gsc *gsc, in gsc_init_one() argument
155 struct pci_dev *pdev = to_pci_dev(i915->drm.dev); in gsc_init_one()
169 drm_dbg(&i915->drm, "Not initializing gsc for remote tiles\n"); in gsc_init_one()
173 if (intf_id == 0 && !HAS_HECI_PXP(i915)) in gsc_init_one()
176 if (IS_DG1(i915)) { in gsc_init_one()
178 } else if (IS_DG2(i915)) { in gsc_init_one()
181 drm_warn_once(&i915->drm, "Unknown platform\n"); in gsc_init_one()
186 drm_warn_once(&i915->drm, "HECI%d is not implemented!\n", intf_id + 1); in gsc_init_one()
[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 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()
/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