From a3cda7fe2fd1dfdd8f855f15e304e77b40bc76b0 Mon Sep 17 00:00:00 2001 From: Wenjie Qiao Date: Fri, 15 Aug 2025 11:12:55 +0800 Subject: [PATCH] hdmitx: not enable 10to8 dither when interlace mode [2/2] PD#SWPL-194605 Problem: HDMI CTS 7-26 fail Solution: not enable 10to8 dither when interlace mode Verify: T7 Test: DRM-TX-154 Change-Id: I93f5b5f636c530299cc913553e293aa610b75b6a Signed-off-by: Wenjie Qiao --- .../media/vout/hdmi_tx_connector/hdmitx/tx21/hdmitx_hw.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/media/vout/hdmi_tx_connector/hdmitx/tx21/hdmitx_hw.c b/drivers/media/vout/hdmi_tx_connector/hdmitx/tx21/hdmitx_hw.c index 99646cb0c..192213842 100644 --- a/drivers/media/vout/hdmi_tx_connector/hdmitx/tx21/hdmitx_hw.c +++ b/drivers/media/vout/hdmi_tx_connector/hdmitx/tx21/hdmitx_hw.c @@ -5544,7 +5544,8 @@ void hdmitx21_dither_config(struct hdmitx21_dev *hdev) (0 << 6) | (((para->cd == COLORDEPTH_24B) ? 1 : 0) << 10) | (0 << 12); - if (para->cd == COLORDEPTH_24B && !hdmitx_dv_en(&hdev->hw_comm)) + if (para->cd == COLORDEPTH_24B && !para->timing.pixel_repetition_factor && + !hdmitx_dv_en(&hdev->hw_comm)) data32 |= (1 << 4); hd21_write_reg(VPU_HDMI_DITH_CNTL, data32); } @@ -6398,7 +6399,8 @@ void hdmitx21_color_convert(struct hdmitx21_dev *hdev, u32 output_color_format) /* 2.VPU_HDMI_DITH */ data32 = 0; data32 = (1 << 10); - if (hdmitx_dv_en(&hdev->hw_comm) == 0) + if (hdmitx_dv_en(&hdev->hw_comm) == 0 && + !para->timing.pixel_repetition_factor) data32 |= (1 << 4); hd21_write_reg(VPU_HDMI_DITH_CNTL, data32); /* 3.vp config */ @@ -6436,7 +6438,8 @@ void hdmitx21_color_convert(struct hdmitx21_dev *hdev, u32 output_color_format) /* 2.VPU_HDMI_DITH */ data32 = 0; data32 = (1 << 10); - if (hdmitx_dv_en(&hdev->hw_comm) == 0) + if (hdmitx_dv_en(&hdev->hw_comm) == 0 && + !para->timing.pixel_repetition_factor) data32 |= (1 << 4); hd21_write_reg(VPU_HDMI_DITH_CNTL, data32); /* 3.vp config/ yuv->rgb*/