| /linux/drivers/gpu/drm/xe/ |
| H A D | Makefile | 203 # 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 D | i915_gem_stolen.c | 30 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 D | i915_gem_create.c | 52 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 D | i915_gem_context.c | 159 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 D | i915_gem_shmem.c | 65 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 D | i915_driver.c | 1 /* 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 D | i915_hdcp_gsc.c | 17 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 D | intel_memory_region.c | 52 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 D | intel_device_info.c | 229 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 D | i915_pmu.c | 153 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 = >->i915->pmu; in park_rc6() [all …]
|
| H A D | intel_memory_region.h | 43 #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 D | i915_hwmon.h | 16 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 D | intel_pxp_tee.c | 63 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 D | sysfs-driver-intel-i915-hwmon | 1 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 D | i915_gem_dmabuf.c | 20 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 D | huge_pages.c | 28 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 D | mock_context.c | 13 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 D | i915_gem_object.c | 15 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 D | i915_gem_context.c | 36 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 D | igt_live_test.c | 16 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 D | i915_request.c | 52 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 D | intel_gsc.c | 49 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 D | intel_engine_cs.c | 284 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 D | selftest_gt_pm.c | 41 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 D | i915.sh | 3 # 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]"
|