From nobody Fri Oct 2 01:12:58 2026
Received: from mx1.white.stw.pengutronix.de (mx1.white.stw.pengutronix.de
[185.203.200.13])
(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 973A32EEE99;
Thu, 6 Aug 2026 13:17:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
arc=none smtp.client-ip=185.203.200.13
ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1786022255; cv=none;
b=fa7KOKMoyEHzgjLxyu9eihJ1wFyTc1ZKe1XvFVPsC7mQYPfNQV6Pjstcrk2b1/FMrykI20ieewbz4Kr4G1nTrrVUDn7PBP+NB0/Qliu/9unSyRAhdYu3txAfrTzTYiULdJPv44/zt/kiv4WAKyxNS20hLpLtl3aMEECkD//rGmA=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1786022255; c=relaxed/simple;
bh=MMjIeFwYrtdxRxIyuWQgjHCSq2RWv7+CCUYqiWdjS+E=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version;
b=uUbIEZeFZ25EZSqU3Xz6RKpfYTiWMpxZhbNrIeSW81D2xCaE/KhhSR0tZXQcldNfT8K7j3B2PoUZ6h+bCdF07dqliXRMeoZr4KeqXxSM4lNIXtUNMh9RZJSkYXdu2fjw3h0wrKIRHjIK+NwvCrCv04yhHUICZqly15w8snpLqHM=
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.200.13
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 drehscheibe.grey.stw.pengutronix.de
(drehscheibe.grey.stw.pengutronix.de [IPv6:2a0a:edc0:0:c01:1d::a2])
(Authenticated sender: relay-from-drehscheibe.grey.stw.pengutronix.de)
by mx1.white.stw.pengutronix.de (Postfix) with ESMTPSA id 642C2202055;
Thu, 06 Aug 2026 15:17:23 +0200 (CEST)
Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54])
by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.96)
(envelope-from
)
id 1wrxyN-000664-11;
Thu, 06 Aug 2026 15:17:23 +0200
From: Philipp Zabel
To: Vishnu Saini ,
Yi Zhang ,
Andrzej Hajda ,
Neil Armstrong ,
Robert Foss ,
Laurent Pinchart ,
Jonas Karlman ,
Jernej Skrabec ,
Luca Ceresoli ,
Maarten Lankhorst ,
Maxime Ripard ,
Thomas Zimmermann ,
David Airlie ,
Simona Vetter ,
Rob Herring ,
Krzysztof Kozlowski ,
Conor Dooley ,
Marek Vasut
Cc: dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Nilesh Laad ,
Gopi Botlagunta ,
venkata.valluru@oss.qualcomm.com,
Jessica Zhang ,
Philipp Zabel
Subject: [PATCH 1/7] drm/bridge: lt9211: drop delayed work
Date: Thu, 6 Aug 2026 15:17:09 +0200
Message-ID: <20260806131715.508557-2-p.zabel@pengutronix.de>
X-Mailer: git-send-email 2.47.3
In-Reply-To: <20260806131715.508557-1-p.zabel@pengutronix.de>
References: <20260719-add-lt9211c-bridge-v6-2-e56d22152586@oss.qualcomm.com>
<20260806131715.508557-1-p.zabel@pengutronix.de>
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
List-Id:
List-Subscribe:
List-Unsubscribe:
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
Replace the delayed work with a delay and synchronous initialization
in atomic_enable. This should fix all 5 issues sashiko flagged as
high priority [1].
The next bridge or panel in the chain may depend on the LVDS signal
being active after atomic_enable, so arbitrarily deferring bridge
initialization is not an option.
[1] https://sashiko.dev/#/patchset/20260719-add-lt9211c-bridge-v6-0-e56d221=
52586%40oss.qualcomm.com
Signed-off-by: Philipp Zabel
Tested-by: Philipp Zabel
---
drivers/gpu/drm/bridge/lontium-lt9211.c | 93 ++++++++-----------------
1 file changed, 30 insertions(+), 63 deletions(-)
diff --git a/drivers/gpu/drm/bridge/lontium-lt9211.c b/drivers/gpu/drm/brid=
ge/lontium-lt9211.c
index ffd0f9f08e2d..1b5cb601adde 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9211.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9211.c
@@ -62,14 +62,7 @@ struct lt9211 {
struct regulator *vccio;
bool lvds_dual_link;
bool lvds_dual_link_even_odd_swap;
- /* LT9211C specific fields */
enum lt9211_chip_type chip_type;
- struct workqueue_struct *wq;
- struct delayed_work lt9211_dw;
- struct drm_display_mode mode;
- bool bpp24;
- bool jeida;
- bool de;
};
=20
static const struct regmap_range lt9211_rw_ranges[] =3D {
@@ -154,8 +147,6 @@ static const struct regmap_config lt9211c_regmap_config=
=3D {
.max_register =3D 0xda00,
};
=20
-static void lt9211_delayed_work_func(struct work_struct *work);
-
static struct lt9211 *bridge_to_lt9211(struct drm_bridge *bridge)
{
return container_of(bridge, struct lt9211, bridge);
@@ -896,8 +887,8 @@ static int lt9211c_configure_plls(struct lt9211 *ctx,
return ret;
}
=20
-static int lt9211c_configure_tx(struct lt9211 *ctx,
- const struct drm_display_mode *mode)
+static int lt9211c_configure_tx(struct lt9211 *ctx, bool jeida, bool bpp24,
+ bool de, const struct drm_display_mode *mode)
{
const struct reg_sequence lt9211c_tx_phy_off_seq[] =3D {
{ 0x8236, 0x00 },
@@ -949,10 +940,10 @@ static int lt9211c_configure_tx(struct lt9211 *ctx,
{ 0x8556, 0x20 },
=20
{ 0x8568, 0x00 },
- { 0x856e, 0x10 | (ctx->de ? BIT(6) : 0) },
- { 0x856f, 0x81 | (ctx->jeida ? BIT(6) : 0) |
+ { 0x856e, 0x10 | (de ? BIT(6) : 0) },
+ { 0x856f, 0x81 | (jeida ? BIT(6) : 0) |
(ctx->lvds_dual_link ? BIT(4) : 0) |
- (ctx->bpp24 ? BIT(2) : 0) },
+ (bpp24 ? BIT(2) : 0) },
};
=20
const struct reg_sequence lt9211c_tx_ssc_seq[] =3D {
@@ -995,7 +986,7 @@ static int lt9211c_configure_tx(struct lt9211 *ctx,
dev_info(ctx->dev,
"dual_link=3D%d,even_odd_swap=3D%d,bpp24=3D%d,jeida=3D%d,de=3D%d\n",
ctx->lvds_dual_link, ctx->lvds_dual_link_even_odd_swap,
- ctx->bpp24, ctx->jeida, ctx->de);
+ bpp24, jeida, de);
=20
ret =3D regmap_multi_reg_write(ctx->regmap, lt9211c_tx_phy_off_seq,
ARRAY_SIZE(lt9211c_tx_phy_off_seq));
@@ -1138,39 +1129,6 @@ static int lt9211c_configure_tx(struct lt9211 *ctx,
return 0;
}
=20
-static void lt9211_delayed_work_func(struct work_struct *work)
-{
- struct delayed_work *dw =3D to_delayed_work(work);
- struct lt9211 *ctx =3D container_of(dw, struct lt9211, lt9211_dw);
- const struct drm_display_mode *mode =3D &ctx->mode;
- int ret;
-
- if (ctx->chip_type !=3D LT9211C) {
- dev_err(ctx->dev, "LT9211: Delayed work called for non-LT9211C chip\n");
- return;
- }
-
- ret =3D lt9211c_configure_rx(ctx);
- if (ret)
- return;
-
- ret =3D lt9211c_autodetect_rx(ctx, mode);
- if (ret)
- return;
-
- ret =3D lt9211c_configure_timing(ctx, mode);
- if (ret)
- return;
-
- ret =3D lt9211c_configure_plls(ctx, mode);
- if (ret)
- return;
-
- ret =3D lt9211c_configure_tx(ctx, mode);
- if (ret)
- return;
-}
-
static void lt9211_atomic_enable(struct drm_bridge *bridge,
struct drm_atomic_commit *state)
{
@@ -1240,11 +1198,30 @@ static void lt9211_atomic_enable(struct drm_bridge =
*bridge,
if (ret)
return;
=20
- if (ctx->chip_type =3D=3D LT9211C && ctx->wq) {
- drm_mode_copy(&ctx->mode, mode);
- /* LT9211C must enable after mipi clock enable */
- queue_delayed_work(ctx->wq, &ctx->lt9211_dw,
- msecs_to_jiffies(100));
+ if (ctx->chip_type =3D=3D LT9211C) {
+ msleep(100);
+
+ ret =3D lt9211c_configure_rx(ctx);
+ if (ret)
+ return;
+
+ ret =3D lt9211c_autodetect_rx(ctx, mode);
+ if (ret)
+ return;
+
+ ret =3D lt9211c_configure_timing(ctx, mode);
+ if (ret)
+ return;
+
+ ret =3D lt9211c_configure_plls(ctx, mode);
+ if (ret)
+ return;
+
+ ret =3D lt9211c_configure_tx(ctx, lvds_format_jeida, lvds_format_24bpp,
+ bus_flags & DRM_BUS_FLAG_DE_HIGH, mode);
+ if (ret)
+ return;
+
dev_dbg(ctx->dev, "LT9211C enabled.\n");
return;
}
@@ -1501,13 +1478,6 @@ static int lt9211_probe(struct i2c_client *client)
if (IS_ERR(ctx->regmap))
return PTR_ERR(ctx->regmap);
=20
- if (ctx->chip_type =3D=3D LT9211C) {
- ctx->wq =3D create_workqueue("lt9211_work");
- if (!ctx->wq)
- return -ENOMEM;
- INIT_DELAYED_WORK(&ctx->lt9211_dw, lt9211_delayed_work_func);
- }
-
dev_set_drvdata(dev, ctx);
i2c_set_clientdata(client, ctx);
=20
@@ -1525,9 +1495,6 @@ static void lt9211_remove(struct i2c_client *client)
{
struct lt9211 *ctx =3D i2c_get_clientdata(client);
=20
- if (ctx->wq)
- destroy_workqueue(ctx->wq);
-
drm_bridge_remove(&ctx->bridge);
}
=20
--=20
2.47.3
From nobody Fri Oct 2 01:12:58 2026
Received: from mx1.white.stw.pengutronix.de (mx1.white.stw.pengutronix.de
[185.203.200.13])
(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 96CF02771B;
Thu, 6 Aug 2026 13:17:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
arc=none smtp.client-ip=185.203.200.13
ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1786022255; cv=none;
b=qEQ6c5AN4zzoEgoE4JAidumketz2590o43WRUgDtMIhvCp4qLi6Q25/KLUoCN+w4bQq9SFQ50eElFCNine2hZbcVVD/OMZmig++bUHcExKzq1/coX2vYq+AjiDWSlJWCtYRUZMT+Qepo45JLzVOHGP1tGS5rCBhwrBBCQblhX5Q=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1786022255; c=relaxed/simple;
bh=2TcSVgyPH4BkkLioijpjMsxIn3KEVym25m9jq5fylk0=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version;
b=utEAqcIrL42QVOvwtVj7NCPV6vnqMK0f77ptdqPtyxkUVoIVGxo4o6ZfuWOt+vI1LSS2Y5L6+9/IGHmcOfnM2D9w0+n+NWiitDqrs+0HD34ET86m/1pqkwY4uplRcaAN8JVbGfALmDzQ1bxm1ZAgR2RBPkh2vRAhM9Wvv8DgScs=
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.200.13
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 drehscheibe.grey.stw.pengutronix.de
(drehscheibe.grey.stw.pengutronix.de [IPv6:2a0a:edc0:0:c01:1d::a2])
(Authenticated sender: relay-from-drehscheibe.grey.stw.pengutronix.de)
by mx1.white.stw.pengutronix.de (Postfix) with ESMTPSA id 155262020FE;
Thu, 06 Aug 2026 15:17:24 +0200 (CEST)
Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54])
by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.96)
(envelope-from )
id 1wrxyO-000664-00;
Thu, 06 Aug 2026 15:17:24 +0200
From: Philipp Zabel
To: Vishnu Saini ,
Yi Zhang ,
Andrzej Hajda ,
Neil Armstrong ,
Robert Foss ,
Laurent Pinchart ,
Jonas Karlman ,
Jernej Skrabec ,
Luca Ceresoli ,
Maarten Lankhorst ,
Maxime Ripard ,
Thomas Zimmermann ,
David Airlie ,
Simona Vetter ,
Rob Herring ,
Krzysztof Kozlowski ,
Conor Dooley ,
Marek Vasut
Cc: dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Nilesh Laad ,
Gopi Botlagunta ,
venkata.valluru@oss.qualcomm.com,
Jessica Zhang ,
Philipp Zabel
Subject: [PATCH 2/7] drm/bridge: lt9211: fix regmap_write error handling
Date: Thu, 6 Aug 2026 15:17:10 +0200
Message-ID: <20260806131715.508557-3-p.zabel@pengutronix.de>
X-Mailer: git-send-email 2.47.3
In-Reply-To: <20260806131715.508557-1-p.zabel@pengutronix.de>
References: <20260719-add-lt9211c-bridge-v6-2-e56d22152586@oss.qualcomm.com>
<20260806131715.508557-1-p.zabel@pengutronix.de>
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
List-Id:
List-Subscribe:
List-Unsubscribe:
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
Do not try to accumulate error return values with bitwise OR.
Fixes the remaining issue flagged by sashiko as low priority [1].
[1] https://sashiko.dev/#/patchset/20260719-add-lt9211c-bridge-v6-0-e56d221=
52586%40oss.qualcomm.com
Signed-off-by: Philipp Zabel
Tested-by: Philipp Zabel
---
drivers/gpu/drm/bridge/lontium-lt9211.c | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/bridge/lontium-lt9211.c b/drivers/gpu/drm/brid=
ge/lontium-lt9211.c
index 1b5cb601adde..bf72d1bcdb48 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9211.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9211.c
@@ -755,6 +755,7 @@ static int lt9211c_configure_plls(struct lt9211 *ctx,
};
=20
unsigned int pval;
+ unsigned int val;
int ret;
u8 div;
u32 pcr_m;
@@ -774,7 +775,9 @@ static int lt9211c_configure_plls(struct lt9211 *ctx,
=20
if (mode->clock < 22000) {
ret =3D regmap_write(ctx->regmap, 0x822f, 0x07);
- ret |=3D regmap_write(ctx->regmap, 0x822c, 0x01);
+ if (ret)
+ return ret;
+ ret =3D regmap_write(ctx->regmap, 0x822c, 0x01);
div =3D 16;
} else if (mode->clock < 44000) {
ret =3D regmap_write(ctx->regmap, 0x822f, 0x07);
@@ -844,15 +847,17 @@ static int lt9211c_configure_plls(struct lt9211 *ctx,
if (ret)
return ret;
=20
- if (mode->clock < 44000) {
- ret =3D regmap_write(ctx->regmap, 0xd00c, 0x60);
- ret |=3D regmap_write(ctx->regmap, 0xd01b, 0x00);
- ret |=3D regmap_write(ctx->regmap, 0xd01c, 0x60);
- } else {
- ret =3D regmap_write(ctx->regmap, 0xd00c, 0x40);
- ret |=3D regmap_write(ctx->regmap, 0xd01b, 0x00);
- ret |=3D regmap_write(ctx->regmap, 0xd01c, 0x40);
- }
+ if (mode->clock < 44000)
+ val =3D 0x60;
+ else
+ val =3D 0x40;
+ ret =3D regmap_write(ctx->regmap, 0xd00c, val);
+ if (ret)
+ return ret;
+ ret =3D regmap_write(ctx->regmap, 0xd01b, 0x00);
+ if (ret)
+ return ret;
+ ret =3D regmap_write(ctx->regmap, 0xd01c, val);
if (ret)
return ret;
=20
--=20
2.47.3
From nobody Fri Oct 2 01:12:58 2026
Received: from mx1.white.stw.pengutronix.de (mx1.white.stw.pengutronix.de
[185.203.200.13])
(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 D39AC23BD06;
Thu, 6 Aug 2026 13:17:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
arc=none smtp.client-ip=185.203.200.13
ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1786022256; cv=none;
b=jxFZdUOa58zctk5ATjPu1e532qiLbRgQJwFwS3YlmCKCH4RBvFgcw04yPaItFPDF/NIkYMWc02hpQYQrdShZj8qcEGJkU1Fm41XsMT26zBct1hPHu7wMP9nIuEmi9Y7IGZXO/KlRPVKQHAH0fRjMf6WYyx07yNa782dh7RrKvQU=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1786022256; c=relaxed/simple;
bh=2yYNybOIFZlz62XGwm8SsbRHs1B3ihVVSO1s9tLK0WQ=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version;
b=SJyTiUhnCzr5m1/lbBBqm9LQQLs21aF2NBgh3ToPOfAuU95n8AJ7ixZLz3V0rmyhr+Vznooz6iY18jReevcee153WpVgKAxjWxqczPrncYnNvRVXSIjHwSBT+IDaz3Fnwnsm4nHjD18I+0DyP7pnBhPbeVsaSdrgPWcx8fDhkSA=
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.200.13
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 drehscheibe.grey.stw.pengutronix.de
(drehscheibe.grey.stw.pengutronix.de [IPv6:2a0a:edc0:0:c01:1d::a2])
(Authenticated sender: relay-from-drehscheibe.grey.stw.pengutronix.de)
by mx1.white.stw.pengutronix.de (Postfix) with ESMTPSA id 9C89A202108;
Thu, 06 Aug 2026 15:17:25 +0200 (CEST)
Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54])
by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.96)
(envelope-from )
id 1wrxyP-000664-1h;
Thu, 06 Aug 2026 15:17:25 +0200
From: Philipp Zabel
To: Vishnu Saini ,
Yi Zhang ,
Andrzej Hajda ,
Neil Armstrong ,
Robert Foss ,
Laurent Pinchart ,
Jonas Karlman ,
Jernej Skrabec ,
Luca Ceresoli ,
Maarten Lankhorst ,
Maxime Ripard ,
Thomas Zimmermann ,
David Airlie ,
Simona Vetter ,
Rob Herring ,
Krzysztof Kozlowski ,
Conor Dooley ,
Marek Vasut
Cc: dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Nilesh Laad ,
Gopi Botlagunta ,
venkata.valluru@oss.qualcomm.com,
Jessica Zhang ,
Philipp Zabel
Subject: [PATCH 3/7] drm/bridge: lt9211: use regmap_write_bits
Date: Thu, 6 Aug 2026 15:17:11 +0200
Message-ID: <20260806131715.508557-4-p.zabel@pengutronix.de>
X-Mailer: git-send-email 2.47.3
In-Reply-To: <20260806131715.508557-1-p.zabel@pengutronix.de>
References: <20260719-add-lt9211c-bridge-v6-2-e56d22152586@oss.qualcomm.com>
<20260806131715.508557-1-p.zabel@pengutronix.de>
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
List-Id:
List-Subscribe:
List-Unsubscribe:
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
Replace regmap_read/regmap_write() pairs with regmap_write_bits().
Signed-off-by: Philipp Zabel
Tested-by: Philipp Zabel
---
drivers/gpu/drm/bridge/lontium-lt9211.c | 18 +++---------------
1 file changed, 3 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/bridge/lontium-lt9211.c b/drivers/gpu/drm/brid=
ge/lontium-lt9211.c
index bf72d1bcdb48..9888119f5287 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9211.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9211.c
@@ -589,11 +589,7 @@ static int lt9211c_configure_rx(struct lt9211 *ctx)
if (ret)
return ret;
=20
- ret =3D regmap_read(ctx->regmap, 0x8180, &pval);
- if (ret)
- return ret;
-
- ret =3D regmap_write(ctx->regmap, 0x8180, ((pval & 0xfc) | 0x03));
+ ret =3D regmap_write_bits(ctx->regmap, 0x8180, 0x3, 0x3);
if (ret)
return ret;
=20
@@ -609,11 +605,7 @@ static int lt9211c_configure_rx(struct lt9211 *ctx)
if (ret)
return ret;
=20
- ret =3D regmap_read(ctx->regmap, 0x8530, &pval);
- if (ret)
- return ret;
-
- ret =3D regmap_write(ctx->regmap, 0x8530, ((pval & 0xf8) | 0x11));
+ ret =3D regmap_write_bits(ctx->regmap, 0x8530, 0x17, 0x11);
if (ret)
return ret;
=20
@@ -998,11 +990,7 @@ static int lt9211c_configure_tx(struct lt9211 *ctx, bo=
ol jeida, bool bpp24,
if (ret)
return ret;
=20
- ret =3D regmap_read(ctx->regmap, 0x8530, &pval);
- if (ret)
- return ret;
-
- ret =3D regmap_write(ctx->regmap, 0x8530, ((pval & 0x3f) | 0x40));
+ ret =3D regmap_write_bits(ctx->regmap, 0x8530, 0xc0, 0x40);
if (ret)
return ret;
=20
--=20
2.47.3
From nobody Fri Oct 2 01:12:58 2026
Received: from mx1.white.stw.pengutronix.de (mx1.white.stw.pengutronix.de
[185.203.200.13])
(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 5FE6A2EA480;
Thu, 6 Aug 2026 13:17:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
arc=none smtp.client-ip=185.203.200.13
ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1786022256; cv=none;
b=GiTWXG3bPJBmSOH2s3pkQ2QJNO177fjYsQQgIUfhx0uImLbbPIVBIRoUteOUM8z0UOG5ToDCogTmZPnfpmoUcq/B0ivtcOBNdJzIeJBT4sIM2X1x9jR/3iZEYhGzsr8ET6qKwse+upyF0KqSfyaYBsotrIHQvwcZzm1a7ujZdVk=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1786022256; c=relaxed/simple;
bh=9kAKX6QmzIobSHh/IOSHYRg+BagTvxHzgngL0+4Upjw=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version;
b=ULsYWUtTVgjPcCKBPa9PTpi0YAlSHHoEQXiaxUY+eFocN2VA7jljvIgrH1LJznlgrkg98ITpbxMZXu0TJOLz7olNF0PJFTRcErf04MoABpSo1EYLQ+K+GmPRz0OVaEUWuVP994q7Xo15MjzQCYCvH/eouyBvzKBbjRLV/zW3bVk=
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.200.13
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 drehscheibe.grey.stw.pengutronix.de
(drehscheibe.grey.stw.pengutronix.de [IPv6:2a0a:edc0:0:c01:1d::a2])
(Authenticated sender: relay-from-drehscheibe.grey.stw.pengutronix.de)
by mx1.white.stw.pengutronix.de (Postfix) with ESMTPSA id 409A6202107;
Thu, 06 Aug 2026 15:17:26 +0200 (CEST)
Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54])
by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.96)
(envelope-from )
id 1wrxyQ-000664-0U;
Thu, 06 Aug 2026 15:17:26 +0200
From: Philipp Zabel
To: Vishnu Saini ,
Yi Zhang ,
Andrzej Hajda ,
Neil Armstrong ,
Robert Foss ,
Laurent Pinchart ,
Jonas Karlman ,
Jernej Skrabec ,
Luca Ceresoli ,
Maarten Lankhorst ,
Maxime Ripard ,
Thomas Zimmermann ,
David Airlie ,
Simona Vetter ,
Rob Herring ,
Krzysztof Kozlowski ,
Conor Dooley ,
Marek Vasut
Cc: dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Nilesh Laad ,
Gopi Botlagunta ,
venkata.valluru@oss.qualcomm.com,
Jessica Zhang ,
Philipp Zabel
Subject: [PATCH 4/7] drm/bridge: lt9211: reuse lt9211_configure_timing in
lt9211c_configure_timing
Date: Thu, 6 Aug 2026 15:17:12 +0200
Message-ID: <20260806131715.508557-5-p.zabel@pengutronix.de>
X-Mailer: git-send-email 2.47.3
In-Reply-To: <20260806131715.508557-1-p.zabel@pengutronix.de>
References: <20260719-add-lt9211c-bridge-v6-2-e56d22152586@oss.qualcomm.com>
<20260806131715.508557-1-p.zabel@pengutronix.de>
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
List-Id:
List-Subscribe:
List-Unsubscribe:
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
Reuse lt9211_configure_timing() in lt9211c_configure_timing().
Signed-off-by: Philipp Zabel
Tested-by: Philipp Zabel
---
drivers/gpu/drm/bridge/lontium-lt9211.c | 26 +++++++------------------
1 file changed, 7 insertions(+), 19 deletions(-)
diff --git a/drivers/gpu/drm/bridge/lontium-lt9211.c b/drivers/gpu/drm/brid=
ge/lontium-lt9211.c
index 9888119f5287..5e5601551658 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9211.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9211.c
@@ -689,26 +689,14 @@ static int lt9211c_autodetect_rx(struct lt9211 *ctx,
static int lt9211c_configure_timing(struct lt9211 *ctx,
const struct drm_display_mode *mode)
{
- const struct reg_sequence lt9211c_timing[] =3D {
- { 0xd00d, (mode->vtotal >> 8) & 0xff },
- { 0xd00e, mode->vtotal & 0xff },
- { 0xd00f, (mode->vdisplay >> 8) & 0xff },
- { 0xd010, mode->vdisplay & 0xff },
- { 0xd011, (mode->htotal >> 8) & 0xff },
- { 0xd012, mode->htotal & 0xff },
- { 0xd013, (mode->hdisplay >> 8) & 0xff },
- { 0xd014, mode->hdisplay & 0xff },
- { 0xd015, (mode->vsync_end - mode->vsync_start) & 0xff },
- { 0xd04c, ((mode->hsync_end - mode->hsync_start) >> 8) & 0xff },
- { 0xd016, (mode->hsync_end - mode->hsync_start) & 0xff },
- { 0xd017, ((mode->vsync_start - mode->vdisplay) >> 8) & 0xff },
- { 0xd018, (mode->vsync_start - mode->vdisplay) & 0xff },
- { 0xd019, ((mode->hsync_start - mode->hdisplay) >> 8) & 0xff },
- { 0xd01a, (mode->hsync_start - mode->hdisplay) & 0xff },
- };
+ int ret;
=20
- return regmap_multi_reg_write(ctx->regmap, lt9211c_timing,
- ARRAY_SIZE(lt9211c_timing));
+ ret =3D lt9211_configure_timing(ctx, mode);
+ if (ret < 0)
+ return ret;
+
+ return regmap_write(ctx->regmap, 0xd04c,
+ ((mode->hsync_end - mode->hsync_start) >> 8) & 0xff);
}
=20
static int lt9211c_configure_plls(struct lt9211 *ctx,
--=20
2.47.3
From nobody Fri Oct 2 01:12:58 2026
Received: from mx1.white.stw.pengutronix.de (mx1.white.stw.pengutronix.de
[185.203.200.13])
(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 80F92137923;
Thu, 6 Aug 2026 13:17:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
arc=none smtp.client-ip=185.203.200.13
ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1786022263; cv=none;
b=flUsBTOQXT+XhxMfU4j+sUHD03cRVbY+tJaml3IgmfbGG8WAQbkA6dJVsvbPS8gjZVs6FtEhT3bqI4vC/zOPCxmuX91NUSyZ6AVxZx5WeSOA1uGISOZxi+bMDWQH8B5YWCTiaXzz0U3s1yYP02YaVuTW8J//ep193xZazJiEquM=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1786022263; c=relaxed/simple;
bh=NjoYzYoJpK0n170py9EhMhQQr1rTjRMeYddlAE3lJGg=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version;
b=Aq4L2va6SX5jeYL1KfIMyb+3N1+PluWcwzBhRmsXbpJOTfNDUbbOdfyHua8szCQeFmx737trCPOs7tYH9jl8Ls0MxdynlmgD5C6+YOIP8MPR8T9XFaqTkRWYBaZ8StXV9h2yD+sRlWouG0Foy4j0rlBXpw8Js0Zc/XZXtYumDnY=
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.200.13
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 drehscheibe.grey.stw.pengutronix.de
(drehscheibe.grey.stw.pengutronix.de [IPv6:2a0a:edc0:0:c01:1d::a2])
(Authenticated sender: relay-from-drehscheibe.grey.stw.pengutronix.de)
by mx1.white.stw.pengutronix.de (Postfix) with ESMTPSA id C25D0200FDB;
Thu, 06 Aug 2026 15:17:26 +0200 (CEST)
Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54])
by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.96)
(envelope-from )
id 1wrxyQ-000664-2C;
Thu, 06 Aug 2026 15:17:26 +0200
From: Philipp Zabel
To: Vishnu Saini ,
Yi Zhang ,
Andrzej Hajda ,
Neil Armstrong ,
Robert Foss ,
Laurent Pinchart ,
Jonas Karlman ,
Jernej Skrabec ,
Luca Ceresoli ,
Maarten Lankhorst ,
Maxime Ripard ,
Thomas Zimmermann ,
David Airlie ,
Simona Vetter ,
Rob Herring ,
Krzysztof Kozlowski ,
Conor Dooley ,
Marek Vasut
Cc: dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Nilesh Laad ,
Gopi Botlagunta ,
venkata.valluru@oss.qualcomm.com,
Jessica Zhang ,
Philipp Zabel
Subject: [PATCH 5/7] drm/bridge: lt9211: combine equal branches
Date: Thu, 6 Aug 2026 15:17:13 +0200
Message-ID: <20260806131715.508557-6-p.zabel@pengutronix.de>
X-Mailer: git-send-email 2.47.3
In-Reply-To: <20260806131715.508557-1-p.zabel@pengutronix.de>
References: <20260719-add-lt9211c-bridge-v6-2-e56d22152586@oss.qualcomm.com>
<20260806131715.508557-1-p.zabel@pengutronix.de>
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
List-Id:
List-Subscribe:
List-Unsubscribe:
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
Combine two branches that set the predivider to the same value.
Signed-off-by: Philipp Zabel
Tested-by: Philipp Zabel
---
drivers/gpu/drm/bridge/lontium-lt9211.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/bridge/lontium-lt9211.c b/drivers/gpu/drm/brid=
ge/lontium-lt9211.c
index 5e5601551658..14afffcb2e4a 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9211.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9211.c
@@ -993,10 +993,7 @@ static int lt9211c_configure_tx(struct lt9211 *ctx, bo=
ol jeida, bool bpp24,
phy_clk =3D (u32)(mode->clock * 7);
=20
/* 0x8231: prediv sel */
- if (mode->clock < 20000) {
- val =3D 0x28;
- pre_div =3D 1;
- } else if (mode->clock < 40000) {
+ if (mode->clock < 40000) {
val =3D 0x28;
pre_div =3D 1;
} else if (mode->clock < 80000) {
--=20
2.47.3
From nobody Fri Oct 2 01:12:58 2026
Received: from mx1.white.stw.pengutronix.de (mx1.white.stw.pengutronix.de
[185.203.200.13])
(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 5CCD13164B4;
Thu, 6 Aug 2026 13:17:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
arc=none smtp.client-ip=185.203.200.13
ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1786022259; cv=none;
b=Y9d+6hmct5ERaf4kP8gQN8St+niXo0xMqGVbZxpOP2pznYCNdAiX1s51YiP2H1Y60QUBnhP3Fhf/mPGww64nIel8RvphN84gPZzkTbyPrzKYizFz6iubyK4Y7nL4MMrIh2+PFiPP1YyQ5eZfbvwUU37kGis59gEhoS7LZ7zIKaU=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1786022259; c=relaxed/simple;
bh=caIjhG3XoWd4tVHzFK5oN/nmcRDnSQEfRNRQ37jBHm4=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version;
b=Qrm+gX/Qxo7kdo/qx3fw0zQ6+b3dkl9ILKTxuMyvv7GTQkhUYX2vRRwNQPTf0CviEiyFwtaBILroqBhwqH7xnZpj01YhohsMCFOt3OE+9xRp3pFYu68MR/MIbSP8xdupuVshR1QsgUKJipqXPFe/nOkesLFNenWrzro5OvmTRjM=
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.200.13
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 drehscheibe.grey.stw.pengutronix.de
(drehscheibe.grey.stw.pengutronix.de [IPv6:2a0a:edc0:0:c01:1d::a2])
(Authenticated sender: relay-from-drehscheibe.grey.stw.pengutronix.de)
by mx1.white.stw.pengutronix.de (Postfix) with ESMTPSA id 5A76720210F;
Thu, 06 Aug 2026 15:17:27 +0200 (CEST)
Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54])
by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.96)
(envelope-from )
id 1wrxyR-000664-0h;
Thu, 06 Aug 2026 15:17:27 +0200
From: Philipp Zabel
To: Vishnu Saini ,
Yi Zhang ,
Andrzej Hajda ,
Neil Armstrong ,
Robert Foss ,
Laurent Pinchart ,
Jonas Karlman ,
Jernej Skrabec ,
Luca Ceresoli ,
Maarten Lankhorst ,
Maxime Ripard ,
Thomas Zimmermann ,
David Airlie ,
Simona Vetter ,
Rob Herring ,
Krzysztof Kozlowski ,
Conor Dooley ,
Marek Vasut
Cc: dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Nilesh Laad ,
Gopi Botlagunta ,
venkata.valluru@oss.qualcomm.com,
Jessica Zhang ,
Philipp Zabel
Subject: [PATCH 6/7] drm/bridge: lt9211: use devm_drm_bridge_add and drop
lt9211_remove
Date: Thu, 6 Aug 2026 15:17:14 +0200
Message-ID: <20260806131715.508557-7-p.zabel@pengutronix.de>
X-Mailer: git-send-email 2.47.3
In-Reply-To: <20260806131715.508557-1-p.zabel@pengutronix.de>
References: <20260719-add-lt9211c-bridge-v6-2-e56d22152586@oss.qualcomm.com>
<20260806131715.508557-1-p.zabel@pengutronix.de>
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
List-Id:
List-Subscribe:
List-Unsubscribe:
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
Use devm_drm_bridge_add() and remove the need to call
drm_bridge_remove() manually. Drop the empty lt9211_remove().
Signed-off-by: Philipp Zabel
Tested-by: Philipp Zabel
---
drivers/gpu/drm/bridge/lontium-lt9211.c | 19 +++----------------
1 file changed, 3 insertions(+), 16 deletions(-)
diff --git a/drivers/gpu/drm/bridge/lontium-lt9211.c b/drivers/gpu/drm/brid=
ge/lontium-lt9211.c
index 14afffcb2e4a..c82f7ee7134c 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9211.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9211.c
@@ -1456,24 +1456,12 @@ static int lt9211_probe(struct i2c_client *client)
if (IS_ERR(ctx->regmap))
return PTR_ERR(ctx->regmap);
=20
- dev_set_drvdata(dev, ctx);
- i2c_set_clientdata(client, ctx);
-
ctx->bridge.of_node =3D dev->of_node;
- drm_bridge_add(&ctx->bridge);
-
- ret =3D lt9211_host_attach(ctx);
+ ret =3D devm_drm_bridge_add(dev, &ctx->bridge);
if (ret)
- drm_bridge_remove(&ctx->bridge);
+ return ret;
=20
- return ret;
-}
-
-static void lt9211_remove(struct i2c_client *client)
-{
- struct lt9211 *ctx =3D i2c_get_clientdata(client);
-
- drm_bridge_remove(&ctx->bridge);
+ return lt9211_host_attach(ctx);
}
=20
static const struct i2c_device_id lt9211_id[] =3D {
@@ -1492,7 +1480,6 @@ MODULE_DEVICE_TABLE(of, lt9211_match_table);
=20
static struct i2c_driver lt9211_driver =3D {
.probe =3D lt9211_probe,
- .remove =3D lt9211_remove,
.id_table =3D lt9211_id,
.driver =3D {
.name =3D "lt9211",
--=20
2.47.3
From nobody Fri Oct 2 01:12:58 2026
Received: from mx1.white.stw.pengutronix.de (mx1.white.stw.pengutronix.de
[185.203.200.13])
(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 C27E0330B32;
Thu, 6 Aug 2026 13:17:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
arc=none smtp.client-ip=185.203.200.13
ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1786022261; cv=none;
b=YZwcVp0dv19xLgNcvoqIIkiBH1zV1Pdzwwqqd5QDDoy3p7qsMykQC2nAmmUf/zj4+p98195QqDslkA7drj6SRxmR96PB3JbwDtPfWsjAOyGIPjH6jgWPyDtpvtJetsjMciXFVrXUKUeB/hiLg30O7OPoIoIjqsCBegcZ308kTV4=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1786022261; c=relaxed/simple;
bh=n5B9tVKJ9XbAPRDOXrC5ulZ3YFXjS2zIeKx4NxRxJFM=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version;
b=M8qjDMiukRsaNzLTy19T0bT+J/LJ2Gerte4mgdeSVoa/HPj2xxKUnhL+6Y3W8zDZeoS74S5rMwaqxKZIbHSsrx3tEtArxjqW0fSIKDMcXsmqWVQABrGY+q6+MVpd4bkr04clPi0c9eRW6emP3SVONRIhQX2CAvpkFcDnIaRD0RQ=
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.200.13
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 drehscheibe.grey.stw.pengutronix.de
(drehscheibe.grey.stw.pengutronix.de [IPv6:2a0a:edc0:0:c01:1d::a2])
(Authenticated sender: relay-from-drehscheibe.grey.stw.pengutronix.de)
by mx1.white.stw.pengutronix.de (Postfix) with ESMTPSA id D1CC4202122;
Thu, 06 Aug 2026 15:17:27 +0200 (CEST)
Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54])
by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.96)
(envelope-from )
id 1wrxyR-000664-2V;
Thu, 06 Aug 2026 15:17:27 +0200
From: Philipp Zabel
To: Vishnu Saini ,
Yi Zhang ,
Andrzej Hajda ,
Neil Armstrong ,
Robert Foss ,
Laurent Pinchart ,
Jonas Karlman ,
Jernej Skrabec ,
Luca Ceresoli ,
Maarten Lankhorst ,
Maxime Ripard ,
Thomas Zimmermann ,
David Airlie ,
Simona Vetter ,
Rob Herring ,
Krzysztof Kozlowski ,
Conor Dooley ,
Marek Vasut
Cc: dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Nilesh Laad ,
Gopi Botlagunta ,
venkata.valluru@oss.qualcomm.com,
Jessica Zhang ,
Oleksij Rempel ,
Philipp Zabel
Subject: [PATCH 7/7] drm/bridge: lt9211: Enable DSI burst mode for LT9211C
Date: Thu, 6 Aug 2026 15:17:15 +0200
Message-ID: <20260806131715.508557-8-p.zabel@pengutronix.de>
X-Mailer: git-send-email 2.47.3
In-Reply-To: <20260806131715.508557-1-p.zabel@pengutronix.de>
References: <20260719-add-lt9211c-bridge-v6-2-e56d22152586@oss.qualcomm.com>
<20260806131715.508557-1-p.zabel@pengutronix.de>
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
List-Id:
List-Subscribe:
List-Unsubscribe:
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
From: Oleksij Rempel
Enable the MIPI_DSI_MODE_VIDEO_BURST flag to produce stable LVDS output
on RK3576. In non-burst mode, the bridge produces a horizontally
unstable image on this platform.
Tested with: AUO G185HAN01.0 dual-link LVDS panel via LT9211C bridge
Signed-off-by: Oleksij Rempel
Signed-off-by: Philipp Zabel
Tested-by: Philipp Zabel
---
drivers/gpu/drm/bridge/lontium-lt9211.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/lontium-lt9211.c b/drivers/gpu/drm/brid=
ge/lontium-lt9211.c
index c82f7ee7134c..e34ee288e466 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9211.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9211.c
@@ -1399,7 +1399,8 @@ static int lt9211_host_attach(struct lt9211 *ctx)
dsi->format =3D MIPI_DSI_FMT_RGB888;
=20
if (ctx->chip_type =3D=3D LT9211C) {
- dsi->mode_flags =3D MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_LPM;
+ dsi->mode_flags =3D MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
+ MIPI_DSI_MODE_LPM;
} else {
dsi->mode_flags =3D
MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE |
--=20
2.47.3