RE: [PATCH 17/22] drm/i915: Utilize intel_crtc_joined_pipe_mask() more

2024-03-31 Thread Murthy, Arun R

> -Original Message-
> From: Intel-gfx  On Behalf Of Ville
> Syrjala
> Sent: Friday, March 29, 2024 6:43 AM
> To: intel-gfx@lists.freedesktop.org
> Subject: [PATCH 17/22] drm/i915: Utilize intel_crtc_joined_pipe_mask() more
> 
> From: Ville Syrjälä 
> 
> Unify the master vs. slave handling in
> intel_ddi_post_disable_hdmi_or_sst() by looping over all the pipes in one go.
> 
> This also lets us move the intel_crtc_vblank_off() calls to happen in a 
> consistent
> place vs. the transcoder disable.
> Previously we did the master vs. slaves on different sides of that.
> 
> v2: Use the name 'pipe_crtc' for the per-pipe crtc pointer
> 
> Signed-off-by: Ville Syrjälä 
Reviewed-by: Arun R Murthy 

Thanks and Regards,
Arun R Murthy
-
> ---
>  drivers/gpu/drm/i915/display/intel_ddi.c | 25 ++--
>  1 file changed, 19 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c
> b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 1130bfb7363c..af34e905a85d 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -3098,19 +3098,32 @@ static void
> intel_ddi_post_disable_hdmi_or_sst(struct intel_atomic_state *state,
>  const struct drm_connector_state
> *old_conn_state)  {
>   struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> + struct intel_crtc *pipe_crtc;
> 
> - intel_crtc_vblank_off(old_crtc_state);
> + for_each_intel_crtc_in_pipe_mask(&dev_priv->drm, pipe_crtc,
> +
> intel_crtc_joined_pipe_mask(old_crtc_state)) {
> + const struct intel_crtc_state *old_pipe_crtc_state =
> + intel_atomic_get_old_crtc_state(state, pipe_crtc);
> +
> + intel_crtc_vblank_off(old_pipe_crtc_state);
> + }
> 
>   intel_disable_transcoder(old_crtc_state);
> 
>   intel_ddi_disable_transcoder_func(old_crtc_state);
> 
> - intel_dsc_disable(old_crtc_state);
> + for_each_intel_crtc_in_pipe_mask(&dev_priv->drm, pipe_crtc,
> +
> intel_crtc_joined_pipe_mask(old_crtc_state)) {
> + const struct intel_crtc_state *old_pipe_crtc_state =
> + intel_atomic_get_old_crtc_state(state, pipe_crtc);
> 
> - if (DISPLAY_VER(dev_priv) >= 9)
> - skl_scaler_disable(old_crtc_state);
> - else
> - ilk_pfit_disable(old_crtc_state);
> + intel_dsc_disable(old_pipe_crtc_state);
> +
> + if (DISPLAY_VER(dev_priv) >= 9)
> + skl_scaler_disable(old_pipe_crtc_state);
> + else
> + ilk_pfit_disable(old_pipe_crtc_state);
> + }
>  }
> 
>  static void intel_ddi_post_disable(struct intel_atomic_state *state,
> --
> 2.43.2



RE: [PATCH 18/22] drm/i915: Handle joined pipes inside hsw_crtc_disable()

2024-03-31 Thread Murthy, Arun R

> -Original Message-
> From: Intel-gfx  On Behalf Of Ville
> Syrjala
> Sent: Friday, March 29, 2024 6:43 AM
> To: intel-gfx@lists.freedesktop.org
> Subject: [PATCH 18/22] drm/i915: Handle joined pipes inside hsw_crtc_disable()
> 
> From: Ville Syrjälä 
> 
> Reorganize the crtc disable path to only deal with the master 
> pipes/transcoders
> in intel_old_crtc_state_disables() and offload the handling of joined pipes to
> hsw_crtc_disable().
> This makes the whole thing much more sensible since we can actually control
> the order in which we do the per-pipe vs.
> per-transcoder modeset steps.
> 
> v2: Use the name 'pipe_crtc' for the per-pipe crtc pointer
> 
> Signed-off-by: Ville Syrjälä 
> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 64 
>  1 file changed, 39 insertions(+), 25 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index 58ee40786d5c..c15ea046c62a 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -1791,29 +1791,28 @@ static void hsw_crtc_disable(struct
> intel_atomic_state *state,
>   const struct intel_crtc_state *old_crtc_state =
>   intel_atomic_get_old_crtc_state(state, crtc);
>   struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> + struct intel_crtc *pipe_crtc;
> 
>   /*
>* FIXME collapse everything to one hook.
>* Need care with mst->ddi interactions.
>*/
> - if (!intel_crtc_is_bigjoiner_slave(old_crtc_state)) {
> - intel_encoders_disable(state, crtc);
> - intel_encoders_post_disable(state, crtc);
> - }
> -
> - intel_disable_shared_dpll(old_crtc_state);
> + intel_encoders_disable(state, crtc);
> + intel_encoders_post_disable(state, crtc);
> 
> - if (!intel_crtc_is_bigjoiner_slave(old_crtc_state)) {
> - struct intel_crtc *slave_crtc;
> + for_each_intel_crtc_in_pipe_mask(&i915->drm, pipe_crtc,
> +
> intel_crtc_joined_pipe_mask(old_crtc_state)) {
> + const struct intel_crtc_state *old_pipe_crtc_state =
> + intel_atomic_get_old_crtc_state(state, pipe_crtc);
> 
> - intel_encoders_post_pll_disable(state, crtc);
> + intel_disable_shared_dpll(old_pipe_crtc_state);
> + }

As per the sequence is considered, should the pll be disabled prior to 
disabling the encoders and then followed by post_pll_disable?

Thanks and Regards,
Arun R Murthy



RE: [PATCH 20/22] drm/i915/mst: Add bigjoiner handling to MST modeset sequence

2024-03-31 Thread Murthy, Arun R
> -Original Message-
> From: Intel-gfx  On Behalf Of Ville
> Syrjala
> Sent: Friday, March 29, 2024 6:43 AM
> To: intel-gfx@lists.freedesktop.org
> Cc: Srinivas, Vidya 
> Subject: [PATCH 20/22] drm/i915/mst: Add bigjoiner handling to MST modeset
> sequence
> 
> From: Ville Syrjälä 
> 
> Loop over all joined pipes at relevant points in the MST modeset sequence.
> 
> Carved out from Vidya's earlier big patch, with naming/etc.
> changed to match the earlier hsw_crtc_enable() stuff.
> 
> Co-developed-by: Vidya Srinivas 
> Signed-off-by: Vidya Srinivas 
> Signed-off-by: Ville Syrjälä 

Reviewed-by: Arun R Murthy 

Thanks and Regards,
Arun R Murthy

> ---
>  drivers/gpu/drm/i915/display/intel_dp_mst.c | 34 -
>  1 file changed, 27 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index de364ed77c08..2d601d214915 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -956,6 +956,7 @@ static void intel_mst_post_disable_dp(struct
> intel_atomic_state *state,
>   struct drm_dp_mst_atomic_payload *new_payload =
>   drm_atomic_get_mst_payload_state(new_mst_state,
> connector->port);
>   struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> + struct intel_crtc *pipe_crtc;
>   bool last_mst_stream;
> 
>   intel_dp->active_mst_links--;
> @@ -964,7 +965,13 @@ static void intel_mst_post_disable_dp(struct
> intel_atomic_state *state,
>   DISPLAY_VER(dev_priv) >= 12 && last_mst_stream &&
>   !intel_dp_mst_is_master_trans(old_crtc_state));
> 
> - intel_crtc_vblank_off(old_crtc_state);
> + for_each_intel_crtc_in_pipe_mask(&dev_priv->drm, pipe_crtc,
> +
> intel_crtc_joined_pipe_mask(old_crtc_state)) {
> + const struct intel_crtc_state *old_pipe_crtc_state =
> + intel_atomic_get_old_crtc_state(state, pipe_crtc);
> +
> + intel_crtc_vblank_off(old_pipe_crtc_state);
> + }
> 
>   intel_disable_transcoder(old_crtc_state);
> 
> @@ -982,12 +989,18 @@ static void intel_mst_post_disable_dp(struct
> intel_atomic_state *state,
> 
>   intel_ddi_disable_transcoder_func(old_crtc_state);
> 
> - intel_dsc_disable(old_crtc_state);
> + for_each_intel_crtc_in_pipe_mask(&dev_priv->drm, pipe_crtc,
> +
> intel_crtc_joined_pipe_mask(old_crtc_state)) {
> + const struct intel_crtc_state *old_pipe_crtc_state =
> + intel_atomic_get_old_crtc_state(state, pipe_crtc);
> 
> - if (DISPLAY_VER(dev_priv) >= 9)
> - skl_scaler_disable(old_crtc_state);
> - else
> - ilk_pfit_disable(old_crtc_state);
> + intel_dsc_disable(old_pipe_crtc_state);
> +
> + if (DISPLAY_VER(dev_priv) >= 9)
> + skl_scaler_disable(old_pipe_crtc_state);
> + else
> + ilk_pfit_disable(old_pipe_crtc_state);
> + }
> 
>   /*
>* Power down mst path before disabling the port, otherwise we end
> @@ -1133,6 +1146,7 @@ static void intel_mst_enable_dp(struct
> intel_atomic_state *state,
>   drm_atomic_get_new_mst_topology_state(&state->base,
> &intel_dp->mst_mgr);
>   enum transcoder trans = pipe_config->cpu_transcoder;
>   bool first_mst_stream = intel_dp->active_mst_links == 1;
> + struct intel_crtc *pipe_crtc;
> 
>   drm_WARN_ON(&dev_priv->drm, pipe_config->has_pch_encoder);
> 
> @@ -1174,7 +1188,13 @@ static void intel_mst_enable_dp(struct
> intel_atomic_state *state,
> 
>   intel_enable_transcoder(pipe_config);
> 
> - intel_crtc_vblank_on(pipe_config);
> + for_each_intel_crtc_in_pipe_mask_reverse(&dev_priv->drm, pipe_crtc,
> +
> intel_crtc_joined_pipe_mask(pipe_config)) {
> + const struct intel_crtc_state *pipe_crtc_state =
> + intel_atomic_get_new_crtc_state(state, pipe_crtc);
> +
> + intel_crtc_vblank_on(pipe_crtc_state);
> + }
> 
>   intel_hdcp_enable(state, encoder, pipe_config, conn_state);  }
> --
> 2.43.2



RE: [PATCH 21/22] drm/i915: Allow bigjoiner for MST

2024-03-31 Thread Murthy, Arun R

> -Original Message-
> From: Intel-gfx  On Behalf Of Ville
> Syrjala
> Sent: Friday, March 29, 2024 6:43 AM
> To: intel-gfx@lists.freedesktop.org
> Cc: Manasi Navare ; Ville Syrjälä
> 
> Subject: [PATCH 21/22] drm/i915: Allow bigjoiner for MST
> 
> From: Vidya Srinivas 
> 
> We need bigjoiner support with MST functionality for MST monitor resolutions
> > 5K to work.
> Adding support for the same.
> 
> v2: Addressed review comments from Jani.
> Revert rejection of MST bigjoiner modes and add functionality
> 
> v3: Fixed pipe_mismatch WARN for mst_master_transcoder
> Credits-to: Manasi Navare 
> 
> v4: Utilize intel_crtc_joined_pipe_mask() also for handling
> bigjoiner slave pipes for MST case(Stan)
> [v5: vsyrjala: chunked the modeset squence stuff out,
>removed bogus mst master transcoder hack,
>  keep mgr_lock near the full_pbn check]
> 
> Signed-off-by: Vidya Srinivas 
> Reviewed-by: Manasi Navare 
> Co-developed-by: Ville Syrjälä 
> Signed-off-by: Ville Syrjälä 
> ---
Reviewed-by: Arun R Murthy 

Thanks and Regards,
Arun R Murthy
---

>  drivers/gpu/drm/i915/display/intel_dp_mst.c | 25 -
>  1 file changed, 14 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 2d601d214915..c1530c01f541 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -525,6 +525,7 @@ static int intel_dp_mst_compute_config(struct
> intel_encoder *encoder,  {
>   struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>   struct intel_atomic_state *state = to_intel_atomic_state(conn_state-
> >state);
> + struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
>   struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
>   struct intel_dp *intel_dp = &intel_mst->primary->dp;
>   struct intel_connector *connector =
> @@ -542,6 +543,11 @@ static int intel_dp_mst_compute_config(struct
> intel_encoder *encoder,
>   if (adjusted_mode->flags & DRM_MODE_FLAG_DBLSCAN)
>   return -EINVAL;
> 
> + if (intel_dp_need_bigjoiner(intel_dp, connector,
> + adjusted_mode->crtc_hdisplay,
> + adjusted_mode->crtc_clock))
> + pipe_config->bigjoiner_pipes = GENMASK(crtc->pipe + 1, crtc-
> >pipe);
> +
>   pipe_config->sink_format = INTEL_OUTPUT_FORMAT_RGB;
>   pipe_config->output_format = INTEL_OUTPUT_FORMAT_RGB;
>   pipe_config->has_pch_encoder = false;
> @@ -1341,10 +1347,6 @@ intel_dp_mst_mode_valid_ctx(struct
> drm_connector *connector,
>  max_link_clock, max_lanes);
>   mode_rate = intel_dp_link_required(mode->clock, min_bpp);
> 
> - ret = drm_modeset_lock(&mgr->base.lock, ctx);
> - if (ret)
> - return ret;
> -
>   /*
>* TODO:
>* - Also check if compression would allow for the mode @@ -1357,17
> +1359,18 @@ intel_dp_mst_mode_valid_ctx(struct drm_connector *connector,
>*   corresponding link capabilities of the sink) in case the
>*   stream is uncompressed for it by the last branch device.
>*/
> - if (mode_rate > max_rate || mode->clock > max_dotclk ||
> - drm_dp_calc_pbn_mode(mode->clock, min_bpp << 4) > port-
> >full_pbn) {
> - *status = MODE_CLOCK_HIGH;
> - return 0;
> - }
>   if (intel_dp_need_bigjoiner(intel_dp, intel_connector,
>   mode->hdisplay, target_clock)) {
>   bigjoiner = true;
>   max_dotclk *= 2;
> + }
> 
> - /* TODO: add support for bigjoiner */
> + ret = drm_modeset_lock(&mgr->base.lock, ctx);
> + if (ret)
> + return ret;
> +
> + if (mode_rate > max_rate || mode->clock > max_dotclk ||
> + drm_dp_calc_pbn_mode(mode->clock, min_bpp << 4) > port-
> >full_pbn)
> +{
>   *status = MODE_CLOCK_HIGH;
>   return 0;
>   }
> @@ -1410,7 +1413,7 @@ intel_dp_mst_mode_valid_ctx(struct drm_connector
> *connector,
>   return 0;
>   }
> 
> - *status = intel_mode_valid_max_plane_size(dev_priv, mode, false);
> + *status = intel_mode_valid_max_plane_size(dev_priv, mode, bigjoiner);
>   return 0;
>  }
> 
> --
> 2.43.2



[PATCH 2/2] drm/i915/hdcp: Fix get remote hdcp capability function

2024-03-31 Thread Suraj Kandpal
HDCP 1.x capability needs to be checked even if setup is not
HDCP 2.x capable.

--v2
-Assign hdcp_capable and hdcp2_capable to false [Chaitanya]

--v3
-Fix variable assignment [Chaitanya]

Fixes: 813cca96e4ac ("drm/i915/hdcp: Add new remote capability check shim 
function")
Signed-off-by: Suraj Kandpal 
---
 drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c 
b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
index 179e754e5c30..92b03073acdd 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
@@ -691,12 +691,15 @@ int intel_dp_hdcp_get_remote_capability(struct 
intel_connector *connector,
u8 bcaps;
int ret;
 
+   *hdcp_capable = false;
+   *hdcp2_capable = false;
if (!intel_encoder_is_mst(connector->encoder))
return -EINVAL;
 
ret =  _intel_dp_hdcp2_get_capability(aux, hdcp2_capable);
if (ret)
-   return ret;
+   drm_dbg_kms(&i915->drm,
+   "HDCP2 DPCD capability read failed err: %d\n", ret);
 
ret = intel_dp_hdcp_read_bcaps(aux, i915, &bcaps);
if (ret)
-- 
2.43.2



RE: [PATCH 01/22] drm/i915: Disable port sync when bigjoiner is used

2024-03-31 Thread Kulkarni, Vandita
> -Original Message-
> From: Intel-gfx  On Behalf Of Ville
> Syrjala
> Sent: Friday, March 29, 2024 6:43 AM
> To: intel-gfx@lists.freedesktop.org
> Subject: [PATCH 01/22] drm/i915: Disable port sync when bigjoiner is used
> 
> From: Ville Syrjälä 
> 
> The current modeset sequence can't handle port sync and bigjoiner at the
> same time. Refuse port sync when bigjoiner is needed, at least until we fix
> the modeset sequence.
> 
> Signed-off-by: Ville Syrjälä 

Like you have said in the second patch in the series " port sync+bigjoiner 
would require a tiled display with >5k tiles (or a very high dotclock per 
tile)." this would be a rare case, since it needs to be fixed later, a todo 
comment would be helpful, to take care of it for later.
With that
Reviewed-by: Vandita Kulkarni 

> ---
>  drivers/gpu/drm/i915/display/intel_ddi.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c
> b/drivers/gpu/drm/i915/display/intel_ddi.c
> index a3d3d4942eb1..fa6fe9ec8027 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -4244,6 +4244,7 @@ static bool crtcs_port_sync_compatible(const
> struct intel_crtc_state *crtc_state
>  const struct intel_crtc_state 
> *crtc_state2)
> {
>   return crtc_state1->hw.active && crtc_state2->hw.active &&
> + !crtc_state1->bigjoiner_pipes && !crtc_state2-
> >bigjoiner_pipes &&
>   crtc_state1->output_types == crtc_state2->output_types &&
>   crtc_state1->output_format == crtc_state2->output_format
> &&
>   crtc_state1->lane_count == crtc_state2->lane_count &&
> --
> 2.43.2



RE: [PATCH 2/2] drm/i915/hdcp: Fix get remote hdcp capability function

2024-03-31 Thread Borah, Chaitanya Kumar
Hello Suraj,

> -Original Message-
> From: Kandpal, Suraj 
> Sent: Monday, April 1, 2024 8:31 AM
> To: intel-gfx@lists.freedesktop.org
> Cc: Borah, Chaitanya Kumar ; Kandpal,
> Suraj 
> Subject: [PATCH 2/2] drm/i915/hdcp: Fix get remote hdcp capability function
> 
> HDCP 1.x capability needs to be checked even if setup is not HDCP 2.x capable.
> 
> --v2
> -Assign hdcp_capable and hdcp2_capable to false [Chaitanya]
> 
> Fixes: 813cca96e4ac ("drm/i915/hdcp: Add new remote capability check shim
> function")
> Signed-off-by: Suraj Kandpal 
> ---
>  drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 5 -
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> index 179e754e5c30..bd2cd7417136 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> @@ -694,9 +694,12 @@ int intel_dp_hdcp_get_remote_capability(struct
> intel_connector *connector,
>   if (!intel_encoder_is_mst(connector->encoder))
>   return -EINVAL;
> 
> + hdcp_capable = false;
> + hdcp2_capable = false;

Here pointers are being overwritten.
Anywhere we try to write to them will lead to crash.

You can also move them above the EINVAL check for the sake of readability. 
Anyway the caller of this function should not rely on the values if there is 
error code returned.
(even though no one is doing that right now)

Regards

Chaitanya


>   ret =  _intel_dp_hdcp2_get_capability(aux, hdcp2_capable);
>   if (ret)
> - return ret;
> + drm_dbg_kms(&i915->drm,
> + "HDCP2 DPCD capability read failed err: %d\n", ret);
> 
>   ret = intel_dp_hdcp_read_bcaps(aux, i915, &bcaps);
>   if (ret)
> --
> 2.43.2



RE: [PATCH 22/22] drm/i915: Use debugfs_create_bool() for "i915_bigjoiner_force_enable"

2024-03-31 Thread Murthy, Arun R

> -Original Message-
> From: Intel-gfx  On Behalf Of Ville
> Syrjala
> Sent: Friday, March 29, 2024 6:43 AM
> To: intel-gfx@lists.freedesktop.org
> Subject: [PATCH 22/22] drm/i915: Use debugfs_create_bool() for
> "i915_bigjoiner_force_enable"
> 
> From: Ville Syrjälä 
> 
> There is no reason to make this debugfs file for a simple boolean so
> complicated. Just use debugfs_create_bool().
> 
> Signed-off-by: Ville Syrjälä 
Reviewed-by: Arun R Murthy 

Thanks and Regards,
Arun R Murthy
---

> ---
>  .../drm/i915/display/intel_display_debugfs.c  | 44 +--
>  1 file changed, 2 insertions(+), 42 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index b99c024b0934..3e364891dcd0 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -1402,20 +1402,6 @@ out:   drm_modeset_unlock(&i915-
> >drm.mode_config.connection_mutex);
>   return ret;
>  }
> 
> -static int i915_bigjoiner_enable_show(struct seq_file *m, void *data) -{
> - struct intel_connector *connector = m->private;
> - struct drm_crtc *crtc;
> -
> - crtc = connector->base.state->crtc;
> - if (connector->base.status != connector_status_connected || !crtc)
> - return -ENODEV;
> -
> - seq_printf(m, "Bigjoiner enable: %d\n", connector-
> >force_bigjoiner_enable);
> -
> - return 0;
> -}
> -
>  static ssize_t i915_dsc_output_format_write(struct file *file,
>   const char __user *ubuf,
>   size_t len, loff_t *offp)
> @@ -1437,30 +1423,6 @@ static ssize_t i915_dsc_output_format_write(struct
> file *file,
>   return len;
>  }
> 
> -static ssize_t i915_bigjoiner_enable_write(struct file *file,
> -const char __user *ubuf,
> -size_t len, loff_t *offp)
> -{
> - struct seq_file *m = file->private_data;
> - struct intel_connector *connector = m->private;
> - struct drm_crtc *crtc;
> - bool bigjoiner_en = 0;
> - int ret;
> -
> - crtc = connector->base.state->crtc;
> - if (connector->base.status != connector_status_connected || !crtc)
> - return -ENODEV;
> -
> - ret = kstrtobool_from_user(ubuf, len, &bigjoiner_en);
> - if (ret < 0)
> - return ret;
> -
> - connector->force_bigjoiner_enable = bigjoiner_en;
> - *offp += len;
> -
> - return len;
> -}
> -
>  static int i915_dsc_output_format_open(struct inode *inode,
>  struct file *file)
>  {
> @@ -1554,8 +1516,6 @@ static const struct file_operations
> i915_dsc_fractional_bpp_fops = {
>   .write = i915_dsc_fractional_bpp_write  };
> 
> -DEFINE_SHOW_STORE_ATTRIBUTE(i915_bigjoiner_enable);
> -
>  /*
>   * Returns the Current CRTC's bpc.
>   * Example usage: cat /sys/kernel/debug/dri/0/crtc-0/i915_current_bpc
> @@ -1640,8 +1600,8 @@ void intel_connector_debugfs_add(struct
> intel_connector *connector)
>   if (DISPLAY_VER(i915) >= 11 &&
>   (connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
>connector_type == DRM_MODE_CONNECTOR_eDP)) {
> - debugfs_create_file("i915_bigjoiner_force_enable", 0644, root,
> - connector, &i915_bigjoiner_enable_fops);
> + debugfs_create_bool("i915_bigjoiner_force_enable", 0644,
> root,
> + &connector->force_bigjoiner_enable);
>   }
> 
>   if (connector_type == DRM_MODE_CONNECTOR_DSI ||
> --
> 2.43.2



✓ Fi.CI.BAT: success for drm/ttm: remove unused paramter (rev2)

2024-03-31 Thread Patchwork
== Series Details ==

Series: drm/ttm: remove unused paramter (rev2)
URL   : https://patchwork.freedesktop.org/series/131576/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_14509 -> Patchwork_131576v2


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131576v2/index.html

Participating hosts (39 -> 32)
--

  Missing(7): bat-arls-4 bat-dg1-7 bat-adlp-6 fi-snb-2520m bat-atsm-1 
bat-dg2-11 bat-arls-3 

Known issues


  Here are the changes found in Patchwork_131576v2 that come from known issues:

### CI changes ###

 Possible fixes 

  * boot:
- fi-tgl-1115g4:  [FAIL][1] ([i915#8293]) -> [PASS][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14509/fi-tgl-1115g4/boot.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131576v2/fi-tgl-1115g4/boot.html

  

### IGT changes ###

 Issues hit 

  * igt@debugfs_test@basic-hwmon:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][3] ([i915#9318])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131576v2/fi-tgl-1115g4/igt@debugfs_t...@basic-hwmon.html

  * igt@gem_huc_copy@huc-copy:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][4] ([i915#2190])
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131576v2/fi-tgl-1115g4/igt@gem_huc_c...@huc-copy.html

  * igt@gem_lmem_swapping@parallel-random-engines:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][5] ([i915#4613]) +3 other tests skip
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131576v2/fi-tgl-1115g4/igt@gem_lmem_swapp...@parallel-random-engines.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][6] ([i915#4103]) +1 other test skip
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131576v2/fi-tgl-1115g4/igt@kms_cursor_leg...@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_dsc@dsc-basic:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][7] ([i915#3555] / [i915#3840])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131576v2/fi-tgl-1115g4/igt@kms_...@dsc-basic.html

  * igt@kms_force_connector_basic@force-load-detect:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][8]
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131576v2/fi-tgl-1115g4/igt@kms_force_connector_ba...@force-load-detect.html

  * igt@kms_pm_backlight@basic-brightness:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][9] ([i915#9812])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131576v2/fi-tgl-1115g4/igt@kms_pm_backli...@basic-brightness.html

  * igt@kms_psr@psr-sprite-plane-onoff:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][10] ([i915#9732]) +3 other tests skip
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131576v2/fi-tgl-1115g4/igt@kms_...@psr-sprite-plane-onoff.html

  * igt@kms_setmode@basic-clone-single-crtc:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][11] ([i915#3555])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131576v2/fi-tgl-1115g4/igt@kms_setm...@basic-clone-single-crtc.html

  
 Possible fixes 

  * igt@i915_selftest@live@hangcheck:
- bat-adlp-11:[ABORT][12] ([i915#10021]) -> [PASS][13]
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14509/bat-adlp-11/igt@i915_selftest@l...@hangcheck.html
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131576v2/bat-adlp-11/igt@i915_selftest@l...@hangcheck.html

  
  {name}: This element is suppressed. This means it is ignored when computing
  the status of the difference (SUCCESS, WARNING, or FAILURE).

  [i915#10021]: https://gitlab.freedesktop.org/drm/intel/issues/10021
  [i915#10580]: https://gitlab.freedesktop.org/drm/intel/issues/10580
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4342]: https://gitlab.freedesktop.org/drm/intel/issues/4342
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#8293]: https://gitlab.freedesktop.org/drm/intel/issues/8293
  [i915#9159]: https://gitlab.freedesktop.org/drm/intel/issues/9159
  [i915#9318]: https://gitlab.freedesktop.org/drm/intel/issues/9318
  [i915#9673]: https://gitlab.freedesktop.org/drm/intel/issues/9673
  [i915#97

✗ Fi.CI.CHECKPATCH: warning for drm/ttm: remove unused paramter (rev2)

2024-03-31 Thread Patchwork
== Series Details ==

Series: drm/ttm: remove unused paramter (rev2)
URL   : https://patchwork.freedesktop.org/series/131576/
State : warning

== Summary ==

Error: dim checkpatch failed
372ac4183a0f drm/ttm: remove unused paramter
-:4: WARNING:TYPO_SPELLING: 'paramter' may be misspelled - perhaps 'parameter'?
#4: 
Subject: [PATCH] drm/ttm: remove unused paramter


-:9: WARNING:TYPO_SPELLING: 'paramter' may be misspelled - perhaps 'parameter'?
#9: 
remove the unsed the paramter in the function
 

-:62: CHECK:FROM_SIGN_OFF_MISMATCH: From:/Signed-off-by: email comments 
mismatch: 'From: Jesse Zhang ' != 'Signed-off-by: Jesse 
Zhang '

total: 0 errors, 2 warnings, 1 checks, 38 lines checked




✓ Fi.CI.BAT: success for Fix UBSAN warning in hdcp_info (rev2)

2024-03-31 Thread Patchwork
== Series Details ==

Series: Fix UBSAN warning in hdcp_info (rev2)
URL   : https://patchwork.freedesktop.org/series/131673/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_14509 -> Patchwork_131673v2


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131673v2/index.html

Participating hosts (39 -> 32)
--

  Missing(7): bat-arls-4 bat-dg1-7 bat-adlp-6 fi-snb-2520m bat-atsm-1 
bat-dg2-11 bat-arls-3 

Known issues


  Here are the changes found in Patchwork_131673v2 that come from known issues:

### CI changes ###

 Possible fixes 

  * boot:
- fi-tgl-1115g4:  [FAIL][1] ([i915#8293]) -> [PASS][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14509/fi-tgl-1115g4/boot.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131673v2/fi-tgl-1115g4/boot.html

  

### IGT changes ###

 Issues hit 

  * igt@debugfs_test@basic-hwmon:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][3] ([i915#9318])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131673v2/fi-tgl-1115g4/igt@debugfs_t...@basic-hwmon.html

  * igt@gem_huc_copy@huc-copy:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][4] ([i915#2190])
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131673v2/fi-tgl-1115g4/igt@gem_huc_c...@huc-copy.html

  * igt@gem_lmem_swapping@parallel-random-engines:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][5] ([i915#4613]) +3 other tests skip
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131673v2/fi-tgl-1115g4/igt@gem_lmem_swapp...@parallel-random-engines.html

  * igt@i915_selftest@live@gtt:
- bat-dg2-9:  [PASS][6] -> [ABORT][7] ([i915#10366])
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14509/bat-dg2-9/igt@i915_selftest@l...@gtt.html
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131673v2/bat-dg2-9/igt@i915_selftest@l...@gtt.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][8] ([i915#4103]) +1 other test skip
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131673v2/fi-tgl-1115g4/igt@kms_cursor_leg...@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_dsc@dsc-basic:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][9] ([i915#3555] / [i915#3840])
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131673v2/fi-tgl-1115g4/igt@kms_...@dsc-basic.html

  * igt@kms_force_connector_basic@force-load-detect:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][10]
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131673v2/fi-tgl-1115g4/igt@kms_force_connector_ba...@force-load-detect.html

  * igt@kms_pm_backlight@basic-brightness:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][11] ([i915#9812])
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131673v2/fi-tgl-1115g4/igt@kms_pm_backli...@basic-brightness.html

  * igt@kms_psr@psr-sprite-plane-onoff:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][12] ([i915#9732]) +3 other tests skip
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131673v2/fi-tgl-1115g4/igt@kms_...@psr-sprite-plane-onoff.html

  * igt@kms_setmode@basic-clone-single-crtc:
- fi-tgl-1115g4:  NOTRUN -> [SKIP][13] ([i915#3555])
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131673v2/fi-tgl-1115g4/igt@kms_setm...@basic-clone-single-crtc.html

  
 Possible fixes 

  * igt@i915_selftest@live@hangcheck:
- bat-adlp-11:[ABORT][14] ([i915#10021]) -> [PASS][15]
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14509/bat-adlp-11/igt@i915_selftest@l...@hangcheck.html
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_131673v2/bat-adlp-11/igt@i915_selftest@l...@hangcheck.html

  
  {name}: This element is suppressed. This means it is ignored when computing
  the status of the difference (SUCCESS, WARNING, or FAILURE).

  [i915#10021]: https://gitlab.freedesktop.org/drm/intel/issues/10021
  [i915#10366]: https://gitlab.freedesktop.org/drm/intel/issues/10366
  [i915#10580]: https://gitlab.freedesktop.org/drm/intel/issues/10580
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4342]: https://gitlab.freedesktop.org/drm/intel/issues/4342
  [i915#4613]: https://gitlab.f

RE: [PATCH] drm/i915: Fix i915_display_info output when connectors are not active

2024-03-31 Thread Kandpal, Suraj
> Subject: [PATCH] drm/i915: Fix i915_display_info output when connectors are
> not active
> 
> From: Ville Syrjälä 
> 
> Currently intel_connector_info(), which prints the per-connector output for
> i915_display_info, just bails out early if the connector doesn't have a 
> current
> encoder. That leads to very confusing output where some of your connected
> (and properly detected) outputs appear to have no enumerated modes.
> 
> Get rid of the encoder stuff and just rely on the connector itself so that the
> output is always consistent.
> 
LGTM,
Reviewed-by: Suraj Kandpal 

> Signed-off-by: Ville Syrjälä 
> ---
>  .../gpu/drm/i915/display/intel_display_debugfs.c   | 14 +++---
>  1 file changed, 3 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index b99c024b0934..72efd92e5737 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -252,9 +252,6 @@ static void intel_connector_info(struct seq_file *m,
>struct drm_connector *connector)
>  {
>   struct intel_connector *intel_connector =
> to_intel_connector(connector);
> - const struct drm_connector_state *conn_state = connector->state;
> - struct intel_encoder *encoder =
> - to_intel_encoder(conn_state->best_encoder);
>   const struct drm_display_mode *mode;
> 
>   seq_printf(m, "[CONNECTOR:%d:%s]: status: %s\n", @@ -271,28
> +268,23 @@ static void intel_connector_info(struct seq_file *m,
>  drm_get_subpixel_order_name(connector-
> >display_info.subpixel_order));
>   seq_printf(m, "\tCEA rev: %d\n", connector->display_info.cea_rev);
> 
> - if (!encoder)
> - return;
> -
>   switch (connector->connector_type) {
>   case DRM_MODE_CONNECTOR_DisplayPort:
>   case DRM_MODE_CONNECTOR_eDP:
> - if (encoder->type == INTEL_OUTPUT_DP_MST)
> + if (intel_connector->mst_port)
>   intel_dp_mst_info(m, intel_connector);
>   else
>   intel_dp_info(m, intel_connector);
>   break;
>   case DRM_MODE_CONNECTOR_HDMIA:
> - if (encoder->type == INTEL_OUTPUT_HDMI ||
> - encoder->type == INTEL_OUTPUT_DDI)
> - intel_hdmi_info(m, intel_connector);
> + intel_hdmi_info(m, intel_connector);
>   break;
>   default:
>   break;
>   }
> 
>   seq_puts(m, "\tHDCP version: ");
> - if (intel_encoder_is_mst(encoder)) {
> + if (intel_connector->mst_port) {
>   intel_hdcp_info(m, intel_connector, true);
>   seq_puts(m, "\tMST Hub HDCP version: ");
>   }
> --
> 2.43.2



✗ Fi.CI.SPARSE: warning for Fix UBSAN warning in hdcp_info (rev2)

2024-03-31 Thread Patchwork
== Series Details ==

Series: Fix UBSAN warning in hdcp_info (rev2)
URL   : https://patchwork.freedesktop.org/series/131673/
State : warning

== Summary ==

Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:147:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:149:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:153:26: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:155:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:173:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:175:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:179:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:181:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:185:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:187:9: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:191:35: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:16: warning: unreplaced symbol 'oldbit'
+./arch/x86/include/asm/bitops.h:194:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:236:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:238:9: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:66:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:92:1: warning: unreplaced symbol 'return'
+drivers/gpu/drm/i915/display/intel_dp_hdcp.c:697:24: warning: Using plain 
integer as NULL pointer
+drivers/gpu/drm/i915/display/intel_dp_hdcp.c:698:25: warning: Using plain 
integer as NULL pointer
+./include/asm-generic/bitops/generic-non-atomic.h:100:17: warning: unreplaced 
symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:100:23: warning: unreplaced 
symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:100:9: warning: unreplaced 
symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:105:1: warning: unreplaced 
symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:107:9: warning: unreplaced 
symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:108:9: warning: unreplaced 
symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:109:9: warning: unreplaced 
symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:10: warning: unreplaced 
symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:111:14: warning: unreplaced 
symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:111:20: warning: unreplaced 
symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:17: warning: unreplaced 
symbol 'old'
+./include/asm-generic/bitops/generic-non-atomic.h:112:23: warning: unreplaced 
symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:112:9: warning: unreplaced 
symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:121:1: warning: unreplaced 
symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:128:9: warning: unreplaced 
symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:166:1: warning: unreplaced 
symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:168:9: warning: unreplaced 
symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:169:9: warning: unreplaced 
symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:170:9: warning: unreplaced 
symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:19: warning: unreplaced 
symbol 'val'
+./include/asm-generic/bitops/generic-non-atomic.h:172:25: warning: unreplaced 
symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:172:9: warning: unreplaced 
symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:28:1: warning: unreplaced 
symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:30:9: warning: unreplaced 
symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:31:9: warning: unreplaced 
symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:10: warning: unreplaced 
symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:33:16: warning: unreplaced 
symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:37:1: warning: unreplaced 
symbol 'return'
+./include/asm-generic/bitops/generic-non-atomic.h:39:9: warning: unreplaced 
symbol 'mask'
+./include/asm-generic/bitops/generic-non-atomic.h:40:9: warning: unreplaced 
symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:10: warning: unreplaced 
symbol 'p'
+./include/asm-generic/bitops/generic-non-atomic.h:42:16: warning: unreplaced 
symbol 'mask'
+./include/asm-generic/bitops/generic-non-a

[PATCH V2] drm/ttm: remove unused paramter

2024-03-31 Thread jesse.zhang
From: Jesse Zhang 

remove the unsed the paramter in the function
ttm_bo_bounce_temp_buffer and ttm_bo_add_move_fence.
 V2:rebase the patch on top of drm-misc-next (Christian)

Signed-off-by: Jesse Zhang 
Reviewed-by: Christian König 
---
 drivers/gpu/drm/ttm/ttm_bo.c | 8 +++-
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
index e059b1e1b13b..6396dece0db1 100644
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -402,7 +402,6 @@ void ttm_bo_put(struct ttm_buffer_object *bo)
 EXPORT_SYMBOL(ttm_bo_put);
 
 static int ttm_bo_bounce_temp_buffer(struct ttm_buffer_object *bo,
-struct ttm_resource **mem,
 struct ttm_operation_ctx *ctx,
 struct ttm_place *hop)
 {
@@ -469,7 +468,7 @@ static int ttm_bo_evict(struct ttm_buffer_object *bo,
if (ret != -EMULTIHOP)
break;
 
-   ret = ttm_bo_bounce_temp_buffer(bo, &evict_mem, ctx, &hop);
+   ret = ttm_bo_bounce_temp_buffer(bo, ctx, &hop);
} while (!ret);
 
if (ret) {
@@ -698,7 +697,6 @@ EXPORT_SYMBOL(ttm_bo_unpin);
  */
 static int ttm_bo_add_move_fence(struct ttm_buffer_object *bo,
 struct ttm_resource_manager *man,
-struct ttm_resource *mem,
 bool no_wait_gpu)
 {
struct dma_fence *fence;
@@ -787,7 +785,7 @@ static int ttm_bo_alloc_resource(struct ttm_buffer_object 
*bo,
if (ret)
continue;
 
-   ret = ttm_bo_add_move_fence(bo, man, *res, ctx->no_wait_gpu);
+   ret = ttm_bo_add_move_fence(bo, man, ctx->no_wait_gpu);
if (unlikely(ret)) {
ttm_resource_free(bo, res);
if (ret == -EBUSY)
@@ -894,7 +892,7 @@ int ttm_bo_validate(struct ttm_buffer_object *bo,
 bounce:
ret = ttm_bo_handle_move_mem(bo, res, false, ctx, &hop);
if (ret == -EMULTIHOP) {
-   ret = ttm_bo_bounce_temp_buffer(bo, &res, ctx, &hop);
+   ret = ttm_bo_bounce_temp_buffer(bo, ctx, &hop);
/* try and move to final place now. */
if (!ret)
goto bounce;
-- 
2.25.1



[PATCH 2/2] drm/i915/hdcp: Fix get remote hdcp capability function

2024-03-31 Thread Suraj Kandpal
HDCP 1.x capability needs to be checked even if setup is not
HDCP 2.x capable.

--v2
-Assign hdcp_capable and hdcp2_capable to false [Chaitanya]

Fixes: 813cca96e4ac ("drm/i915/hdcp: Add new remote capability check shim 
function")
Signed-off-by: Suraj Kandpal 
---
 drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c 
b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
index 179e754e5c30..bd2cd7417136 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
@@ -694,9 +694,12 @@ int intel_dp_hdcp_get_remote_capability(struct 
intel_connector *connector,
if (!intel_encoder_is_mst(connector->encoder))
return -EINVAL;
 
+   hdcp_capable = false;
+   hdcp2_capable = false;
ret =  _intel_dp_hdcp2_get_capability(aux, hdcp2_capable);
if (ret)
-   return ret;
+   drm_dbg_kms(&i915->drm,
+   "HDCP2 DPCD capability read failed err: %d\n", ret);
 
ret = intel_dp_hdcp_read_bcaps(aux, i915, &bcaps);
if (ret)
-- 
2.43.2



[PATCH 1/2] drm/i915/display: Initialize capability variables

2024-03-31 Thread Suraj Kandpal
Initialize HDCP capability variables to false to avoid UBSAN
warning in boolean value as some functions invoking this could
return without filling the two capability values.

--v2
-Fix Typo [Chaitanya]

Signed-off-by: Suraj Kandpal 
Reviewed-by: Chaitanya Kumar Borah 
---
 drivers/gpu/drm/i915/display/intel_display_debugfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c 
b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index b99c024b0934..95d14dab089e 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -191,7 +191,7 @@ static void intel_hdcp_info(struct seq_file *m,
struct intel_connector *intel_connector,
bool remote_req)
 {
-   bool hdcp_cap, hdcp2_cap;
+   bool hdcp_cap = false, hdcp2_cap = false;
 
if (!intel_connector->hdcp.shim) {
seq_puts(m, "No Connector Support");
-- 
2.43.2



[PATCH 0/2] Fix UBSAN warning in hdcp_info

2024-03-31 Thread Suraj Kandpal
This patch series fixes the UBSAN warning which gets called
when hdcp_info is invoked accompanied by some other logical fixes
required in the hdcp capability function.

Signed-off-by: Suraj Kandpal 

Suraj Kandpal (2):
  drm/i915/display: Initialize capability variables
  drm/i915/hdcp: Fix get remote hdcp capability function

 drivers/gpu/drm/i915/display/intel_display_debugfs.c | 2 +-
 drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 5 -
 2 files changed, 5 insertions(+), 2 deletions(-)

-- 
2.43.2



✗ Fi.CI.BUILD: failure for Make I2C terminology more inclusive for I2C Algobit and consumers

2024-03-31 Thread Patchwork
== Series Details ==

Series: Make I2C terminology more inclusive for I2C Algobit and consumers
URL   : https://patchwork.freedesktop.org/series/131867/
State : failure

== Summary ==

Error: make failed
  CALLscripts/checksyscalls.sh
  DESCEND objtool
  INSTALL libsubcmd_headers
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.o
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c:157:3: error: ‘const struct 
i2c_algorithm’ has no member named ‘xfer’
  157 |  .xfer  = amdgpu_atombios_i2c_xfer,
  |   ^~~~
make[6]: *** [scripts/Makefile.build:244: 
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.o] Error 1
make[5]: *** [scripts/Makefile.build:485: drivers/gpu/drm/amd/amdgpu] Error 2
make[4]: *** [scripts/Makefile.build:485: drivers/gpu/drm] Error 2
make[3]: *** [scripts/Makefile.build:485: drivers/gpu] Error 2
make[2]: *** [scripts/Makefile.build:485: drivers] Error 2
make[1]: *** [/home/kbuild/kernel/Makefile:1919: .] Error 2
make: *** [Makefile:240: __sub-make] Error 2
Build failed, no error log produced




How to fix Linux CMA on x86 with internal graphic card i915/hda_intel ioremap error?

2024-03-31 Thread Suesens, Sebastian
Hello,

I enabled the CMA (CONFIG_CMA=y) for an x86 machine on Linux kernel v5.10 and 
v5.15 When I boot the system the CMA reserved memory, but when the graphic card 
driver i915 or hda_intel is loaded the system crashed. 
I see that ioremap on RAM at 0x - 0xd000 get fail. 
When I blacklist the i915 and hda_intel module the system boots fine with cma 
memory reserved.

I think this has something to do with the shared memory which this driver use.
 
Does anyone know if a kernel config or something else prevents this crash? 

Please answer me in CC.

Regards Sebastian



Re: [PATCH v0 02/14] drm/amdgpu, drm/radeon: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
On 3/29/2024 10:16 AM, Andi Shyti wrote:
> Hi Easwar,
> 
> On Fri, Mar 29, 2024 at 05:00:26PM +, Easwar Hariharan wrote:
>> I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
> 
> I don't understand why we forget that i3c is 1.1.1 :-)

That's because it's a copy-paste error from Wolfram's cover letter. :) I'll 
update
next go-around.

> 
>> with more appropriate terms. Inspired by and following on to Wolfram's
>> series to fix drivers/i2c/[1], fix the terminology for users of
>> I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
>> in the specification.
> 
> The specification talks about:
> 
>  - master -> controller
>  - slave -> target (and not client)
> 
> But both you and Wolfram have used client. I'd like to reach
> some more consistency here.

I had the impression that remote targets (i.e external to the device) were to 
be called clients,
e.g. the QSFP FRUs in drivers/infiniband, and internal ones targets.
I chose the terminology according to that understanding, but now I can't find 
where I got that
information.

Thanks,
Easwar


Re: [PATCH v0 02/14] drm/amdgpu, drm/radeon: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
On 3/29/2024 10:28 AM, Easwar Hariharan wrote:
> On 3/29/2024 10:16 AM, Andi Shyti wrote:
>> Hi Easwar,
>>



>>
>> The specification talks about:
>>
>>  - master -> controller
>>  - slave -> target (and not client)
>>
>> But both you and Wolfram have used client. I'd like to reach
>> some more consistency here.
> 
> I had the impression that remote targets (i.e external to the device) were to 
> be called clients,
> e.g. the QSFP FRUs in drivers/infiniband, and internal ones targets.
> I chose the terminology according to that understanding, but now I can't find 
> where I got that
> information.
> 
> Thanks,
> Easwar

Ah, it was in Wolfram's individual commit messages "They are also more specific 
because we distinguish now between a remote
entity ("client") and a local one ("target")."

Thanks,
Easwar


[PATCH v0 10/14] sfc: falcon: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
with more appropriate terms. Inspired by and following on to Wolfram's
series to fix drivers/i2c/[1], fix the terminology for users of
I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
in the specification.

Compile tested, no functionality changes intended

[1]: 
https://lore.kernel.org/all/20240322132619.6389-1-wsa+rene...@sang-engineering.com/

Signed-off-by: Easwar Hariharan 
---
 drivers/net/ethernet/sfc/falcon/falcon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/sfc/falcon/falcon.c 
b/drivers/net/ethernet/sfc/falcon/falcon.c
index 7a1c9337081b..147e7c8e3c02 100644
--- a/drivers/net/ethernet/sfc/falcon/falcon.c
+++ b/drivers/net/ethernet/sfc/falcon/falcon.c
@@ -367,7 +367,7 @@ static const struct i2c_algo_bit_data 
falcon_i2c_bit_operations = {
.getsda = falcon_getsda,
.getscl = falcon_getscl,
.udelay = 5,
-   /* Wait up to 50 ms for slave to let us pull SCL high */
+   /* Wait up to 50 ms for client to let us pull SCL high */
.timeout= DIV_ROUND_UP(HZ, 20),
 };
 
-- 
2.34.1



[PATCH v0 12/14] fbdev/viafb: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
with more appropriate terms. Inspired by and following on to Wolfram's
series to fix drivers/i2c/[1], fix the terminology for users of
I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
in the specification.

Compile tested, no functionality changes intended

[1]: 
https://lore.kernel.org/all/20240322132619.6389-1-wsa+rene...@sang-engineering.com/

Signed-off-by: Easwar Hariharan 
---
 drivers/video/fbdev/via/chip.h|  8 
 drivers/video/fbdev/via/dvi.c | 24 
 drivers/video/fbdev/via/lcd.c |  6 +++---
 drivers/video/fbdev/via/via_aux.h |  2 +-
 drivers/video/fbdev/via/via_i2c.c | 12 ++--
 drivers/video/fbdev/via/vt1636.c  |  6 +++---
 6 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/drivers/video/fbdev/via/chip.h b/drivers/video/fbdev/via/chip.h
index f0a19cbcb9e5..1ea6d4ce79e7 100644
--- a/drivers/video/fbdev/via/chip.h
+++ b/drivers/video/fbdev/via/chip.h
@@ -69,7 +69,7 @@
 #define VT1632_TMDS 0x01
 #define INTEGRATED_TMDS 0x42
 
-/* Definition TMDS Trasmitter I2C Slave Address */
+/* Definition TMDS Trasmitter I2C Client Address */
 #define VT1632_TMDS_I2C_ADDR0x10
 
 /**/
@@ -88,21 +88,21 @@
 #define TX_DATA_DDR_MODE0x04
 #define TX_DATA_SDR_MODE0x08
 
-/* Definition LVDS Trasmitter I2C Slave Address */
+/* Definition LVDS Trasmitter I2C Client Address */
 #define VT1631_LVDS_I2C_ADDR0x70
 #define VT3271_LVDS_I2C_ADDR0x80
 #define VT1636_LVDS_I2C_ADDR0x80
 
 struct tmds_chip_information {
int tmds_chip_name;
-   int tmds_chip_slave_addr;
+   int tmds_chip_client_addr;
int output_interface;
int i2c_port;
 };
 
 struct lvds_chip_information {
int lvds_chip_name;
-   int lvds_chip_slave_addr;
+   int lvds_chip_client_addr;
int output_interface;
int i2c_port;
 };
diff --git a/drivers/video/fbdev/via/dvi.c b/drivers/video/fbdev/via/dvi.c
index 13147e3066eb..db7db26416c3 100644
--- a/drivers/video/fbdev/via/dvi.c
+++ b/drivers/video/fbdev/via/dvi.c
@@ -70,7 +70,7 @@ bool viafb_tmds_trasmitter_identify(void)
/* Check for VT1632: */
viaparinfo->chip_info->tmds_chip_info.tmds_chip_name = VT1632_TMDS;
viaparinfo->chip_info->
-   tmds_chip_info.tmds_chip_slave_addr = VT1632_TMDS_I2C_ADDR;
+   tmds_chip_info.tmds_chip_client_addr = VT1632_TMDS_I2C_ADDR;
viaparinfo->chip_info->tmds_chip_info.i2c_port = VIA_PORT_31;
if (check_tmds_chip(VT1632_DEVICE_ID_REG, VT1632_DEVICE_ID)) {
/*
@@ -128,14 +128,14 @@ bool viafb_tmds_trasmitter_identify(void)
viaparinfo->chip_info->
tmds_chip_info.tmds_chip_name = NON_TMDS_TRANSMITTER;
viaparinfo->chip_info->tmds_chip_info.
-   tmds_chip_slave_addr = VT1632_TMDS_I2C_ADDR;
+   tmds_chip_client_addr = VT1632_TMDS_I2C_ADDR;
return false;
 }
 
 static void tmds_register_write(int index, u8 data)
 {
viafb_i2c_writebyte(viaparinfo->chip_info->tmds_chip_info.i2c_port,
-   
viaparinfo->chip_info->tmds_chip_info.tmds_chip_slave_addr,
+   
viaparinfo->chip_info->tmds_chip_info.tmds_chip_client_addr,
index, data);
 }
 
@@ -144,7 +144,7 @@ static int tmds_register_read(int index)
u8 data;
 
viafb_i2c_readbyte(viaparinfo->chip_info->tmds_chip_info.i2c_port,
-  (u8) 
viaparinfo->chip_info->tmds_chip_info.tmds_chip_slave_addr,
+  (u8) 
viaparinfo->chip_info->tmds_chip_info.tmds_chip_client_addr,
   (u8) index, &data);
return data;
 }
@@ -152,7 +152,7 @@ static int tmds_register_read(int index)
 static int tmds_register_read_bytes(int index, u8 *buff, int buff_len)
 {
viafb_i2c_readbytes(viaparinfo->chip_info->tmds_chip_info.i2c_port,
-   (u8) 
viaparinfo->chip_info->tmds_chip_info.tmds_chip_slave_addr,
+   (u8) 
viaparinfo->chip_info->tmds_chip_info.tmds_chip_client_addr,
(u8) index, buff, buff_len);
return 0;
 }
@@ -256,14 +256,14 @@ static int viafb_dvi_query_EDID(void)
 
DEBUG_MSG(KERN_INFO "viafb_dvi_query_EDID!!\n");
 
-   restore = viaparinfo->chip_info->tmds_chip_info.tmds_chip_slave_addr;
-   viaparinfo->chip_info->tmds_chip_info.tmds_chip_slave_addr = 0xA0;
+   restore = viaparinfo->chip_info->tmds_chip_info.tmds_chip_client_addr;
+   viaparinfo->chip_info->tmds_chip_info.tmds_chip_client_addr = 0xA0;
 
data0 = (u8) tmds_register_read(0x00);
data1 = (u8) tmds_register_read(0x01);
if ((data0 == 0) && (data1 == 0xFF)) {
viaparinfo->chip_info->
-   tmds

[PATCH v0 07/14] media: cx25821: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
with more appropriate terms. Inspired by and following on to Wolfram's
series to fix drivers/i2c/[1], fix the terminology for users of
I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
in the specification.

Compile tested, no functionality changes intended

[1]: 
https://lore.kernel.org/all/20240322132619.6389-1-wsa+rene...@sang-engineering.com/

Signed-off-by: Easwar Hariharan 
---
 drivers/media/pci/cx25821/cx25821-i2c.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/media/pci/cx25821/cx25821-i2c.c 
b/drivers/media/pci/cx25821/cx25821-i2c.c
index 0ef4cd6528a0..bad8fb9f5319 100644
--- a/drivers/media/pci/cx25821/cx25821-i2c.c
+++ b/drivers/media/pci/cx25821/cx25821-i2c.c
@@ -33,7 +33,7 @@ do {  
\
 #define I2C_EXTEND  (1 << 3)
 #define I2C_NOSTOP  (1 << 4)
 
-static inline int i2c_slave_did_ack(struct i2c_adapter *i2c_adap)
+static inline int i2c_client_did_ack(struct i2c_adapter *i2c_adap)
 {
struct cx25821_i2c *bus = i2c_adap->algo_data;
struct cx25821_dev *dev = bus->dev;
@@ -85,7 +85,7 @@ static int i2c_sendbytes(struct i2c_adapter *i2c_adap,
if (!i2c_wait_done(i2c_adap))
return -EIO;
 
-   if (!i2c_slave_did_ack(i2c_adap))
+   if (!i2c_client_did_ack(i2c_adap))
return -EIO;
 
dprintk(1, "%s(): returns 0\n", __func__);
@@ -174,7 +174,7 @@ static int i2c_readbytes(struct i2c_adapter *i2c_adap,
cx_write(bus->reg_ctrl, bus->i2c_period | (1 << 2) | 1);
if (!i2c_wait_done(i2c_adap))
return -EIO;
-   if (!i2c_slave_did_ack(i2c_adap))
+   if (!i2c_client_did_ack(i2c_adap))
return -EIO;
 
dprintk(1, "%s(): returns 0\n", __func__);
-- 
2.34.1



[PATCH v0 01/14] IB/hfi1, IB/qib: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
with more appropriate terms. Inspired by and following on to Wolfram's series
to fix drivers/i2c[1], fix the terminology where I had a role to play, now that
the approved verbiage exists in the specification.

Compile tested, no functionality changes intended

[1]: 
https://lore.kernel.org/all/20240322132619.6389-1-wsa+rene...@sang-engineering.com/

Signed-off-by: Easwar Hariharan 
---
 drivers/infiniband/hw/hfi1/chip.c   |  6 ++--
 drivers/infiniband/hw/hfi1/chip.h   |  2 +-
 drivers/infiniband/hw/hfi1/chip_registers.h |  2 +-
 drivers/infiniband/hw/hfi1/file_ops.c   |  2 +-
 drivers/infiniband/hw/hfi1/firmware.c   | 22 ++---
 drivers/infiniband/hw/hfi1/pcie.c   |  2 +-
 drivers/infiniband/hw/hfi1/qsfp.c   | 36 ++---
 drivers/infiniband/hw/hfi1/user_exp_rcv.c   |  2 +-
 drivers/infiniband/hw/qib/qib_twsi.c|  6 ++--
 9 files changed, 40 insertions(+), 40 deletions(-)

diff --git a/drivers/infiniband/hw/hfi1/chip.c 
b/drivers/infiniband/hw/hfi1/chip.c
index 78f27f7b4203..5fb8d583d152 100644
--- a/drivers/infiniband/hw/hfi1/chip.c
+++ b/drivers/infiniband/hw/hfi1/chip.c
@@ -9761,7 +9761,7 @@ static void init_lcb(struct hfi1_devdata *dd)
/* set LCB for cclk loopback on the port */
write_csr(dd, DC_LCB_CFG_TX_FIFOS_RESET, 0x01);
write_csr(dd, DC_LCB_CFG_LANE_WIDTH, 0x00);
-   write_csr(dd, DC_LCB_CFG_REINIT_AS_SLAVE, 0x00);
+   write_csr(dd, DC_LCB_CFG_REINIT_AS_TARGET, 0x00);
write_csr(dd, DC_LCB_CFG_CNT_FOR_SKIP_STALL, 0x110);
write_csr(dd, DC_LCB_CFG_CLK_CNTR, 0x08);
write_csr(dd, DC_LCB_CFG_LOOPBACK, 0x02);
@@ -10371,7 +10371,7 @@ static void force_logical_link_state_down(struct 
hfi1_pportdata *ppd)
  DC_LCB_CFG_IGNORE_LOST_RCLK_EN_SMASK);
 
write_csr(dd, DC_LCB_CFG_LANE_WIDTH, 0);
-   write_csr(dd, DC_LCB_CFG_REINIT_AS_SLAVE, 0);
+   write_csr(dd, DC_LCB_CFG_REINIT_AS_TARGET, 0);
write_csr(dd, DC_LCB_CFG_CNT_FOR_SKIP_STALL, 0x110);
write_csr(dd, DC_LCB_CFG_LOOPBACK, 0x2);
 
@@ -15390,7 +15390,7 @@ u64 create_pbc(struct hfi1_pportdata *ppd, u64 flags, 
int srate_mbs, u32 vl,
  * Initialize the thermal sensor.
  *
  * After initialization, enable polling of thermal sensor through
- * SBus interface. In order for this to work, the SBus Master
+ * SBus interface. In order for this to work, the SBus Controller
  * firmware has to be loaded due to the fact that the HW polling
  * logic uses SBus interrupts, which are not supported with
  * default firmware. Otherwise, no data will be returned through
diff --git a/drivers/infiniband/hw/hfi1/chip.h 
b/drivers/infiniband/hw/hfi1/chip.h
index d861aa8fc640..631090383bd6 100644
--- a/drivers/infiniband/hw/hfi1/chip.h
+++ b/drivers/infiniband/hw/hfi1/chip.h
@@ -667,7 +667,7 @@ u64 create_pbc(struct hfi1_pportdata *ppd, u64 flags, int 
srate_mbs, u32 vl,
   u32 dw_len);
 
 /* firmware.c */
-#define SBUS_MASTER_BROADCAST 0xfd
+#define SBUS_CONTROLLER_BROADCAST 0xfd
 #define NUM_PCIE_SERDES 16 /* number of PCIe serdes on the SBus */
 extern const u8 pcie_serdes_broadcast[];
 extern const u8 pcie_pcs_addrs[2][NUM_PCIE_SERDES];
diff --git a/drivers/infiniband/hw/hfi1/chip_registers.h 
b/drivers/infiniband/hw/hfi1/chip_registers.h
index d79e25d20fb8..d4111e136468 100644
--- a/drivers/infiniband/hw/hfi1/chip_registers.h
+++ b/drivers/infiniband/hw/hfi1/chip_registers.h
@@ -276,7 +276,7 @@
 #define DC_LCB_CFG_TX_FIFOS_RADR_RST_VAL_SHIFT 0
 #define DC_LCB_CFG_TX_FIFOS_RESET (DC_LCB_CSRS + 0x0008)
 #define DC_LCB_CFG_TX_FIFOS_RESET_VAL_SHIFT 0
-#define DC_LCB_CFG_REINIT_AS_SLAVE (DC_LCB_CSRS + 0x0030)
+#define DC_LCB_CFG_REINIT_AS_TARGET (DC_LCB_CSRS + 0x0030)
 #define DC_LCB_CFG_CNT_FOR_SKIP_STALL (DC_LCB_CSRS + 0x0040)
 #define DC_LCB_CFG_CLK_CNTR (DC_LCB_CSRS + 0x0110)
 #define DC_LCB_ERR_CLR (DC_LCB_CSRS + 0x0308)
diff --git a/drivers/infiniband/hw/hfi1/file_ops.c 
b/drivers/infiniband/hw/hfi1/file_ops.c
index 503abec709c9..dd22c36cec78 100644
--- a/drivers/infiniband/hw/hfi1/file_ops.c
+++ b/drivers/infiniband/hw/hfi1/file_ops.c
@@ -1044,7 +1044,7 @@ static int setup_subctxt(struct hfi1_ctxtdata *uctxt)
if (!uctxt->subctxt_uregbase)
return -ENOMEM;
 
-   /* We can take the size of the RcvHdr Queue from the master */
+   /* We can take the size of the RcvHdr Queue from the parent */
uctxt->subctxt_rcvhdr_base = vmalloc_user(rcvhdrq_size(uctxt) *
  num_subctxts);
if (!uctxt->subctxt_rcvhdr_base) {
diff --git a/drivers/infiniband/hw/hfi1/firmware.c 
b/drivers/infiniband/hw/hfi1/firmware.c
index 3c228aeaaf81..8e4a89f348f3 100644
--- a/drivers/infiniband/hw/hfi1/firmware.c
+++ b/drivers/infiniband/hw/hfi1/firmware.c
@@ -1100,7 +1100,7 @@ static void turn_off_spicos(struct hfi1_

[PATCH v0 04/14] media: au0828: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
with more appropriate terms. Inspired by and following on to Wolfram's
series to fix drivers/i2c/[1], fix the terminology for users of
I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
in the specification.

Compile tested, no functionality changes intended

[1]: 
https://lore.kernel.org/all/20240322132619.6389-1-wsa+rene...@sang-engineering.com/

Signed-off-by: Easwar Hariharan 
---
 drivers/media/usb/au0828/au0828-i2c.c   | 4 ++--
 drivers/media/usb/au0828/au0828-input.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/media/usb/au0828/au0828-i2c.c 
b/drivers/media/usb/au0828/au0828-i2c.c
index 749f90d73b5b..3e66d42bf134 100644
--- a/drivers/media/usb/au0828/au0828-i2c.c
+++ b/drivers/media/usb/au0828/au0828-i2c.c
@@ -23,7 +23,7 @@ MODULE_PARM_DESC(i2c_scan, "scan i2c bus at insmod time");
 #define I2C_WAIT_DELAY 25
 #define I2C_WAIT_RETRY 1000
 
-static inline int i2c_slave_did_read_ack(struct i2c_adapter *i2c_adap)
+static inline int i2c_client_did_read_ack(struct i2c_adapter *i2c_adap)
 {
struct au0828_dev *dev = i2c_adap->algo_data;
return au0828_read(dev, AU0828_I2C_STATUS_201) &
@@ -35,7 +35,7 @@ static int i2c_wait_read_ack(struct i2c_adapter *i2c_adap)
int count;
 
for (count = 0; count < I2C_WAIT_RETRY; count++) {
-   if (!i2c_slave_did_read_ack(i2c_adap))
+   if (!i2c_client_did_read_ack(i2c_adap))
break;
udelay(I2C_WAIT_DELAY);
}
diff --git a/drivers/media/usb/au0828/au0828-input.c 
b/drivers/media/usb/au0828/au0828-input.c
index 3d3368202cd0..98a57b6e02e2 100644
--- a/drivers/media/usb/au0828/au0828-input.c
+++ b/drivers/media/usb/au0828/au0828-input.c
@@ -30,7 +30,7 @@ struct au0828_rc {
int polling;
struct delayed_work work;
 
-   /* i2c slave address of external device (if used) */
+   /* i2c client address of external device (if used) */
u16 i2c_dev_addr;
 
int  (*get_key_i2c)(struct au0828_rc *ir);
-- 
2.34.1



[PATCH v0 11/14] fbdev/smscufx: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
with more appropriate terms. Inspired by and following on to Wolfram's
series to fix drivers/i2c/[1], fix the terminology for users of
I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
in the specification.

Compile tested, no functionality changes intended

[1]: 
https://lore.kernel.org/all/20240322132619.6389-1-wsa+rene...@sang-engineering.com/

Signed-off-by: Easwar Hariharan 
---
 drivers/video/fbdev/smscufx.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/video/fbdev/smscufx.c b/drivers/video/fbdev/smscufx.c
index 35d682b110c4..1c80c1a3d516 100644
--- a/drivers/video/fbdev/smscufx.c
+++ b/drivers/video/fbdev/smscufx.c
@@ -1292,7 +1292,7 @@ static int ufx_realloc_framebuffer(struct ufx_data *dev, 
struct fb_info *info)
return 0;
 }
 
-/* sets up I2C Controller for 100 Kbps, std. speed, 7-bit addr, master,
+/* sets up I2C Controller for 100 Kbps, std. speed, 7-bit addr, host,
  * restart enabled, but no start byte, enable controller */
 static int ufx_i2c_init(struct ufx_data *dev)
 {
@@ -1321,7 +1321,7 @@ static int ufx_i2c_init(struct ufx_data *dev)
/* 7-bit (not 10-bit) addressing */
tmp &= ~(0x10);
 
-   /* enable restart conditions and master mode */
+   /* enable restart conditions and host mode */
tmp |= 0x21;
 
status = ufx_reg_write(dev, 0x1000, tmp);
-- 
2.34.1



[PATCH v0 13/14] drm/nouveau: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
with more appropriate terms. Inspired by and following on to Wolfram's
series to fix drivers/i2c/[1], fix the terminology for users of
I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
in the specification.

Compile tested, no functionality changes intended

[1]: 
https://lore.kernel.org/all/20240322132619.6389-1-wsa+rene...@sang-engineering.com/

Signed-off-by: Easwar Hariharan 
---
 drivers/gpu/drm/nouveau/dispnv04/dfp.c | 14 +++---
 .../gpu/drm/nouveau/include/nvkm/subdev/bios/dcb.h |  2 +-
 drivers/gpu/drm/nouveau/nouveau_bios.c |  4 ++--
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/dispnv04/dfp.c 
b/drivers/gpu/drm/nouveau/dispnv04/dfp.c
index d5b129dc623b..65b791006b19 100644
--- a/drivers/gpu/drm/nouveau/dispnv04/dfp.c
+++ b/drivers/gpu/drm/nouveau/dispnv04/dfp.c
@@ -149,7 +149,7 @@ void nv04_dfp_update_fp_control(struct drm_encoder 
*encoder, int mode)
}
 }
 
-static struct drm_encoder *get_tmds_slave(struct drm_encoder *encoder)
+static struct drm_encoder *get_tmds_client(struct drm_encoder *encoder)
 {
struct drm_device *dev = encoder->dev;
struct dcb_output *dcb = nouveau_encoder(encoder)->dcb;
@@ -172,7 +172,7 @@ static struct drm_encoder *get_tmds_slave(struct 
drm_encoder *encoder)
struct dcb_output *slave_dcb = nouveau_encoder(slave)->dcb;
 
if (slave_dcb->type == DCB_OUTPUT_TMDS && 
get_slave_funcs(slave) &&
-   slave_dcb->tmdsconf.slave_addr == dcb->tmdsconf.slave_addr)
+   slave_dcb->tmdsconf.client_addr == 
dcb->tmdsconf.client_addr)
return slave;
}
 
@@ -471,7 +471,7 @@ static void nv04_dfp_commit(struct drm_encoder *encoder)
NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + 
nv04_dac_output_offset(encoder), 0x0010);
 
/* Init external transmitters */
-   slave_encoder = get_tmds_slave(encoder);
+   slave_encoder = get_tmds_client(encoder);
if (slave_encoder)
get_slave_funcs(slave_encoder)->mode_set(
slave_encoder, &nv_encoder->mode, &nv_encoder->mode);
@@ -621,7 +621,7 @@ static void nv04_dfp_destroy(struct drm_encoder *encoder)
kfree(nv_encoder);
 }
 
-static void nv04_tmds_slave_init(struct drm_encoder *encoder)
+static void nv04_tmds_client_init(struct drm_encoder *encoder)
 {
struct drm_device *dev = encoder->dev;
struct dcb_output *dcb = nouveau_encoder(encoder)->dcb;
@@ -632,7 +632,7 @@ static void nv04_tmds_slave_init(struct drm_encoder 
*encoder)
{
{
.type = "sil164",
-   .addr = (dcb->tmdsconf.slave_addr == 0x7 ? 0x3a : 0x38),
+   .addr = (dcb->tmdsconf.client_addr == 0x7 ? 0x3a : 
0x38),
.platform_data = &(struct sil164_encoder_params) {
SIL164_INPUT_EDGE_RISING
 }
@@ -642,7 +642,7 @@ static void nv04_tmds_slave_init(struct drm_encoder 
*encoder)
};
int type;
 
-   if (!nv_gf4_disp_arch(dev) || !bus || get_tmds_slave(encoder))
+   if (!nv_gf4_disp_arch(dev) || !bus || get_tmds_client(encoder))
return;
 
type = nvkm_i2c_bus_probe(bus, "TMDS transmitter", info, NULL, NULL);
@@ -716,7 +716,7 @@ nv04_dfp_create(struct drm_connector *connector, struct 
dcb_output *entry)
 
if (entry->type == DCB_OUTPUT_TMDS &&
entry->location != DCB_LOC_ON_CHIP)
-   nv04_tmds_slave_init(encoder);
+   nv04_tmds_client_init(encoder);
 
drm_connector_attach_encoder(connector, encoder);
return 0;
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/dcb.h 
b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/dcb.h
index 73f9d9947e7e..5da40cf74b1a 100644
--- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/dcb.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/dcb.h
@@ -50,7 +50,7 @@ struct dcb_output {
} dpconf;
struct {
struct sor_conf sor;
-   int slave_addr;
+   int client_addr;
} tmdsconf;
};
bool i2c_upper_default;
diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c 
b/drivers/gpu/drm/nouveau/nouveau_bios.c
index 479effcf607e..a91a5d3df3ca 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bios.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
@@ -1511,9 +1511,9 @@ parse_dcb20_entry(struct drm_device *dev, struct 
dcb_table *dcb,
link = entry->tmdsconf.sor.link;
}
else if (dcb->version >= 0x30)
-   entry->tmdsconf.slave_addr = (conf & 0x0700) >> 8;
+   entry->tmdsconf.client_addr = (conf & 0x0700)

Re: [PATCH v0 02/14] drm/amdgpu, drm/radeon: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
On 3/29/2024 10:38 AM, Andi Shyti wrote:
> Hi,
> 



> 
 with more appropriate terms. Inspired by and following on to Wolfram's
 series to fix drivers/i2c/[1], fix the terminology for users of
 I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
 in the specification.
>>>
>>> The specification talks about:
>>>
>>>  - master -> controller
>>>  - slave -> target (and not client)
>>>
>>> But both you and Wolfram have used client. I'd like to reach
>>> some more consistency here.
>>
>> I had the impression that remote targets (i.e external to the device) were 
>> to be called clients,
>> e.g. the QSFP FRUs in drivers/infiniband, and internal ones targets.
>> I chose the terminology according to that understanding, but now I can't 
>> find where I got that
>> information.
> 
> The word "client" does not even appear in the documentation (only
> one instance in the i3c document), so that the change is not
> related to the document as stated in the commit log. Unless, of
> course, I am missing something.
> 
> I'm OK with choosing a "customized" naming, but we need to reach
> an agreement.
> 
> I raised the same question to Wolfram.
> 
> Thanks,
> Andi

I don't have a preference between using target and client. As I mentioned in 
the thread fork, my
information came entirely from Wolfram's cover letter and patch messages. I'll 
follow along with
whatever you and Wolfram settle on.

Thanks,
Easwar



[PATCH v0 02/14] drm/amdgpu, drm/radeon: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
with more appropriate terms. Inspired by and following on to Wolfram's
series to fix drivers/i2c/[1], fix the terminology for users of
I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
in the specification.

Compile tested, no functionality changes intended

[1]: 
https://lore.kernel.org/all/20240322132619.6389-1-wsa+rene...@sang-engineering.com/

Signed-off-by: Easwar Hariharan 
---
 .../gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c  |  8 +++---
 drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c   | 10 +++
 drivers/gpu/drm/amd/amdgpu/atombios_i2c.c |  8 +++---
 drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c| 16 +--
 .../gpu/drm/amd/display/dc/bios/bios_parser.c |  2 +-
 .../drm/amd/display/dc/bios/bios_parser2.c|  2 +-
 .../drm/amd/display/dc/core/dc_link_exports.c |  4 +--
 drivers/gpu/drm/amd/display/dc/dc.h   |  2 +-
 drivers/gpu/drm/amd/display/dc/dce/dce_i2c.c  |  4 +--
 .../display/include/grph_object_ctrl_defs.h   |  2 +-
 drivers/gpu/drm/amd/include/atombios.h|  2 +-
 drivers/gpu/drm/amd/include/atomfirmware.h| 26 -
 .../powerplay/hwmgr/vega20_processpptables.c  |  4 +--
 .../amd/pm/powerplay/inc/smu11_driver_if.h|  2 +-
 .../inc/pmfw_if/smu11_driver_if_arcturus.h|  2 +-
 .../inc/pmfw_if/smu11_driver_if_navi10.h  |  2 +-
 .../pmfw_if/smu11_driver_if_sienna_cichlid.h  |  2 +-
 .../inc/pmfw_if/smu13_driver_if_aldebaran.h   |  2 +-
 .../inc/pmfw_if/smu13_driver_if_v13_0_0.h |  2 +-
 .../inc/pmfw_if/smu13_driver_if_v13_0_7.h |  2 +-
 .../gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c |  4 +--
 .../amd/pm/swsmu/smu11/sienna_cichlid_ppt.c   |  8 +++---
 drivers/gpu/drm/radeon/atombios.h |  2 +-
 drivers/gpu/drm/radeon/atombios_i2c.c |  4 +--
 drivers/gpu/drm/radeon/radeon_combios.c   | 28 +--
 drivers/gpu/drm/radeon/radeon_i2c.c   | 10 +++
 drivers/gpu/drm/radeon/radeon_mode.h  |  6 ++--
 27 files changed, 83 insertions(+), 83 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
index 6857c586ded7..8c2c3f2280cd 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
@@ -614,7 +614,7 @@ bool amdgpu_atomfirmware_ras_rom_addr(struct amdgpu_device 
*adev,
if ((frev == 3 && crev >= 4) || (frev > 3)) {
firmware_info = (union firmware_info *)
(mode_info->atom_context->bios + data_offset);
-   /* The ras_rom_i2c_slave_addr should ideally
+   /* The ras_rom_i2c_client_addr should ideally
 * be a 19-bit EEPROM address, which would be
 * used as is by the driver; see top of
 * amdgpu_eeprom.c.
@@ -625,13 +625,13 @@ bool amdgpu_atomfirmware_ras_rom_addr(struct 
amdgpu_device *adev,
 * leave the check for the pointer.
 *
 * The reason this works right now is because
-* ras_rom_i2c_slave_addr contains the EEPROM
+* ras_rom_i2c_client_addr contains the EEPROM
 * device type qualifier 1010b in the top 4
 * bits.
 */
-   if (firmware_info->v34.ras_rom_i2c_slave_addr) {
+   if (firmware_info->v34.ras_rom_i2c_client_addr) {
if (i2c_address)
-   *i2c_address = 
firmware_info->v34.ras_rom_i2c_slave_addr;
+   *i2c_address = 
firmware_info->v34.ras_rom_i2c_client_addr;
return true;
}
}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
index d79cb13e1aa8..a34626882b67 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
@@ -280,7 +280,7 @@ amdgpu_i2c_lookup(struct amdgpu_device *adev,
 }
 
 static void amdgpu_i2c_get_byte(struct amdgpu_i2c_chan *i2c_bus,
-u8 slave_addr,
+u8 client_addr,
 u8 addr,
 u8 *val)
 {
@@ -288,13 +288,13 @@ static void amdgpu_i2c_get_byte(struct amdgpu_i2c_chan 
*i2c_bus,
u8 in_buf[2];
struct i2c_msg msgs[] = {
{
-   .addr = slave_addr,
+   .addr = client_addr,
.flags = 0,
.len = 1,
.buf = out_buf,
},
{
-   .addr = slave_addr,
+   .addr = client_addr,
 

[PATCH v0 00/14] Make I2C terminology more inclusive for I2C Algobit and consumers

2024-03-31 Thread Easwar Hariharan
I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
with more appropriate terms. Inspired by and following on to Wolfram's
series to fix drivers/i2c/[1], fix the terminology for users of the
I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
in the specification.

Compile tested, no functionality changes intended

The last patch updating the .master_xfer method to .xfer depends on
patch 1 of Wolfram's series below, but the series is otherwise
independent. It may make sense for the last patch to go in with
Wolfram's patch series via the I2C tree. Please chime in with your
opinions and suggestions.

This series is based on v6.9-rc1.

[1]: 
https://lore.kernel.org/all/20240322132619.6389-1-wsa+rene...@sang-engineering.com/

Easwar Hariharan (14):
  IB/hfi1, IB/qib: Make I2C terminology more inclusive
  drm/amdgpu,drm/radeon: Make I2C terminology more inclusive
  drm/gma500,drm/i915: Make I2C terminology more inclusive
  media: au0828: Make I2C terminology more inclusive
  media: cobalt: Make I2C terminology more inclusive
  media: cx18: Make I2C terminology more inclusive
  media: cx25821: Make I2C terminology more inclusive
  media: ivtv: Make I2C terminology more inclusive
  media: cx23885: Make I2C terminology more inclusive
  sfc: falcon: Make I2C terminology more inclusive
  fbdev/smscufx: Make I2C terminology more inclusive
  fbdev/viafb: Make I2C terminology more inclusive
  drm/nouveau: Make I2C terminology more inclusive
  i2c and treewide: Make I2C terminology more inclusive

 .../gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c  |  8 ++---
 drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c   | 12 +++
 drivers/gpu/drm/amd/amdgpu/atombios_i2c.c |  8 ++---
 drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c| 18 +-
 .../gpu/drm/amd/display/dc/bios/bios_parser.c |  2 +-
 .../drm/amd/display/dc/bios/bios_parser2.c|  2 +-
 .../drm/amd/display/dc/core/dc_link_exports.c |  4 +--
 drivers/gpu/drm/amd/display/dc/dc.h   |  2 +-
 drivers/gpu/drm/amd/display/dc/dce/dce_i2c.c  |  4 +--
 .../display/include/grph_object_ctrl_defs.h   |  2 +-
 drivers/gpu/drm/amd/include/atombios.h|  2 +-
 drivers/gpu/drm/amd/include/atomfirmware.h| 26 +++---
 .../powerplay/hwmgr/vega20_processpptables.c  |  4 +--
 .../amd/pm/powerplay/inc/smu11_driver_if.h|  2 +-
 .../inc/pmfw_if/smu11_driver_if_arcturus.h|  2 +-
 .../inc/pmfw_if/smu11_driver_if_navi10.h  |  2 +-
 .../pmfw_if/smu11_driver_if_sienna_cichlid.h  |  2 +-
 .../inc/pmfw_if/smu13_driver_if_aldebaran.h   |  2 +-
 .../inc/pmfw_if/smu13_driver_if_v13_0_0.h |  2 +-
 .../inc/pmfw_if/smu13_driver_if_v13_0_7.h |  2 +-
 .../gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c |  4 +--
 .../amd/pm/swsmu/smu11/sienna_cichlid_ppt.c   |  8 ++---
 drivers/gpu/drm/gma500/cdv_intel_dp.c |  2 +-
 drivers/gpu/drm/gma500/cdv_intel_lvds.c   |  2 +-
 drivers/gpu/drm/gma500/intel_bios.c   | 22 ++--
 drivers/gpu/drm/gma500/intel_bios.h   |  4 +--
 drivers/gpu/drm/gma500/intel_gmbus.c  |  6 ++--
 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c|  2 +-
 drivers/gpu/drm/gma500/psb_drv.h  |  2 +-
 drivers/gpu/drm/gma500/psb_intel_drv.h|  2 +-
 drivers/gpu/drm/gma500/psb_intel_lvds.c   |  4 +--
 drivers/gpu/drm/gma500/psb_intel_sdvo.c   | 28 +++
 drivers/gpu/drm/i915/display/dvo_ch7017.c | 14 
 drivers/gpu/drm/i915/display/dvo_ch7xxx.c | 18 +-
 drivers/gpu/drm/i915/display/dvo_ivch.c   | 16 -
 drivers/gpu/drm/i915/display/dvo_ns2501.c | 18 +-
 drivers/gpu/drm/i915/display/dvo_sil164.c | 18 +-
 drivers/gpu/drm/i915/display/dvo_tfp410.c | 18 +-
 drivers/gpu/drm/i915/display/intel_bios.c | 22 ++--
 drivers/gpu/drm/i915/display/intel_ddi.c  |  2 +-
 .../gpu/drm/i915/display/intel_display_core.h |  2 +-
 drivers/gpu/drm/i915/display/intel_dsi.h  |  2 +-
 drivers/gpu/drm/i915/display/intel_dsi_vbt.c  | 18 +-
 drivers/gpu/drm/i915/display/intel_dvo.c  | 14 
 drivers/gpu/drm/i915/display/intel_dvo_dev.h  |  2 +-
 drivers/gpu/drm/i915/display/intel_gmbus.c|  8 ++---
 drivers/gpu/drm/i915/display/intel_sdvo.c | 34 +-
 drivers/gpu/drm/i915/display/intel_vbt_defs.h |  4 +--
 drivers/gpu/drm/i915/gvt/edid.c   | 28 +++
 drivers/gpu/drm/i915/gvt/edid.h   |  4 +--
 drivers/gpu/drm/i915/gvt/opregion.c   |  2 +-
 drivers/gpu/drm/nouveau/dispnv04/dfp.c| 14 
 .../nouveau/include/nvkm/subdev/bios/dcb.h|  2 +-
 drivers/gpu/drm/nouveau/nouveau_bios.c|  4 +--
 drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c |  2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c |  2 +-
 drivers/gpu/drm/radeon/atombios.h |  2 +-
 drivers/gpu/drm/radeon/atombios_i2c.c |  4 +--
 drivers/gpu/drm/radeon/radeon_combios.c   | 28 +++
 drivers/gpu/drm/

[PATCH v0 08/14] media: ivtv: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
with more appropriate terms. Inspired by and following on to Wolfram's
series to fix drivers/i2c/[1], fix the terminology for users of
I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
in the specification.

Compile tested, no functionality changes intended

[1]: 
https://lore.kernel.org/all/20240322132619.6389-1-wsa+rene...@sang-engineering.com/

Signed-off-by: Easwar Hariharan 
---
 drivers/media/pci/ivtv/ivtv-i2c.c | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/media/pci/ivtv/ivtv-i2c.c 
b/drivers/media/pci/ivtv/ivtv-i2c.c
index c052c57c6dce..967e6a025020 100644
--- a/drivers/media/pci/ivtv/ivtv-i2c.c
+++ b/drivers/media/pci/ivtv/ivtv-i2c.c
@@ -33,14 +33,14 @@
 Some more general comments about what we are doing:
 
 The i2c bus is a 2 wire serial bus, with clock (SCL) and data (SDA)
-lines.  To communicate on the bus (as a master, we don't act as a slave),
+lines.  To communicate on the bus (as a host, we don't act as a client),
 we first initiate a start condition (ivtv_start).  We then write the
 address of the device that we want to communicate with, along with a flag
-that indicates whether this is a read or a write.  The slave then issues
+that indicates whether this is a read or a write.  The client then issues
 an ACK signal (ivtv_ack), which tells us that it is ready for reading /
 writing.  We then proceed with reading or writing (ivtv_read/ivtv_write),
 and finally issue a stop condition (ivtv_stop) to make the bus available
-to other masters.
+to other hosts.
 
 There is an additional form of transaction where a write may be
 immediately followed by a read.  In this case, there is no intervening
@@ -379,7 +379,7 @@ static int ivtv_waitsda(struct ivtv *itv, int val)
return 0;
 }
 
-/* Wait for the slave to issue an ACK */
+/* Wait for the client to issue an ACK */
 static int ivtv_ack(struct ivtv *itv)
 {
int ret = 0;
@@ -407,7 +407,7 @@ static int ivtv_ack(struct ivtv *itv)
return ret;
 }
 
-/* Write a single byte to the i2c bus and wait for the slave to ACK */
+/* Write a single byte to the i2c bus and wait for the client to ACK */
 static int ivtv_sendbyte(struct ivtv *itv, unsigned char byte)
 {
int i, bit;
@@ -471,7 +471,7 @@ static int ivtv_readbyte(struct ivtv *itv, unsigned char 
*byte, int nack)
return 0;
 }
 
-/* Issue a start condition on the i2c bus to alert slaves to prepare for
+/* Issue a start condition on the i2c bus to alert clients to prepare for
an address write */
 static int ivtv_start(struct ivtv *itv)
 {
@@ -534,7 +534,7 @@ static int ivtv_stop(struct ivtv *itv)
return 0;
 }
 
-/* Write a message to the given i2c slave.  do_stop may be 0 to prevent
+/* Write a message to the given i2c client.  do_stop may be 0 to prevent
issuing the i2c stop condition (when following with a read) */
 static int ivtv_write(struct ivtv *itv, unsigned char addr, unsigned char 
*data, u32 len, int do_stop)
 {
@@ -558,7 +558,7 @@ static int ivtv_write(struct ivtv *itv, unsigned char addr, 
unsigned char *data,
return ret;
 }
 
-/* Read data from the given i2c slave.  A stop condition is always issued. */
+/* Read data from the given i2c client.  A stop condition is always issued. */
 static int ivtv_read(struct ivtv *itv, unsigned char addr, unsigned char 
*data, u32 len)
 {
int retry, ret = -EREMOTEIO;
-- 
2.34.1



[PATCH v0 05/14] media: cobalt: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
with more appropriate terms. Inspired by and following on to Wolfram's
series to fix drivers/i2c/[1], fix the terminology for users of
I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
in the specification.

Compile tested, no functionality changes intended

[1]: 
https://lore.kernel.org/all/20240322132619.6389-1-wsa+rene...@sang-engineering.com/

Signed-off-by: Easwar Hariharan 
---
 drivers/media/pci/cobalt/cobalt-i2c.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/media/pci/cobalt/cobalt-i2c.c 
b/drivers/media/pci/cobalt/cobalt-i2c.c
index 10c9ee33f73e..d2963370f949 100644
--- a/drivers/media/pci/cobalt/cobalt-i2c.c
+++ b/drivers/media/pci/cobalt/cobalt-i2c.c
@@ -45,10 +45,10 @@ struct cobalt_i2c_regs {
 /* I2C stop condition */
 #define M00018_CR_BITMAP_STO_MSK   (1 << 6)
 
-/* I2C read from slave */
+/* I2C read from client */
 #define M00018_CR_BITMAP_RD_MSK(1 << 5)
 
-/* I2C write to slave */
+/* I2C write to client */
 #define M00018_CR_BITMAP_WR_MSK(1 << 4)
 
 /* I2C ack */
@@ -59,7 +59,7 @@ struct cobalt_i2c_regs {
 
 /* SR[7:0] - Status register */
 
-/* Receive acknowledge from slave */
+/* Receive acknowledge from client */
 #define M00018_SR_BITMAP_RXACK_MSK (1 << 7)
 
 /* Busy, I2C bus busy (as defined by start / stop bits) */
-- 
2.34.1



[PATCH v0 09/14] media: cx23885: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
with more appropriate terms. Inspired by and following on to Wolfram's
series to fix drivers/i2c/[1], fix the terminology for users of
I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
in the specification.

Compile tested, no functionality changes intended

[1]: 
https://lore.kernel.org/all/20240322132619.6389-1-wsa+rene...@sang-engineering.com/

Signed-off-by: Easwar Hariharan 
---
 drivers/media/pci/cx23885/cx23885-f300.c | 8 
 drivers/media/pci/cx23885/cx23885-i2c.c  | 6 +++---
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/media/pci/cx23885/cx23885-f300.c 
b/drivers/media/pci/cx23885/cx23885-f300.c
index ac1c434e8e24..5f937c281793 100644
--- a/drivers/media/pci/cx23885/cx23885-f300.c
+++ b/drivers/media/pci/cx23885/cx23885-f300.c
@@ -92,7 +92,7 @@ static u8 f300_xfer(struct dvb_frontend *fe, u8 *buf)
f300_set_line(dev, F300_RESET, 0);/* begin to send data */
msleep(1);
 
-   f300_send_byte(dev, 0xe0);/* the slave address is 0xe0, write */
+   f300_send_byte(dev, 0xe0);/* the client address is 0xe0, write */
msleep(1);
 
temp = buf[0];
@@ -112,10 +112,10 @@ static u8 f300_xfer(struct dvb_frontend *fe, u8 *buf)
}
 
if (i > 7) {
-   pr_err("%s: timeout, the slave no response\n",
+   pr_err("%s: timeout, the client no response\n",
__func__);
-   ret = 1; /* timeout, the slave no response */
-   } else { /* the slave not busy, prepare for getting data */
+   ret = 1; /* timeout, the client no response */
+   } else { /* the client not busy, prepare for getting data */
f300_set_line(dev, F300_RESET, 0);/*ready...*/
msleep(1);
f300_send_byte(dev, 0xe1);/* 0xe1 is Read */
diff --git a/drivers/media/pci/cx23885/cx23885-i2c.c 
b/drivers/media/pci/cx23885/cx23885-i2c.c
index f51fad33dc04..385af2a893b4 100644
--- a/drivers/media/pci/cx23885/cx23885-i2c.c
+++ b/drivers/media/pci/cx23885/cx23885-i2c.c
@@ -34,7 +34,7 @@ MODULE_PARM_DESC(i2c_scan, "scan i2c bus at insmod time");
 #define I2C_EXTEND  (1 << 3)
 #define I2C_NOSTOP  (1 << 4)
 
-static inline int i2c_slave_did_ack(struct i2c_adapter *i2c_adap)
+static inline int i2c_client_did_ack(struct i2c_adapter *i2c_adap)
 {
struct cx23885_i2c *bus = i2c_adap->algo_data;
struct cx23885_dev *dev = bus->dev;
@@ -84,7 +84,7 @@ static int i2c_sendbytes(struct i2c_adapter *i2c_adap,
cx_write(bus->reg_ctrl, bus->i2c_period | (1 << 2));
if (!i2c_wait_done(i2c_adap))
return -EIO;
-   if (!i2c_slave_did_ack(i2c_adap))
+   if (!i2c_client_did_ack(i2c_adap))
return -ENXIO;
 
dprintk(1, "%s() returns 0\n", __func__);
@@ -163,7 +163,7 @@ static int i2c_readbytes(struct i2c_adapter *i2c_adap,
cx_write(bus->reg_ctrl, bus->i2c_period | (1 << 2) | 1);
if (!i2c_wait_done(i2c_adap))
return -EIO;
-   if (!i2c_slave_did_ack(i2c_adap))
+   if (!i2c_client_did_ack(i2c_adap))
return -ENXIO;
 
 
-- 
2.34.1



[PATCH v0 06/14] media: cx18: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
with more appropriate terms. Inspired by and following on to Wolfram's
series to fix drivers/i2c/[1], fix the terminology for users of
I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
in the specification.

I2S specification has also updated the terms in v.3 to use "controller"
and "target" respectively. Make those changes in the relevant spaces as
well.

Compile tested, no functionality changes intended

[1]: 
https://lore.kernel.org/all/20240322132619.6389-1-wsa+rene...@sang-engineering.com/

Signed-off-by: Easwar Hariharan 
---
 drivers/media/pci/cx18/cx18-av-firmware.c | 8 
 drivers/media/pci/cx18/cx18-cards.c   | 6 +++---
 drivers/media/pci/cx18/cx18-cards.h   | 4 ++--
 drivers/media/pci/cx18/cx18-gpio.c| 6 +++---
 4 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/media/pci/cx18/cx18-av-firmware.c 
b/drivers/media/pci/cx18/cx18-av-firmware.c
index 61aeb8c9af7f..906e0b33cffc 100644
--- a/drivers/media/pci/cx18/cx18-av-firmware.c
+++ b/drivers/media/pci/cx18/cx18-av-firmware.c
@@ -140,22 +140,22 @@ int cx18_av_loadfw(struct cx18 *cx)
cx18_av_and_or4(cx, CXADEC_PIN_CTRL1, ~0, 0x78000);
 
/* Audio input control 1 set to Sony mode */
-   /* Audio output input 2 is 0 for slave operation input */
+   /* Audio output input 2 is 0 for target operation input */
/* 0xC4000914[5]: 0 = left sample on WS=0, 1 = left sample on WS=1 */
/* 0xC4000914[7]: 0 = Philips mode, 1 = Sony mode (1st SCK rising edge
   after WS transition for first bit of audio word. */
cx18_av_write4(cx, CXADEC_I2S_IN_CTL, 0x00A0);
 
/* Audio output control 1 is set to Sony mode */
-   /* Audio output control 2 is set to 1 for master mode */
+   /* Audio output control 2 is set to 1 for controller mode */
/* 0xC4000918[5]: 0 = left sample on WS=0, 1 = left sample on WS=1 */
/* 0xC4000918[7]: 0 = Philips mode, 1 = Sony mode (1st SCK rising edge
   after WS transition for first bit of audio word. */
-   /* 0xC4000918[8]: 0 = slave operation, 1 = master (SCK_OUT and WS_OUT
+   /* 0xC4000918[8]: 0 = target operation, 1 = controller (SCK_OUT and 
WS_OUT
   are generated) */
cx18_av_write4(cx, CXADEC_I2S_OUT_CTL, 0x01A0);
 
-   /* set alt I2s master clock to /0x16 and enable alt divider i2s
+   /* set alt I2s controller clock to /0x16 and enable alt divider i2s
   passthrough */
cx18_av_write4(cx, CXADEC_PIN_CFG3, 0x5600B687);
 
diff --git a/drivers/media/pci/cx18/cx18-cards.c 
b/drivers/media/pci/cx18/cx18-cards.c
index f5a30959a367..d9b859ee4b1b 100644
--- a/drivers/media/pci/cx18/cx18-cards.c
+++ b/drivers/media/pci/cx18/cx18-cards.c
@@ -82,7 +82,7 @@ static const struct cx18_card cx18_card_hvr1600_esmt = {
},
.gpio_init.initial_value = 0x3001,
.gpio_init.direction = 0x3001,
-   .gpio_i2c_slave_reset = {
+   .gpio_i2c_client_reset = {
.active_lo_mask = 0x3001,
.msecs_asserted = 10,
.msecs_recovery = 40,
@@ -129,7 +129,7 @@ static const struct cx18_card cx18_card_hvr1600_s5h1411 = {
},
.gpio_init.initial_value = 0x3801,
.gpio_init.direction = 0x3801,
-   .gpio_i2c_slave_reset = {
+   .gpio_i2c_client_reset = {
.active_lo_mask = 0x3801,
.msecs_asserted = 10,
.msecs_recovery = 40,
@@ -176,7 +176,7 @@ static const struct cx18_card cx18_card_hvr1600_samsung = {
},
.gpio_init.initial_value = 0x3001,
.gpio_init.direction = 0x3001,
-   .gpio_i2c_slave_reset = {
+   .gpio_i2c_client_reset = {
.active_lo_mask = 0x3001,
.msecs_asserted = 10,
.msecs_recovery = 40,
diff --git a/drivers/media/pci/cx18/cx18-cards.h 
b/drivers/media/pci/cx18/cx18-cards.h
index ae9cf5bfdd59..86f41ec6ca2f 100644
--- a/drivers/media/pci/cx18/cx18-cards.h
+++ b/drivers/media/pci/cx18/cx18-cards.h
@@ -69,7 +69,7 @@ struct cx18_gpio_init { /* set initial GPIO DIR and OUT 
values */
u32 initial_value;
 };
 
-struct cx18_gpio_i2c_slave_reset {
+struct cx18_gpio_i2c_client_reset {
u32 active_lo_mask; /* GPIO outputs that reset i2c chips when low */
u32 active_hi_mask; /* GPIO outputs that reset i2c chips when high */
int msecs_asserted; /* time period reset must remain asserted */
@@ -121,7 +121,7 @@ struct cx18_card {
/* GPIO card-specific settings */
u8 xceive_pin;  /* XCeive tuner GPIO reset pin */
struct cx18_gpio_initgpio_init;
-   struct cx18_gpio_i2c_slave_reset gpio_i2c_slave_reset;
+   struct cx18_gpio_i2c_client_reset gpio_i2c_client_reset;
struct cx18_gpio_audio_inputgpio_audio_input;
 
struct cx18_card_tuner tuners[CX18_CARD_MAX_TUNERS];
diff --git a/

[PATCH v0 03/14] drm/gma500, drm/i915: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
with more appropriate terms. Inspired by and following on to Wolfram's
series to fix drivers/i2c/[1], fix the terminology for users of
I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
in the specification.

Compile tested, no functionality changes intended

[1]:
https://lore.kernel.org/all/20240322132619.6389-1-wsa+rene...@sang-engineering.com/

Signed-off-by: Easwar Hariharan 
---
 drivers/gpu/drm/gma500/cdv_intel_lvds.c   |  2 +-
 drivers/gpu/drm/gma500/intel_bios.c   | 22 +++---
 drivers/gpu/drm/gma500/intel_bios.h   |  4 +--
 drivers/gpu/drm/gma500/intel_gmbus.c  |  2 +-
 drivers/gpu/drm/gma500/psb_drv.h  |  2 +-
 drivers/gpu/drm/gma500/psb_intel_drv.h|  2 +-
 drivers/gpu/drm/gma500/psb_intel_lvds.c   |  4 +--
 drivers/gpu/drm/gma500/psb_intel_sdvo.c   | 26 
 drivers/gpu/drm/i915/display/dvo_ch7017.c | 14 -
 drivers/gpu/drm/i915/display/dvo_ch7xxx.c | 18 +--
 drivers/gpu/drm/i915/display/dvo_ivch.c   | 16 +-
 drivers/gpu/drm/i915/display/dvo_ns2501.c | 18 +--
 drivers/gpu/drm/i915/display/dvo_sil164.c | 18 +--
 drivers/gpu/drm/i915/display/dvo_tfp410.c | 18 +--
 drivers/gpu/drm/i915/display/intel_bios.c | 22 +++---
 drivers/gpu/drm/i915/display/intel_ddi.c  |  2 +-
 .../gpu/drm/i915/display/intel_display_core.h |  2 +-
 drivers/gpu/drm/i915/display/intel_dsi.h  |  2 +-
 drivers/gpu/drm/i915/display/intel_dsi_vbt.c  | 18 +--
 drivers/gpu/drm/i915/display/intel_dvo.c  | 14 -
 drivers/gpu/drm/i915/display/intel_dvo_dev.h  |  2 +-
 drivers/gpu/drm/i915/display/intel_gmbus.c|  4 +--
 drivers/gpu/drm/i915/display/intel_sdvo.c | 30 +--
 drivers/gpu/drm/i915/display/intel_vbt_defs.h |  4 +--
 drivers/gpu/drm/i915/gvt/edid.c   | 28 -
 drivers/gpu/drm/i915/gvt/edid.h   |  4 +--
 drivers/gpu/drm/i915/gvt/opregion.c   |  2 +-
 27 files changed, 150 insertions(+), 150 deletions(-)

diff --git a/drivers/gpu/drm/gma500/cdv_intel_lvds.c 
b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
index f08a6803dc18..84c9122062c4 100644
--- a/drivers/gpu/drm/gma500/cdv_intel_lvds.c
+++ b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
@@ -565,7 +565,7 @@ void cdv_intel_lvds_init(struct drm_device *dev,
dev->dev, "I2C bus registration failed.\n");
goto err_encoder_cleanup;
}
-   gma_encoder->i2c_bus->slave_addr = 0x2C;
+   gma_encoder->i2c_bus->client_addr = 0x2C;
dev_priv->lvds_i2c_bus = gma_encoder->i2c_bus;
 
/*
diff --git a/drivers/gpu/drm/gma500/intel_bios.c 
b/drivers/gpu/drm/gma500/intel_bios.c
index 8245b5603d2c..333bece1a64f 100644
--- a/drivers/gpu/drm/gma500/intel_bios.c
+++ b/drivers/gpu/drm/gma500/intel_bios.c
@@ -14,8 +14,8 @@
 #include "psb_intel_drv.h"
 #include "psb_intel_reg.h"
 
-#defineSLAVE_ADDR1 0x70
-#defineSLAVE_ADDR2 0x72
+#defineCLIENT_ADDR10x70
+#defineCLIENT_ADDR20x72
 
 static void *find_section(struct bdb_header *bdb, int section_id)
 {
@@ -357,10 +357,10 @@ parse_sdvo_device_mapping(struct drm_psb_private 
*dev_priv,
/* skip the device block if device type is invalid */
continue;
}
-   if (p_child->slave_addr != SLAVE_ADDR1 &&
-   p_child->slave_addr != SLAVE_ADDR2) {
+   if (p_child->client_addr != CLIENT_ADDR1 &&
+   p_child->client_addr != CLIENT_ADDR2) {
/*
-* If the slave address is neither 0x70 nor 0x72,
+* If the client address is neither 0x70 nor 0x72,
 * it is not a SDVO device. Skip it.
 */
continue;
@@ -371,22 +371,22 @@ parse_sdvo_device_mapping(struct drm_psb_private 
*dev_priv,
DRM_DEBUG_KMS("Incorrect SDVO port. Skip it\n");
continue;
}
-   DRM_DEBUG_KMS("the SDVO device with slave addr %2x is found on"
+   DRM_DEBUG_KMS("the SDVO device with client addr %2x is found on"
" %s port\n",
-   p_child->slave_addr,
+   p_child->client_addr,
(p_child->dvo_port == DEVICE_PORT_DVOB) ?
"SDVOB" : "SDVOC");
p_mapping = &(dev_priv->sdvo_mappings[p_child->dvo_port - 1]);
if (!p_mapping->initialized) {
p_mapping->dvo_port = p_child->dvo_port;
-   p_mapping->slave_addr = p_child->slave_addr;
+   p_mapping->client_addr = p_child->client_addr;
 

[PATCH v0 14/14] i2c and treewide: Make I2C terminology more inclusive

2024-03-31 Thread Easwar Hariharan
I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
with more appropriate terms. Inspired by and following on to Wolfram's
series to fix drivers/i2c[1], fix the terminology for users of
I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
in the specification.

Compile tested, no functionality changes intended

[1]: 
https://lore.kernel.org/all/20240322132619.6389-1-wsa+rene...@sang-engineering.com/

Signed-off-by: Easwar Hariharan 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c   |  2 +-
 drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c|  2 +-
 drivers/gpu/drm/gma500/cdv_intel_dp.c |  2 +-
 drivers/gpu/drm/gma500/intel_gmbus.c  |  4 ++--
 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c|  2 +-
 drivers/gpu/drm/gma500/psb_intel_sdvo.c   |  2 +-
 drivers/gpu/drm/i915/display/intel_gmbus.c|  4 ++--
 drivers/gpu/drm/i915/display/intel_sdvo.c |  4 ++--
 drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c |  2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c |  2 +-
 drivers/gpu/drm/radeon/radeon_i2c.c   |  4 ++--
 drivers/i2c/algos/i2c-algo-bit.c  | 12 ++--
 drivers/media/pci/bt8xx/bttv-i2c.c|  2 +-
 drivers/media/pci/cobalt/cobalt-i2c.c |  2 +-
 drivers/media/pci/cx23885/cx23885-i2c.c   |  2 +-
 drivers/media/pci/cx25821/cx25821-i2c.c   |  2 +-
 drivers/media/pci/dm1105/dm1105.c |  2 +-
 drivers/media/pci/ivtv/ivtv-i2c.c |  2 +-
 drivers/media/pci/saa7164/saa7164-i2c.c   |  2 +-
 drivers/media/usb/au0828/au0828-i2c.c |  2 +-
 drivers/video/fbdev/mb862xx/mb862xx-i2c.c |  2 +-
 21 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
index a34626882b67..75793e493df6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
@@ -154,7 +154,7 @@ static void amdgpu_i2c_set_data(void *i2c_priv, int data)
 }
 
 static const struct i2c_algorithm amdgpu_atombios_i2c_algo = {
-   .master_xfer = amdgpu_atombios_i2c_xfer,
+   .xfer  = amdgpu_atombios_i2c_xfer,
.functionality = amdgpu_atombios_i2c_func,
 };
 
diff --git a/drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c 
b/drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
index f2fc96d1cd7b..1d909d33cd15 100644
--- a/drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
+++ b/drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
@@ -714,7 +714,7 @@ static u32 smu_v11_0_i2c_func(struct i2c_adapter *adap)
 }
 
 static const struct i2c_algorithm smu_v11_0_i2c_algo = {
-   .master_xfer = smu_v11_0_i2c_xfer,
+   .xfer  = smu_v11_0_i2c_xfer,
.functionality = smu_v11_0_i2c_func,
 };
 
diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c 
b/drivers/gpu/drm/gma500/cdv_intel_dp.c
index dd1eb7e9877d..d6f3c3bc169f 100644
--- a/drivers/gpu/drm/gma500/cdv_intel_dp.c
+++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c
@@ -194,7 +194,7 @@ i2c_algo_dp_aux_functionality(struct i2c_adapter *adapter)
 }
 
 static const struct i2c_algorithm i2c_dp_aux_algo = {
-   .master_xfer= i2c_algo_dp_aux_xfer,
+   .xfer   = i2c_algo_dp_aux_xfer,
.functionality  = i2c_algo_dp_aux_functionality,
 };
 
diff --git a/drivers/gpu/drm/gma500/intel_gmbus.c 
b/drivers/gpu/drm/gma500/intel_gmbus.c
index 94cf854b1d3d..90c83cae04d9 100644
--- a/drivers/gpu/drm/gma500/intel_gmbus.c
+++ b/drivers/gpu/drm/gma500/intel_gmbus.c
@@ -233,7 +233,7 @@ intel_i2c_quirk_xfer(struct drm_psb_private *dev_priv,
set_clock(gpio, 1);
udelay(I2C_RISEFALL_TIME);
 
-   ret = adapter->algo->master_xfer(adapter, msgs, num);
+   ret = adapter->algo->xfer(adapter, msgs, num);
 
set_data(gpio, 1);
set_clock(gpio, 1);
@@ -374,7 +374,7 @@ static u32 gmbus_func(struct i2c_adapter *adapter)
 }
 
 static const struct i2c_algorithm gmbus_algorithm = {
-   .master_xfer= gmbus_xfer,
+   .xfer   = gmbus_xfer,
.functionality  = gmbus_func
 };
 
diff --git a/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c 
b/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
index 6daa6669ed23..a93e61208a84 100644
--- a/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
+++ b/drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c
@@ -160,7 +160,7 @@ static u32 oaktrail_hdmi_i2c_func(struct i2c_adapter 
*adapter)
 }
 
 static const struct i2c_algorithm oaktrail_hdmi_i2c_algorithm = {
-   .master_xfer= oaktrail_hdmi_i2c_access,
+   .xfer   = oaktrail_hdmi_i2c_access,
.functionality  = oaktrail_hdmi_i2c_func,
 };
 
diff --git a/drivers/gpu/drm/gma500/psb_intel_sdvo.c 
b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
index 39a3b696efc5..ad274c8410ca 100644
--- a/drivers/gpu/drm/gma500/psb_intel_sdvo.c
+++ b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
@@ -2417,7 +2417,7 @@ static u32 psb_intel_sdvo_ddc_proxy_func(struct 
i2c_adapter *adapter)
 }
 
 static const struct i2c_algorithm psb_intel_sdvo_ddc_proxy = {

Re: 2024 X.Org Foundation Membership deadline for voting in the election

2024-03-31 Thread Ricardo Garcia
This is a reminder that the membership renewal period ends in 2 days,
and elections will start after that. Please register as an X.Org
Foundation member to be able to vote in the upcoming elections. Thanks!

-Ricardo Garcia, on behalf of the X.Org elections committee.
 
On Tue, 2024-03-26 at 11:42 -0400, Christopher Michael wrote:
> The 2024 X.Org Foundation membership renewal period has been extended 
> one additional week and elections will start the following week on 01 
> April 2024.
> 
> Please note that only current members can vote in the upcoming election, 
> and that the deadline for new memberships or renewals to vote in the 
> upcoming election is 01 April 2024 at 23:59 UTC.
> 
> If you are interested in joining the X.Org Foundation or in renewing 
> your membership, please visit the membership system site at: 
> https://members.x.org/
> 
> Christopher Michael, on behalf of the X.Org elections committee
> 
> 
>