Skip to content

Commit d2f7f1b

Browse files
shuijingliChun-Kuang Hu
authored andcommitted
drm/mediatek: dp: Add the audio divider to mtk_dp_data struct
Due to the difference of HW, different dividers need to be set. Signed-off-by: Shuijing Li <shuijing.li@mediatek.com> Reviewed-by: CK Hu <ck.hu@mediatek.com> Link: https://patchwork.kernel.org/project/dri-devel/patch/20230822024155.26670-4-shuijing.li@mediatek.com/ Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
1 parent 2d50377 commit d2f7f1b

2 files changed

Lines changed: 10 additions & 7 deletions

File tree

drivers/gpu/drm/mediatek/mtk_dp.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ struct mtk_dp_data {
142142
const struct mtk_dp_efuse_fmt *efuse_fmt;
143143
bool audio_supported;
144144
bool audio_pkt_in_hblank_area;
145+
u16 audio_m_div2_bit;
145146
};
146147

147148
static const struct mtk_dp_efuse_fmt mt8195_edp_efuse_fmt[MTK_DP_CAL_MAX] = {
@@ -650,7 +651,7 @@ static void mtk_dp_audio_sdp_asp_set_channels(struct mtk_dp *mtk_dp,
650651
static void mtk_dp_audio_set_divider(struct mtk_dp *mtk_dp)
651652
{
652653
mtk_dp_update_bits(mtk_dp, MTK_DP_ENC0_P0_30BC,
653-
AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_2,
654+
mtk_dp->data->audio_m_div2_bit,
654655
AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_MASK);
655656
}
656657

@@ -2755,13 +2756,15 @@ static const struct mtk_dp_data mt8195_edp_data = {
27552756
.smc_cmd = MTK_DP_SIP_ATF_EDP_VIDEO_UNMUTE,
27562757
.efuse_fmt = mt8195_edp_efuse_fmt,
27572758
.audio_supported = false,
2759+
.audio_m_div2_bit = MT8195_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_2,
27582760
};
27592761

27602762
static const struct mtk_dp_data mt8195_dp_data = {
27612763
.bridge_type = DRM_MODE_CONNECTOR_DisplayPort,
27622764
.smc_cmd = MTK_DP_SIP_ATF_VIDEO_UNMUTE,
27632765
.efuse_fmt = mt8195_dp_efuse_fmt,
27642766
.audio_supported = true,
2767+
.audio_m_div2_bit = MT8195_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_2,
27652768
};
27662769

27672770
static const struct of_device_id mtk_dp_of_match[] = {

drivers/gpu/drm/mediatek/mtk_dp_reg.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -159,12 +159,12 @@
159159
#define MTK_DP_ENC0_P0_30BC 0x30bc
160160
#define ISRC_CONT_DP_ENC0_P0 BIT(0)
161161
#define AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_MASK GENMASK(10, 8)
162-
#define AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_MUL_2 (1 << 8)
163-
#define AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_MUL_4 (2 << 8)
164-
#define AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_MUL_8 (3 << 8)
165-
#define AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_2 (5 << 8)
166-
#define AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_4 (6 << 8)
167-
#define AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_8 (7 << 8)
162+
#define MT8195_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_MUL_2 (1 << 8)
163+
#define MT8195_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_MUL_4 (2 << 8)
164+
#define MT8195_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_MUL_8 (3 << 8)
165+
#define MT8195_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_2 (5 << 8)
166+
#define MT8195_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_4 (6 << 8)
167+
#define MT8195_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_8 (7 << 8)
168168
#define MTK_DP_ENC0_P0_30D8 0x30d8
169169
#define MTK_DP_ENC0_P0_312C 0x312c
170170
#define ASP_HB2_DP_ENC0_P0_MASK GENMASK(7, 0)

0 commit comments

Comments
 (0)