* [Intel-gfx] [PATCH 1/3] i915/perf: Store a mask of valid OA formats for a platform
@ 2021-02-02 7:54 Umesh Nerlige Ramappa
2021-02-02 7:54 ` [Intel-gfx] [PATCH 2/3] i915/perf: Move OA formats to single array Umesh Nerlige Ramappa
` (6 more replies)
0 siblings, 7 replies; 11+ messages in thread
From: Umesh Nerlige Ramappa @ 2021-02-02 7:54 UTC (permalink / raw)
To: intel-gfx
Validity of an OA format is checked by using a sparse array of formats
per gen. Instead maintain a mask of supported formats for a platform in
the perf object.
Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
---
drivers/gpu/drm/i915/i915_perf.c | 64 +++++++++++++++++++++++++-
drivers/gpu/drm/i915/i915_perf_types.h | 16 +++++++
2 files changed, 79 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
index 112ba5f2ce90..973577fcad58 100644
--- a/drivers/gpu/drm/i915/i915_perf.c
+++ b/drivers/gpu/drm/i915/i915_perf.c
@@ -3524,6 +3524,19 @@ static u64 oa_exponent_to_ns(struct i915_perf *perf, int exponent)
2ULL << exponent);
}
+static __always_inline bool
+oa_format_valid(struct i915_perf *perf, enum drm_i915_oa_format format)
+{
+ return !!(perf->format_mask[__format_index(format)] &
+ __format_bit(format));
+}
+
+static __always_inline void
+oa_format_add(struct i915_perf *perf, enum drm_i915_oa_format format)
+{
+ perf->format_mask[__format_index(format)] |= __format_bit(format);
+}
+
/**
* read_properties_unlocked - validate + copy userspace stream open properties
* @perf: i915 perf instance
@@ -3615,7 +3628,7 @@ static int read_properties_unlocked(struct i915_perf *perf,
value);
return -EINVAL;
}
- if (!perf->oa_formats[value].size) {
+ if (!oa_format_valid(perf, value)) {
DRM_DEBUG("Unsupported OA report format %llu\n",
value);
return -EINVAL;
@@ -4259,6 +4272,53 @@ static struct ctl_table dev_root[] = {
{}
};
+static void oa_init_supported_formats(struct i915_perf *perf)
+{
+ struct drm_i915_private *i915 = perf->i915;
+ enum intel_platform platform = INTEL_INFO(i915)->platform;
+
+ switch (platform) {
+ case INTEL_HASWELL:
+ oa_format_add(perf, I915_OA_FORMAT_A13);
+ oa_format_add(perf, I915_OA_FORMAT_A13);
+ oa_format_add(perf, I915_OA_FORMAT_A29);
+ oa_format_add(perf, I915_OA_FORMAT_A13_B8_C8);
+ oa_format_add(perf, I915_OA_FORMAT_B4_C8);
+ oa_format_add(perf, I915_OA_FORMAT_A45_B8_C8);
+ oa_format_add(perf, I915_OA_FORMAT_B4_C8_A16);
+ oa_format_add(perf, I915_OA_FORMAT_C4_B8);
+ break;
+
+ case INTEL_BROADWELL:
+ case INTEL_CHERRYVIEW:
+ case INTEL_SKYLAKE:
+ case INTEL_BROXTON:
+ case INTEL_KABYLAKE:
+ case INTEL_GEMINILAKE:
+ case INTEL_COFFEELAKE:
+ case INTEL_COMETLAKE:
+ case INTEL_CANNONLAKE:
+ case INTEL_ICELAKE:
+ case INTEL_ELKHARTLAKE:
+ case INTEL_JASPERLAKE:
+ oa_format_add(perf, I915_OA_FORMAT_A12);
+ oa_format_add(perf, I915_OA_FORMAT_A12_B8_C8);
+ oa_format_add(perf, I915_OA_FORMAT_A32u40_A4u32_B8_C8);
+ oa_format_add(perf, I915_OA_FORMAT_C4_B8);
+ break;
+
+ case INTEL_TIGERLAKE:
+ case INTEL_ROCKETLAKE:
+ case INTEL_DG1:
+ case INTEL_ALDERLAKE_S:
+ oa_format_add(perf, I915_OA_FORMAT_A32u40_A4u32_B8_C8);
+ break;
+
+ default:
+ MISSING_CASE(platform);
+ }
+}
+
/**
* i915_perf_init - initialize i915-perf state on module bind
* @i915: i915 device instance
@@ -4408,6 +4468,8 @@ void i915_perf_init(struct drm_i915_private *i915)
500 * 1000 /* 500us */);
perf->i915 = i915;
+
+ oa_init_supported_formats(perf);
}
}
diff --git a/drivers/gpu/drm/i915/i915_perf_types.h b/drivers/gpu/drm/i915/i915_perf_types.h
index a36a455ae336..f81bcb533723 100644
--- a/drivers/gpu/drm/i915/i915_perf_types.h
+++ b/drivers/gpu/drm/i915/i915_perf_types.h
@@ -15,6 +15,7 @@
#include <linux/types.h>
#include <linux/uuid.h>
#include <linux/wait.h>
+#include <uapi/drm/i915_drm.h>
#include "gt/intel_sseu.h"
#include "i915_reg.h"
@@ -441,6 +442,21 @@ struct i915_perf {
struct i915_oa_ops ops;
const struct i915_oa_format *oa_formats;
+ /**
+ * Use a format mask to store the supported formats
+ * for a platform.
+ */
+#define __fbits (BITS_PER_TYPE(u32))
+#define __format_bit(__f) \
+ BIT((__f) & (__fbits - 1))
+
+#define __format_index_shift (5)
+#define __format_index(__f) \
+ (((__f) & ~(__fbits - 1)) >> __format_index_shift)
+
+#define FORMAT_MASK_SIZE (((I915_OA_FORMAT_MAX - 1) / __fbits) + 1)
+ u32 format_mask[FORMAT_MASK_SIZE];
+
atomic64_t noa_programming_delay;
};
--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Intel-gfx] [PATCH 2/3] i915/perf: Move OA formats to single array
2021-02-02 7:54 [Intel-gfx] [PATCH 1/3] i915/perf: Store a mask of valid OA formats for a platform Umesh Nerlige Ramappa
@ 2021-02-02 7:54 ` Umesh Nerlige Ramappa
2021-02-02 7:54 ` [Intel-gfx] [PATCH 3/3] i915/perf: Add additional OA formats for gen12 Umesh Nerlige Ramappa
` (5 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Umesh Nerlige Ramappa @ 2021-02-02 7:54 UTC (permalink / raw)
To: intel-gfx
Variations in OA formats in the different gens has led to creation of
several sparse arrays to store the formats.
Move oa formats into a single array and use format_mask to check for
platform specific oa formats.
Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
---
drivers/gpu/drm/i915/i915_perf.c | 19 ++-----------------
1 file changed, 2 insertions(+), 17 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
index 973577fcad58..81300cd534aa 100644
--- a/drivers/gpu/drm/i915/i915_perf.c
+++ b/drivers/gpu/drm/i915/i915_perf.c
@@ -302,7 +302,7 @@ static u32 i915_oa_max_sample_rate = 100000;
* code assumes all reports have a power-of-two size and ~(size - 1) can
* be used as a mask to align the OA tail pointer.
*/
-static const struct i915_oa_format hsw_oa_formats[I915_OA_FORMAT_MAX] = {
+static const struct i915_oa_format oa_formats[I915_OA_FORMAT_MAX] = {
[I915_OA_FORMAT_A13] = { 0, 64 },
[I915_OA_FORMAT_A29] = { 1, 128 },
[I915_OA_FORMAT_A13_B8_C8] = { 2, 128 },
@@ -311,17 +311,9 @@ static const struct i915_oa_format hsw_oa_formats[I915_OA_FORMAT_MAX] = {
[I915_OA_FORMAT_A45_B8_C8] = { 5, 256 },
[I915_OA_FORMAT_B4_C8_A16] = { 6, 128 },
[I915_OA_FORMAT_C4_B8] = { 7, 64 },
-};
-
-static const struct i915_oa_format gen8_plus_oa_formats[I915_OA_FORMAT_MAX] = {
[I915_OA_FORMAT_A12] = { 0, 64 },
[I915_OA_FORMAT_A12_B8_C8] = { 2, 128 },
[I915_OA_FORMAT_A32u40_A4u32_B8_C8] = { 5, 256 },
- [I915_OA_FORMAT_C4_B8] = { 7, 64 },
-};
-
-static const struct i915_oa_format gen12_oa_formats[I915_OA_FORMAT_MAX] = {
- [I915_OA_FORMAT_A32u40_A4u32_B8_C8] = { 5, 256 },
};
#define SAMPLE_OA_REPORT (1<<0)
@@ -4334,6 +4326,7 @@ void i915_perf_init(struct drm_i915_private *i915)
/* XXX const struct i915_perf_ops! */
+ perf->oa_formats = oa_formats;
if (IS_HASWELL(i915)) {
perf->ops.is_valid_b_counter_reg = gen7_is_valid_b_counter_addr;
perf->ops.is_valid_mux_reg = hsw_is_valid_mux_addr;
@@ -4344,8 +4337,6 @@ void i915_perf_init(struct drm_i915_private *i915)
perf->ops.oa_disable = gen7_oa_disable;
perf->ops.read = gen7_oa_read;
perf->ops.oa_hw_tail_read = gen7_oa_hw_tail_read;
-
- perf->oa_formats = hsw_oa_formats;
} else if (HAS_LOGICAL_RING_CONTEXTS(i915)) {
/* Note: that although we could theoretically also support the
* legacy ringbuffer mode on BDW (and earlier iterations of
@@ -4356,8 +4347,6 @@ void i915_perf_init(struct drm_i915_private *i915)
perf->ops.read = gen8_oa_read;
if (IS_GEN_RANGE(i915, 8, 9)) {
- perf->oa_formats = gen8_plus_oa_formats;
-
perf->ops.is_valid_b_counter_reg =
gen7_is_valid_b_counter_addr;
perf->ops.is_valid_mux_reg =
@@ -4388,8 +4377,6 @@ void i915_perf_init(struct drm_i915_private *i915)
perf->gen8_valid_ctx_bit = BIT(16);
}
} else if (IS_GEN_RANGE(i915, 10, 11)) {
- perf->oa_formats = gen8_plus_oa_formats;
-
perf->ops.is_valid_b_counter_reg =
gen7_is_valid_b_counter_addr;
perf->ops.is_valid_mux_reg =
@@ -4412,8 +4399,6 @@ void i915_perf_init(struct drm_i915_private *i915)
}
perf->gen8_valid_ctx_bit = BIT(16);
} else if (IS_GEN(i915, 12)) {
- perf->oa_formats = gen12_oa_formats;
-
perf->ops.is_valid_b_counter_reg =
gen12_is_valid_b_counter_addr;
perf->ops.is_valid_mux_reg =
--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Intel-gfx] [PATCH 3/3] i915/perf: Add additional OA formats for gen12
2021-02-02 7:54 [Intel-gfx] [PATCH 1/3] i915/perf: Store a mask of valid OA formats for a platform Umesh Nerlige Ramappa
2021-02-02 7:54 ` [Intel-gfx] [PATCH 2/3] i915/perf: Move OA formats to single array Umesh Nerlige Ramappa
@ 2021-02-02 7:54 ` Umesh Nerlige Ramappa
2021-02-02 8:24 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/3] i915/perf: Store a mask of valid OA formats for a platform Patchwork
` (4 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Umesh Nerlige Ramappa @ 2021-02-02 7:54 UTC (permalink / raw)
To: intel-gfx
Gen12 supports additional OA formats as compared to what was added
earlier. Include the additional OA formats.
Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
---
drivers/gpu/drm/i915/i915_perf.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
index 81300cd534aa..817cfafea264 100644
--- a/drivers/gpu/drm/i915/i915_perf.c
+++ b/drivers/gpu/drm/i915/i915_perf.c
@@ -4293,17 +4293,14 @@ static void oa_init_supported_formats(struct i915_perf *perf)
case INTEL_ICELAKE:
case INTEL_ELKHARTLAKE:
case INTEL_JASPERLAKE:
- oa_format_add(perf, I915_OA_FORMAT_A12);
- oa_format_add(perf, I915_OA_FORMAT_A12_B8_C8);
- oa_format_add(perf, I915_OA_FORMAT_A32u40_A4u32_B8_C8);
- oa_format_add(perf, I915_OA_FORMAT_C4_B8);
- break;
-
case INTEL_TIGERLAKE:
case INTEL_ROCKETLAKE:
case INTEL_DG1:
case INTEL_ALDERLAKE_S:
+ oa_format_add(perf, I915_OA_FORMAT_A12);
+ oa_format_add(perf, I915_OA_FORMAT_A12_B8_C8);
oa_format_add(perf, I915_OA_FORMAT_A32u40_A4u32_B8_C8);
+ oa_format_add(perf, I915_OA_FORMAT_C4_B8);
break;
default:
--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/3] i915/perf: Store a mask of valid OA formats for a platform
2021-02-02 7:54 [Intel-gfx] [PATCH 1/3] i915/perf: Store a mask of valid OA formats for a platform Umesh Nerlige Ramappa
2021-02-02 7:54 ` [Intel-gfx] [PATCH 2/3] i915/perf: Move OA formats to single array Umesh Nerlige Ramappa
2021-02-02 7:54 ` [Intel-gfx] [PATCH 3/3] i915/perf: Add additional OA formats for gen12 Umesh Nerlige Ramappa
@ 2021-02-02 8:24 ` Patchwork
2021-02-02 8:24 ` [Intel-gfx] [PATCH 1/3] " Chris Wilson
` (3 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2021-02-02 8:24 UTC (permalink / raw)
To: Umesh Nerlige Ramappa; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/3] i915/perf: Store a mask of valid OA formats for a platform
URL : https://patchwork.freedesktop.org/series/86558/
State : warning
== Summary ==
$ dim sparse --fast origin/drm-tip
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
+drivers/gpu/drm/i915/gt/intel_reset.c:1327:5: warning: context imbalance in 'intel_gt_reset_trylock' - different lock contexts for basic block
+drivers/gpu/drm/i915/gvt/mmio.c:295:23: warning: memcpy with byte count of 279040
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read64' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_write16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_write32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_write8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read64' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_write16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_write32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_write8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read64' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_write16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_write32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_write8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read64' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_write16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_write32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_write8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen8_write16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen8_write32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen8_write8' - different lock contexts for basic block
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 1/3] i915/perf: Store a mask of valid OA formats for a platform
2021-02-02 7:54 [Intel-gfx] [PATCH 1/3] i915/perf: Store a mask of valid OA formats for a platform Umesh Nerlige Ramappa
` (2 preceding siblings ...)
2021-02-02 8:24 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/3] i915/perf: Store a mask of valid OA formats for a platform Patchwork
@ 2021-02-02 8:24 ` Chris Wilson
2021-02-02 20:10 ` Umesh Nerlige Ramappa
2021-02-02 8:52 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/3] " Patchwork
` (2 subsequent siblings)
6 siblings, 1 reply; 11+ messages in thread
From: Chris Wilson @ 2021-02-02 8:24 UTC (permalink / raw)
To: Umesh Nerlige Ramappa, intel-gfx
Quoting Umesh Nerlige Ramappa (2021-02-02 07:54:15)
> Validity of an OA format is checked by using a sparse array of formats
> per gen. Instead maintain a mask of supported formats for a platform in
> the perf object.
>
> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
> ---
> drivers/gpu/drm/i915/i915_perf.c | 64 +++++++++++++++++++++++++-
> drivers/gpu/drm/i915/i915_perf_types.h | 16 +++++++
> 2 files changed, 79 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
> index 112ba5f2ce90..973577fcad58 100644
> --- a/drivers/gpu/drm/i915/i915_perf.c
> +++ b/drivers/gpu/drm/i915/i915_perf.c
> @@ -3524,6 +3524,19 @@ static u64 oa_exponent_to_ns(struct i915_perf *perf, int exponent)
> 2ULL << exponent);
> }
>
> +static __always_inline bool
> +oa_format_valid(struct i915_perf *perf, enum drm_i915_oa_format format)
> +{
> + return !!(perf->format_mask[__format_index(format)] &
> + __format_bit(format));
!! is already provided by the implicit cast to (bool)
> +}
> +
> +static __always_inline void
> +oa_format_add(struct i915_perf *perf, enum drm_i915_oa_format format)
> +{
> + perf->format_mask[__format_index(format)] |= __format_bit(format);
> +}
> +
> /**
> * read_properties_unlocked - validate + copy userspace stream open properties
> * @perf: i915 perf instance
> @@ -3615,7 +3628,7 @@ static int read_properties_unlocked(struct i915_perf *perf,
> value);
> return -EINVAL;
> }
> - if (!perf->oa_formats[value].size) {
> + if (!oa_format_valid(perf, value)) {
> DRM_DEBUG("Unsupported OA report format %llu\n",
> value);
> return -EINVAL;
> @@ -4259,6 +4272,53 @@ static struct ctl_table dev_root[] = {
> {}
> };
>
> +static void oa_init_supported_formats(struct i915_perf *perf)
> +{
> + struct drm_i915_private *i915 = perf->i915;
> + enum intel_platform platform = INTEL_INFO(i915)->platform;
> +
> + switch (platform) {
> + case INTEL_HASWELL:
> + oa_format_add(perf, I915_OA_FORMAT_A13);
> + oa_format_add(perf, I915_OA_FORMAT_A13);
> + oa_format_add(perf, I915_OA_FORMAT_A29);
> + oa_format_add(perf, I915_OA_FORMAT_A13_B8_C8);
> + oa_format_add(perf, I915_OA_FORMAT_B4_C8);
> + oa_format_add(perf, I915_OA_FORMAT_A45_B8_C8);
> + oa_format_add(perf, I915_OA_FORMAT_B4_C8_A16);
> + oa_format_add(perf, I915_OA_FORMAT_C4_B8);
> + break;
> +
> + case INTEL_BROADWELL:
> + case INTEL_CHERRYVIEW:
> + case INTEL_SKYLAKE:
> + case INTEL_BROXTON:
> + case INTEL_KABYLAKE:
> + case INTEL_GEMINILAKE:
> + case INTEL_COFFEELAKE:
> + case INTEL_COMETLAKE:
> + case INTEL_CANNONLAKE:
> + case INTEL_ICELAKE:
> + case INTEL_ELKHARTLAKE:
> + case INTEL_JASPERLAKE:
> + oa_format_add(perf, I915_OA_FORMAT_A12);
> + oa_format_add(perf, I915_OA_FORMAT_A12_B8_C8);
> + oa_format_add(perf, I915_OA_FORMAT_A32u40_A4u32_B8_C8);
> + oa_format_add(perf, I915_OA_FORMAT_C4_B8);
> + break;
Ok, this looks as compact and readable as writing it as a bunch of
tables. I presume there's a reason you didn't just use generation rather
than platform.
switch (gen) {
case 7:
haswell();
break;
case 8 .. 11:
broadwell();
break;
case 12:
tigerlake();
break;
}
if you wanted to stick with a switch rather than an if-else tree for the
ranges.
Note you could equally do
case INTEL_BROADWELL .. INTEL_JASPERLAKE:
but I expect that to cause confusion for the reader.
> + /**
> + * Use a format mask to store the supported formats
> + * for a platform.
> + */
> +#define __fbits (BITS_PER_TYPE(u32))
> +#define __format_bit(__f) \
> + BIT((__f) & (__fbits - 1))
> +
> +#define __format_index_shift (5)
> +#define __format_index(__f) \
> + (((__f) & ~(__fbits - 1)) >> __format_index_shift)
> +
> +#define FORMAT_MASK_SIZE (((I915_OA_FORMAT_MAX - 1) / __fbits) + 1)
> + u32 format_mask[FORMAT_MASK_SIZE];
This is just open-coding set_bit/test_bit
#define FORMAT_MASK_SIZE DIV_ROUND_UP(I915_OA_FORMAT_MAX - 1, BITS_PER_LONG)
unsigned long format_mask[FORMAT_MASK_SIZE];
static __always_inline bool
oa_format_valid(struct i915_perf *perf, enum drm_i915_oa_format format)
{
return test_bit(format, perf->format_mask);
}
static __always_inline void
oa_format_add(struct i915_perf *perf, enum drm_i915_oa_format format)
{
__set_bit(format, perf->format_mask);
}
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/3] i915/perf: Store a mask of valid OA formats for a platform
2021-02-02 7:54 [Intel-gfx] [PATCH 1/3] i915/perf: Store a mask of valid OA formats for a platform Umesh Nerlige Ramappa
` (3 preceding siblings ...)
2021-02-02 8:24 ` [Intel-gfx] [PATCH 1/3] " Chris Wilson
@ 2021-02-02 8:52 ` Patchwork
2021-02-02 11:32 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2021-02-03 9:55 ` [Intel-gfx] [PATCH 1/3] " Lionel Landwerlin
6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2021-02-02 8:52 UTC (permalink / raw)
To: Umesh Nerlige Ramappa; +Cc: intel-gfx
[-- Attachment #1.1: Type: text/plain, Size: 5932 bytes --]
== Series Details ==
Series: series starting with [1/3] i915/perf: Store a mask of valid OA formats for a platform
URL : https://patchwork.freedesktop.org/series/86558/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_9714 -> Patchwork_19558
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/index.html
Known issues
------------
Here are the changes found in Patchwork_19558 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@amdgpu/amd_cs_nop@sync-fork-gfx0:
- fi-cfl-8700k: NOTRUN -> [SKIP][1] ([fdo#109271]) +25 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/fi-cfl-8700k/igt@amdgpu/amd_cs_nop@sync-fork-gfx0.html
* igt@gem_huc_copy@huc-copy:
- fi-cfl-8700k: NOTRUN -> [SKIP][2] ([fdo#109271] / [i915#2190])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/fi-cfl-8700k/igt@gem_huc_copy@huc-copy.html
* igt@gem_tiled_blits@basic:
- fi-tgl-y: [PASS][3] -> [DMESG-WARN][4] ([i915#402]) +2 similar issues
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/fi-tgl-y/igt@gem_tiled_blits@basic.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/fi-tgl-y/igt@gem_tiled_blits@basic.html
* igt@i915_selftest@live@requests:
- fi-icl-u2: [PASS][5] -> [DMESG-FAIL][6] ([i915#2759])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/fi-icl-u2/igt@i915_selftest@live@requests.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/fi-icl-u2/igt@i915_selftest@live@requests.html
* igt@i915_selftest@live@sanitycheck:
- fi-kbl-7500u: [PASS][7] -> [DMESG-WARN][8] ([i915#2605])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/fi-kbl-7500u/igt@i915_selftest@live@sanitycheck.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/fi-kbl-7500u/igt@i915_selftest@live@sanitycheck.html
* igt@kms_chamelium@vga-edid-read:
- fi-cfl-8700k: NOTRUN -> [SKIP][9] ([fdo#109271] / [fdo#111827]) +8 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/fi-cfl-8700k/igt@kms_chamelium@vga-edid-read.html
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b:
- fi-cfl-8109u: [PASS][10] -> [DMESG-WARN][11] ([i915#165]) +15 similar issues
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
- fi-cfl-8700k: NOTRUN -> [SKIP][12] ([fdo#109271] / [i915#533])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/fi-cfl-8700k/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html
* igt@runner@aborted:
- fi-bdw-5557u: NOTRUN -> [FAIL][13] ([i915#1602] / [i915#2029] / [i915#2369])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/fi-bdw-5557u/igt@runner@aborted.html
#### Possible fixes ####
* igt@debugfs_test@read_all_entries:
- fi-tgl-y: [DMESG-WARN][14] ([i915#402]) -> [PASS][15] +2 similar issues
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/fi-tgl-y/igt@debugfs_test@read_all_entries.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/fi-tgl-y/igt@debugfs_test@read_all_entries.html
* igt@i915_pm_rpm@module-reload:
- fi-kbl-guc: [FAIL][16] ([i915#2203]) -> [PASS][17]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/fi-kbl-guc/igt@i915_pm_rpm@module-reload.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/fi-kbl-guc/igt@i915_pm_rpm@module-reload.html
* igt@kms_chamelium@dp-crc-fast:
- fi-kbl-7500u: [FAIL][18] -> [PASS][19]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/fi-kbl-7500u/igt@kms_chamelium@dp-crc-fast.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/fi-kbl-7500u/igt@kms_chamelium@dp-crc-fast.html
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
[i915#165]: https://gitlab.freedesktop.org/drm/intel/issues/165
[i915#2029]: https://gitlab.freedesktop.org/drm/intel/issues/2029
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2203]: https://gitlab.freedesktop.org/drm/intel/issues/2203
[i915#2369]: https://gitlab.freedesktop.org/drm/intel/issues/2369
[i915#2605]: https://gitlab.freedesktop.org/drm/intel/issues/2605
[i915#2759]: https://gitlab.freedesktop.org/drm/intel/issues/2759
[i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
Participating hosts (42 -> 39)
------------------------------
Additional (1): fi-cfl-8700k
Missing (4): fi-jsl-1 fi-bsw-cyan fi-bdw-samus fi-hsw-4200u
Build changes
-------------
* Linux: CI_DRM_9714 -> Patchwork_19558
CI-20190529: 20190529
CI_DRM_9714: 7ddf92e36645ddce38a44335a4b7e465920e7fab @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5987: 88c05f3f70a4e84ef4e14e5e935b58bec82b2fdd @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_19558: 8379cb9702e66cd051fc612857f6a5394e813169 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
8379cb9702e6 i915/perf: Add additional OA formats for gen12
8662c47adbbd i915/perf: Move OA formats to single array
9e8f0513ee4f i915/perf: Store a mask of valid OA formats for a platform
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/index.html
[-- Attachment #1.2: Type: text/html, Size: 7108 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/3] i915/perf: Store a mask of valid OA formats for a platform
2021-02-02 7:54 [Intel-gfx] [PATCH 1/3] i915/perf: Store a mask of valid OA formats for a platform Umesh Nerlige Ramappa
` (4 preceding siblings ...)
2021-02-02 8:52 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/3] " Patchwork
@ 2021-02-02 11:32 ` Patchwork
2021-02-03 9:55 ` [Intel-gfx] [PATCH 1/3] " Lionel Landwerlin
6 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2021-02-02 11:32 UTC (permalink / raw)
To: Umesh Nerlige Ramappa; +Cc: intel-gfx
[-- Attachment #1.1: Type: text/plain, Size: 30308 bytes --]
== Series Details ==
Series: series starting with [1/3] i915/perf: Store a mask of valid OA formats for a platform
URL : https://patchwork.freedesktop.org/series/86558/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_9714_full -> Patchwork_19558_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_19558_full:
### IGT changes ###
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* {igt@sysfs_clients@recycle-many}:
- shard-kbl: [PASS][1] -> [FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-kbl2/igt@sysfs_clients@recycle-many.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl7/igt@sysfs_clients@recycle-many.html
- shard-tglb: [PASS][3] -> [FAIL][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-tglb2/igt@sysfs_clients@recycle-many.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-tglb8/igt@sysfs_clients@recycle-many.html
Known issues
------------
Here are the changes found in Patchwork_19558_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_eio@in-flight-suspend:
- shard-kbl: [PASS][5] -> [DMESG-WARN][6] ([i915#1037] / [i915#180])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-kbl7/igt@gem_eio@in-flight-suspend.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl6/igt@gem_eio@in-flight-suspend.html
* igt@gem_exec_fair@basic-none-share@rcs0:
- shard-iclb: [PASS][7] -> [FAIL][8] ([i915#2842])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-iclb7/igt@gem_exec_fair@basic-none-share@rcs0.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb5/igt@gem_exec_fair@basic-none-share@rcs0.html
* igt@gem_exec_fair@basic-none-solo@rcs0:
- shard-glk: NOTRUN -> [FAIL][9] ([i915#2842])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-glk7/igt@gem_exec_fair@basic-none-solo@rcs0.html
* igt@gem_exec_fair@basic-none@vcs0:
- shard-kbl: [PASS][10] -> [FAIL][11] ([i915#2842]) +3 similar issues
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-kbl1/igt@gem_exec_fair@basic-none@vcs0.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl2/igt@gem_exec_fair@basic-none@vcs0.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-tglb: [PASS][12] -> [FAIL][13] ([i915#2842])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-tglb6/igt@gem_exec_fair@basic-pace-share@rcs0.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-tglb8/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_exec_fair@basic-pace-solo@rcs0:
- shard-glk: [PASS][14] -> [FAIL][15] ([i915#2842])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-glk1/igt@gem_exec_fair@basic-pace-solo@rcs0.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-glk6/igt@gem_exec_fair@basic-pace-solo@rcs0.html
- shard-tglb: NOTRUN -> [FAIL][16] ([i915#2842])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-tglb2/igt@gem_exec_fair@basic-pace-solo@rcs0.html
* igt@gem_exec_fair@basic-throttle@rcs0:
- shard-iclb: [PASS][17] -> [FAIL][18] ([i915#2849])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-iclb7/igt@gem_exec_fair@basic-throttle@rcs0.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb5/igt@gem_exec_fair@basic-throttle@rcs0.html
* igt@gem_exec_reloc@basic-wide-active@rcs0:
- shard-kbl: NOTRUN -> [FAIL][19] ([i915#2389]) +4 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl1/igt@gem_exec_reloc@basic-wide-active@rcs0.html
* igt@gem_exec_reloc@basic-wide-active@vcs1:
- shard-iclb: NOTRUN -> [FAIL][20] ([i915#2389])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb4/igt@gem_exec_reloc@basic-wide-active@vcs1.html
* igt@gem_exec_schedule@u-fairslice@vcs0:
- shard-tglb: [PASS][21] -> [DMESG-WARN][22] ([i915#2803])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-tglb7/igt@gem_exec_schedule@u-fairslice@vcs0.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-tglb7/igt@gem_exec_schedule@u-fairslice@vcs0.html
* igt@gem_exec_whisper@basic-contexts-priority-all:
- shard-glk: [PASS][23] -> [DMESG-WARN][24] ([i915#118] / [i915#95])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-glk6/igt@gem_exec_whisper@basic-contexts-priority-all.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-glk8/igt@gem_exec_whisper@basic-contexts-priority-all.html
* igt@gem_huc_copy@huc-copy:
- shard-tglb: [PASS][25] -> [SKIP][26] ([i915#2190])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-tglb1/igt@gem_huc_copy@huc-copy.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-tglb6/igt@gem_huc_copy@huc-copy.html
* igt@gem_mmap_offset@basic-uaf:
- shard-skl: [PASS][27] -> [DMESG-WARN][28] ([i915#1982]) +1 similar issue
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-skl3/igt@gem_mmap_offset@basic-uaf.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl3/igt@gem_mmap_offset@basic-uaf.html
* igt@gem_render_copy@yf-tiled-to-vebox-y-tiled:
- shard-iclb: NOTRUN -> [SKIP][29] ([i915#768])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb3/igt@gem_render_copy@yf-tiled-to-vebox-y-tiled.html
* igt@gem_userptr_blits@input-checking:
- shard-skl: NOTRUN -> [DMESG-WARN][30] ([i915#3002])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl10/igt@gem_userptr_blits@input-checking.html
* igt@gem_vm_create@destroy-race:
- shard-tglb: [PASS][31] -> [TIMEOUT][32] ([i915#2795])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-tglb2/igt@gem_vm_create@destroy-race.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-tglb8/igt@gem_vm_create@destroy-race.html
* igt@gem_workarounds@suspend-resume-context:
- shard-apl: [PASS][33] -> [DMESG-WARN][34] ([i915#180]) +3 similar issues
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-apl2/igt@gem_workarounds@suspend-resume-context.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-apl7/igt@gem_workarounds@suspend-resume-context.html
* igt@gen7_exec_parse@basic-allocation:
- shard-iclb: NOTRUN -> [SKIP][35] ([fdo#109289])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb3/igt@gen7_exec_parse@basic-allocation.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-snb: [PASS][36] -> [INCOMPLETE][37] ([i915#2880])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-snb5/igt@i915_module_load@reload-with-fault-injection.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-snb7/igt@i915_module_load@reload-with-fault-injection.html
* igt@i915_pm_dc@dc6-dpms:
- shard-kbl: NOTRUN -> [FAIL][38] ([i915#454])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl1/igt@i915_pm_dc@dc6-dpms.html
* igt@i915_suspend@forcewake:
- shard-kbl: [PASS][39] -> [DMESG-WARN][40] ([i915#180])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-kbl2/igt@i915_suspend@forcewake.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl6/igt@i915_suspend@forcewake.html
* igt@kms_big_fb@linear-16bpp-rotate-90:
- shard-iclb: NOTRUN -> [SKIP][41] ([fdo#110725] / [fdo#111614])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb3/igt@kms_big_fb@linear-16bpp-rotate-90.html
* igt@kms_chamelium@dp-hpd-storm-disable:
- shard-tglb: NOTRUN -> [SKIP][42] ([fdo#109284] / [fdo#111827]) +1 similar issue
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-tglb2/igt@kms_chamelium@dp-hpd-storm-disable.html
* igt@kms_chamelium@hdmi-audio-edid:
- shard-kbl: NOTRUN -> [SKIP][43] ([fdo#109271] / [fdo#111827]) +10 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl4/igt@kms_chamelium@hdmi-audio-edid.html
* igt@kms_color_chamelium@pipe-c-ctm-limited-range:
- shard-apl: NOTRUN -> [SKIP][44] ([fdo#109271] / [fdo#111827])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-apl2/igt@kms_color_chamelium@pipe-c-ctm-limited-range.html
* igt@kms_color_chamelium@pipe-c-ctm-max:
- shard-iclb: NOTRUN -> [SKIP][45] ([fdo#109284] / [fdo#111827]) +2 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb3/igt@kms_color_chamelium@pipe-c-ctm-max.html
* igt@kms_color_chamelium@pipe-c-ctm-negative:
- shard-skl: NOTRUN -> [SKIP][46] ([fdo#109271] / [fdo#111827]) +4 similar issues
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl10/igt@kms_color_chamelium@pipe-c-ctm-negative.html
* igt@kms_color_chamelium@pipe-d-ctm-0-75:
- shard-glk: NOTRUN -> [SKIP][47] ([fdo#109271] / [fdo#111827]) +3 similar issues
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-glk7/igt@kms_color_chamelium@pipe-d-ctm-0-75.html
* igt@kms_color_chamelium@pipe-d-ctm-max:
- shard-iclb: NOTRUN -> [SKIP][48] ([fdo#109278] / [fdo#109284] / [fdo#111827])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb3/igt@kms_color_chamelium@pipe-d-ctm-max.html
* igt@kms_content_protection@atomic:
- shard-kbl: NOTRUN -> [TIMEOUT][49] ([i915#1319])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl6/igt@kms_content_protection@atomic.html
* igt@kms_content_protection@uevent:
- shard-iclb: NOTRUN -> [SKIP][50] ([fdo#109300] / [fdo#111066])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb3/igt@kms_content_protection@uevent.html
* igt@kms_cursor_crc@pipe-a-cursor-64x21-onscreen:
- shard-skl: NOTRUN -> [FAIL][51] ([i915#54]) +1 similar issue
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl7/igt@kms_cursor_crc@pipe-a-cursor-64x21-onscreen.html
* igt@kms_cursor_crc@pipe-b-cursor-512x170-random:
- shard-iclb: NOTRUN -> [SKIP][52] ([fdo#109278] / [fdo#109279]) +1 similar issue
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb3/igt@kms_cursor_crc@pipe-b-cursor-512x170-random.html
* igt@kms_cursor_crc@pipe-b-cursor-64x21-offscreen:
- shard-skl: [PASS][53] -> [FAIL][54] ([i915#54]) +7 similar issues
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-skl6/igt@kms_cursor_crc@pipe-b-cursor-64x21-offscreen.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl9/igt@kms_cursor_crc@pipe-b-cursor-64x21-offscreen.html
* igt@kms_cursor_crc@pipe-d-cursor-512x170-offscreen:
- shard-iclb: NOTRUN -> [SKIP][55] ([fdo#109278]) +1 similar issue
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb3/igt@kms_cursor_crc@pipe-d-cursor-512x170-offscreen.html
* igt@kms_dp_tiled_display@basic-test-pattern:
- shard-iclb: NOTRUN -> [SKIP][56] ([i915#426])
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb3/igt@kms_dp_tiled_display@basic-test-pattern.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-apl: [PASS][57] -> [INCOMPLETE][58] ([i915#180] / [i915#1982])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-apl3/igt@kms_fbcon_fbt@fbc-suspend.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-apl7/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_flip@2x-plain-flip-fb-recreate:
- shard-iclb: NOTRUN -> [SKIP][59] ([fdo#109274])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb3/igt@kms_flip@2x-plain-flip-fb-recreate.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1:
- shard-skl: [PASS][60] -> [FAIL][61] ([i915#79])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-skl10/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl7/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
* igt@kms_flip@flip-vs-suspend@a-edp1:
- shard-skl: [PASS][62] -> [INCOMPLETE][63] ([i915#198])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-skl7/igt@kms_flip@flip-vs-suspend@a-edp1.html
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl9/igt@kms_flip@flip-vs-suspend@a-edp1.html
* igt@kms_flip@plain-flip-ts-check-interruptible@a-hdmi-a2:
- shard-glk: [PASS][64] -> [FAIL][65] ([i915#2122])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-glk2/igt@kms_flip@plain-flip-ts-check-interruptible@a-hdmi-a2.html
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-glk9/igt@kms_flip@plain-flip-ts-check-interruptible@a-hdmi-a2.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile:
- shard-kbl: NOTRUN -> [SKIP][66] ([fdo#109271] / [i915#2642])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-msflip-blt:
- shard-iclb: NOTRUN -> [SKIP][67] ([fdo#109280]) +1 similar issue
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-cpu:
- shard-kbl: NOTRUN -> [SKIP][68] ([fdo#109271]) +144 similar issues
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-cpu:
- shard-apl: NOTRUN -> [SKIP][69] ([fdo#109271]) +2 similar issues
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-apl2/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-onoff:
- shard-glk: NOTRUN -> [SKIP][70] ([fdo#109271]) +27 similar issues
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-glk7/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-onoff.html
* igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d:
- shard-glk: NOTRUN -> [SKIP][71] ([fdo#109271] / [i915#533])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-glk7/igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d.html
* igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
- shard-glk: NOTRUN -> [FAIL][72] ([fdo#108145] / [i915#265])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-glk7/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max.html
* igt@kms_plane_alpha_blend@pipe-c-alpha-7efc:
- shard-kbl: NOTRUN -> [FAIL][73] ([fdo#108145] / [i915#265]) +2 similar issues
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl4/igt@kms_plane_alpha_blend@pipe-c-alpha-7efc.html
* igt@kms_plane_lowres@pipe-d-tiling-yf:
- shard-skl: NOTRUN -> [SKIP][74] ([fdo#109271]) +33 similar issues
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl7/igt@kms_plane_lowres@pipe-d-tiling-yf.html
* igt@kms_psr2_sf@cursor-plane-update-sf:
- shard-iclb: NOTRUN -> [SKIP][75] ([i915#658])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb3/igt@kms_psr2_sf@cursor-plane-update-sf.html
* igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4:
- shard-kbl: NOTRUN -> [SKIP][76] ([fdo#109271] / [i915#658]) +1 similar issue
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl1/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4.html
* igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5:
- shard-glk: NOTRUN -> [SKIP][77] ([fdo#109271] / [i915#658])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-glk7/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5.html
* igt@kms_psr@psr2_sprite_plane_move:
- shard-iclb: [PASS][78] -> [SKIP][79] ([fdo#109441]) +2 similar issues
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb4/igt@kms_psr@psr2_sprite_plane_move.html
* igt@kms_writeback@writeback-invalid-parameters:
- shard-skl: NOTRUN -> [SKIP][80] ([fdo#109271] / [i915#2437])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl10/igt@kms_writeback@writeback-invalid-parameters.html
- shard-kbl: NOTRUN -> [SKIP][81] ([fdo#109271] / [i915#2437])
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl4/igt@kms_writeback@writeback-invalid-parameters.html
* igt@nouveau_crc@pipe-d-ctx-flip-skip-current-frame:
- shard-tglb: NOTRUN -> [SKIP][82] ([i915#2530])
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-tglb2/igt@nouveau_crc@pipe-d-ctx-flip-skip-current-frame.html
* igt@perf@polling-parameterized:
- shard-skl: [PASS][83] -> [FAIL][84] ([i915#1542])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-skl1/igt@perf@polling-parameterized.html
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl10/igt@perf@polling-parameterized.html
* igt@perf@polling-small-buf:
- shard-skl: NOTRUN -> [FAIL][85] ([i915#1722])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl1/igt@perf@polling-small-buf.html
* igt@prime_nv_pcopy@test3_4:
- shard-tglb: NOTRUN -> [SKIP][86] ([fdo#109291])
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-tglb2/igt@prime_nv_pcopy@test3_4.html
* igt@prime_vgem@sync@rcs0:
- shard-skl: [PASS][87] -> [INCOMPLETE][88] ([i915#409])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-skl3/igt@prime_vgem@sync@rcs0.html
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl1/igt@prime_vgem@sync@rcs0.html
#### Possible fixes ####
* igt@gem_exec_balancer@hang:
- shard-iclb: [INCOMPLETE][89] -> [PASS][90]
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-iclb4/igt@gem_exec_balancer@hang.html
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb3/igt@gem_exec_balancer@hang.html
* igt@gem_exec_fair@basic-flow@rcs0:
- shard-tglb: [FAIL][91] ([i915#2842]) -> [PASS][92] +2 similar issues
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-tglb3/igt@gem_exec_fair@basic-flow@rcs0.html
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-tglb8/igt@gem_exec_fair@basic-flow@rcs0.html
* igt@gem_exec_fair@basic-pace@rcs0:
- shard-kbl: [FAIL][93] ([i915#2842]) -> [PASS][94]
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-kbl7/igt@gem_exec_fair@basic-pace@rcs0.html
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl6/igt@gem_exec_fair@basic-pace@rcs0.html
* igt@gem_exec_flush@basic-uc-ro-default:
- shard-glk: [INCOMPLETE][95] -> [PASS][96]
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-glk7/igt@gem_exec_flush@basic-uc-ro-default.html
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-glk7/igt@gem_exec_flush@basic-uc-ro-default.html
* igt@gem_softpin@noreloc-s3:
- shard-apl: [DMESG-WARN][97] ([i915#180]) -> [PASS][98] +3 similar issues
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-apl8/igt@gem_softpin@noreloc-s3.html
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-apl3/igt@gem_softpin@noreloc-s3.html
* igt@i915_pm_rpm@system-suspend:
- shard-skl: [INCOMPLETE][99] ([i915#146] / [i915#151] / [i915#2295]) -> [PASS][100]
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-skl10/igt@i915_pm_rpm@system-suspend.html
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl10/igt@i915_pm_rpm@system-suspend.html
* igt@kms_color@pipe-b-ctm-0-5:
- shard-skl: [DMESG-WARN][101] ([i915#1982]) -> [PASS][102] +1 similar issue
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-skl6/igt@kms_color@pipe-b-ctm-0-5.html
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl9/igt@kms_color@pipe-b-ctm-0-5.html
* igt@kms_cursor_crc@pipe-b-cursor-64x64-offscreen:
- shard-skl: [FAIL][103] ([i915#54]) -> [PASS][104] +4 similar issues
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-skl8/igt@kms_cursor_crc@pipe-b-cursor-64x64-offscreen.html
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl6/igt@kms_cursor_crc@pipe-b-cursor-64x64-offscreen.html
* igt@kms_cursor_crc@pipe-c-cursor-suspend:
- shard-kbl: [DMESG-WARN][105] ([i915#180]) -> [PASS][106] +5 similar issues
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-kbl6/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl1/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
* igt@kms_draw_crc@draw-method-rgb565-render-untiled:
- shard-skl: [FAIL][107] ([i915#52] / [i915#54]) -> [PASS][108]
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-skl7/igt@kms_draw_crc@draw-method-rgb565-render-untiled.html
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl9/igt@kms_draw_crc@draw-method-rgb565-render-untiled.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a1-hdmi-a2:
- shard-glk: [FAIL][109] ([i915#79]) -> [PASS][110] +1 similar issue
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-glk4/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a1-hdmi-a2.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-glk2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a1-hdmi-a2.html
* igt@kms_flip@plain-flip-ts-check-interruptible@b-edp1:
- shard-skl: [FAIL][111] ([i915#2122]) -> [PASS][112]
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-skl2/igt@kms_flip@plain-flip-ts-check-interruptible@b-edp1.html
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl8/igt@kms_flip@plain-flip-ts-check-interruptible@b-edp1.html
* igt@kms_plane@plane-panning-bottom-right-pipe-b-planes:
- shard-skl: [FAIL][113] ([i915#1036]) -> [PASS][114]
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-skl6/igt@kms_plane@plane-panning-bottom-right-pipe-b-planes.html
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl8/igt@kms_plane@plane-panning-bottom-right-pipe-b-planes.html
* igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl: [FAIL][115] ([fdo#108145] / [i915#265]) -> [PASS][116] +3 similar issues
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-skl2/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-skl4/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
* igt@kms_psr2_su@page_flip:
- shard-iclb: [SKIP][117] ([fdo#109642] / [fdo#111068] / [i915#658]) -> [PASS][118]
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-iclb3/igt@kms_psr2_su@page_flip.html
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb2/igt@kms_psr2_su@page_flip.html
* igt@kms_psr@psr2_primary_page_flip:
- shard-iclb: [SKIP][119] ([fdo#109441]) -> [PASS][120]
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-iclb5/igt@kms_psr@psr2_primary_page_flip.html
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html
* {igt@sysfs_clients@recycle}:
- shard-snb: [FAIL][121] ([i915#3028]) -> [PASS][122]
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-snb7/igt@sysfs_clients@recycle.html
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-snb4/igt@sysfs_clients@recycle.html
* {igt@sysfs_clients@split-10@bcs0}:
- shard-glk: [SKIP][123] ([fdo#109271] / [i915#3026]) -> [PASS][124]
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-glk4/igt@sysfs_clients@split-10@bcs0.html
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-glk3/igt@sysfs_clients@split-10@bcs0.html
- shard-apl: [SKIP][125] ([fdo#109271] / [i915#3026]) -> [PASS][126]
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-apl2/igt@sysfs_clients@split-10@bcs0.html
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-apl4/igt@sysfs_clients@split-10@bcs0.html
#### Warnings ####
* igt@i915_pm_dc@dc3co-vpb-simulation:
- shard-iclb: [SKIP][127] ([i915#658]) -> [SKIP][128] ([i915#588])
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-iclb5/igt@i915_pm_dc@dc3co-vpb-simulation.html
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb2/igt@i915_pm_dc@dc3co-vpb-simulation.html
* igt@i915_pm_rc6_residency@rc6-fence:
- shard-iclb: [WARN][129] ([i915#2681] / [i915#2684]) -> [WARN][130] ([i915#1804] / [i915#2684])
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-iclb1/igt@i915_pm_rc6_residency@rc6-fence.html
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb3/igt@i915_pm_rc6_residency@rc6-fence.html
* igt@i915_pm_rc6_residency@rc6-idle:
- shard-iclb: [WARN][131] ([i915#2684]) -> [WARN][132] ([i915#2681] / [i915#2684])
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-iclb5/igt@i915_pm_rc6_residency@rc6-idle.html
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb8/igt@i915_pm_rc6_residency@rc6-idle.html
* igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1:
- shard-iclb: [SKIP][133] ([i915#658]) -> [SKIP][134] ([i915#2920]) +2 similar issues
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-iclb5/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1.html
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb2/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1.html
* igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3:
- shard-iclb: [SKIP][135] ([i915#2920]) -> [SKIP][136] ([i915#658]) +2 similar issues
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-iclb2/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3.html
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-iclb4/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3.html
* igt@runner@aborted:
- shard-kbl: ([FAIL][137], [FAIL][138], [FAIL][139], [FAIL][140], [FAIL][141], [FAIL][142], [FAIL][143], [FAIL][144], [FAIL][145]) ([i915#1814] / [i915#2292] / [i915#2295] / [i915#2505] / [i915#3002]) -> ([FAIL][146], [FAIL][147], [FAIL][148], [FAIL][149], [FAIL][150]) ([i915#1436] / [i915#1814] / [i915#2295] / [i915#2505] / [i915#3002])
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-kbl6/igt@runner@aborted.html
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-kbl6/igt@runner@aborted.html
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-kbl7/igt@runner@aborted.html
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-kbl6/igt@runner@aborted.html
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-kbl6/igt@runner@aborted.html
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-kbl1/igt@runner@aborted.html
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-kbl2/igt@runner@aborted.html
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-kbl6/igt@runner@aborted.html
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-kbl6/igt@runner@aborted.html
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl2/igt@runner@aborted.html
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl6/igt@runner@aborted.html
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl6/igt@runner@aborted.html
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl2/igt@runner@aborted.html
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/shard-kbl4/igt@runner@aborted.html
- shard-glk: ([FAIL][151], [FAIL][152], [FAIL][153], [FAIL][154]) ([i915#2295] / [i915#2722] / [i915#3002] / [k.org#202321]) -> ([FAIL][155], [FAIL][156], [FAIL][157]) ([i915#2295] / [i915#3002] / [k.org#202321])
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9714/shard-glk8/igt@runner@aborted.html
[152]: https
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19558/index.html
[-- Attachment #1.2: Type: text/html, Size: 33885 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 1/3] i915/perf: Store a mask of valid OA formats for a platform
2021-02-02 8:24 ` [Intel-gfx] [PATCH 1/3] " Chris Wilson
@ 2021-02-02 20:10 ` Umesh Nerlige Ramappa
2021-02-02 20:44 ` Chris Wilson
0 siblings, 1 reply; 11+ messages in thread
From: Umesh Nerlige Ramappa @ 2021-02-02 20:10 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
On Tue, Feb 02, 2021 at 08:24:15AM +0000, Chris Wilson wrote:
>Quoting Umesh Nerlige Ramappa (2021-02-02 07:54:15)
>> Validity of an OA format is checked by using a sparse array of formats
>> per gen. Instead maintain a mask of supported formats for a platform in
>> the perf object.
>>
>> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>> ---
>> drivers/gpu/drm/i915/i915_perf.c | 64 +++++++++++++++++++++++++-
>> drivers/gpu/drm/i915/i915_perf_types.h | 16 +++++++
>> 2 files changed, 79 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
>> index 112ba5f2ce90..973577fcad58 100644
>> --- a/drivers/gpu/drm/i915/i915_perf.c
>> +++ b/drivers/gpu/drm/i915/i915_perf.c
>> @@ -3524,6 +3524,19 @@ static u64 oa_exponent_to_ns(struct i915_perf *perf, int exponent)
>> 2ULL << exponent);
>> }
>>
>> +static __always_inline bool
>> +oa_format_valid(struct i915_perf *perf, enum drm_i915_oa_format format)
>> +{
>> + return !!(perf->format_mask[__format_index(format)] &
>> + __format_bit(format));
>
>!! is already provided by the implicit cast to (bool)
>
>> +}
>> +
>> +static __always_inline void
>> +oa_format_add(struct i915_perf *perf, enum drm_i915_oa_format format)
>> +{
>> + perf->format_mask[__format_index(format)] |= __format_bit(format);
>> +}
>> +
>> /**
>> * read_properties_unlocked - validate + copy userspace stream open properties
>> * @perf: i915 perf instance
>> @@ -3615,7 +3628,7 @@ static int read_properties_unlocked(struct i915_perf *perf,
>> value);
>> return -EINVAL;
>> }
>> - if (!perf->oa_formats[value].size) {
>> + if (!oa_format_valid(perf, value)) {
>> DRM_DEBUG("Unsupported OA report format %llu\n",
>> value);
>> return -EINVAL;
>> @@ -4259,6 +4272,53 @@ static struct ctl_table dev_root[] = {
>> {}
>> };
>>
>> +static void oa_init_supported_formats(struct i915_perf *perf)
>> +{
>> + struct drm_i915_private *i915 = perf->i915;
>> + enum intel_platform platform = INTEL_INFO(i915)->platform;
>> +
>> + switch (platform) {
>> + case INTEL_HASWELL:
>> + oa_format_add(perf, I915_OA_FORMAT_A13);
>> + oa_format_add(perf, I915_OA_FORMAT_A13);
>> + oa_format_add(perf, I915_OA_FORMAT_A29);
>> + oa_format_add(perf, I915_OA_FORMAT_A13_B8_C8);
>> + oa_format_add(perf, I915_OA_FORMAT_B4_C8);
>> + oa_format_add(perf, I915_OA_FORMAT_A45_B8_C8);
>> + oa_format_add(perf, I915_OA_FORMAT_B4_C8_A16);
>> + oa_format_add(perf, I915_OA_FORMAT_C4_B8);
>> + break;
>> +
>> + case INTEL_BROADWELL:
>> + case INTEL_CHERRYVIEW:
>> + case INTEL_SKYLAKE:
>> + case INTEL_BROXTON:
>> + case INTEL_KABYLAKE:
>> + case INTEL_GEMINILAKE:
>> + case INTEL_COFFEELAKE:
>> + case INTEL_COMETLAKE:
>> + case INTEL_CANNONLAKE:
>> + case INTEL_ICELAKE:
>> + case INTEL_ELKHARTLAKE:
>> + case INTEL_JASPERLAKE:
>> + oa_format_add(perf, I915_OA_FORMAT_A12);
>> + oa_format_add(perf, I915_OA_FORMAT_A12_B8_C8);
>> + oa_format_add(perf, I915_OA_FORMAT_A32u40_A4u32_B8_C8);
>> + oa_format_add(perf, I915_OA_FORMAT_C4_B8);
>> + break;
>
>Ok, this looks as compact and readable as writing it as a bunch of
>tables. I presume there's a reason you didn't just use generation rather
>than platform.
>
>switch (gen) {
>case 7:
> haswell();
> break;
>case 8 .. 11:
> broadwell();
> break;
>case 12:
> tigerlake();
> break;
>}
>if you wanted to stick with a switch rather than an if-else tree for the
>ranges.
only haswell is supported on gen7 and gen12 may define new formats that
are platform specific.
How about a mix? -
if (gen == 7 && haswell)
haswell();
else if (gen >= 8 && gen <= 11)
broadwell;
else
gen12_formats();
gen12_formats can choose to use the switch if formats vary between
platforms.
Thanks,
Umesh
>
>Note you could equally do
> case INTEL_BROADWELL .. INTEL_JASPERLAKE:
>but I expect that to cause confusion for the reader.
>
>> + /**
>> + * Use a format mask to store the supported formats
>> + * for a platform.
>> + */
>> +#define __fbits (BITS_PER_TYPE(u32))
>> +#define __format_bit(__f) \
>> + BIT((__f) & (__fbits - 1))
>> +
>> +#define __format_index_shift (5)
>> +#define __format_index(__f) \
>> + (((__f) & ~(__fbits - 1)) >> __format_index_shift)
>> +
>> +#define FORMAT_MASK_SIZE (((I915_OA_FORMAT_MAX - 1) / __fbits) + 1)
>> + u32 format_mask[FORMAT_MASK_SIZE];
>
>This is just open-coding set_bit/test_bit
>
>#define FORMAT_MASK_SIZE DIV_ROUND_UP(I915_OA_FORMAT_MAX - 1, BITS_PER_LONG)
>unsigned long format_mask[FORMAT_MASK_SIZE];
>
>static __always_inline bool
>oa_format_valid(struct i915_perf *perf, enum drm_i915_oa_format format)
>{
> return test_bit(format, perf->format_mask);
>}
>
>static __always_inline void
>oa_format_add(struct i915_perf *perf, enum drm_i915_oa_format format)
>{
> __set_bit(format, perf->format_mask);
>}
>-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 1/3] i915/perf: Store a mask of valid OA formats for a platform
2021-02-02 20:10 ` Umesh Nerlige Ramappa
@ 2021-02-02 20:44 ` Chris Wilson
0 siblings, 0 replies; 11+ messages in thread
From: Chris Wilson @ 2021-02-02 20:44 UTC (permalink / raw)
To: Umesh Nerlige Ramappa; +Cc: intel-gfx
Quoting Umesh Nerlige Ramappa (2021-02-02 20:10:44)
> On Tue, Feb 02, 2021 at 08:24:15AM +0000, Chris Wilson wrote:
> >Ok, this looks as compact and readable as writing it as a bunch of
> >tables. I presume there's a reason you didn't just use generation rather
> >than platform.
> >
> >switch (gen) {
> >case 7:
> > haswell();
> > break;
> >case 8 .. 11:
> > broadwell();
> > break;
> >case 12:
> > tigerlake();
> > break;
> >}
> >if you wanted to stick with a switch rather than an if-else tree for the
> >ranges.
>
> only haswell is supported on gen7 and gen12 may define new formats that
> are platform specific.
>
> How about a mix? -
>
> if (gen == 7 && haswell)
> haswell();
> else if (gen >= 8 && gen <= 11)
> broadwell;
> else
> gen12_formats();
>
> gen12_formats can choose to use the switch if formats vary between
> platforms.
I didn't mind the platform switch too much, so no need to change at the
moment. I just worry that it's more typing to maintain :)
What I thought you were going to do (from the subject) were tables with
a platform_mask for applicability, but that I feell would be just as
much typing, now and in the future.
I thought support started at Haswell, so the other gen7 were not a
concern? But yes, if we look at how we end up doing it else where it's a
mix of gen and platform
if (gen >= 12)
gen12_formats;
else if (gen >= 8)
gen8_formats;
else if (IS_HSW)
hsw_formats;
else
MISSING_CASE(gen)
At the end of the day, you're the person who is typing this, so it's up
to you how much effort you want to spend now to save later. :)
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 1/3] i915/perf: Store a mask of valid OA formats for a platform
2021-02-02 7:54 [Intel-gfx] [PATCH 1/3] i915/perf: Store a mask of valid OA formats for a platform Umesh Nerlige Ramappa
` (5 preceding siblings ...)
2021-02-02 11:32 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
@ 2021-02-03 9:55 ` Lionel Landwerlin
6 siblings, 0 replies; 11+ messages in thread
From: Lionel Landwerlin @ 2021-02-03 9:55 UTC (permalink / raw)
To: Umesh Nerlige Ramappa, intel-gfx
On 02/02/2021 09:54, Umesh Nerlige Ramappa wrote:
> Validity of an OA format is checked by using a sparse array of formats
> per gen. Instead maintain a mask of supported formats for a platform in
> the perf object.
>
> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Nice cleanup : Reviewed-by: Lionel Landwerlin
<lionel.g.landwerlin@intel.com>
Thanks!
> ---
> drivers/gpu/drm/i915/i915_perf.c | 64 +++++++++++++++++++++++++-
> drivers/gpu/drm/i915/i915_perf_types.h | 16 +++++++
> 2 files changed, 79 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
> index 112ba5f2ce90..973577fcad58 100644
> --- a/drivers/gpu/drm/i915/i915_perf.c
> +++ b/drivers/gpu/drm/i915/i915_perf.c
> @@ -3524,6 +3524,19 @@ static u64 oa_exponent_to_ns(struct i915_perf *perf, int exponent)
> 2ULL << exponent);
> }
>
> +static __always_inline bool
> +oa_format_valid(struct i915_perf *perf, enum drm_i915_oa_format format)
> +{
> + return !!(perf->format_mask[__format_index(format)] &
> + __format_bit(format));
> +}
> +
> +static __always_inline void
> +oa_format_add(struct i915_perf *perf, enum drm_i915_oa_format format)
> +{
> + perf->format_mask[__format_index(format)] |= __format_bit(format);
> +}
> +
> /**
> * read_properties_unlocked - validate + copy userspace stream open properties
> * @perf: i915 perf instance
> @@ -3615,7 +3628,7 @@ static int read_properties_unlocked(struct i915_perf *perf,
> value);
> return -EINVAL;
> }
> - if (!perf->oa_formats[value].size) {
> + if (!oa_format_valid(perf, value)) {
> DRM_DEBUG("Unsupported OA report format %llu\n",
> value);
> return -EINVAL;
> @@ -4259,6 +4272,53 @@ static struct ctl_table dev_root[] = {
> {}
> };
>
> +static void oa_init_supported_formats(struct i915_perf *perf)
> +{
> + struct drm_i915_private *i915 = perf->i915;
> + enum intel_platform platform = INTEL_INFO(i915)->platform;
> +
> + switch (platform) {
> + case INTEL_HASWELL:
> + oa_format_add(perf, I915_OA_FORMAT_A13);
> + oa_format_add(perf, I915_OA_FORMAT_A13);
> + oa_format_add(perf, I915_OA_FORMAT_A29);
> + oa_format_add(perf, I915_OA_FORMAT_A13_B8_C8);
> + oa_format_add(perf, I915_OA_FORMAT_B4_C8);
> + oa_format_add(perf, I915_OA_FORMAT_A45_B8_C8);
> + oa_format_add(perf, I915_OA_FORMAT_B4_C8_A16);
> + oa_format_add(perf, I915_OA_FORMAT_C4_B8);
> + break;
> +
> + case INTEL_BROADWELL:
> + case INTEL_CHERRYVIEW:
> + case INTEL_SKYLAKE:
> + case INTEL_BROXTON:
> + case INTEL_KABYLAKE:
> + case INTEL_GEMINILAKE:
> + case INTEL_COFFEELAKE:
> + case INTEL_COMETLAKE:
> + case INTEL_CANNONLAKE:
> + case INTEL_ICELAKE:
> + case INTEL_ELKHARTLAKE:
> + case INTEL_JASPERLAKE:
> + oa_format_add(perf, I915_OA_FORMAT_A12);
> + oa_format_add(perf, I915_OA_FORMAT_A12_B8_C8);
> + oa_format_add(perf, I915_OA_FORMAT_A32u40_A4u32_B8_C8);
> + oa_format_add(perf, I915_OA_FORMAT_C4_B8);
> + break;
> +
> + case INTEL_TIGERLAKE:
> + case INTEL_ROCKETLAKE:
> + case INTEL_DG1:
> + case INTEL_ALDERLAKE_S:
> + oa_format_add(perf, I915_OA_FORMAT_A32u40_A4u32_B8_C8);
> + break;
> +
> + default:
> + MISSING_CASE(platform);
> + }
> +}
> +
> /**
> * i915_perf_init - initialize i915-perf state on module bind
> * @i915: i915 device instance
> @@ -4408,6 +4468,8 @@ void i915_perf_init(struct drm_i915_private *i915)
> 500 * 1000 /* 500us */);
>
> perf->i915 = i915;
> +
> + oa_init_supported_formats(perf);
> }
> }
>
> diff --git a/drivers/gpu/drm/i915/i915_perf_types.h b/drivers/gpu/drm/i915/i915_perf_types.h
> index a36a455ae336..f81bcb533723 100644
> --- a/drivers/gpu/drm/i915/i915_perf_types.h
> +++ b/drivers/gpu/drm/i915/i915_perf_types.h
> @@ -15,6 +15,7 @@
> #include <linux/types.h>
> #include <linux/uuid.h>
> #include <linux/wait.h>
> +#include <uapi/drm/i915_drm.h>
>
> #include "gt/intel_sseu.h"
> #include "i915_reg.h"
> @@ -441,6 +442,21 @@ struct i915_perf {
> struct i915_oa_ops ops;
> const struct i915_oa_format *oa_formats;
>
> + /**
> + * Use a format mask to store the supported formats
> + * for a platform.
> + */
> +#define __fbits (BITS_PER_TYPE(u32))
> +#define __format_bit(__f) \
> + BIT((__f) & (__fbits - 1))
> +
> +#define __format_index_shift (5)
> +#define __format_index(__f) \
> + (((__f) & ~(__fbits - 1)) >> __format_index_shift)
> +
> +#define FORMAT_MASK_SIZE (((I915_OA_FORMAT_MAX - 1) / __fbits) + 1)
> + u32 format_mask[FORMAT_MASK_SIZE];
> +
> atomic64_t noa_programming_delay;
> };
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-gfx] [PATCH 1/3] i915/perf: Store a mask of valid OA formats for a platform
@ 2021-02-08 17:40 Umesh Nerlige Ramappa
0 siblings, 0 replies; 11+ messages in thread
From: Umesh Nerlige Ramappa @ 2021-02-08 17:40 UTC (permalink / raw)
To: intel-gfx; +Cc: Chris Wilson
Validity of an OA format is checked by using a sparse array of formats
per gen. Instead maintain a mask of supported formats for a platform in
the perf object.
v2: Use set_bit and test_bit style for the format_mask (Chris)
Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
---
drivers/gpu/drm/i915/i915_perf.c | 63 +++++++++++++++++++++++++-
drivers/gpu/drm/i915/i915_perf_types.h | 8 ++++
2 files changed, 70 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
index 89665e14ab01..7b6aab5f3e46 100644
--- a/drivers/gpu/drm/i915/i915_perf.c
+++ b/drivers/gpu/drm/i915/i915_perf.c
@@ -3524,6 +3524,18 @@ static u64 oa_exponent_to_ns(struct i915_perf *perf, int exponent)
2ULL << exponent);
}
+static __always_inline bool
+oa_format_valid(struct i915_perf *perf, enum drm_i915_oa_format format)
+{
+ return test_bit(format, perf->format_mask);
+}
+
+static __always_inline void
+oa_format_add(struct i915_perf *perf, enum drm_i915_oa_format format)
+{
+ __set_bit(format, perf->format_mask);
+}
+
/**
* read_properties_unlocked - validate + copy userspace stream open properties
* @perf: i915 perf instance
@@ -3615,7 +3627,7 @@ static int read_properties_unlocked(struct i915_perf *perf,
value);
return -EINVAL;
}
- if (!perf->oa_formats[value].size) {
+ if (!oa_format_valid(perf, value)) {
DRM_DEBUG("Unsupported OA report format %llu\n",
value);
return -EINVAL;
@@ -4259,6 +4271,53 @@ static struct ctl_table dev_root[] = {
{}
};
+static void oa_init_supported_formats(struct i915_perf *perf)
+{
+ struct drm_i915_private *i915 = perf->i915;
+ enum intel_platform platform = INTEL_INFO(i915)->platform;
+
+ switch (platform) {
+ case INTEL_HASWELL:
+ oa_format_add(perf, I915_OA_FORMAT_A13);
+ oa_format_add(perf, I915_OA_FORMAT_A13);
+ oa_format_add(perf, I915_OA_FORMAT_A29);
+ oa_format_add(perf, I915_OA_FORMAT_A13_B8_C8);
+ oa_format_add(perf, I915_OA_FORMAT_B4_C8);
+ oa_format_add(perf, I915_OA_FORMAT_A45_B8_C8);
+ oa_format_add(perf, I915_OA_FORMAT_B4_C8_A16);
+ oa_format_add(perf, I915_OA_FORMAT_C4_B8);
+ break;
+
+ case INTEL_BROADWELL:
+ case INTEL_CHERRYVIEW:
+ case INTEL_SKYLAKE:
+ case INTEL_BROXTON:
+ case INTEL_KABYLAKE:
+ case INTEL_GEMINILAKE:
+ case INTEL_COFFEELAKE:
+ case INTEL_COMETLAKE:
+ case INTEL_CANNONLAKE:
+ case INTEL_ICELAKE:
+ case INTEL_ELKHARTLAKE:
+ case INTEL_JASPERLAKE:
+ oa_format_add(perf, I915_OA_FORMAT_A12);
+ oa_format_add(perf, I915_OA_FORMAT_A12_B8_C8);
+ oa_format_add(perf, I915_OA_FORMAT_A32u40_A4u32_B8_C8);
+ oa_format_add(perf, I915_OA_FORMAT_C4_B8);
+ break;
+
+ case INTEL_TIGERLAKE:
+ case INTEL_ROCKETLAKE:
+ case INTEL_DG1:
+ case INTEL_ALDERLAKE_S:
+ oa_format_add(perf, I915_OA_FORMAT_A32u40_A4u32_B8_C8);
+ break;
+
+ default:
+ MISSING_CASE(platform);
+ }
+}
+
/**
* i915_perf_init - initialize i915-perf state on module bind
* @i915: i915 device instance
@@ -4408,6 +4467,8 @@ void i915_perf_init(struct drm_i915_private *i915)
500 * 1000 /* 500us */);
perf->i915 = i915;
+
+ oa_init_supported_formats(perf);
}
}
diff --git a/drivers/gpu/drm/i915/i915_perf_types.h b/drivers/gpu/drm/i915/i915_perf_types.h
index a36a455ae336..aa14354a5120 100644
--- a/drivers/gpu/drm/i915/i915_perf_types.h
+++ b/drivers/gpu/drm/i915/i915_perf_types.h
@@ -15,6 +15,7 @@
#include <linux/types.h>
#include <linux/uuid.h>
#include <linux/wait.h>
+#include <uapi/drm/i915_drm.h>
#include "gt/intel_sseu.h"
#include "i915_reg.h"
@@ -441,6 +442,13 @@ struct i915_perf {
struct i915_oa_ops ops;
const struct i915_oa_format *oa_formats;
+ /**
+ * Use a format mask to store the supported formats
+ * for a platform.
+ */
+#define FORMAT_MASK_SIZE DIV_ROUND_UP(I915_OA_FORMAT_MAX - 1, BITS_PER_LONG)
+ unsigned long format_mask[FORMAT_MASK_SIZE];
+
atomic64_t noa_programming_delay;
};
--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 11+ messages in thread
end of thread, other threads:[~2021-02-08 17:40 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-02 7:54 [Intel-gfx] [PATCH 1/3] i915/perf: Store a mask of valid OA formats for a platform Umesh Nerlige Ramappa
2021-02-02 7:54 ` [Intel-gfx] [PATCH 2/3] i915/perf: Move OA formats to single array Umesh Nerlige Ramappa
2021-02-02 7:54 ` [Intel-gfx] [PATCH 3/3] i915/perf: Add additional OA formats for gen12 Umesh Nerlige Ramappa
2021-02-02 8:24 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/3] i915/perf: Store a mask of valid OA formats for a platform Patchwork
2021-02-02 8:24 ` [Intel-gfx] [PATCH 1/3] " Chris Wilson
2021-02-02 20:10 ` Umesh Nerlige Ramappa
2021-02-02 20:44 ` Chris Wilson
2021-02-02 8:52 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/3] " Patchwork
2021-02-02 11:32 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2021-02-03 9:55 ` [Intel-gfx] [PATCH 1/3] " Lionel Landwerlin
2021-02-08 17:40 Umesh Nerlige Ramappa
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.