mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-22 22:49:18 -05:00
drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code
For mt8188, add dsi cmdq reg control to send long packets to panel initialization. MT8188 hardware has been changed to automatically set the cmdq_size value by default when sending long packets. In this patch, the cmdq_size value is set manually instead. Remain consistent with previous IC. Signed-off-by: Shuijing Li <shuijing.li@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://patchwork.kernel.org/project/dri-devel/patch/20230911120800.17369-3-shuijing.li@mediatek.com/ Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
This commit is contained in:
committed by
Chun-Kuang Hu
parent
81d707f32e
commit
2ccf6e2580
@@ -86,6 +86,7 @@
|
||||
|
||||
#define DSI_CMDQ_SIZE 0x60
|
||||
#define CMDQ_SIZE 0x3f
|
||||
#define CMDQ_SIZE_SEL BIT(15)
|
||||
|
||||
#define DSI_HSTX_CKL_WC 0x64
|
||||
|
||||
@@ -178,6 +179,7 @@ struct mtk_dsi_driver_data {
|
||||
const u32 reg_cmdq_off;
|
||||
bool has_shadow_ctl;
|
||||
bool has_size_ctl;
|
||||
bool cmdq_long_packet_ctl;
|
||||
};
|
||||
|
||||
struct mtk_dsi {
|
||||
@@ -996,6 +998,10 @@ static void mtk_dsi_cmdq(struct mtk_dsi *dsi, const struct mipi_dsi_msg *msg)
|
||||
|
||||
mtk_dsi_mask(dsi, reg_cmdq_off, cmdq_mask, reg_val);
|
||||
mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE, cmdq_size);
|
||||
if (dsi->driver_data->cmdq_long_packet_ctl) {
|
||||
/* Disable setting cmdq_size automatically for long packets */
|
||||
mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE_SEL, CMDQ_SIZE_SEL);
|
||||
}
|
||||
}
|
||||
|
||||
static ssize_t mtk_dsi_host_send_cmd(struct mtk_dsi *dsi,
|
||||
|
||||
Reference in New Issue
Block a user