[Intel-gfx] [PATCH 1/7] drm/i915/sdvo: Fix AVI infoframe TX rate readout

Chris Wilson chris at chris-wilson.co.uk
Tue Apr 9 21:16:04 UTC 2019


Quoting Ville Syrjala (2019-04-09 15:40:48)
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> The AVI infoframe readout code currently issues a
> SDVO_CMD_GET_HBUF_TXRATE before SDVO_CMD_SET_HBUF_INDEX, which is
> not the correct order for these two operations. So far this wasn't
> a problem since we left the index pointing at the AVI infoframe
> buffer at the end of the modeset. However once we start to write
> to other buffers (namely ELD) that is no longer going to be true.
> Fix up the order so that we always read out the TX rate for the
> correct buffer.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/intel_sdvo.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
> index 0e3d91d9ef13..61db07244296 100644
> --- a/drivers/gpu/drm/i915/intel_sdvo.c
> +++ b/drivers/gpu/drm/i915/intel_sdvo.c
> @@ -1001,6 +1001,11 @@ static ssize_t intel_sdvo_read_infoframe(struct intel_sdvo *intel_sdvo,
>         if (av_split < if_index)
>                 return 0;
>  
> +       if (!intel_sdvo_set_value(intel_sdvo,
> +                                 SDVO_CMD_SET_HBUF_INDEX,
> +                                 set_buf_index, 2))
> +               return -ENXIO;

That is consistent with write_infoframe and makes a modicum of sense.
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>

Why is the av_split separate from the if_index? What does that mean, at
some point I might have to read the docs!
-Chris


More information about the Intel-gfx mailing list