bianbu-linux-6.6/drivers/gpu/drm/mediatek
AngeloGioacchino Del Regno 8f3ea1ec43 drm: mediatek: mtk_dsi: Fix NO_EOT_PACKET settings/handling
[ Upstream commit 5855d422a6f250f3518f43b49092c8e87a5e42be ]

Due to the initial confusion about MIPI_DSI_MODE_EOT_PACKET, properly
renamed to MIPI_DSI_MODE_NO_EOT_PACKET, reflecting its actual meaning,
both the DSI_TXRX_CON register setting for bit (HSTX_)DIS_EOT and the
later calculation for horizontal sync-active (HSA), back (HBP) and
front (HFP) porches got incorrect due to the logic being inverted.

This means that a number of settings were wrong because....:
 - DSI_TXRX_CON register setting: bit (HSTX_)DIS_EOT should be
   set in order to disable the End of Transmission packet;
 - Horizontal Sync and Back/Front porches: The delta used to
   calculate all of HSA, HBP and HFP should account for the
   additional EOT packet.

Before this change...
 - Bit (HSTX_)DIS_EOT was being set when EOT packet was enabled;
 - For HSA/HBP/HFP delta... all three were wrong, as words were
   added when EOT disabled, instead of when EOT packet enabled!

Invert the logic around flag MIPI_DSI_MODE_NO_EOT_PACKET in the
MediaTek DSI driver to fix the aforementioned issues.

Fixes: 8b2b99fd79 ("drm/mediatek: dsi: Fine tune the line time caused by EOTp")
Fixes: c87d1c4b5b ("drm/mediatek: dsi: Use symbolized register definition")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Tested-by: Michael Walle <mwalle@kernel.org>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20230523104234.7849-1-angelogioacchino.delregno@collabora.com/
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-20 11:59:12 +01:00
..
Kconfig drm/mediatek: dp: Add support for embedded DisplayPort aux-bus 2023-08-09 23:25:00 +00:00
Makefile drm/mediatek: Add ovl_adaptor support for MT8195 2023-03-22 16:25:16 +00:00
mtk_cec.c drm/mediatek: Convert to platform remove callback returning void 2023-08-10 23:41:55 +00:00
mtk_cec.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
mtk_disp_aal.c Mediatek DRM Next for Linux 6.6 2023-08-15 12:07:19 +10:00
mtk_disp_ccorr.c Mediatek DRM Next for Linux 6.6 2023-08-15 12:07:19 +10:00
mtk_disp_color.c Mediatek DRM Next for Linux 6.6 2023-08-15 12:07:19 +10:00
mtk_disp_drv.h drm/mediatek: Add ovl_adaptor get format function 2023-04-03 03:06:01 +00:00
mtk_disp_gamma.c Mediatek DRM Next for Linux 6.6 2023-08-15 12:07:19 +10:00
mtk_disp_merge.c Mediatek DRM Next for Linux 6.6 2023-08-15 12:07:19 +10:00
mtk_disp_ovl.c Mediatek DRM Next for Linux 6.6 2023-08-15 12:07:19 +10:00
mtk_disp_ovl_adaptor.c Mediatek DRM Next for Linux 6.6 2023-08-15 12:07:19 +10:00
mtk_disp_rdma.c Mediatek DRM Next for Linux 6.6 2023-08-15 12:07:19 +10:00
mtk_dp.c drm/mediatek: Convert to platform remove callback returning void 2023-08-10 23:41:55 +00:00
mtk_dp_reg.h drm/mediatek: dp: Remove unused register definitions 2022-09-19 12:17:42 +03:00
mtk_dpi.c Mediatek DRM Next for Linux 6.6 2023-08-15 12:07:19 +10:00
mtk_dpi_regs.h drm/mediatek: dpi: Add dp_intf support 2022-07-06 22:51:44 +08:00
mtk_drm_crtc.c drm/mediatek: Fix iommu fault during crtc enabling 2023-11-20 11:59:11 +01:00
mtk_drm_crtc.h drm/mediatek: Add drm ovl_adaptor sub driver for MT8195 2023-03-22 16:45:23 +00:00
mtk_drm_ddp_comp.c drm/mediatek: Fix uninitialized symbol 2023-08-07 23:26:07 +00:00
mtk_drm_ddp_comp.h drm/mediatek: Add drm ovl_adaptor sub driver for MT8195 2023-03-22 16:45:23 +00:00
mtk_drm_drv.c drm/mediatek: Add mmsys_dev_num to mt8188 vdosys0 driver data 2023-11-20 11:59:11 +01:00
mtk_drm_drv.h drm/mediatek: Add drm ovl_adaptor sub driver for MT8195 2023-03-22 16:45:23 +00:00
mtk_drm_gem.c drm/mediatek: Fix coverity issue with unintentional integer overflow 2023-11-20 11:59:09 +01:00
mtk_drm_gem.h dma-buf-map: Rename to iosys-map 2022-02-07 16:35:35 -08:00
mtk_drm_plane.c drm/mediatek: Fix iommu fault by swapping FBs after updating plane state 2023-11-20 11:59:11 +01:00
mtk_drm_plane.h drm/mediatek: Refactor pixel format logic 2023-03-12 15:03:56 +00:00
mtk_dsi.c drm: mediatek: mtk_dsi: Fix NO_EOT_PACKET settings/handling 2023-11-20 11:59:12 +01:00
mtk_ethdr.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
mtk_ethdr.h drm/mediatek: Add ETHDR support for MT8195 2023-03-22 16:25:00 +00:00
mtk_hdmi.c drm/mediatek: Convert to platform remove callback returning void 2023-08-10 23:41:55 +00:00
mtk_hdmi.h drm/mediatek: Separate mtk_hdmi_phy to an independent module 2020-09-06 07:02:54 +08:00
mtk_hdmi_ddc.c drm/mediatek: Convert to platform remove callback returning void 2023-08-10 23:41:55 +00:00
mtk_hdmi_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
mtk_mdp_rdma.c Mediatek DRM Next for Linux 6.6 2023-08-15 12:07:19 +10:00
mtk_mdp_rdma.h drm/mediatek: Add display MDP RDMA support for MT8195 2022-06-27 22:24:14 +08:00