History

Merge tag 'drm-intel-gt-next-2023-05-24' of git://anongit.freedesktop.org/drm/drm-intel into drm-next

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

Dave Airlie committed 3 years ago

Commit 85d712f2 parents b8887e7 0fbcf57131 files · +4258 −1200Browse files

Showing the changes to include/uapi (1 of 131 files). Show all

Unified · Split

include/uapi/drm/i915_drm.h+50−1
@@ -280,7 +280,16 @@ enum drm_i915_pmu_engine_sample { · 279 unmodified lines
280280 #define I915_PMU_ENGINE_SEMA(class, instance) \
281281 __I915_PMU_ENGINE(class, instance, I915_SAMPLE_SEMA)
282282
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)
284293
285294 #define I915_PMU_ACTUAL_FREQUENCY __I915_PMU_OTHER(0)
286295 #define I915_PMU_REQUESTED_FREQUENCY __I915_PMU_OTHER(1)
@@ -290,6 +299,12 @@ enum drm_i915_pmu_engine_sample { · 3 unmodified lines
290299
291300 #define I915_PMU_LAST /* Deprecated - do not use */ I915_PMU_RC6_RESIDENCY
292301
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+
293308 /* Each region is a minimum of 16k, and there are at most 255 of them.
294309 */
295310 #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
771786 */
772787 #define I915_PARAM_OA_TIMESTAMP_FREQUENCY 57
773788
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+
774808 /* Must be kept compact -- no holes and well documented */
775809
776810 /**
@@ -2096,6 +2130,21 @@ struct drm_i915_gem_context_param { · 1319 unmodified lines
20962130 *
20972131 * -ENODEV: feature not available
20982132 * -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.
20992148 */
21002149 #define I915_CONTEXT_PARAM_PROTECTED_CONTENT 0xd
21012150 /* Must be kept compact -- no holes and well documented */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t