From nobody Sun Apr 19 06:46:49 2026 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [185.203.201.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4A62827700B for ; Tue, 27 May 2025 14:14:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.203.201.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748355294; cv=none; b=qwQCkSlr0RZwGi41oMzo7Y8fmWrFhvgCSTuFUCuOnwg45Xaoa47eU7Kgt+fKwZCoAdOUXBA/K/oNnRA4QhY/rTWCsiT/JjZa5MlDKxs7Hw3/BrekZmp4QNCVj9WQ65uGMwf2+jVvMiFR+zzvFkRSKGTPlGvVg51xebVcaeqUzPI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748355294; c=relaxed/simple; bh=B/XX/1sBBg1VZc8S1AwtLNwmLgDDUs2220V3EEoEvt0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=utKnL0DNI3MPkKE7UlKeuDtSmBCYV0b1SpArS6xFhRuC0R90bsCflyoOImFRBIePBQQAZ2Jb1u/CXaqFp28MjZSnlDJbR21Z3rBqDR+KIeWhlKnmWiwJRPQnzX7GvHeMgbDWEVrWyz3n5/cbYIjfyx3WFMnWlBBDDxOEAn6j2co= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de; spf=pass smtp.mailfrom=pengutronix.de; arc=none smtp.client-ip=185.203.201.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pengutronix.de Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54]) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1uJv4f-0002Ne-JG; Tue, 27 May 2025 16:14:37 +0200 From: Philipp Zabel Date: Tue, 27 May 2025 16:14:31 +0200 Subject: [PATCH RFC 1/4] drm/bridge: samsung-dsim: Always flush display FIFO on vsync pulse Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250527-dsi-vsync-flush-v1-1-9b4ea4578729@pengutronix.de> References: <20250527-dsi-vsync-flush-v1-0-9b4ea4578729@pengutronix.de> In-Reply-To: <20250527-dsi-vsync-flush-v1-0-9b4ea4578729@pengutronix.de> To: Inki Dae , Jagan Teki , Marek Szyprowski , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Artur Weber , Jessica Zhang Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de, Philipp Zabel X-Mailer: b4 0.14.2 X-SA-Exim-Connect-IP: 2a0a:edc0:0:1101:1d::54 X-SA-Exim-Mail-From: p.zabel@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Always flush the display FIFO on vsync pulse, even if not explicitly requested by the panel via MIPI_DSI_MODE_VSYNC_FLUSH mode_flag. The display FIFO should be empty at vsync. Flushing it at vsync pulses helps to remove garbage that may have entered the FIFO during startup (if synchronisation between upstream display controller and Samsung DSIM is lacking) and that may persist in form of last frame's leftovers on subsequent frames. Flushing the display FIFO if it is already empty should have no effect. This will allow to remove the MIPI_DSI_MODE_VSYNC_FLUSH flag, which is only used by the Samsung DSIM bridge driver. Arguably this flag doesn't belong in the panel configuration at all: flushing the display FIFO on vsync is a workaround for issues with the integration between display controller and DSI bridge, not a property of the DSI link between bridge and panel. No panel actually has a requirement to receive garbage or old frame content after vsync. I wonder if host controller FIFO resets are mentioned by the MIPI DSI specification at all. This patch is based on the assumption that the MIPI_DSI_MODE_VSYNC_FLUSH flag only exists because the DSIM_MFLUSH_VS bit happens to be located in the same register as the bits controlling the DSI mode. Signed-off-by: Philipp Zabel Acked-by: Marek Szyprowski --- drivers/gpu/drm/bridge/samsung-dsim.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/gpu/drm/bridge/samsung-dsim.c b/drivers/gpu/drm/bridge= /samsung-dsim.c index 0014c497e3fe7d8349a119dbdda30d65d816cccf..f5561a702c711dcdcddfc5262b8= d675f0216169e 100644 --- a/drivers/gpu/drm/bridge/samsung-dsim.c +++ b/drivers/gpu/drm/bridge/samsung-dsim.c @@ -898,8 +898,6 @@ static int samsung_dsim_init_link(struct samsung_dsim *= dsi) * The user manual describes that following bits are ignored in * command mode. */ - if (!(dsi->mode_flags & MIPI_DSI_MODE_VSYNC_FLUSH)) - reg |=3D DSIM_MFLUSH_VS; if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) reg |=3D DSIM_SYNC_INFORM; if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_BURST) --=20 2.39.5 From nobody Sun Apr 19 06:46:49 2026 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [185.203.201.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4A6B5277808 for ; Tue, 27 May 2025 14:14:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.203.201.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748355295; cv=none; b=aafrNiBEaiI3wRkQ9D3+DHz2x40JroPsPadDzW5fgsv43lMO7li2KFM7ZL4Tpq8BZORWc5pMztaMx7fkCMEopbV2+mvDxNMbHOh83iWMg+f+ottu0ReoWy6tHHs2kRVWG/sLGFWEquhA6C/tIY0DbCVdbkxsVdceglgp6daq2j8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748355295; c=relaxed/simple; bh=peiJyurqLp3tI+dD9Pn5GKyW4tfCigbVpvCbR5h9q0Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LZkDOIXiKO36tR3zzSGaduBhHyvP7O+EuGdKVvi4l4VI+kevqzLdUEkME5H2xmwwNKCCS/jVrQAaZUgh5Z13+oC5I7pX3hRA67E4UU/Rd22Lk/fB1+ji85MNg/9rhGnjLSJZ/OrzDrq5nFo3bSwsWf2K0d1F3KZkiP19Ae7M3oo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de; spf=pass smtp.mailfrom=pengutronix.de; arc=none smtp.client-ip=185.203.201.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pengutronix.de Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54]) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1uJv4f-0002Ne-LQ; Tue, 27 May 2025 16:14:37 +0200 From: Philipp Zabel Date: Tue, 27 May 2025 16:14:32 +0200 Subject: [PATCH RFC 2/4] drm/panel: samsung-s6d7aa0: Drop MIPI_DSI_MODE_VSYNC_FLUSH flag Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250527-dsi-vsync-flush-v1-2-9b4ea4578729@pengutronix.de> References: <20250527-dsi-vsync-flush-v1-0-9b4ea4578729@pengutronix.de> In-Reply-To: <20250527-dsi-vsync-flush-v1-0-9b4ea4578729@pengutronix.de> To: Inki Dae , Jagan Teki , Marek Szyprowski , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Artur Weber , Jessica Zhang Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de, Philipp Zabel X-Mailer: b4 0.14.2 X-SA-Exim-Connect-IP: 2a0a:edc0:0:1101:1d::54 X-SA-Exim-Mail-From: p.zabel@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Drop the MIPI_DSI_MODE_VSYNC_FLUSH flag from DSI mode_flags. It has no effect anymore. Signed-off-by: Philipp Zabel Acked-by: Marek Szyprowski --- drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c b/drivers/gpu/dr= m/panel/panel-samsung-s6d7aa0.c index 93f11e2e9398782ed10c70159c25fbd5d9f4eb4c..986b3a71a17458cb60bc81338dc= ce1b24b3c8d85 100644 --- a/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c +++ b/drivers/gpu/drm/panel/panel-samsung-s6d7aa0.c @@ -244,7 +244,7 @@ static const struct s6d7aa0_panel_desc s6d7aa0_lsl080al= 02_desc =3D { .init_func =3D s6d7aa0_lsl080al02_init, .off_func =3D s6d7aa0_lsl080al02_off, .drm_mode =3D &s6d7aa0_lsl080al02_mode, - .mode_flags =3D MIPI_DSI_MODE_VSYNC_FLUSH | MIPI_DSI_MODE_VIDEO_NO_HFP, + .mode_flags =3D MIPI_DSI_MODE_VIDEO_NO_HFP, .bus_flags =3D 0, =20 .has_backlight =3D false, --=20 2.39.5 From nobody Sun Apr 19 06:46:49 2026 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [185.203.201.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 00B752741AB for ; Tue, 27 May 2025 14:14:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.203.201.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748355293; cv=none; b=R/ywxpQJsXCzC1O3qkDyR7uQ1Sx82eGfZn1fu27hm01hEDWMn/zx6OkmQgKWv5kCBprL7FtfZQWBfQjl0jtlKBy2YxQnv8CvChRLusklvmMnE6N+K/+V+itlA1sGHzLAkTvwrKbbKQBT95Z+EPyg8O/1k95KjlS6uPkyR7gSBKU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748355293; c=relaxed/simple; bh=mKB7Di2doqet46c57n4jNm2mBdkI/5Nb0yCW7Ip3y0I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Jws+Xedqs+ADU2uy8h0gf1k4RS/dGLYYbckK7Sol6u9kxRF+7nA1jWN1yPJwFcoNWkR/ZoEBhz+xgzcz1BMMXtMd0FwiYaVWCh445Qnetc8PEMci6WqscB2IYQDZ8GA6gtgZZYa1ZXPxmyI2K6xDiF7kWKnFdgc3t1KNr/z5iEs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de; spf=pass smtp.mailfrom=pengutronix.de; arc=none smtp.client-ip=185.203.201.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pengutronix.de Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54]) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1uJv4f-0002Ne-Nq; Tue, 27 May 2025 16:14:37 +0200 From: Philipp Zabel Date: Tue, 27 May 2025 16:14:33 +0200 Subject: [PATCH RFC 3/4] drm/panel: samsung-s6e8aa0: Drop MIPI_DSI_MODE_VSYNC_FLUSH flag Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250527-dsi-vsync-flush-v1-3-9b4ea4578729@pengutronix.de> References: <20250527-dsi-vsync-flush-v1-0-9b4ea4578729@pengutronix.de> In-Reply-To: <20250527-dsi-vsync-flush-v1-0-9b4ea4578729@pengutronix.de> To: Inki Dae , Jagan Teki , Marek Szyprowski , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Artur Weber , Jessica Zhang Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de, Philipp Zabel X-Mailer: b4 0.14.2 X-SA-Exim-Connect-IP: 2a0a:edc0:0:1101:1d::54 X-SA-Exim-Mail-From: p.zabel@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Drop the MIPI_DSI_MODE_VSYNC_FLUSH flag from DSI mode_flags. It has no effect anymore. Signed-off-by: Philipp Zabel Acked-by: Marek Szyprowski --- drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c b/drivers/gpu/dr= m/panel/panel-samsung-s6e8aa0.c index c51d07ec15295f81d4c2c07fcd5b58fdab18b084..201f94f45b7734320a3365a8e27= 2e3e69dbc178e 100644 --- a/drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c +++ b/drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c @@ -990,7 +990,7 @@ static int s6e8aa0_probe(struct mipi_dsi_device *dsi) dsi->lanes =3D 4; dsi->format =3D MIPI_DSI_FMT_RGB888; dsi->mode_flags =3D MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST - | MIPI_DSI_MODE_VSYNC_FLUSH | MIPI_DSI_MODE_VIDEO_AUTO_VERT; + | MIPI_DSI_MODE_VIDEO_AUTO_VERT; =20 ret =3D s6e8aa0_parse_dt(ctx); if (ret < 0) --=20 2.39.5 From nobody Sun Apr 19 06:46:49 2026 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [185.203.201.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4A5BA27602C for ; Tue, 27 May 2025 14:14:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.203.201.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748355293; cv=none; b=mOlrhA8YpodcSz3VSf+Olz4iqRyLnGLSk2ECmudhmvmBXYH/UCeEkh7FaKa6e4iOOWH2HRRhf8dYEo9oJ/EKw4CnzGwgIuhfn9ahT8SDxgRo4UI0eL2NCwNI8oa8d3YRpgYMDak+fgCQToTYvL/ZNumfEdr76zJOU0hRpWAyoWw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748355293; c=relaxed/simple; bh=KMl1KC7Db42hpXmXH1RgdBzgy+eRoovV4TcmHv0IoBE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nQEtGezwkDIxY/bOhGt19rZm23UmzH7E/XE3Bz6SR/1s4QSs2BRBVwrVaXBA2Tf1Mc8w/oul3x5LIciF6tSiWLvJh+9548aW1nknfAft53MydXWNNpEhV03ymmTkWF6J7lJNrFTRERdgYGECiHTzwDcxIxuoP/u61dasbGIfIKA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de; spf=pass smtp.mailfrom=pengutronix.de; arc=none smtp.client-ip=185.203.201.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pengutronix.de Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54]) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1uJv4f-0002Ne-QK; Tue, 27 May 2025 16:14:37 +0200 From: Philipp Zabel Date: Tue, 27 May 2025 16:14:34 +0200 Subject: [PATCH RFC 4/4] drm/mipi-dsi: Drop MIPI_DSI_MODE_VSYNC_FLUSH flag Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250527-dsi-vsync-flush-v1-4-9b4ea4578729@pengutronix.de> References: <20250527-dsi-vsync-flush-v1-0-9b4ea4578729@pengutronix.de> In-Reply-To: <20250527-dsi-vsync-flush-v1-0-9b4ea4578729@pengutronix.de> To: Inki Dae , Jagan Teki , Marek Szyprowski , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Artur Weber , Jessica Zhang Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de, Philipp Zabel X-Mailer: b4 0.14.2 X-SA-Exim-Connect-IP: 2a0a:edc0:0:1101:1d::54 X-SA-Exim-Mail-From: p.zabel@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Drop the unused MIPI_DSI_MODE_VSYNC_FLUSH flag. Whether or not a display FIFO flush on vsync is required to avoid sending garbage to the panel is not a property of the DSI link, but of the integration between display controller and DSI host bridge. Signed-off-by: Philipp Zabel Acked-by: Marek Szyprowski --- include/drm/drm_mipi_dsi.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/drm/drm_mipi_dsi.h b/include/drm/drm_mipi_dsi.h index b37860f4a895c25ef8ba1c5b3f44827ef53aa100..369b0d8830c3d14a4fc1e8e38d5= fa55f04ca143e 100644 --- a/include/drm/drm_mipi_dsi.h +++ b/include/drm/drm_mipi_dsi.h @@ -130,8 +130,6 @@ struct mipi_dsi_host *of_find_mipi_dsi_host_by_node(str= uct device_node *node); #define MIPI_DSI_MODE_VIDEO_NO_HBP BIT(6) /* disable hsync-active area */ #define MIPI_DSI_MODE_VIDEO_NO_HSA BIT(7) -/* flush display FIFO on vsync pulse */ -#define MIPI_DSI_MODE_VSYNC_FLUSH BIT(8) /* disable EoT packets in HS mode */ #define MIPI_DSI_MODE_NO_EOT_PACKET BIT(9) /* device supports non-continuous clock behavior (DSI spec 5.6.1) */ --=20 2.39.5