Re: [Intel-gfx] [PATCH 09/11] drm/i915: Hoist the encoder->audio_{enable, disable}() calls higher up

2023-11-13 Thread Jani Nikula
On Mon, 06 Nov 2023, Ville Syrjala  wrote:
> From: Ville Syrjälä 
>
> Push he encoder->audio_{enable,disable}() calls out from the

*the

> encoder->{enable,disable}() hooks. Moving towards audio fastset.
>
> Signed-off-by: Ville Syrjälä 
> ---
>  drivers/gpu/drm/i915/display/g4x_dp.c|  2 -
>  drivers/gpu/drm/i915/display/g4x_hdmi.c  | 10 
>  drivers/gpu/drm/i915/display/intel_ddi.c |  3 --
>  drivers/gpu/drm/i915/display/intel_display.c | 49 
>  drivers/gpu/drm/i915/display/intel_dp_mst.c  |  4 --
>  5 files changed, 49 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/g4x_dp.c 
> b/drivers/gpu/drm/i915/display/g4x_dp.c
> index 96232af42db2..dfe0b07a122d 100644
> --- a/drivers/gpu/drm/i915/display/g4x_dp.c
> +++ b/drivers/gpu/drm/i915/display/g4x_dp.c
> @@ -516,8 +516,6 @@ static void intel_disable_dp(struct intel_atomic_state 
> *state,
>  {
>   struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>  
> - encoder->audio_disable(encoder, old_crtc_state, old_conn_state);
> -
>   intel_dp->link_trained = false;
>  
>   /*
> diff --git a/drivers/gpu/drm/i915/display/g4x_hdmi.c 
> b/drivers/gpu/drm/i915/display/g4x_hdmi.c
> index 26a0981102ff..8096492b3fad 100644
> --- a/drivers/gpu/drm/i915/display/g4x_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/g4x_hdmi.c
> @@ -273,8 +273,6 @@ static void g4x_enable_hdmi(struct intel_atomic_state 
> *state,
>   const struct drm_connector_state *conn_state)
>  {
>   g4x_hdmi_enable_port(encoder, pipe_config);
> -
> - encoder->audio_enable(encoder, pipe_config, conn_state);
>  }
>  
>  static void ibx_enable_hdmi(struct intel_atomic_state *state,
> @@ -322,8 +320,6 @@ static void ibx_enable_hdmi(struct intel_atomic_state 
> *state,
>   intel_de_write(dev_priv, intel_hdmi->hdmi_reg, temp);
>   intel_de_posting_read(dev_priv, intel_hdmi->hdmi_reg);
>   }
> -
> - encoder->audio_enable(encoder, pipe_config, conn_state);
>  }
>  
>  static void cpt_enable_hdmi(struct intel_atomic_state *state,
> @@ -373,8 +369,6 @@ static void cpt_enable_hdmi(struct intel_atomic_state 
> *state,
>   intel_de_rmw(dev_priv, TRANS_CHICKEN1(pipe),
>TRANS_CHICKEN1_HDMIUNIT_GC_DISABLE, 0);
>   }
> -
> - encoder->audio_enable(encoder, pipe_config, conn_state);
>  }
>  
>  static void vlv_enable_hdmi(struct intel_atomic_state *state,
> @@ -382,7 +376,6 @@ static void vlv_enable_hdmi(struct intel_atomic_state 
> *state,
>   const struct intel_crtc_state *pipe_config,
>   const struct drm_connector_state *conn_state)
>  {
> - encoder->audio_enable(encoder, pipe_config, conn_state);
>  }
>  
>  static void intel_disable_hdmi(struct intel_atomic_state *state,
> @@ -449,8 +442,6 @@ static void g4x_disable_hdmi(struct intel_atomic_state 
> *state,
>const struct intel_crtc_state *old_crtc_state,
>const struct drm_connector_state *old_conn_state)
>  {
> - encoder->audio_disable(encoder, old_crtc_state, old_conn_state);
> -
>   intel_disable_hdmi(state, encoder, old_crtc_state, old_conn_state);
>  }
>  
> @@ -459,7 +450,6 @@ static void pch_disable_hdmi(struct intel_atomic_state 
> *state,
>const struct intel_crtc_state *old_crtc_state,
>const struct drm_connector_state *old_conn_state)
>  {
> - encoder->audio_disable(encoder, old_crtc_state, old_conn_state);
>  }
>  
>  static void pch_post_disable_hdmi(struct intel_atomic_state *state,
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c 
> b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 2e4920d70105..97569423f430 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -3266,7 +3266,6 @@ static void intel_enable_ddi(struct intel_atomic_state 
> *state,
>  
>   intel_hdcp_enable(state, encoder, crtc_state, conn_state);
>  
> - encoder->audio_enable(encoder, crtc_state, conn_state);
>  }
>  
>  static void intel_disable_ddi_dp(struct intel_atomic_state *state,
> @@ -3308,8 +3307,6 @@ static void intel_disable_ddi(struct intel_atomic_state 
> *state,
> const struct intel_crtc_state *old_crtc_state,
> const struct drm_connector_state *old_conn_state)
>  {
> - encoder->audio_disable(encoder, old_crtc_state, old_conn_state);
> -
>   intel_tc_port_link_cancel_reset_work(enc_to_dig_port(encoder));
>  
>   intel_hdcp_disable(to_intel_connector(old_conn_state->connector));
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
> b/drivers/gpu/drm/i915/display/intel_display.c
> index ec76006b1756..d606befa007c 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -889,6 +889,48 @@ static bool 

Re: [Intel-gfx] [PATCH 09/11] drm/i915: Hoist the encoder->audio_{enable, disable}() calls higher up

2023-11-13 Thread Jani Nikula
On Mon, 06 Nov 2023, Ville Syrjala  wrote:
> From: Ville Syrjälä 
>
> Push he encoder->audio_{enable,disable}() calls out from the
> encoder->{enable,disable}() hooks. Moving towards audio fastset.
>
> Signed-off-by: Ville Syrjälä 

Reviewed-by: Jani Nikula 

> ---
>  drivers/gpu/drm/i915/display/g4x_dp.c|  2 -
>  drivers/gpu/drm/i915/display/g4x_hdmi.c  | 10 
>  drivers/gpu/drm/i915/display/intel_ddi.c |  3 --
>  drivers/gpu/drm/i915/display/intel_display.c | 49 
>  drivers/gpu/drm/i915/display/intel_dp_mst.c  |  4 --
>  5 files changed, 49 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/g4x_dp.c 
> b/drivers/gpu/drm/i915/display/g4x_dp.c
> index 96232af42db2..dfe0b07a122d 100644
> --- a/drivers/gpu/drm/i915/display/g4x_dp.c
> +++ b/drivers/gpu/drm/i915/display/g4x_dp.c
> @@ -516,8 +516,6 @@ static void intel_disable_dp(struct intel_atomic_state 
> *state,
>  {
>   struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>  
> - encoder->audio_disable(encoder, old_crtc_state, old_conn_state);
> -
>   intel_dp->link_trained = false;
>  
>   /*
> diff --git a/drivers/gpu/drm/i915/display/g4x_hdmi.c 
> b/drivers/gpu/drm/i915/display/g4x_hdmi.c
> index 26a0981102ff..8096492b3fad 100644
> --- a/drivers/gpu/drm/i915/display/g4x_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/g4x_hdmi.c
> @@ -273,8 +273,6 @@ static void g4x_enable_hdmi(struct intel_atomic_state 
> *state,
>   const struct drm_connector_state *conn_state)
>  {
>   g4x_hdmi_enable_port(encoder, pipe_config);
> -
> - encoder->audio_enable(encoder, pipe_config, conn_state);
>  }
>  
>  static void ibx_enable_hdmi(struct intel_atomic_state *state,
> @@ -322,8 +320,6 @@ static void ibx_enable_hdmi(struct intel_atomic_state 
> *state,
>   intel_de_write(dev_priv, intel_hdmi->hdmi_reg, temp);
>   intel_de_posting_read(dev_priv, intel_hdmi->hdmi_reg);
>   }
> -
> - encoder->audio_enable(encoder, pipe_config, conn_state);
>  }
>  
>  static void cpt_enable_hdmi(struct intel_atomic_state *state,
> @@ -373,8 +369,6 @@ static void cpt_enable_hdmi(struct intel_atomic_state 
> *state,
>   intel_de_rmw(dev_priv, TRANS_CHICKEN1(pipe),
>TRANS_CHICKEN1_HDMIUNIT_GC_DISABLE, 0);
>   }
> -
> - encoder->audio_enable(encoder, pipe_config, conn_state);
>  }
>  
>  static void vlv_enable_hdmi(struct intel_atomic_state *state,
> @@ -382,7 +376,6 @@ static void vlv_enable_hdmi(struct intel_atomic_state 
> *state,
>   const struct intel_crtc_state *pipe_config,
>   const struct drm_connector_state *conn_state)
>  {
> - encoder->audio_enable(encoder, pipe_config, conn_state);
>  }
>  
>  static void intel_disable_hdmi(struct intel_atomic_state *state,
> @@ -449,8 +442,6 @@ static void g4x_disable_hdmi(struct intel_atomic_state 
> *state,
>const struct intel_crtc_state *old_crtc_state,
>const struct drm_connector_state *old_conn_state)
>  {
> - encoder->audio_disable(encoder, old_crtc_state, old_conn_state);
> -
>   intel_disable_hdmi(state, encoder, old_crtc_state, old_conn_state);
>  }
>  
> @@ -459,7 +450,6 @@ static void pch_disable_hdmi(struct intel_atomic_state 
> *state,
>const struct intel_crtc_state *old_crtc_state,
>const struct drm_connector_state *old_conn_state)
>  {
> - encoder->audio_disable(encoder, old_crtc_state, old_conn_state);
>  }
>  
>  static void pch_post_disable_hdmi(struct intel_atomic_state *state,
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c 
> b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 2e4920d70105..97569423f430 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -3266,7 +3266,6 @@ static void intel_enable_ddi(struct intel_atomic_state 
> *state,
>  
>   intel_hdcp_enable(state, encoder, crtc_state, conn_state);
>  
> - encoder->audio_enable(encoder, crtc_state, conn_state);
>  }
>  
>  static void intel_disable_ddi_dp(struct intel_atomic_state *state,
> @@ -3308,8 +3307,6 @@ static void intel_disable_ddi(struct intel_atomic_state 
> *state,
> const struct intel_crtc_state *old_crtc_state,
> const struct drm_connector_state *old_conn_state)
>  {
> - encoder->audio_disable(encoder, old_crtc_state, old_conn_state);
> -
>   intel_tc_port_link_cancel_reset_work(enc_to_dig_port(encoder));
>  
>   intel_hdcp_disable(to_intel_connector(old_conn_state->connector));
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
> b/drivers/gpu/drm/i915/display/intel_display.c
> index ec76006b1756..d606befa007c 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -889,6 +889,48 @@ 

[Intel-gfx] [PATCH 09/11] drm/i915: Hoist the encoder->audio_{enable, disable}() calls higher up

2023-11-06 Thread Ville Syrjala
From: Ville Syrjälä 

Push he encoder->audio_{enable,disable}() calls out from the
encoder->{enable,disable}() hooks. Moving towards audio fastset.

Signed-off-by: Ville Syrjälä 
---
 drivers/gpu/drm/i915/display/g4x_dp.c|  2 -
 drivers/gpu/drm/i915/display/g4x_hdmi.c  | 10 
 drivers/gpu/drm/i915/display/intel_ddi.c |  3 --
 drivers/gpu/drm/i915/display/intel_display.c | 49 
 drivers/gpu/drm/i915/display/intel_dp_mst.c  |  4 --
 5 files changed, 49 insertions(+), 19 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/g4x_dp.c 
b/drivers/gpu/drm/i915/display/g4x_dp.c
index 96232af42db2..dfe0b07a122d 100644
--- a/drivers/gpu/drm/i915/display/g4x_dp.c
+++ b/drivers/gpu/drm/i915/display/g4x_dp.c
@@ -516,8 +516,6 @@ static void intel_disable_dp(struct intel_atomic_state 
*state,
 {
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
 
-   encoder->audio_disable(encoder, old_crtc_state, old_conn_state);
-
intel_dp->link_trained = false;
 
/*
diff --git a/drivers/gpu/drm/i915/display/g4x_hdmi.c 
b/drivers/gpu/drm/i915/display/g4x_hdmi.c
index 26a0981102ff..8096492b3fad 100644
--- a/drivers/gpu/drm/i915/display/g4x_hdmi.c
+++ b/drivers/gpu/drm/i915/display/g4x_hdmi.c
@@ -273,8 +273,6 @@ static void g4x_enable_hdmi(struct intel_atomic_state 
*state,
const struct drm_connector_state *conn_state)
 {
g4x_hdmi_enable_port(encoder, pipe_config);
-
-   encoder->audio_enable(encoder, pipe_config, conn_state);
 }
 
 static void ibx_enable_hdmi(struct intel_atomic_state *state,
@@ -322,8 +320,6 @@ static void ibx_enable_hdmi(struct intel_atomic_state 
*state,
intel_de_write(dev_priv, intel_hdmi->hdmi_reg, temp);
intel_de_posting_read(dev_priv, intel_hdmi->hdmi_reg);
}
-
-   encoder->audio_enable(encoder, pipe_config, conn_state);
 }
 
 static void cpt_enable_hdmi(struct intel_atomic_state *state,
@@ -373,8 +369,6 @@ static void cpt_enable_hdmi(struct intel_atomic_state 
*state,
intel_de_rmw(dev_priv, TRANS_CHICKEN1(pipe),
 TRANS_CHICKEN1_HDMIUNIT_GC_DISABLE, 0);
}
-
-   encoder->audio_enable(encoder, pipe_config, conn_state);
 }
 
 static void vlv_enable_hdmi(struct intel_atomic_state *state,
@@ -382,7 +376,6 @@ static void vlv_enable_hdmi(struct intel_atomic_state 
*state,
const struct intel_crtc_state *pipe_config,
const struct drm_connector_state *conn_state)
 {
-   encoder->audio_enable(encoder, pipe_config, conn_state);
 }
 
 static void intel_disable_hdmi(struct intel_atomic_state *state,
@@ -449,8 +442,6 @@ static void g4x_disable_hdmi(struct intel_atomic_state 
*state,
 const struct intel_crtc_state *old_crtc_state,
 const struct drm_connector_state *old_conn_state)
 {
-   encoder->audio_disable(encoder, old_crtc_state, old_conn_state);
-
intel_disable_hdmi(state, encoder, old_crtc_state, old_conn_state);
 }
 
@@ -459,7 +450,6 @@ static void pch_disable_hdmi(struct intel_atomic_state 
*state,
 const struct intel_crtc_state *old_crtc_state,
 const struct drm_connector_state *old_conn_state)
 {
-   encoder->audio_disable(encoder, old_crtc_state, old_conn_state);
 }
 
 static void pch_post_disable_hdmi(struct intel_atomic_state *state,
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c 
b/drivers/gpu/drm/i915/display/intel_ddi.c
index 2e4920d70105..97569423f430 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -3266,7 +3266,6 @@ static void intel_enable_ddi(struct intel_atomic_state 
*state,
 
intel_hdcp_enable(state, encoder, crtc_state, conn_state);
 
-   encoder->audio_enable(encoder, crtc_state, conn_state);
 }
 
 static void intel_disable_ddi_dp(struct intel_atomic_state *state,
@@ -3308,8 +3307,6 @@ static void intel_disable_ddi(struct intel_atomic_state 
*state,
  const struct intel_crtc_state *old_crtc_state,
  const struct drm_connector_state *old_conn_state)
 {
-   encoder->audio_disable(encoder, old_crtc_state, old_conn_state);
-
intel_tc_port_link_cancel_reset_work(enc_to_dig_port(encoder));
 
intel_hdcp_disable(to_intel_connector(old_conn_state->connector));
diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
b/drivers/gpu/drm/i915/display/intel_display.c
index ec76006b1756..d606befa007c 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -889,6 +889,48 @@ static bool needs_async_flip_vtd_wa(const struct 
intel_crtc_state *crtc_state)
(DISPLAY_VER(i915) == 9 || IS_BROADWELL(i915) || 
IS_HASWELL(i915));
 }
 
+static void intel_encoders_audio_enable(struct intel_atomic_state *state,
+