UAPI Changes: - New getparam for querying PXP support and load status Cross-subsystem Changes: - GSC/MEI proxy driver Driver Changes: Fixes/improvements/new stuff: - Avoid clearing pre-allocated framebuffers with the TTM backend (Nirmoy Das) - Implement framebuffer mmap support (Nirmoy Das) - Disable sampler indirect state in bindless heap (Lionel Landwerlin) - Avoid out-of-bounds access when loading HuC (Lucas De Marchi) - Actually return an error if GuC version range check fails (John Harrison) - Get mutex and rpm ref just once in hwm_power_max_write (Ashutosh Dixit) - Disable PL1 power limit when loading GuC firmware (Ashutosh Dixit) - Block in hwmon while waiting for GuC reset to complete (Ashutosh Dixit) - Provide sysfs for SLPC efficient freq (Vinay Belgaumkar) - Add support for total context runtime for GuC back-end (Umesh Nerlige Ramappa) - Enable fdinfo for GuC backends (Umesh Nerlige Ramappa) - Don't capture Gen8 regs on Xe devices (John Harrison) - Fix error capture for virtual engines (John Harrison) - Track patch level versions on reduced version firmware files (John Harrison) - Decode another GuC load failure case (John Harrison) - GuC loading and firmware table handling fixes (John Harrison) - Fix confused register capture list creation (John Harrison) - Dump error capture to kernel log (John Harrison) - Dump error capture to dmesg on CTB error (John Harrison) - Disable rps_boost debugfs when SLPC is used (Vinay Belgaumkar) Future platform enablement: - Disable stolen memory backed FB for A0 [mtl] (Nirmoy Das) - Various refactors for multi-tile enablement (Andi Shyti, Tejas Upadhyay) - Extend Wa_22011802037 to MTL A-step (Madhumitha Tolakanahalli Pradeep) - WA to clear RDOP clock gating [mtl] (Haridhar Kalvala) - Set has_llc=0 [mtl] (Fei Yang) - Define MOCS and PAT tables for MTL (Madhumitha Tolakanahalli Pradeep) - Add PTE encode function [mtl] (Fei Yang) - fix mocs selftest [mtl] (Fei Yang) - Workaround coherency issue for Media [mtl] (Fei Yang) - Add workaround 14018778641 [mtl] (Tejas Upadhyay) - Implement Wa_14019141245 [mtl] (Radhakrishna Sripada) - Fix the wa number for Wa_22016670082 [mtl] (Radhakrishna Sripada) - Use correct huge page manager for MTL (Jonathan Cavitt) - GSC/MEI support for Meteorlake (Alexander Usyskin, Daniele Ceraolo Spurio) - Define GuC firmware version for MTL (John Harrison) - Drop FLAT CCS check [mtl] (Pallavi Mishra) - Add MTL for remapping CCS FBs [mtl] (Clint Taylor) - Meteorlake PXP enablement (Alan Previn) - Do not enable render power-gating on MTL (Andrzej Hajda) - Add MTL performance tuning changes (Radhakrishna Sripada) - Extend Wa_16014892111 to MTL A-step (Radhakrishna Sripada) - PMU multi-tile support (Tvrtko Ursulin) - End support for set caching ioctl [mtl] (Fei Yang) Driver refactors: - Use i915 instead of dev_priv insied the file_priv structure (Andi Shyti) - Use proper parameter naming in for_each_engine() (Andi Shyti) - Use gt_err for GT info (Tejas Upadhyay) - Consolidate duplicated capture list code (John Harrison) - Capture list naming clean up (John Harrison) - Use kernel-doc -Werror when CONFIG_DRM_I915_WERROR=y (Jani Nikula) - Preparation for using PAT index (Fei Yang) - Use pat_index instead of cache_level (Fei Yang) Miscellaneous: - Fix memory leaks in i915 selftests (Cong Liu) - Record GT error for gt failure (Tejas Upadhyay) - Migrate platform-dependent mock hugepage selftests to live (Jonathan Cavitt) - Update the SLPC selftest (Vinay Belgaumkar) - Throw out set() wrapper (Jani Nikula) - Large driver kernel doc cleanup (Jani Nikula) - Fix probe injection CI failures after recent change (John Harrison) - Make unexpected firmware versions an error in debug builds (John Harrison) - Silence UBSAN uninitialized bool variable warning (Ashutosh Dixit) - Fix memory leaks in function live_nop_switch (Cong Liu) Merges: - Merge drm/drm-next into drm-intel-gt-next (Joonas Lahtinen) Signed-off-by: Dave Airlie <airlied@redhat.com> # Conflicts: # drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/ZG5SxCWRSkZhTDtY@tursulin-desk
Showing the changes to include/uapi (1 of 131 files). Show all
Unified · Split
| @@ -280,7 +280,16 @@ enum drm_i915_pmu_engine_sample { · 279 unmodified lines | ||
| 280 | 280 | #define I915_PMU_ENGINE_SEMA(class, instance) \ |
| 281 | 281 | __I915_PMU_ENGINE(class, instance, I915_SAMPLE_SEMA) |
| 282 | 282 | |
| 283 | −#define __I915_PMU_OTHER(x) (__I915_PMU_ENGINE(0xff, 0xff, 0xf) + 1 + (x)) | |
| 283 | +/* | |
| 284 | + * Top 4 bits of every non-engine counter are GT id. | |
| 285 | + */ | |
| 286 | +#define __I915_PMU_GT_SHIFT (60) | |
| 287 | + | |
| 288 | +#define ___I915_PMU_OTHER(gt, x) \ | |
| 289 | + (((__u64)__I915_PMU_ENGINE(0xff, 0xff, 0xf) + 1 + (x)) | \ | |
| 290 | + ((__u64)(gt) << __I915_PMU_GT_SHIFT)) | |
| 291 | + | |
| 292 | +#define __I915_PMU_OTHER(x) ___I915_PMU_OTHER(0, x) | |
| 284 | 293 | |
| 285 | 294 | #define I915_PMU_ACTUAL_FREQUENCY __I915_PMU_OTHER(0) |
| 286 | 295 | #define I915_PMU_REQUESTED_FREQUENCY __I915_PMU_OTHER(1) |
| @@ -290,6 +299,12 @@ enum drm_i915_pmu_engine_sample { · 3 unmodified lines | ||
| 290 | 299 | |
| 291 | 300 | #define I915_PMU_LAST /* Deprecated - do not use */ I915_PMU_RC6_RESIDENCY |
| 292 | 301 | |
| 302 | +#define __I915_PMU_ACTUAL_FREQUENCY(gt) ___I915_PMU_OTHER(gt, 0) | |
| 303 | +#define __I915_PMU_REQUESTED_FREQUENCY(gt) ___I915_PMU_OTHER(gt, 1) | |
| 304 | +#define __I915_PMU_INTERRUPTS(gt) ___I915_PMU_OTHER(gt, 2) | |
| 305 | +#define __I915_PMU_RC6_RESIDENCY(gt) ___I915_PMU_OTHER(gt, 3) | |
| 306 | +#define __I915_PMU_SOFTWARE_GT_AWAKE_TIME(gt) ___I915_PMU_OTHER(gt, 4) | |
| 307 | + | |
| 293 | 308 | /* Each region is a minimum of 16k, and there are at most 255 of them. |
| 294 | 309 | */ |
| 295 | 310 | #define I915_NR_TEX_REGIONS 255 /* table size 2k - maximum due to use |
| @@ -771,6 +786,25 @@ typedef struct drm_i915_irq_wait { · 475 unmodified lines | ||
| 771 | 786 | */ |
| 772 | 787 | #define I915_PARAM_OA_TIMESTAMP_FREQUENCY 57 |
| 773 | 788 | |
| 789 | +/* | |
| 790 | + * Query the status of PXP support in i915. | |
| 791 | + * | |
| 792 | + * The query can fail in the following scenarios with the listed error codes: | |
| 793 | + * -ENODEV = PXP support is not available on the GPU device or in the | |
| 794 | + * kernel due to missing component drivers or kernel configs. | |
| 795 | + * | |
| 796 | + * If the IOCTL is successful, the returned parameter will be set to one of | |
| 797 | + * the following values: | |
| 798 | + * 1 = PXP feature is supported and is ready for use. | |
| 799 | + * 2 = PXP feature is supported but should be ready soon (pending | |
| 800 | + * initialization of non-i915 system dependencies). | |
| 801 | + * | |
| 802 | + * NOTE: When param is supported (positive return values), user space should | |
| 803 | + * still refer to the GEM PXP context-creation UAPI header specs to be | |
| 804 | + * aware of possible failure due to system state machine at the time. | |
| 805 | + */ | |
| 806 | +#define I915_PARAM_PXP_STATUS 58 | |
| 807 | + | |
| 774 | 808 | /* Must be kept compact -- no holes and well documented */ |
| 775 | 809 | |
| 776 | 810 | /** |
| @@ -2096,6 +2130,21 @@ struct drm_i915_gem_context_param { · 1319 unmodified lines | ||
| 2096 | 2130 | * |
| 2097 | 2131 | * -ENODEV: feature not available |
| 2098 | 2132 | * -EPERM: trying to mark a recoverable or not bannable context as protected |
| 2133 | + * -ENXIO: A dependency such as a component driver or firmware is not yet | |
| 2134 | + * loaded so user space may need to attempt again. Depending on the | |
| 2135 | + * device, this error may be reported if protected context creation is | |
| 2136 | + * attempted very early after kernel start because the internal timeout | |
| 2137 | + * waiting for such dependencies is not guaranteed to be larger than | |
| 2138 | + * required (numbers differ depending on system and kernel config): | |
| 2139 | + * - ADL/RPL: dependencies may take up to 3 seconds from kernel start | |
| 2140 | + * while context creation internal timeout is 250 milisecs | |
| 2141 | + * - MTL: dependencies may take up to 8 seconds from kernel start | |
| 2142 | + * while context creation internal timeout is 250 milisecs | |
| 2143 | + * NOTE: such dependencies happen once, so a subsequent call to create a | |
| 2144 | + * protected context after a prior successful call will not experience | |
| 2145 | + * such timeouts and will not return -ENXIO (unless the driver is reloaded, | |
| 2146 | + * or, depending on the device, resumes from a suspended state). | |
| 2147 | + * -EIO: The firmware did not succeed in creating the protected context. | |
| 2099 | 2148 | */ |
| 2100 | 2149 | #define I915_CONTEXT_PARAM_PROTECTED_CONTENT 0xd |
| 2101 | 2150 | /* Must be kept compact -- no holes and well documented */ |