lkml.org 
[lkml]   [2023]   [Nov]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH v4 29/45] drm/rockchip: inno_hdmi: Remove useless input format
    The driver has a lot of logic to deal with multiple input formats, but
    hardcodes it to RGB. This means that most of that code has been dead
    code, so let's get rid of it.

    Signed-off-by: Maxime Ripard <mripard@kernel.org>
    ---
    drivers/gpu/drm/rockchip/inno_hdmi.c | 39 +++++++++---------------------------
    1 file changed, 10 insertions(+), 29 deletions(-)

    diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c
    index 3908dc09d85f..e0696ab16da3 100644
    --- a/drivers/gpu/drm/rockchip/inno_hdmi.c
    +++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
    @@ -28,7 +28,6 @@
    #include "inno_hdmi.h"

    struct hdmi_data_info {
    - unsigned int enc_in_format;
    unsigned int enc_out_format;
    unsigned int colorimetry;
    };
    @@ -328,47 +327,30 @@ static int inno_hdmi_config_video_csc(struct inno_hdmi *hdmi)
    v_VIDEO_INPUT_CSP(0);
    hdmi_writeb(hdmi, HDMI_VIDEO_CONTRL2, value);

    - if (data->enc_in_format == data->enc_out_format) {
    - if ((data->enc_in_format == HDMI_COLORSPACE_RGB) ||
    - (data->enc_in_format >= HDMI_COLORSPACE_YUV444)) {
    - value = v_SOF_DISABLE | v_COLOR_DEPTH_NOT_INDICATED(1);
    - hdmi_writeb(hdmi, HDMI_VIDEO_CONTRL3, value);
    + if (HDMI_COLORSPACE_RGB == data->enc_out_format) {
    + value = v_SOF_DISABLE | v_COLOR_DEPTH_NOT_INDICATED(1);
    + hdmi_writeb(hdmi, HDMI_VIDEO_CONTRL3, value);

    - hdmi_modb(hdmi, HDMI_VIDEO_CONTRL,
    - m_VIDEO_AUTO_CSC | m_VIDEO_C0_C2_SWAP,
    - v_VIDEO_AUTO_CSC(AUTO_CSC_DISABLE) |
    - v_VIDEO_C0_C2_SWAP(C0_C2_CHANGE_DISABLE));
    - return 0;
    - }
    + hdmi_modb(hdmi, HDMI_VIDEO_CONTRL,
    + m_VIDEO_AUTO_CSC | m_VIDEO_C0_C2_SWAP,
    + v_VIDEO_AUTO_CSC(AUTO_CSC_DISABLE) |
    + v_VIDEO_C0_C2_SWAP(C0_C2_CHANGE_DISABLE));
    + return 0;
    }

    if (data->colorimetry == HDMI_COLORIMETRY_ITU_601) {
    - if ((data->enc_in_format == HDMI_COLORSPACE_RGB) &&
    - (data->enc_out_format == HDMI_COLORSPACE_YUV444)) {
    + if (data->enc_out_format == HDMI_COLORSPACE_YUV444) {
    csc_mode = CSC_RGB_0_255_TO_ITU601_16_235_8BIT;
    auto_csc = AUTO_CSC_DISABLE;
    c0_c2_change = C0_C2_CHANGE_DISABLE;
    csc_enable = v_CSC_ENABLE;
    - } else if ((data->enc_in_format == HDMI_COLORSPACE_YUV444) &&
    - (data->enc_out_format == HDMI_COLORSPACE_RGB)) {
    - csc_mode = CSC_ITU601_16_235_TO_RGB_0_255_8BIT;
    - auto_csc = AUTO_CSC_ENABLE;
    - c0_c2_change = C0_C2_CHANGE_DISABLE;
    - csc_enable = v_CSC_DISABLE;
    }
    } else {
    - if ((data->enc_in_format == HDMI_COLORSPACE_RGB) &&
    - (data->enc_out_format == HDMI_COLORSPACE_YUV444)) {
    + if (data->enc_out_format == HDMI_COLORSPACE_YUV444) {
    csc_mode = CSC_RGB_0_255_TO_ITU709_16_235_8BIT;
    auto_csc = AUTO_CSC_DISABLE;
    c0_c2_change = C0_C2_CHANGE_DISABLE;
    csc_enable = v_CSC_ENABLE;
    - } else if ((data->enc_in_format == HDMI_COLORSPACE_YUV444) &&
    - (data->enc_out_format == HDMI_COLORSPACE_RGB)) {
    - csc_mode = CSC_ITU709_16_235_TO_RGB_0_255_8BIT;
    - auto_csc = AUTO_CSC_ENABLE;
    - c0_c2_change = C0_C2_CHANGE_DISABLE;
    - csc_enable = v_CSC_DISABLE;
    }
    }

    @@ -443,7 +425,6 @@ static int inno_hdmi_setup(struct inno_hdmi *hdmi,
    struct drm_display_info *display = &hdmi->connector.display_info;
    u8 vic = drm_match_cea_mode(mode);

    - hdmi->hdmi_data.enc_in_format = HDMI_COLORSPACE_RGB;
    hdmi->hdmi_data.enc_out_format = HDMI_COLORSPACE_RGB;

    if ((vic == 6) || (vic == 7) ||
    --
    2.41.0

    \
     
     \ /
      Last update: 2023-11-28 11:28    [W:6.716 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site