Skip to content

Commit 3ded11b

Browse files
yangliankun1Chun-Kuang Hu
authored andcommitted
drm/mediatek: Fix get efuse issue for MT8188 DPTX
Update efuse data for MT8188 displayport. The DP monitor can not display when DUT connected to USB-c to DP dongle. Analysis view is invalid DP efuse data. Fixes: 350c3fe ("drm/mediatek: dp: Add support MT8188 dp/edp function") Reviewed-by: Matthias Brugger <[email protected]> Reviewed-by: AngeloGioacchino Del Regno <[email protected]> Signed-off-by: Liankun Yang <[email protected]> Reviewed-by: Fei Shao <[email protected]> Tested-by: Fei Shao <[email protected]> Reviewed-by: CK Hu <[email protected]> Link: https://patchwork.kernel.org/project/dri-devel/patch/[email protected]/ Signed-off-by: Chun-Kuang Hu <[email protected]>
1 parent 655c6c1 commit 3ded11b

File tree

1 file changed

+84
-1
lines changed

1 file changed

+84
-1
lines changed

drivers/gpu/drm/mediatek/mtk_dp.c

Lines changed: 84 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,89 @@ struct mtk_dp_data {
145145
u16 audio_m_div2_bit;
146146
};
147147

148+
static const struct mtk_dp_efuse_fmt mt8188_dp_efuse_fmt[MTK_DP_CAL_MAX] = {
149+
[MTK_DP_CAL_GLB_BIAS_TRIM] = {
150+
.idx = 0,
151+
.shift = 10,
152+
.mask = 0x1f,
153+
.min_val = 1,
154+
.max_val = 0x1e,
155+
.default_val = 0xf,
156+
},
157+
[MTK_DP_CAL_CLKTX_IMPSE] = {
158+
.idx = 0,
159+
.shift = 15,
160+
.mask = 0xf,
161+
.min_val = 1,
162+
.max_val = 0xe,
163+
.default_val = 0x8,
164+
},
165+
[MTK_DP_CAL_LN_TX_IMPSEL_PMOS_0] = {
166+
.idx = 1,
167+
.shift = 0,
168+
.mask = 0xf,
169+
.min_val = 1,
170+
.max_val = 0xe,
171+
.default_val = 0x8,
172+
},
173+
[MTK_DP_CAL_LN_TX_IMPSEL_PMOS_1] = {
174+
.idx = 1,
175+
.shift = 8,
176+
.mask = 0xf,
177+
.min_val = 1,
178+
.max_val = 0xe,
179+
.default_val = 0x8,
180+
},
181+
[MTK_DP_CAL_LN_TX_IMPSEL_PMOS_2] = {
182+
.idx = 1,
183+
.shift = 16,
184+
.mask = 0xf,
185+
.min_val = 1,
186+
.max_val = 0xe,
187+
.default_val = 0x8,
188+
},
189+
[MTK_DP_CAL_LN_TX_IMPSEL_PMOS_3] = {
190+
.idx = 1,
191+
.shift = 24,
192+
.mask = 0xf,
193+
.min_val = 1,
194+
.max_val = 0xe,
195+
.default_val = 0x8,
196+
},
197+
[MTK_DP_CAL_LN_TX_IMPSEL_NMOS_0] = {
198+
.idx = 1,
199+
.shift = 4,
200+
.mask = 0xf,
201+
.min_val = 1,
202+
.max_val = 0xe,
203+
.default_val = 0x8,
204+
},
205+
[MTK_DP_CAL_LN_TX_IMPSEL_NMOS_1] = {
206+
.idx = 1,
207+
.shift = 12,
208+
.mask = 0xf,
209+
.min_val = 1,
210+
.max_val = 0xe,
211+
.default_val = 0x8,
212+
},
213+
[MTK_DP_CAL_LN_TX_IMPSEL_NMOS_2] = {
214+
.idx = 1,
215+
.shift = 20,
216+
.mask = 0xf,
217+
.min_val = 1,
218+
.max_val = 0xe,
219+
.default_val = 0x8,
220+
},
221+
[MTK_DP_CAL_LN_TX_IMPSEL_NMOS_3] = {
222+
.idx = 1,
223+
.shift = 28,
224+
.mask = 0xf,
225+
.min_val = 1,
226+
.max_val = 0xe,
227+
.default_val = 0x8,
228+
},
229+
};
230+
148231
static const struct mtk_dp_efuse_fmt mt8195_edp_efuse_fmt[MTK_DP_CAL_MAX] = {
149232
[MTK_DP_CAL_GLB_BIAS_TRIM] = {
150233
.idx = 3,
@@ -2771,7 +2854,7 @@ static SIMPLE_DEV_PM_OPS(mtk_dp_pm_ops, mtk_dp_suspend, mtk_dp_resume);
27712854
static const struct mtk_dp_data mt8188_dp_data = {
27722855
.bridge_type = DRM_MODE_CONNECTOR_DisplayPort,
27732856
.smc_cmd = MTK_DP_SIP_ATF_VIDEO_UNMUTE,
2774-
.efuse_fmt = mt8195_dp_efuse_fmt,
2857+
.efuse_fmt = mt8188_dp_efuse_fmt,
27752858
.audio_supported = true,
27762859
.audio_pkt_in_hblank_area = true,
27772860
.audio_m_div2_bit = MT8188_AUDIO_M_CODE_MULT_DIV_SEL_DP_ENC0_P0_DIV_2,

0 commit comments

Comments
 (0)