From nobody Fri Sep 25 23:53:49 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (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 60474430794 for ; Mon, 7 Sep 2026 11:14:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788779641; cv=none; b=gAjTRqwjkb5pJDsCN37YQhvrA/MDU47sJdHw55YreiRpjfycBGKQre4zAOwL2ZBI5SbhY194lB4aPfacuCYeC8E+aOXg03KTAU0wWY2awM7hAJTigJXP2YXFgDEuyDkDu08ZQFd3My4htFxAhSIX2mcxtx5bwPvhzwjkeXgBHjE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788779641; c=relaxed/simple; bh=0JexZinUpjJtgR80UaLACEgHGQL+Rq4cVcA9jrJe0r0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=urqpViQ//M+oLWyuE3kd9Vdr5fMtaLIu7qpHcws5V0NSRJa+r0A34ijRijC21GScURH97MN9LKljAfyJsamTrH/ObDSm1/Gnlr/YyKy/ygPUUkBZmBgfl3b7ICjWom8hCW9NMHbl9lFe9KB07o+pXhs/XxweMdZkakaPuFJ/5Og= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=HDcs9Z0t; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="HDcs9Z0t" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id E53AE2E9; Mon, 7 Sep 2026 13:12:22 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1788779543; bh=0JexZinUpjJtgR80UaLACEgHGQL+Rq4cVcA9jrJe0r0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=HDcs9Z0teeAN+3BWeOW7fJahBvOr/6IFgxyQ73AlthwUNZTfPYQAE1zcLqZYKyCJr ubS9PLmj/Rv5y/ie7StbsVRtogBU0yAX1NRCOBFHz/849z0WMDw4NY9Zso1FxdAc+H Wu++n2XIwtmPkcb4JpUEQ6XjMCcD3aplrrvMQ9fE= From: Tomi Valkeinen Date: Mon, 07 Sep 2026 14:13:35 +0300 Subject: [PATCH v2 1/3] drm/bridge: cdns-dsi: Add clk debug print 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: <20260907-cdns-dsi-fixes-v2-1-96d9b116e9bc@ideasonboard.com> References: <20260907-cdns-dsi-fixes-v2-0-96d9b116e9bc@ideasonboard.com> In-Reply-To: <20260907-cdns-dsi-fixes-v2-0-96d9b116e9bc@ideasonboard.com> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Devarsh Thakkar , Tomi Valkeinen X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=945; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=0JexZinUpjJtgR80UaLACEgHGQL+Rq4cVcA9jrJe0r0=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBqnpxzEtWj/WWLIUGQ078uBPQOpOdXjSubr/NYo ZwGOqSNXmmJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCap6ccwAKCRD6PaqMvJYe 9evvD/9IRnhJvTSATPOtlmlncU5+6EE4JbhoJjZdmcgIljvud0Tr2N3zrC2Ia3qjPWa/CgcdBzC okohd4/OQr4BiATCq8PTOI4YuzqAeYZzcwtVZei8NOjjCVGz4bVnnP9EELGb4JII/MasFyeESCO bKi4V5ebPsPLhFL8dIJGiMA0V76POARpERzn+wZag8MFxULXxVpDUKeQHbqxouMsecINIVlvIpD uG5Fa24w5GHCNL0LmRxBSz1V/ObD78zk/28hhCrZVdwLxbx5BGfSUdojS8esE/QhH3tncc/TX0B SCUhM0ygjKy4xObPcEFA198YDxPWkBmlszAGeQotNgapHKTnzofPNgS6IS5Mt8OyVGRDywrWNd5 iBOamLLUIR0hz8O0Suc2cixQ5BOtRLJFtqVtxME/fO8qMXWEb2YkiqI29ENSqwg9GxyZK1d33E0 aNFYJGp8u6LH/DOE4Y2C45Z5aSoOv9VWIrM7C79MiWZm0JDjp8X4zlyCNRYq701sMi30JZXXiZ+ jV5sSQQJuOQFFMud+7kgJ62ymvj/J8dI0n+ZltJHKoKVu2SDPnbepZsUlJnldAF7SQ3POMqYT+2 ATeM3gG5hAll4bUnIEDRRm5rl3VZLjnFFiFRd39oSQAs2d/6qIpQhL5lHcA9csEaVzF1rD/D+58 NEdCUoaK+ZaKt/Q== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 I keep adding this debug print while debugging panel problems. So let's add it properly. Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c b/drivers/gpu/d= rm/bridge/cadence/cdns-dsi-core.c index c3e466ded84a..4b7a3bf58255 100644 --- a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c +++ b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c @@ -718,6 +718,9 @@ static void cdns_dsi_bridge_atomic_pre_enable(struct dr= m_bridge *bridge, u32 tmp, reg_wakeup, div, status; int nlanes; =20 + dev_dbg(dsi->base.dev, "bitclk %lu, byteclk %lu\n", + phy_cfg->hs_clk_rate, phy_cfg->hs_clk_rate / 8); + /* * The cdns-dsi controller needs to be enabled before it's DPI source * has begun streaming. If this is not followed, there is a brief window --=20 2.43.0 From nobody Fri Sep 25 23:53:49 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (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 192F9466AE5 for ; Mon, 7 Sep 2026 11:14:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788779644; cv=none; b=bgKIS/YW7oSapLk/GJrsB9x2DqNcBPpsdr3VZnbjedfgP/BloXLr2pBBRY0ieLYFjSPF24c6yJ9LpuYGbHHbVRVdPgboOWKIGth27QfiqoUwqmZ3mouyCSn/3LMhjjnsQDz7ROznSYGGWYQk5IJbg4Fp7vuaEGhLCcWtND28+ro= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788779644; c=relaxed/simple; bh=IFJAb+6o8d9wr9rFB/PgvXR32kInGplprpdHuE75RfU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qpnKh3IM1sbJDSLda8JzK5O2mYgpf+/RwU3aens5lEsEn21c3XzKEChIITyb8rnCPSQ3G1Bq91Opg49KTP21IomT1rs3RRa96mZe9W8w2J/gIMF9eHH+6zQh9265YqTlnfvuLgaOsaJfKXE2K/d7wh24up4cH0C3jdDCuV7VHvE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=REzH1swV; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="REzH1swV" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id C9A14C45; Mon, 7 Sep 2026 13:12:23 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1788779544; bh=IFJAb+6o8d9wr9rFB/PgvXR32kInGplprpdHuE75RfU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=REzH1swVjVlrw3NRwwc+BD6kHaFwEVuMvATpl8RqzZJdqxP2+zp5bvL801tVek85D bKNQOD17JqcTi15cJkxGJb8uO/+R6gXLa1p9rCKNfEbBndlUHxb2Xby6lMTzF5nl9v cqZcDyA6OBfaQauNPXWPZtAmpA2IhPgD2EG2ymHI= From: Tomi Valkeinen Date: Mon, 07 Sep 2026 14:13:36 +0300 Subject: [PATCH v2 2/3] drm/bridge: cdns-dsi: Fix stop-state at enable time 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: <20260907-cdns-dsi-fixes-v2-2-96d9b116e9bc@ideasonboard.com> References: <20260907-cdns-dsi-fixes-v2-0-96d9b116e9bc@ideasonboard.com> In-Reply-To: <20260907-cdns-dsi-fixes-v2-0-96d9b116e9bc@ideasonboard.com> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Devarsh Thakkar , Tomi Valkeinen X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2314; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=IFJAb+6o8d9wr9rFB/PgvXR32kInGplprpdHuE75RfU=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBqnpxz9jFr2T2K9an+T0VEl32v2PqYv0z13w6V4 uVMgnp1Od+JAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCap6ccwAKCRD6PaqMvJYe 9TzCEACG7BkHiy0rEPFmUTC+F3VjP/XAuawi1RFCCnwIz2fmBlbDxVHvmO0QgTyO7UDKpVWlBOq 7mxLFNumxP5g993EopMdbQeeiPI6tMkXgPmSjTmeISQyXn6XJT4ljlgvido/L1mjdXH6FAwEvtd COYdjZWWd5cZtrpT9FdoW97FooWSMtgy2wUFbFHk8RfNJyyjv8CaUUz4WODjCzsfpi721GhDXEE 3IphVswDuQq9bK+R6yA3IcKaI3TuA17CeqjVHnmuUOdzZnG2uO5kHK/kp1pFJuPzWPmZHhz4Dec drVGDvULDUy9ihDNJjZiH2oGrN5SSr5UfzIAle8P4XqLVd+mv+OK+TPHWqMzhcD9iRdNMReKxEC 5owurWCMJVIfn2Nz69pse1TCd+TuZ33S3ZElILcGY0VcrJK6i6LEENc7WpdfVmA7MVft1BjmfkH SEEuNdxsD3yZiJPoHVpX19TgVM6GO4p6TdyHaNgOaDFyCX94pgMCVFnDjMJ+rziOxjd6D0ce5KO sBWi0yQrnVSlGxWy5dBzhaUkR6MV0z+9vWzYrG+mCOVeLY6Tk2/P069nf5BHrSx45smWFzDOK47 828VgfMq91McmGxzyICbeXaWrg2LwdeAh8l8Jg2f8H08KgEMsPCk6GgHUe+0Nz4yy9lGnesY91E cw+9IYl8qTN31+w== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 When using continuous clock, the cdns dsi doesn't keep the clock lanes in LP-11 long enough to signal a stop state, although the data lanes are kept high long enough. The data lanes most likely stay in LP-11 until there is data to send, so the LP-11 duration is not defined. While some DSI peripherals seem to work fine without correct stop-state on the clock lane, at least Xilinx D-PHY RX fails to initialize if it does not observe correct stop-state. Add explicit stop-state handling to the driver. This is not described in the documentation, but observing the clk and data lanes with an oscilloscope, the solution in this patch seems to work: Set the FORCE_STOP flags for clock and data lanes before starting the D-PHY power up and init sequence, and drop the FORCE_STOP flags after the init has been done, and 100 us has passed. Fixes: e19233955d9e ("drm/bridge: Add Cadence DSI driver") Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c b/drivers/gpu/d= rm/bridge/cadence/cdns-dsi-core.c index 4b7a3bf58255..b9c87f13177a 100644 --- a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c +++ b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c @@ -635,9 +635,16 @@ static void cdns_dsi_hs_init(struct cdns_dsi *dsi) { struct cdns_dsi_output *output =3D &dsi->output; u32 status; + u32 val; =20 if (dsi->phy_initialized) return; + + /* Set force stop state on all lanes */ + val =3D readl(dsi->regs + MCTL_MAIN_EN); + val |=3D DATA_FORCE_STOP | CLK_FORCE_STOP; + writel(val, dsi->regs + MCTL_MAIN_EN); + /* * Power all internal DPHY blocks down and maintain their reset line * asserted before changing the DPHY config. @@ -661,6 +668,13 @@ static void cdns_dsi_hs_init(struct cdns_dsi *dsi) writel(DPHY_CMN_PSO | DPHY_ALL_D_PDN | DPHY_C_PDN | DPHY_CMN_PDN | DPHY_D_RSTB(output->dev->lanes) | DPHY_C_RSTB, dsi->regs + MCTL_DPHY_CFG0); + + /* Keep stop state for at least 100 us */ + usleep_range(100, 200); + + val &=3D ~(DATA_FORCE_STOP | CLK_FORCE_STOP); + writel(val, dsi->regs + MCTL_MAIN_EN); + dsi->phy_initialized =3D true; } =20 --=20 2.43.0 From nobody Fri Sep 25 23:53:49 2026 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (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 58817446C17 for ; Mon, 7 Sep 2026 11:14:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788779645; cv=none; b=XS/UXEFmYEOEUAgTokIr06LccUxf9D+Siz8oTwWOpVsOTWG270vjQPCuvY9uNQr9AcF80ENwtcstVnqHB5UrUXglcKUWL7Xi0Nj67Fmf9aknmZKfiLgDtUAIk3HXrOiI0GeyxVFWFa70Z1/YY0QN2OfuOu+abitsnbc9tQnH9Wg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788779645; c=relaxed/simple; bh=IF7/QZzY98Mk0jkHdGau1HOZBoUPWAMSA8NOOznq/JI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=X/FRlJNpFSvtjjhfpIGXL8BjwUc3OzIoNgBa9/TvXSds2CwUlwLIjycdnqZlrLyzMqiFwVzaEwT7WapfQKY+4ihXGLpa8FFXw1kKWCEpDNqExaAy5FZgx1T0t1X07lcYY6DlrC6XCX2idjnMDVKs/qvhQ1ZyeXRuC0H5xHjEFpY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=tBgg0r/p; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="tBgg0r/p" Received: from [127.0.1.1] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id AEE0FE4E; Mon, 7 Sep 2026 13:12:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1788779545; bh=IF7/QZzY98Mk0jkHdGau1HOZBoUPWAMSA8NOOznq/JI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=tBgg0r/p7iZoGEU+OoAAFUXIWfQQscO8i7bpzohiKfRQxglP+DTuqEvAbG9hfgL+F hwPmX0JUJWYJK0lIoFkI+bihIBx/mwIhiJpRZRIi04Q9KG700A9Llywz62Qf1r8Qk6 JwqjMCcKdDhV1kgJU8ZC2AjJdead+TEXrn86fNtU= From: Tomi Valkeinen Date: Mon, 07 Sep 2026 14:13:37 +0300 Subject: [PATCH v2 3/3] drm/bridge: cdns-dsi: Fix mode and bus flags 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: <20260907-cdns-dsi-fixes-v2-3-96d9b116e9bc@ideasonboard.com> References: <20260907-cdns-dsi-fixes-v2-0-96d9b116e9bc@ideasonboard.com> In-Reply-To: <20260907-cdns-dsi-fixes-v2-0-96d9b116e9bc@ideasonboard.com> To: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Devarsh Thakkar , Tomi Valkeinen X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1683; i=tomi.valkeinen@ideasonboard.com; h=from:subject:message-id; bh=IF7/QZzY98Mk0jkHdGau1HOZBoUPWAMSA8NOOznq/JI=; b=owEBbQKS/ZANAwAIAfo9qoy8lh71AcsmYgBqnpxz0kjdAEYiV5zem79KE/MRmCXQ9oUH5KLY/ lOJSRpJRKWJAjMEAAEIAB0WIQTEOAw+ll79gQef86f6PaqMvJYe9QUCap6ccwAKCRD6PaqMvJYe 9SqID/9oNHPq/E69+5+TkSmXFCeOY58yPDphrYtLDBWH4L+9qOUvjFA3Z18/ErmKqcZNW/PQhPh d0HlLa57oQCV5HPtIzbZ20WmDg9C9cU6Zh1wQjDFq+ikjgAzX2CzxvxidYGMwWmw7G2eN1gTBI8 KS8jpDjJEa2wXUY2RQqaxzY8X/DWDEExP9GMi+PYLJ203Lw1viGXMofkgWvK+KzsEkXpFMblx75 MbrFkyy4Sj4vpOxLuonEBTNz65AFlG5+jOY9M79BR56gd/Iv8ouixgJLkLLGiouVwxB4cVObf31 BGgFUDqRDTxgYE+nJiC/RPqiz2x5e9PFIuO5IYU6HU4o1CwUH85ZOabCQKPnW5ktcLc3WGod+HR b44cePb50Dp9v5hHV32yO3FCpSuGq4y4lvGdToVU19VelczfWxf70bcR54Bdg7bTBVC/P4CKUoV TBQOCaYH79ZS/rSRis+V8AEv94DYpWI+qs82UorcczXCT4GqPFUpJyBJYo8A/tEt668zeqi1uyd QOVFDrcJneDZ+X3neN0CkNI6fBIxDwSUr4eEJ9y4SzaYYGE0skQ/XfB5aA7/XwoOmks9AR1Y9lx v3TxkD7SDl6K/1ehkTHMeL+rSA9qfrmp7x9v1dVbA0L7Uns9XNFGQqKBygzrpDhCBvgCyz/eEeH 4SsQmPrXE7MGetA== X-Developer-Key: i=tomi.valkeinen@ideasonboard.com; a=openpgp; fpr=C4380C3E965EFD81079FF3A7FA3DAA8CBC961EF5 The driver adjusts the flags in adjusted_mode to force the source to send negative syncs. However, cdns-dsi also requires DE high, which is not handled at all. Add the correct DE high, along with explicit drive flags, via bridge_state->input_bus_cfg.flags. Also make the mode flags more robust: instead of passing the flags forward with corrected h/v syncs, just set the full flags variable, as there's no reason to pass any flags from the connector side to the source. Fixes: e19233955d9e ("drm/bridge: Add Cadence DSI driver") Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c b/drivers/gpu/d= rm/bridge/cadence/cdns-dsi-core.c index b9c87f13177a..ebaa060025a9 100644 --- a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c +++ b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c @@ -967,9 +967,11 @@ static int cdns_dsi_bridge_atomic_check(struct drm_bri= dge *bridge, struct videomode vm; long pclk; =20 - /* cdns-dsi requires negative syncs */ - adjusted_mode->flags &=3D ~(DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC); - adjusted_mode->flags |=3D DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC; + /* cdns-dsi requires negative syncs, and DE high */ + adjusted_mode->flags =3D DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC; + bridge_state->input_bus_cfg.flags =3D DRM_BUS_FLAG_DE_HIGH | + DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE | + DRM_BUS_FLAG_SYNC_DRIVE_POSEDGE; =20 /* * The DPHY PLL has quite a coarsely grained clock rate options. See --=20 2.43.0