diff options
| author | Svyatoslav Ryhel <clamor95@gmail.com> | 2025-09-09 10:33:35 +0300 |
|---|---|---|
| committer | Thierry Reding <treding@nvidia.com> | 2025-11-14 18:51:28 +0100 |
| commit | ef8ff0429a1fc4e7fb899208f49c719ed8293f81 (patch) | |
| tree | 72bbecf25baa2095256e46c0f51aae3e81f84a13 /drivers/gpu/drm/tegra | |
| parent | ae4235f7997f87a0c84a1a001684f148d06f3e69 (diff) | |
drm/tegra: dsi: Calculate packet parameters for video mode
Calculate packet parameters for video mode same way it is done for
command mode, by halving timings plugged into equations.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://patch.msgid.link/20250909073335.91531-3-clamor95@gmail.com
Diffstat (limited to 'drivers/gpu/drm/tegra')
| -rw-r--r-- | drivers/gpu/drm/tegra/dsi.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/gpu/drm/tegra/dsi.c b/drivers/gpu/drm/tegra/dsi.c index 368a3be59c6c..ae13b7a6837c 100644 --- a/drivers/gpu/drm/tegra/dsi.c +++ b/drivers/gpu/drm/tegra/dsi.c @@ -546,12 +546,19 @@ static void tegra_dsi_configure(struct tegra_dsi *dsi, unsigned int pipe, /* horizontal back porch */ hbp = (mode->htotal - mode->hsync_end) * mul / div; - if ((dsi->flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) == 0) - hbp += hsw; - /* horizontal front porch */ hfp = (mode->hsync_start - mode->hdisplay) * mul / div; + if (dsi->master || dsi->slave) { + hact /= 2; + hsw /= 2; + hbp /= 2; + hfp /= 2; + } + + if ((dsi->flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) == 0) + hbp += hsw; + /* subtract packet overhead */ hsw -= 10; hbp -= 14; |
