History

Merge drm/drm-next into drm-intel-next

Sync the drm-intel-gt-next changes back to drm-intel-next via drm-next.

Jani Nikula committed 3 years ago

Commit e2a9f0a2 parents 3e36c49 85d712f497 files · +11303 −4747Browse files

Showing the changes to include/uapi/drm (2 of 497 files). Show all

Unified · Split

2 files
  1. include/uapi/drm/drm_mode.h +5 −0
  2. include/uapi/drm/i915_drm.h +50 −1
include/uapi/drm/drm_mode.h+5−0
@@ -834,6 +834,11 @@ struct drm_color_ctm { · 833 unmodified lines
834834 /*
835835 * Conversion matrix in S31.32 sign-magnitude
836836 * (not two's complement!) format.
837+ *
838+ * out matrix in
839+ * |R| |0 1 2| |R|
840+ * |G| = |3 4 5| x |G|
841+ * |B| |6 7 8| |B|
837842 */
838843 __u64 matrix[9];
839844 };
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