* [Intel-gfx] [PATCH] drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc
@ 2020-02-27 16:12 Jani Nikula
2020-02-27 16:22 ` Ville Syrjälä
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Jani Nikula @ 2020-02-27 16:12 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Having an array pipe_crc[I915_MAX_PIPES] in struct drm_i915_private
should be an obvious clue this should be located in struct intel_crtc
instead. Make it so.
As a side-effect, fix some errors in indexing pipe_crc with both pipe
and crtc index. And, of course, reduce the size of i915_drv.h.
Cc: Anshuman Gupta <anshuman.gupta@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 2 ++
.../drm/i915/display/intel_display_types.h | 30 +++++++++++++++++++
drivers/gpu/drm/i915/display/intel_pipe_crc.c | 17 +++++------
drivers/gpu/drm/i915/display/intel_pipe_crc.h | 4 +--
drivers/gpu/drm/i915/i915_drv.c | 1 -
drivers/gpu/drm/i915/i915_drv.h | 30 -------------------
drivers/gpu/drm/i915/i915_irq.c | 2 +-
7 files changed, 42 insertions(+), 44 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index b8e57ce096a7..f388cfaf408d 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -16705,6 +16705,8 @@ static int intel_crtc_init(struct drm_i915_private *dev_priv, enum pipe pipe)
intel_color_init(crtc);
+ intel_crtc_crc_init(crtc);
+
drm_WARN_ON(&dev_priv->drm, drm_crtc_index(&crtc->base) != crtc->pipe);
return 0;
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 0a06043d4d4c..ac5d066e23a0 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1045,6 +1045,32 @@ struct intel_crtc_state {
enum transcoder mst_master_transcoder;
};
+enum intel_pipe_crc_source {
+ INTEL_PIPE_CRC_SOURCE_NONE,
+ INTEL_PIPE_CRC_SOURCE_PLANE1,
+ INTEL_PIPE_CRC_SOURCE_PLANE2,
+ INTEL_PIPE_CRC_SOURCE_PLANE3,
+ INTEL_PIPE_CRC_SOURCE_PLANE4,
+ INTEL_PIPE_CRC_SOURCE_PLANE5,
+ INTEL_PIPE_CRC_SOURCE_PLANE6,
+ INTEL_PIPE_CRC_SOURCE_PLANE7,
+ INTEL_PIPE_CRC_SOURCE_PIPE,
+ /* TV/DP on pre-gen5/vlv can't use the pipe source. */
+ INTEL_PIPE_CRC_SOURCE_TV,
+ INTEL_PIPE_CRC_SOURCE_DP_B,
+ INTEL_PIPE_CRC_SOURCE_DP_C,
+ INTEL_PIPE_CRC_SOURCE_DP_D,
+ INTEL_PIPE_CRC_SOURCE_AUTO,
+ INTEL_PIPE_CRC_SOURCE_MAX,
+};
+
+#define INTEL_PIPE_CRC_ENTRIES_NR 128
+struct intel_pipe_crc {
+ spinlock_t lock;
+ int skipped;
+ enum intel_pipe_crc_source source;
+};
+
struct intel_crtc {
struct drm_crtc base;
enum pipe pipe;
@@ -1088,6 +1114,10 @@ struct intel_crtc {
/* per pipe DSB related info */
struct intel_dsb dsb;
+
+#ifdef CONFIG_DEBUG_FS
+ struct intel_pipe_crc pipe_crc;
+#endif
};
struct intel_plane {
diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.c b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
index 59d7e3cb3445..a9a5df2fee4d 100644
--- a/drivers/gpu/drm/i915/display/intel_pipe_crc.c
+++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
@@ -441,15 +441,11 @@ display_crc_ctl_parse_source(const char *buf, enum intel_pipe_crc_source *s)
return 0;
}
-void intel_display_crc_init(struct drm_i915_private *dev_priv)
+void intel_crtc_crc_init(struct intel_crtc *crtc)
{
- enum pipe pipe;
+ struct intel_pipe_crc *pipe_crc = &crtc->pipe_crc;
- for_each_pipe(dev_priv, pipe) {
- struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[pipe];
-
- spin_lock_init(&pipe_crc->lock);
- }
+ spin_lock_init(&pipe_crc->lock);
}
static int i8xx_crc_source_valid(struct drm_i915_private *dev_priv,
@@ -587,7 +583,8 @@ int intel_crtc_verify_crc_source(struct drm_crtc *crtc, const char *source_name,
int intel_crtc_set_crc_source(struct drm_crtc *crtc, const char *source_name)
{
struct drm_i915_private *dev_priv = to_i915(crtc->dev);
- struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[crtc->index];
+ struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
+ struct intel_pipe_crc *pipe_crc = &intel_crtc->pipe_crc;
enum intel_display_power_domain power_domain;
enum intel_pipe_crc_source source;
intel_wakeref_t wakeref;
@@ -640,7 +637,7 @@ void intel_crtc_enable_pipe_crc(struct intel_crtc *intel_crtc)
{
struct drm_crtc *crtc = &intel_crtc->base;
struct drm_i915_private *dev_priv = to_i915(crtc->dev);
- struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[crtc->index];
+ struct intel_pipe_crc *pipe_crc = &intel_crtc->pipe_crc;
u32 val = 0;
if (!crtc->crc.opened)
@@ -660,7 +657,7 @@ void intel_crtc_disable_pipe_crc(struct intel_crtc *intel_crtc)
{
struct drm_crtc *crtc = &intel_crtc->base;
struct drm_i915_private *dev_priv = to_i915(crtc->dev);
- struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[crtc->index];
+ struct intel_pipe_crc *pipe_crc = &intel_crtc->pipe_crc;
/* Swallow crc's until we stop generating them. */
spin_lock_irq(&pipe_crc->lock);
diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.h b/drivers/gpu/drm/i915/display/intel_pipe_crc.h
index db258a756fc6..43012b189415 100644
--- a/drivers/gpu/drm/i915/display/intel_pipe_crc.h
+++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.h
@@ -13,7 +13,7 @@ struct drm_i915_private;
struct intel_crtc;
#ifdef CONFIG_DEBUG_FS
-void intel_display_crc_init(struct drm_i915_private *dev_priv);
+void intel_crtc_crc_init(struct intel_crtc *crtc);
int intel_crtc_set_crc_source(struct drm_crtc *crtc, const char *source_name);
int intel_crtc_verify_crc_source(struct drm_crtc *crtc,
const char *source_name, size_t *values_cnt);
@@ -22,7 +22,7 @@ const char *const *intel_crtc_get_crc_sources(struct drm_crtc *crtc,
void intel_crtc_disable_pipe_crc(struct intel_crtc *crtc);
void intel_crtc_enable_pipe_crc(struct intel_crtc *crtc);
#else
-static inline void intel_display_crc_init(struct drm_i915_private *dev_priv) {}
+static inline void intel_crtc_crc_init(struct intel_crtc *crtc) {}
#define intel_crtc_set_crc_source NULL
#define intel_crtc_verify_crc_source NULL
#define intel_crtc_get_crc_sources NULL
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index b086132df1b7..939ba864d802 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -465,7 +465,6 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
intel_init_display_hooks(dev_priv);
intel_init_clock_gating_hooks(dev_priv);
intel_init_audio_hooks(dev_priv);
- intel_display_crc_init(dev_priv);
intel_detect_preproduction_hw(dev_priv);
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index ea13fc0b409b..ceec27a33eec 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -822,32 +822,6 @@ struct skl_wm_params {
u32 dbuf_block_size;
};
-enum intel_pipe_crc_source {
- INTEL_PIPE_CRC_SOURCE_NONE,
- INTEL_PIPE_CRC_SOURCE_PLANE1,
- INTEL_PIPE_CRC_SOURCE_PLANE2,
- INTEL_PIPE_CRC_SOURCE_PLANE3,
- INTEL_PIPE_CRC_SOURCE_PLANE4,
- INTEL_PIPE_CRC_SOURCE_PLANE5,
- INTEL_PIPE_CRC_SOURCE_PLANE6,
- INTEL_PIPE_CRC_SOURCE_PLANE7,
- INTEL_PIPE_CRC_SOURCE_PIPE,
- /* TV/DP on pre-gen5/vlv can't use the pipe source. */
- INTEL_PIPE_CRC_SOURCE_TV,
- INTEL_PIPE_CRC_SOURCE_DP_B,
- INTEL_PIPE_CRC_SOURCE_DP_C,
- INTEL_PIPE_CRC_SOURCE_DP_D,
- INTEL_PIPE_CRC_SOURCE_AUTO,
- INTEL_PIPE_CRC_SOURCE_MAX,
-};
-
-#define INTEL_PIPE_CRC_ENTRIES_NR 128
-struct intel_pipe_crc {
- spinlock_t lock;
- int skipped;
- enum intel_pipe_crc_source source;
-};
-
struct i915_frontbuffer_tracking {
spinlock_t lock;
@@ -1043,10 +1017,6 @@ struct drm_i915_private {
struct intel_crtc *plane_to_crtc_mapping[I915_MAX_PIPES];
struct intel_crtc *pipe_to_crtc_mapping[I915_MAX_PIPES];
-#ifdef CONFIG_DEBUG_FS
- struct intel_pipe_crc pipe_crc[I915_MAX_PIPES];
-#endif
-
/* dpll and cdclk state is protected by connection_mutex */
int num_shared_dpll;
struct intel_shared_dpll shared_dplls[I915_NUM_PLLS];
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index fce8835ab24c..9f0653cf0510 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -1217,8 +1217,8 @@ static void display_pipe_crc_irq_handler(struct drm_i915_private *dev_priv,
u32 crc2, u32 crc3,
u32 crc4)
{
- struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[pipe];
struct intel_crtc *crtc = intel_get_crtc_for_pipe(dev_priv, pipe);
+ struct intel_pipe_crc *pipe_crc = &crtc->pipe_crc;
u32 crcs[5] = { crc0, crc1, crc2, crc3, crc4 };
trace_intel_pipe_crc(crtc, crcs);
--
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] 6+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc
2020-02-27 16:12 [Intel-gfx] [PATCH] drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc Jani Nikula
@ 2020-02-27 16:22 ` Ville Syrjälä
2020-03-02 11:30 ` Jani Nikula
2020-02-27 19:22 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
` (2 subsequent siblings)
3 siblings, 1 reply; 6+ messages in thread
From: Ville Syrjälä @ 2020-02-27 16:22 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
On Thu, Feb 27, 2020 at 06:12:53PM +0200, Jani Nikula wrote:
> Having an array pipe_crc[I915_MAX_PIPES] in struct drm_i915_private
> should be an obvious clue this should be located in struct intel_crtc
> instead. Make it so.
>
> As a side-effect, fix some errors in indexing pipe_crc with both pipe
> and crtc index. And, of course, reduce the size of i915_drv.h.
>
> Cc: Anshuman Gupta <anshuman.gupta@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
lgtm
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 2 ++
> .../drm/i915/display/intel_display_types.h | 30 +++++++++++++++++++
> drivers/gpu/drm/i915/display/intel_pipe_crc.c | 17 +++++------
> drivers/gpu/drm/i915/display/intel_pipe_crc.h | 4 +--
> drivers/gpu/drm/i915/i915_drv.c | 1 -
> drivers/gpu/drm/i915/i915_drv.h | 30 -------------------
> drivers/gpu/drm/i915/i915_irq.c | 2 +-
> 7 files changed, 42 insertions(+), 44 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index b8e57ce096a7..f388cfaf408d 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -16705,6 +16705,8 @@ static int intel_crtc_init(struct drm_i915_private *dev_priv, enum pipe pipe)
>
> intel_color_init(crtc);
>
> + intel_crtc_crc_init(crtc);
> +
> drm_WARN_ON(&dev_priv->drm, drm_crtc_index(&crtc->base) != crtc->pipe);
>
> return 0;
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 0a06043d4d4c..ac5d066e23a0 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1045,6 +1045,32 @@ struct intel_crtc_state {
> enum transcoder mst_master_transcoder;
> };
>
> +enum intel_pipe_crc_source {
> + INTEL_PIPE_CRC_SOURCE_NONE,
> + INTEL_PIPE_CRC_SOURCE_PLANE1,
> + INTEL_PIPE_CRC_SOURCE_PLANE2,
> + INTEL_PIPE_CRC_SOURCE_PLANE3,
> + INTEL_PIPE_CRC_SOURCE_PLANE4,
> + INTEL_PIPE_CRC_SOURCE_PLANE5,
> + INTEL_PIPE_CRC_SOURCE_PLANE6,
> + INTEL_PIPE_CRC_SOURCE_PLANE7,
> + INTEL_PIPE_CRC_SOURCE_PIPE,
> + /* TV/DP on pre-gen5/vlv can't use the pipe source. */
> + INTEL_PIPE_CRC_SOURCE_TV,
> + INTEL_PIPE_CRC_SOURCE_DP_B,
> + INTEL_PIPE_CRC_SOURCE_DP_C,
> + INTEL_PIPE_CRC_SOURCE_DP_D,
> + INTEL_PIPE_CRC_SOURCE_AUTO,
> + INTEL_PIPE_CRC_SOURCE_MAX,
> +};
> +
> +#define INTEL_PIPE_CRC_ENTRIES_NR 128
> +struct intel_pipe_crc {
> + spinlock_t lock;
> + int skipped;
> + enum intel_pipe_crc_source source;
> +};
> +
> struct intel_crtc {
> struct drm_crtc base;
> enum pipe pipe;
> @@ -1088,6 +1114,10 @@ struct intel_crtc {
>
> /* per pipe DSB related info */
> struct intel_dsb dsb;
> +
> +#ifdef CONFIG_DEBUG_FS
> + struct intel_pipe_crc pipe_crc;
> +#endif
> };
>
> struct intel_plane {
> diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.c b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> index 59d7e3cb3445..a9a5df2fee4d 100644
> --- a/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> +++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> @@ -441,15 +441,11 @@ display_crc_ctl_parse_source(const char *buf, enum intel_pipe_crc_source *s)
> return 0;
> }
>
> -void intel_display_crc_init(struct drm_i915_private *dev_priv)
> +void intel_crtc_crc_init(struct intel_crtc *crtc)
> {
> - enum pipe pipe;
> + struct intel_pipe_crc *pipe_crc = &crtc->pipe_crc;
>
> - for_each_pipe(dev_priv, pipe) {
> - struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[pipe];
> -
> - spin_lock_init(&pipe_crc->lock);
> - }
> + spin_lock_init(&pipe_crc->lock);
> }
>
> static int i8xx_crc_source_valid(struct drm_i915_private *dev_priv,
> @@ -587,7 +583,8 @@ int intel_crtc_verify_crc_source(struct drm_crtc *crtc, const char *source_name,
> int intel_crtc_set_crc_source(struct drm_crtc *crtc, const char *source_name)
> {
> struct drm_i915_private *dev_priv = to_i915(crtc->dev);
> - struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[crtc->index];
> + struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> + struct intel_pipe_crc *pipe_crc = &intel_crtc->pipe_crc;
> enum intel_display_power_domain power_domain;
> enum intel_pipe_crc_source source;
> intel_wakeref_t wakeref;
> @@ -640,7 +637,7 @@ void intel_crtc_enable_pipe_crc(struct intel_crtc *intel_crtc)
> {
> struct drm_crtc *crtc = &intel_crtc->base;
> struct drm_i915_private *dev_priv = to_i915(crtc->dev);
> - struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[crtc->index];
> + struct intel_pipe_crc *pipe_crc = &intel_crtc->pipe_crc;
> u32 val = 0;
>
> if (!crtc->crc.opened)
> @@ -660,7 +657,7 @@ void intel_crtc_disable_pipe_crc(struct intel_crtc *intel_crtc)
> {
> struct drm_crtc *crtc = &intel_crtc->base;
> struct drm_i915_private *dev_priv = to_i915(crtc->dev);
> - struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[crtc->index];
> + struct intel_pipe_crc *pipe_crc = &intel_crtc->pipe_crc;
>
> /* Swallow crc's until we stop generating them. */
> spin_lock_irq(&pipe_crc->lock);
> diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.h b/drivers/gpu/drm/i915/display/intel_pipe_crc.h
> index db258a756fc6..43012b189415 100644
> --- a/drivers/gpu/drm/i915/display/intel_pipe_crc.h
> +++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.h
> @@ -13,7 +13,7 @@ struct drm_i915_private;
> struct intel_crtc;
>
> #ifdef CONFIG_DEBUG_FS
> -void intel_display_crc_init(struct drm_i915_private *dev_priv);
> +void intel_crtc_crc_init(struct intel_crtc *crtc);
> int intel_crtc_set_crc_source(struct drm_crtc *crtc, const char *source_name);
> int intel_crtc_verify_crc_source(struct drm_crtc *crtc,
> const char *source_name, size_t *values_cnt);
> @@ -22,7 +22,7 @@ const char *const *intel_crtc_get_crc_sources(struct drm_crtc *crtc,
> void intel_crtc_disable_pipe_crc(struct intel_crtc *crtc);
> void intel_crtc_enable_pipe_crc(struct intel_crtc *crtc);
> #else
> -static inline void intel_display_crc_init(struct drm_i915_private *dev_priv) {}
> +static inline void intel_crtc_crc_init(struct intel_crtc *crtc) {}
> #define intel_crtc_set_crc_source NULL
> #define intel_crtc_verify_crc_source NULL
> #define intel_crtc_get_crc_sources NULL
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index b086132df1b7..939ba864d802 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -465,7 +465,6 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
> intel_init_display_hooks(dev_priv);
> intel_init_clock_gating_hooks(dev_priv);
> intel_init_audio_hooks(dev_priv);
> - intel_display_crc_init(dev_priv);
>
> intel_detect_preproduction_hw(dev_priv);
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index ea13fc0b409b..ceec27a33eec 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -822,32 +822,6 @@ struct skl_wm_params {
> u32 dbuf_block_size;
> };
>
> -enum intel_pipe_crc_source {
> - INTEL_PIPE_CRC_SOURCE_NONE,
> - INTEL_PIPE_CRC_SOURCE_PLANE1,
> - INTEL_PIPE_CRC_SOURCE_PLANE2,
> - INTEL_PIPE_CRC_SOURCE_PLANE3,
> - INTEL_PIPE_CRC_SOURCE_PLANE4,
> - INTEL_PIPE_CRC_SOURCE_PLANE5,
> - INTEL_PIPE_CRC_SOURCE_PLANE6,
> - INTEL_PIPE_CRC_SOURCE_PLANE7,
> - INTEL_PIPE_CRC_SOURCE_PIPE,
> - /* TV/DP on pre-gen5/vlv can't use the pipe source. */
> - INTEL_PIPE_CRC_SOURCE_TV,
> - INTEL_PIPE_CRC_SOURCE_DP_B,
> - INTEL_PIPE_CRC_SOURCE_DP_C,
> - INTEL_PIPE_CRC_SOURCE_DP_D,
> - INTEL_PIPE_CRC_SOURCE_AUTO,
> - INTEL_PIPE_CRC_SOURCE_MAX,
> -};
> -
> -#define INTEL_PIPE_CRC_ENTRIES_NR 128
> -struct intel_pipe_crc {
> - spinlock_t lock;
> - int skipped;
> - enum intel_pipe_crc_source source;
> -};
> -
> struct i915_frontbuffer_tracking {
> spinlock_t lock;
>
> @@ -1043,10 +1017,6 @@ struct drm_i915_private {
> struct intel_crtc *plane_to_crtc_mapping[I915_MAX_PIPES];
> struct intel_crtc *pipe_to_crtc_mapping[I915_MAX_PIPES];
>
> -#ifdef CONFIG_DEBUG_FS
> - struct intel_pipe_crc pipe_crc[I915_MAX_PIPES];
> -#endif
> -
> /* dpll and cdclk state is protected by connection_mutex */
> int num_shared_dpll;
> struct intel_shared_dpll shared_dplls[I915_NUM_PLLS];
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index fce8835ab24c..9f0653cf0510 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -1217,8 +1217,8 @@ static void display_pipe_crc_irq_handler(struct drm_i915_private *dev_priv,
> u32 crc2, u32 crc3,
> u32 crc4)
> {
> - struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[pipe];
> struct intel_crtc *crtc = intel_get_crtc_for_pipe(dev_priv, pipe);
> + struct intel_pipe_crc *pipe_crc = &crtc->pipe_crc;
> u32 crcs[5] = { crc0, crc1, crc2, crc3, crc4 };
>
> trace_intel_pipe_crc(crtc, crcs);
> --
> 2.20.1
--
Ville Syrjälä
Intel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc
2020-02-27 16:12 [Intel-gfx] [PATCH] drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc Jani Nikula
2020-02-27 16:22 ` Ville Syrjälä
@ 2020-02-27 19:22 ` Patchwork
2020-02-27 19:47 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-02-29 0:49 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2020-02-27 19:22 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc
URL : https://patchwork.freedesktop.org/series/74031/
State : warning
== Summary ==
$ dim checkpatch origin/drm-tip
4a7fff1e2426 drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc
-:64: CHECK:UNCOMMENTED_DEFINITION: spinlock_t definition without comment
#64: FILE: drivers/gpu/drm/i915/display/intel_display_types.h:1069:
+ spinlock_t lock;
total: 0 errors, 0 warnings, 1 checks, 167 lines checked
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc
2020-02-27 16:12 [Intel-gfx] [PATCH] drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc Jani Nikula
2020-02-27 16:22 ` Ville Syrjälä
2020-02-27 19:22 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
@ 2020-02-27 19:47 ` Patchwork
2020-02-29 0:49 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2020-02-27 19:47 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc
URL : https://patchwork.freedesktop.org/series/74031/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_8020 -> Patchwork_16738
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/index.html
Known issues
------------
Here are the changes found in Patchwork_16738 that come from known issues:
### IGT changes ###
#### Possible fixes ####
* igt@i915_selftest@live@gem_contexts:
- fi-cfl-guc: [DMESG-FAIL][1] ([i915#730]) -> [PASS][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/fi-cfl-guc/igt@i915_selftest@live@gem_contexts.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/fi-cfl-guc/igt@i915_selftest@live@gem_contexts.html
* igt@i915_selftest@live@hangcheck:
- fi-skl-6600u: [INCOMPLETE][3] ([fdo#108744]) -> [PASS][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/fi-skl-6600u/igt@i915_selftest@live@hangcheck.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/fi-skl-6600u/igt@i915_selftest@live@hangcheck.html
* igt@i915_selftest@live@memory_region:
- fi-skl-6600u: [DMESG-WARN][5] -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/fi-skl-6600u/igt@i915_selftest@live@memory_region.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/fi-skl-6600u/igt@i915_selftest@live@memory_region.html
* igt@kms_chamelium@common-hpd-after-suspend:
- fi-icl-u2: [FAIL][7] ([i915#217]) -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/fi-icl-u2/igt@kms_chamelium@common-hpd-after-suspend.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/fi-icl-u2/igt@kms_chamelium@common-hpd-after-suspend.html
* igt@kms_chamelium@dp-crc-fast:
- fi-kbl-7500u: [FAIL][9] ([fdo#109635] / [i915#262]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/fi-kbl-7500u/igt@kms_chamelium@dp-crc-fast.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/fi-kbl-7500u/igt@kms_chamelium@dp-crc-fast.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#108744]: https://bugs.freedesktop.org/show_bug.cgi?id=108744
[fdo#109635]: https://bugs.freedesktop.org/show_bug.cgi?id=109635
[i915#1233]: https://gitlab.freedesktop.org/drm/intel/issues/1233
[i915#217]: https://gitlab.freedesktop.org/drm/intel/issues/217
[i915#262]: https://gitlab.freedesktop.org/drm/intel/issues/262
[i915#730]: https://gitlab.freedesktop.org/drm/intel/issues/730
Participating hosts (46 -> 39)
------------------------------
Additional (3): fi-kbl-soraka fi-hsw-peppy fi-bsw-kefka
Missing (10): fi-ilk-m540 fi-bdw-5557u fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-bwr-2160 fi-ctg-p8600 fi-ivb-3770 fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_8020 -> Patchwork_16738
CI-20190529: 20190529
CI_DRM_8020: c5e13e7cee422111f70ff7bb5b933bd2ca8ff9e7 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5473: d22b3507ff2678a05d69d47c0ddf6f0e72ee7ffd @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_16738: 4a7fff1e242643bfab179773b16edfa63f2c5c3f @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
4a7fff1e2426 drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc
2020-02-27 16:12 [Intel-gfx] [PATCH] drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc Jani Nikula
` (2 preceding siblings ...)
2020-02-27 19:47 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2020-02-29 0:49 ` Patchwork
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2020-02-29 0:49 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc
URL : https://patchwork.freedesktop.org/series/74031/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_8020_full -> Patchwork_16738_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Known issues
------------
Here are the changes found in Patchwork_16738_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ctx_persistence@legacy-engines-mixed-process@default:
- shard-glk: [PASS][1] -> [FAIL][2] ([i915#679])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-glk4/igt@gem_ctx_persistence@legacy-engines-mixed-process@default.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-glk2/igt@gem_ctx_persistence@legacy-engines-mixed-process@default.html
* igt@gem_ctx_persistence@legacy-engines-mixed-process@render:
- shard-glk: [PASS][3] -> [INCOMPLETE][4] ([i915#1239] / [i915#58] / [k.org#198133])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-glk4/igt@gem_ctx_persistence@legacy-engines-mixed-process@render.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-glk2/igt@gem_ctx_persistence@legacy-engines-mixed-process@render.html
* igt@gem_ctx_shared@exec-shared-gtt-bsd1:
- shard-kbl: [PASS][5] -> [FAIL][6] ([i915#616])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-kbl1/igt@gem_ctx_shared@exec-shared-gtt-bsd1.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-kbl2/igt@gem_ctx_shared@exec-shared-gtt-bsd1.html
* igt@gem_ctx_shared@exec-single-timeline-bsd:
- shard-iclb: [PASS][7] -> [SKIP][8] ([fdo#110841])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb3/igt@gem_ctx_shared@exec-single-timeline-bsd.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb4/igt@gem_ctx_shared@exec-single-timeline-bsd.html
* igt@gem_exec_schedule@deep-bsd:
- shard-iclb: [PASS][9] -> [SKIP][10] ([fdo#112146]) +2 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb8/igt@gem_exec_schedule@deep-bsd.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb2/igt@gem_exec_schedule@deep-bsd.html
* igt@gem_exec_schedule@implicit-read-write-bsd1:
- shard-iclb: [PASS][11] -> [SKIP][12] ([fdo#109276] / [i915#677])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb1/igt@gem_exec_schedule@implicit-read-write-bsd1.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb3/igt@gem_exec_schedule@implicit-read-write-bsd1.html
* igt@gem_exec_schedule@preempt-queue-blt:
- shard-glk: [PASS][13] -> [INCOMPLETE][14] ([i915#58] / [k.org#198133])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-glk2/igt@gem_exec_schedule@preempt-queue-blt.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-glk3/igt@gem_exec_schedule@preempt-queue-blt.html
* igt@kms_draw_crc@draw-method-xrgb2101010-mmap-cpu-untiled:
- shard-skl: [PASS][15] -> [FAIL][16] ([i915#52] / [i915#54])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-skl6/igt@kms_draw_crc@draw-method-xrgb2101010-mmap-cpu-untiled.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-skl2/igt@kms_draw_crc@draw-method-xrgb2101010-mmap-cpu-untiled.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-skl: [PASS][17] -> [FAIL][18] ([i915#79])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-skl1/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-skl8/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-apl: [PASS][19] -> [DMESG-WARN][20] ([i915#180]) +2 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-apl2/igt@kms_flip@flip-vs-suspend-interruptible.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-apl4/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
- shard-kbl: [PASS][21] -> [DMESG-WARN][22] ([i915#180]) +4 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-kbl2/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-kbl7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
* igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
- shard-skl: [PASS][23] -> [FAIL][24] ([fdo#108145] / [i915#265])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-skl2/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-skl5/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
* igt@kms_psr@psr2_primary_page_flip:
- shard-iclb: [PASS][25] -> [SKIP][26] ([fdo#109441]) +1 similar issue
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb5/igt@kms_psr@psr2_primary_page_flip.html
* igt@kms_setmode@basic:
- shard-kbl: [PASS][27] -> [FAIL][28] ([i915#31])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-kbl7/igt@kms_setmode@basic.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-kbl4/igt@kms_setmode@basic.html
* igt@perf_pmu@busy-accuracy-2-vcs1:
- shard-iclb: [PASS][29] -> [SKIP][30] ([fdo#112080]) +12 similar issues
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb2/igt@perf_pmu@busy-accuracy-2-vcs1.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb5/igt@perf_pmu@busy-accuracy-2-vcs1.html
* igt@prime_vgem@fence-wait-bsd2:
- shard-iclb: [PASS][31] -> [SKIP][32] ([fdo#109276]) +25 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb2/igt@prime_vgem@fence-wait-bsd2.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb3/igt@prime_vgem@fence-wait-bsd2.html
#### Possible fixes ####
* igt@gem_exec_balancer@smoke:
- shard-iclb: [SKIP][33] ([fdo#110854]) -> [PASS][34]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb8/igt@gem_exec_balancer@smoke.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb2/igt@gem_exec_balancer@smoke.html
* igt@gem_exec_schedule@implicit-write-read-bsd1:
- shard-iclb: [SKIP][35] ([fdo#109276] / [i915#677]) -> [PASS][36] +2 similar issues
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb7/igt@gem_exec_schedule@implicit-write-read-bsd1.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb4/igt@gem_exec_schedule@implicit-write-read-bsd1.html
* igt@gem_exec_schedule@pi-shared-iova-bsd:
- shard-iclb: [SKIP][37] ([i915#677]) -> [PASS][38] +2 similar issues
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb1/igt@gem_exec_schedule@pi-shared-iova-bsd.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb3/igt@gem_exec_schedule@pi-shared-iova-bsd.html
* igt@gem_exec_schedule@preempt-other-chain-bsd:
- shard-iclb: [SKIP][39] ([fdo#112146]) -> [PASS][40] +6 similar issues
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb2/igt@gem_exec_schedule@preempt-other-chain-bsd.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb3/igt@gem_exec_schedule@preempt-other-chain-bsd.html
* igt@gem_exec_schedule@promotion-bsd1:
- shard-iclb: [SKIP][41] ([fdo#109276]) -> [PASS][42] +9 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb5/igt@gem_exec_schedule@promotion-bsd1.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb1/igt@gem_exec_schedule@promotion-bsd1.html
* igt@gem_pwrite@huge-cpu-fbr:
- shard-hsw: [TIMEOUT][43] -> [PASS][44]
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-hsw5/igt@gem_pwrite@huge-cpu-fbr.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-hsw7/igt@gem_pwrite@huge-cpu-fbr.html
* igt@gem_softpin@noreloc-s3:
- shard-apl: [DMESG-WARN][45] ([i915#180]) -> [PASS][46]
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-apl4/igt@gem_softpin@noreloc-s3.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-apl6/igt@gem_softpin@noreloc-s3.html
* igt@gem_workarounds@suspend-resume-fd:
- shard-kbl: [DMESG-WARN][47] ([i915#180]) -> [PASS][48] +3 similar issues
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-kbl7/igt@gem_workarounds@suspend-resume-fd.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-kbl3/igt@gem_workarounds@suspend-resume-fd.html
* igt@gen9_exec_parse@allowed-all:
- shard-glk: [INCOMPLETE][49] ([i915#58] / [k.org#198133]) -> [PASS][50]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-glk4/igt@gen9_exec_parse@allowed-all.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-glk3/igt@gen9_exec_parse@allowed-all.html
* igt@i915_pm_rps@reset:
- shard-iclb: [FAIL][51] ([i915#413]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb2/igt@i915_pm_rps@reset.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb2/igt@i915_pm_rps@reset.html
* igt@i915_pm_rps@waitboost:
- shard-tglb: [FAIL][53] ([i915#413]) -> [PASS][54]
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-tglb2/igt@i915_pm_rps@waitboost.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-tglb3/igt@i915_pm_rps@waitboost.html
* igt@i915_selftest@live@gt_lrc:
- shard-tglb: [DMESG-FAIL][55] ([i915#1233]) -> [PASS][56]
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-tglb8/igt@i915_selftest@live@gt_lrc.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-tglb5/igt@i915_selftest@live@gt_lrc.html
* igt@kms_cursor_edge_walk@pipe-b-256x256-left-edge:
- shard-snb: [SKIP][57] ([fdo#109271]) -> [PASS][58]
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-snb2/igt@kms_cursor_edge_walk@pipe-b-256x256-left-edge.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-snb6/igt@kms_cursor_edge_walk@pipe-b-256x256-left-edge.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-skl: [FAIL][59] ([IGT#5]) -> [PASS][60]
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-skl5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-skl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-render:
- shard-glk: [FAIL][61] ([i915#49]) -> [PASS][62]
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-glk6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-render.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-glk6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-render.html
* igt@kms_hdr@bpc-switch-suspend:
- shard-skl: [FAIL][63] ([i915#1188]) -> [PASS][64] +1 similar issue
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-skl2/igt@kms_hdr@bpc-switch-suspend.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-skl5/igt@kms_hdr@bpc-switch-suspend.html
* igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl: [FAIL][65] ([fdo#108145] / [i915#265]) -> [PASS][66]
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-skl6/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-skl2/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
* igt@kms_psr@no_drrs:
- shard-iclb: [FAIL][67] ([i915#173]) -> [PASS][68]
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb1/igt@kms_psr@no_drrs.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb3/igt@kms_psr@no_drrs.html
* igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [SKIP][69] ([fdo#109441]) -> [PASS][70] +1 similar issue
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb8/igt@kms_psr@psr2_cursor_mmap_cpu.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
* igt@perf_pmu@busy-vcs1:
- shard-iclb: [SKIP][71] ([fdo#112080]) -> [PASS][72] +9 similar issues
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb7/igt@perf_pmu@busy-vcs1.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb4/igt@perf_pmu@busy-vcs1.html
#### Warnings ####
* igt@gem_ctx_isolation@vcs1-nonpriv:
- shard-iclb: [FAIL][73] ([IGT#28]) -> [SKIP][74] ([fdo#112080])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-iclb3/igt@gem_ctx_isolation@vcs1-nonpriv.html
* igt@i915_pm_dc@dc6-psr:
- shard-tglb: [FAIL][75] ([i915#454]) -> [SKIP][76] ([i915#468])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-tglb3/igt@i915_pm_dc@dc6-psr.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-tglb2/igt@i915_pm_dc@dc6-psr.html
* igt@i915_pm_rpm@sysfs-read:
- shard-snb: [SKIP][77] ([fdo#109271]) -> [INCOMPLETE][78] ([i915#82])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8020/shard-snb2/igt@i915_pm_rpm@sysfs-read.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/shard-snb2/igt@i915_pm_rpm@sysfs-read.html
[IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28
[IGT#5]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/5
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
[fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
[fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
[fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
[i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188
[i915#1233]: https://gitlab.freedesktop.org/drm/intel/issues/1233
[i915#1239]: https://gitlab.freedesktop.org/drm/intel/issues/1239
[i915#173]: https://gitlab.freedesktop.org/drm/intel/issues/173
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31
[i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#468]: https://gitlab.freedesktop.org/drm/intel/issues/468
[i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
[i915#52]: https://gitlab.freedesktop.org/drm/intel/issues/52
[i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
[i915#58]: https://gitlab.freedesktop.org/drm/intel/issues/58
[i915#616]: https://gitlab.freedesktop.org/drm/intel/issues/616
[i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677
[i915#679]: https://gitlab.freedesktop.org/drm/intel/issues/679
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82
[k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133
Participating hosts (10 -> 10)
------------------------------
No changes in participating hosts
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_8020 -> Patchwork_16738
CI-20190529: 20190529
CI_DRM_8020: c5e13e7cee422111f70ff7bb5b933bd2ca8ff9e7 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5473: d22b3507ff2678a05d69d47c0ddf6f0e72ee7ffd @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_16738: 4a7fff1e242643bfab179773b16edfa63f2c5c3f @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16738/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc
2020-02-27 16:22 ` Ville Syrjälä
@ 2020-03-02 11:30 ` Jani Nikula
0 siblings, 0 replies; 6+ messages in thread
From: Jani Nikula @ 2020-03-02 11:30 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx
On Thu, 27 Feb 2020, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Thu, Feb 27, 2020 at 06:12:53PM +0200, Jani Nikula wrote:
>> Having an array pipe_crc[I915_MAX_PIPES] in struct drm_i915_private
>> should be an obvious clue this should be located in struct intel_crtc
>> instead. Make it so.
>>
>> As a side-effect, fix some errors in indexing pipe_crc with both pipe
>> and crtc index. And, of course, reduce the size of i915_drv.h.
>>
>> Cc: Anshuman Gupta <anshuman.gupta@intel.com>
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
> lgtm
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Thanks, pushed to dinq.
BR,
Jani.
>
>> ---
>> drivers/gpu/drm/i915/display/intel_display.c | 2 ++
>> .../drm/i915/display/intel_display_types.h | 30 +++++++++++++++++++
>> drivers/gpu/drm/i915/display/intel_pipe_crc.c | 17 +++++------
>> drivers/gpu/drm/i915/display/intel_pipe_crc.h | 4 +--
>> drivers/gpu/drm/i915/i915_drv.c | 1 -
>> drivers/gpu/drm/i915/i915_drv.h | 30 -------------------
>> drivers/gpu/drm/i915/i915_irq.c | 2 +-
>> 7 files changed, 42 insertions(+), 44 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
>> index b8e57ce096a7..f388cfaf408d 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display.c
>> @@ -16705,6 +16705,8 @@ static int intel_crtc_init(struct drm_i915_private *dev_priv, enum pipe pipe)
>>
>> intel_color_init(crtc);
>>
>> + intel_crtc_crc_init(crtc);
>> +
>> drm_WARN_ON(&dev_priv->drm, drm_crtc_index(&crtc->base) != crtc->pipe);
>>
>> return 0;
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
>> index 0a06043d4d4c..ac5d066e23a0 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
>> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
>> @@ -1045,6 +1045,32 @@ struct intel_crtc_state {
>> enum transcoder mst_master_transcoder;
>> };
>>
>> +enum intel_pipe_crc_source {
>> + INTEL_PIPE_CRC_SOURCE_NONE,
>> + INTEL_PIPE_CRC_SOURCE_PLANE1,
>> + INTEL_PIPE_CRC_SOURCE_PLANE2,
>> + INTEL_PIPE_CRC_SOURCE_PLANE3,
>> + INTEL_PIPE_CRC_SOURCE_PLANE4,
>> + INTEL_PIPE_CRC_SOURCE_PLANE5,
>> + INTEL_PIPE_CRC_SOURCE_PLANE6,
>> + INTEL_PIPE_CRC_SOURCE_PLANE7,
>> + INTEL_PIPE_CRC_SOURCE_PIPE,
>> + /* TV/DP on pre-gen5/vlv can't use the pipe source. */
>> + INTEL_PIPE_CRC_SOURCE_TV,
>> + INTEL_PIPE_CRC_SOURCE_DP_B,
>> + INTEL_PIPE_CRC_SOURCE_DP_C,
>> + INTEL_PIPE_CRC_SOURCE_DP_D,
>> + INTEL_PIPE_CRC_SOURCE_AUTO,
>> + INTEL_PIPE_CRC_SOURCE_MAX,
>> +};
>> +
>> +#define INTEL_PIPE_CRC_ENTRIES_NR 128
>> +struct intel_pipe_crc {
>> + spinlock_t lock;
>> + int skipped;
>> + enum intel_pipe_crc_source source;
>> +};
>> +
>> struct intel_crtc {
>> struct drm_crtc base;
>> enum pipe pipe;
>> @@ -1088,6 +1114,10 @@ struct intel_crtc {
>>
>> /* per pipe DSB related info */
>> struct intel_dsb dsb;
>> +
>> +#ifdef CONFIG_DEBUG_FS
>> + struct intel_pipe_crc pipe_crc;
>> +#endif
>> };
>>
>> struct intel_plane {
>> diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.c b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
>> index 59d7e3cb3445..a9a5df2fee4d 100644
>> --- a/drivers/gpu/drm/i915/display/intel_pipe_crc.c
>> +++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
>> @@ -441,15 +441,11 @@ display_crc_ctl_parse_source(const char *buf, enum intel_pipe_crc_source *s)
>> return 0;
>> }
>>
>> -void intel_display_crc_init(struct drm_i915_private *dev_priv)
>> +void intel_crtc_crc_init(struct intel_crtc *crtc)
>> {
>> - enum pipe pipe;
>> + struct intel_pipe_crc *pipe_crc = &crtc->pipe_crc;
>>
>> - for_each_pipe(dev_priv, pipe) {
>> - struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[pipe];
>> -
>> - spin_lock_init(&pipe_crc->lock);
>> - }
>> + spin_lock_init(&pipe_crc->lock);
>> }
>>
>> static int i8xx_crc_source_valid(struct drm_i915_private *dev_priv,
>> @@ -587,7 +583,8 @@ int intel_crtc_verify_crc_source(struct drm_crtc *crtc, const char *source_name,
>> int intel_crtc_set_crc_source(struct drm_crtc *crtc, const char *source_name)
>> {
>> struct drm_i915_private *dev_priv = to_i915(crtc->dev);
>> - struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[crtc->index];
>> + struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
>> + struct intel_pipe_crc *pipe_crc = &intel_crtc->pipe_crc;
>> enum intel_display_power_domain power_domain;
>> enum intel_pipe_crc_source source;
>> intel_wakeref_t wakeref;
>> @@ -640,7 +637,7 @@ void intel_crtc_enable_pipe_crc(struct intel_crtc *intel_crtc)
>> {
>> struct drm_crtc *crtc = &intel_crtc->base;
>> struct drm_i915_private *dev_priv = to_i915(crtc->dev);
>> - struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[crtc->index];
>> + struct intel_pipe_crc *pipe_crc = &intel_crtc->pipe_crc;
>> u32 val = 0;
>>
>> if (!crtc->crc.opened)
>> @@ -660,7 +657,7 @@ void intel_crtc_disable_pipe_crc(struct intel_crtc *intel_crtc)
>> {
>> struct drm_crtc *crtc = &intel_crtc->base;
>> struct drm_i915_private *dev_priv = to_i915(crtc->dev);
>> - struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[crtc->index];
>> + struct intel_pipe_crc *pipe_crc = &intel_crtc->pipe_crc;
>>
>> /* Swallow crc's until we stop generating them. */
>> spin_lock_irq(&pipe_crc->lock);
>> diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.h b/drivers/gpu/drm/i915/display/intel_pipe_crc.h
>> index db258a756fc6..43012b189415 100644
>> --- a/drivers/gpu/drm/i915/display/intel_pipe_crc.h
>> +++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.h
>> @@ -13,7 +13,7 @@ struct drm_i915_private;
>> struct intel_crtc;
>>
>> #ifdef CONFIG_DEBUG_FS
>> -void intel_display_crc_init(struct drm_i915_private *dev_priv);
>> +void intel_crtc_crc_init(struct intel_crtc *crtc);
>> int intel_crtc_set_crc_source(struct drm_crtc *crtc, const char *source_name);
>> int intel_crtc_verify_crc_source(struct drm_crtc *crtc,
>> const char *source_name, size_t *values_cnt);
>> @@ -22,7 +22,7 @@ const char *const *intel_crtc_get_crc_sources(struct drm_crtc *crtc,
>> void intel_crtc_disable_pipe_crc(struct intel_crtc *crtc);
>> void intel_crtc_enable_pipe_crc(struct intel_crtc *crtc);
>> #else
>> -static inline void intel_display_crc_init(struct drm_i915_private *dev_priv) {}
>> +static inline void intel_crtc_crc_init(struct intel_crtc *crtc) {}
>> #define intel_crtc_set_crc_source NULL
>> #define intel_crtc_verify_crc_source NULL
>> #define intel_crtc_get_crc_sources NULL
>> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
>> index b086132df1b7..939ba864d802 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.c
>> +++ b/drivers/gpu/drm/i915/i915_drv.c
>> @@ -465,7 +465,6 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
>> intel_init_display_hooks(dev_priv);
>> intel_init_clock_gating_hooks(dev_priv);
>> intel_init_audio_hooks(dev_priv);
>> - intel_display_crc_init(dev_priv);
>>
>> intel_detect_preproduction_hw(dev_priv);
>>
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> index ea13fc0b409b..ceec27a33eec 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -822,32 +822,6 @@ struct skl_wm_params {
>> u32 dbuf_block_size;
>> };
>>
>> -enum intel_pipe_crc_source {
>> - INTEL_PIPE_CRC_SOURCE_NONE,
>> - INTEL_PIPE_CRC_SOURCE_PLANE1,
>> - INTEL_PIPE_CRC_SOURCE_PLANE2,
>> - INTEL_PIPE_CRC_SOURCE_PLANE3,
>> - INTEL_PIPE_CRC_SOURCE_PLANE4,
>> - INTEL_PIPE_CRC_SOURCE_PLANE5,
>> - INTEL_PIPE_CRC_SOURCE_PLANE6,
>> - INTEL_PIPE_CRC_SOURCE_PLANE7,
>> - INTEL_PIPE_CRC_SOURCE_PIPE,
>> - /* TV/DP on pre-gen5/vlv can't use the pipe source. */
>> - INTEL_PIPE_CRC_SOURCE_TV,
>> - INTEL_PIPE_CRC_SOURCE_DP_B,
>> - INTEL_PIPE_CRC_SOURCE_DP_C,
>> - INTEL_PIPE_CRC_SOURCE_DP_D,
>> - INTEL_PIPE_CRC_SOURCE_AUTO,
>> - INTEL_PIPE_CRC_SOURCE_MAX,
>> -};
>> -
>> -#define INTEL_PIPE_CRC_ENTRIES_NR 128
>> -struct intel_pipe_crc {
>> - spinlock_t lock;
>> - int skipped;
>> - enum intel_pipe_crc_source source;
>> -};
>> -
>> struct i915_frontbuffer_tracking {
>> spinlock_t lock;
>>
>> @@ -1043,10 +1017,6 @@ struct drm_i915_private {
>> struct intel_crtc *plane_to_crtc_mapping[I915_MAX_PIPES];
>> struct intel_crtc *pipe_to_crtc_mapping[I915_MAX_PIPES];
>>
>> -#ifdef CONFIG_DEBUG_FS
>> - struct intel_pipe_crc pipe_crc[I915_MAX_PIPES];
>> -#endif
>> -
>> /* dpll and cdclk state is protected by connection_mutex */
>> int num_shared_dpll;
>> struct intel_shared_dpll shared_dplls[I915_NUM_PLLS];
>> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
>> index fce8835ab24c..9f0653cf0510 100644
>> --- a/drivers/gpu/drm/i915/i915_irq.c
>> +++ b/drivers/gpu/drm/i915/i915_irq.c
>> @@ -1217,8 +1217,8 @@ static void display_pipe_crc_irq_handler(struct drm_i915_private *dev_priv,
>> u32 crc2, u32 crc3,
>> u32 crc4)
>> {
>> - struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[pipe];
>> struct intel_crtc *crtc = intel_get_crtc_for_pipe(dev_priv, pipe);
>> + struct intel_pipe_crc *pipe_crc = &crtc->pipe_crc;
>> u32 crcs[5] = { crc0, crc1, crc2, crc3, crc4 };
>>
>> trace_intel_pipe_crc(crtc, crcs);
>> --
>> 2.20.1
--
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-03-02 11:29 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-27 16:12 [Intel-gfx] [PATCH] drm/i915/crc: move pipe_crc from drm_i915_private to intel_crtc Jani Nikula
2020-02-27 16:22 ` Ville Syrjälä
2020-03-02 11:30 ` Jani Nikula
2020-02-27 19:22 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2020-02-27 19:47 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-02-29 0:49 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
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.