Re: [PATCH v1 3/4] drm/rockchip: rk3066_hdmi: Remove useless output format

From: Heiko Stuebner
Date: Mon Nov 20 2023 - 12:07:19 EST


Hi Johan,

Am Donnerstag, 2. November 2023, 14:42:19 CET schrieb Johan Jonker:
> The Rk3066 hdmi output format is hard coded to RGB. Remove
> all useless code related to colorimetry and enc_out_format.
>
> Signed-off-by: Johan Jonker <jbx6244@xxxxxxxxx>

I guess my first question is, is the hardcoding happening just because
of missing functionality in the driver, or does the hardware only
support RGB?


> ---
> drivers/gpu/drm/rockchip/rk3066_hdmi.c | 20 +-------------------
> 1 file changed, 1 insertion(+), 19 deletions(-)
>
> diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
> index 0e7aae341960..f2b1b2faa096 100644
> --- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c
> +++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
> @@ -23,8 +23,6 @@
>
> struct hdmi_data_info {
> int vic; /* The CEA Video ID (VIC) of the current drm display mode. */
> - unsigned int enc_out_format;
> - unsigned int colorimetry;
> };
>
> struct rk3066_hdmi_i2c {
> @@ -200,14 +198,7 @@ static int rk3066_hdmi_config_avi(struct rk3066_hdmi *hdmi,
> rc = drm_hdmi_avi_infoframe_from_display_mode(&frame.avi,
> &hdmi->connector, mode);
>
> - if (hdmi->hdmi_data.enc_out_format == HDMI_COLORSPACE_YUV444)
> - frame.avi.colorspace = HDMI_COLORSPACE_YUV444;
> - else if (hdmi->hdmi_data.enc_out_format == HDMI_COLORSPACE_YUV422)
> - frame.avi.colorspace = HDMI_COLORSPACE_YUV422;
> - else
> - frame.avi.colorspace = HDMI_COLORSPACE_RGB;
> -
> - frame.avi.colorimetry = hdmi->hdmi_data.colorimetry;
> + frame.avi.colorspace = HDMI_COLORSPACE_RGB;
> frame.avi.scan_mode = HDMI_SCAN_MODE_NONE;
>
> return rk3066_hdmi_upload_frame(hdmi, rc, &frame,
> @@ -329,15 +320,6 @@ static int rk3066_hdmi_setup(struct rk3066_hdmi *hdmi,
> struct drm_display_info *display = &hdmi->connector.display_info;
>
> hdmi->hdmi_data.vic = drm_match_cea_mode(mode);
> - hdmi->hdmi_data.enc_out_format = HDMI_COLORSPACE_RGB;
> -
> - if (hdmi->hdmi_data.vic == 6 || hdmi->hdmi_data.vic == 7 ||
> - hdmi->hdmi_data.vic == 21 || hdmi->hdmi_data.vic == 22 ||
> - hdmi->hdmi_data.vic == 2 || hdmi->hdmi_data.vic == 3 ||
> - hdmi->hdmi_data.vic == 17 || hdmi->hdmi_data.vic == 18)
> - hdmi->hdmi_data.colorimetry = HDMI_COLORIMETRY_ITU_601;
> - else
> - hdmi->hdmi_data.colorimetry = HDMI_COLORIMETRY_ITU_709;

while I can understand the RGB output format, why does the colorimetry
also get removed? This looks like it is dependent on the mode itself
and not the output format?

Thanks
Heiko