summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshengyang.chen <shengyang.chen@starfivetech.com>2022-04-18 12:58:36 +0300
committershengyang.chen <shengyang.chen@starfivetech.com>2022-04-18 12:58:36 +0300
commit2b2c19fc40e227ccc9f0e0d230c752a9875f26e9 (patch)
treeaba6c86983e09b7b3c1a3bc22cc5c0a0efa873d7
parent508cdf1b04f24165a7be9c1463452e33faf7bcb0 (diff)
downloadlinux-2b2c19fc40e227ccc9f0e0d230c752a9875f26e9.tar.xz
riscv: linux: drm: update mipi screen parameter
fix mipi screen dithering problem Signed-off-by: shengyang.chen<shengyang.chen@starfivetech.com>
-rw-r--r--drivers/gpu/drm/starfive/starfive_drm_dsi.c8
-rw-r--r--drivers/gpu/drm/starfive/starfive_drm_seeedpanel.c17
-rw-r--r--drivers/phy/m31/phy-m31-dphy-tx0.c2
3 files changed, 13 insertions, 14 deletions
diff --git a/drivers/gpu/drm/starfive/starfive_drm_dsi.c b/drivers/gpu/drm/starfive/starfive_drm_dsi.c
index 8ab16fe5697c..73289a549fc7 100644
--- a/drivers/gpu/drm/starfive/starfive_drm_dsi.c
+++ b/drivers/gpu/drm/starfive/starfive_drm_dsi.c
@@ -553,9 +553,9 @@ static int cdns_dsi_mode2cfg(struct cdns_dsi *dsi,
bpp, DSI_HFP_FRAME_OVERHEAD);
//dpi to dsi transfer can not match , reconfig those parms
if (mode->hdisplay == 800) {
- dsi_cfg->hsa = 16; //30-14
- dsi_cfg->hbp = 73; //85-12
- dsi_cfg->hfp = 146; //152-6
+ dsi_cfg->hsa = 31; //45-14
+ dsi_cfg->hbp = 103; //115-12
+ dsi_cfg->hfp = 354; //360-6
}
return 0;
@@ -843,7 +843,7 @@ static void cdns_dsi_bridge_enable(struct drm_bridge *bridge)
dsi->regs + VID_HSIZE2);
writel(VBP_LEN(mode->crtc_vtotal - mode->crtc_vsync_end - 1) |
- VFP_LEN(mode->crtc_vsync_start - mode->crtc_vdisplay) |
+ VFP_LEN(mode->crtc_vsync_start - mode->crtc_vdisplay - 1) |
VSA_LEN(mode->crtc_vsync_end - mode->crtc_vsync_start + 1),
dsi->regs + VID_VSIZE1);
writel(mode->crtc_vdisplay, dsi->regs + VID_VSIZE2);
diff --git a/drivers/gpu/drm/starfive/starfive_drm_seeedpanel.c b/drivers/gpu/drm/starfive/starfive_drm_seeedpanel.c
index 0798e50b3dcf..58e360b9cefa 100644
--- a/drivers/gpu/drm/starfive/starfive_drm_seeedpanel.c
+++ b/drivers/gpu/drm/starfive/starfive_drm_seeedpanel.c
@@ -220,15 +220,15 @@ static struct seeed_panel_dev *panel_to_seeed(struct drm_panel *panel)
static const struct drm_display_mode seeed_panel_modes[] = {
{
- .clock = 33000000 / 1000,
+ .clock = 27000000 / 1000,
.hdisplay = 800,
- .hsync_start = 800 + 50,
- .hsync_end = 800 + 50 + 20,
- .htotal = 800 + 50 + 20 + 10,
+ .hsync_start = 800 + 90,
+ .hsync_end = 800 + 90 + 5,
+ .htotal = 800 + 90 + 5 + 5,
.vdisplay = 480,
- .vsync_start = 480 + 135,
- .vsync_end = 480 + 135 + 5,
- .vtotal = 480 + 135 + 5 + 5,
+ .vsync_start = 480 + 10,
+ .vsync_end = 480 + 10 + 5,
+ .vtotal = 480 + 10 + 5 + 5,
},
};
@@ -476,8 +476,7 @@ static int seeed_dsi_probe(struct mipi_dsi_device *dsi)
int ret;
dsi->mode_flags = (MIPI_DSI_MODE_VIDEO |
- MIPI_DSI_MODE_VIDEO_SYNC_PULSE |
- MIPI_DSI_MODE_LPM);
+ MIPI_DSI_MODE_VIDEO_SYNC_PULSE);
dsi->format = MIPI_DSI_FMT_RGB888;
dsi->lanes = 1;
diff --git a/drivers/phy/m31/phy-m31-dphy-tx0.c b/drivers/phy/m31/phy-m31-dphy-tx0.c
index 2bd8e43f1338..aa3cfe9d0680 100644
--- a/drivers/phy/m31/phy-m31-dphy-tx0.c
+++ b/drivers/phy/m31/phy-m31-dphy-tx0.c
@@ -413,7 +413,7 @@ static void polling_dphy_lock(struct sf_dphy *priv)
static int sf_dphy_configure(struct phy *phy, union phy_configure_opts *opts)
{
struct sf_dphy *dphy = phy_get_drvdata(phy);
- uint32_t bit_rate = 800000000/1000000UL;//new mipi panel clock setting
+ uint32_t bit_rate = 700000000/1000000UL;//new mipi panel clock setting
dphy_config(dphy, bit_rate);