Message ID | 20230913065911.1551166-1-andreas@kemnade.info |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9ecd:0:b0:3f2:4152:657d with SMTP id t13csp901726vqx; Wed, 13 Sep 2023 00:08:16 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFPi7FuaLJEddt9ki8eyWUXCMTBWKuQBsgpLaXeYTn9dh8DH5+O93BckPW1yHVZerU1WyGK X-Received: by 2002:a17:902:850b:b0:1bd:d6b5:a54f with SMTP id bj11-20020a170902850b00b001bdd6b5a54fmr1684621plb.55.1694588896152; Wed, 13 Sep 2023 00:08:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694588896; cv=none; d=google.com; s=arc-20160816; b=QRBgv+P0FscNv8JIKicCKLl/mWk226uiLDQlICCVcAdRmXorLN3vmxaPg3BCzVL52v 0RRq7az+tIc+iepgaLKdJhx3Vy1rUwKWtTgl1Tuv4BQMKVLcIFhO2prxVQ85IB8rt5kD dRQFQNzqtC6AF2K7q99tCwYw2cFK+VW7Wmf2oenbeAa4xYuw0Qv5E6EgAdNZjJGys02+ lXMJoEwI9MDQmFbS45XYx3Yj22Qw26dTMlqifrcJnN1sCDkjPF//uKoKZeMFf7+t9vhF 4IQfzhQ7t/ubQIJtKZ+dJqUMG3ZHZG44BsSkp35PwaI4j0x4xfYIWkjS1c+EL0eujrBX DhgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:to:from; bh=wPbiptho50Fr3BJV1rmd+pagigaug77Bz+TPVK/M8Ec=; fh=0JBoTr1o7Wg+4eNMFoTElxacmeSrLDcwlKHajMkWiD8=; b=jDi17LaBuzqPMHfCkmGCXeJw4Jf84qH7IgLSB3CWtn0KUwlEoYa/B06qd6sTqkMOyD wl3HC+TbjLKzOITvogD0hkO3hWuO7gTdvLh8W2pehboVbMiE5O9NDrrdEKNTmpRe2smk wfUyp1mQX3zdjgHvpdk1RiG3y5EVZS0k27Q5vob/YQgCa+V6ldTleiWUaaBNww6Kpwdh +C9+k8JozpxgSWTwgk23miubKAiaPtO2gJrXepzzevh0W1GqogoYaaEQ4Bn3MSYKLIlH 6SPKK7aDs+S14B5Gy71Q4TG9LAApaax6pvdFz+54CA66vAn4zL1+q21qWun0tbNCWIOj gMAw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id bi5-20020a170902bf0500b001b9e9fa3a38si9231575plb.646.2023.09.13.00.08.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Sep 2023 00:08:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id D3CDD813EAA0; Tue, 12 Sep 2023 23:59:37 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235288AbjIMG7i (ORCPT <rfc822;chrisfriedt@gmail.com> + 36 others); Wed, 13 Sep 2023 02:59:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54164 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230088AbjIMG7h (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 13 Sep 2023 02:59:37 -0400 Received: from mail.andi.de1.cc (mail.andi.de1.cc [IPv6:2a02:c205:3004:2154::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C7D9A1738; Tue, 12 Sep 2023 23:59:32 -0700 (PDT) Received: from p200300ccff163a001a3da2fffebfd33a.dip0.t-ipconnect.de ([2003:cc:ff16:3a00:1a3d:a2ff:febf:d33a] helo=aktux) by mail.andi.de1.cc with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <andreas@kemnade.info>) id 1qgJqH-003fzu-6Q; Wed, 13 Sep 2023 08:59:17 +0200 Received: from andi by aktux with local (Exim 4.96) (envelope-from <andreas@kemnade.info>) id 1qgJqG-006VX4-2U; Wed, 13 Sep 2023 08:59:16 +0200 From: Andreas Kemnade <andreas@kemnade.info> To: tomi.valkeinen@ideasonboard.com, airlied@gmail.com, daniel@ffwll.ch, u.kleine-koenig@pengutronix.de, andreas@kemnade.info, arnd@arndb.de, laurent.pinchart@ideasonboard.com, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Tony Lindgren <tony@atomide.com>, linux-omap@vger.kernel.org Subject: [RFC PATCH] drm: omapdrm: dsi: add refsel also for omap4 Date: Wed, 13 Sep 2023 08:59:11 +0200 Message-Id: <20230913065911.1551166-1-andreas@kemnade.info> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 12 Sep 2023 23:59:37 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1776905245946161045 X-GMAIL-MSGID: 1776905245946161045 |
Series |
[RFC] drm: omapdrm: dsi: add refsel also for omap4
|
|
Commit Message
Andreas Kemnade
Sept. 13, 2023, 6:59 a.m. UTC
Some 3.0 source has it set behind a if (omap4).
Maybe it is helpful maybe not, at least in the omap4460
trm these bits are marked as reserved.
But maybe some dsi video mode panel starts magically working.
Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
---
drivers/gpu/drm/omapdrm/dss/dsi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
* Andreas Kemnade <andreas@kemnade.info> [230913 06:59]: > Some 3.0 source has it set behind a if (omap4). > Maybe it is helpful maybe not, at least in the omap4460 > trm these bits are marked as reserved. > But maybe some dsi video mode panel starts magically working. Interesting. So Andreas mentioned that dsi video mode works on omap5 but not on omap4. Adding Sebastian to the list too. Regards, Tony > > Signed-off-by: Andreas Kemnade <andreas@kemnade.info> > --- > drivers/gpu/drm/omapdrm/dss/dsi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c > index 60189a23506a1..e2f576cd9f63c 100644 > --- a/drivers/gpu/drm/omapdrm/dss/dsi.c > +++ b/drivers/gpu/drm/omapdrm/dss/dsi.c > @@ -4505,7 +4505,7 @@ static const struct dss_pll_hw dss_omap4_dsi_pll_hw = { > .has_stopmode = true, > .has_freqsel = false, > .has_selfreqdco = false, > - .has_refsel = false, > + .has_refsel = true, > }; > > static const struct dss_pll_hw dss_omap5_dsi_pll_hw = { > -- > 2.39.2 >
On 13/09/2023 09:59, Andreas Kemnade wrote: > Some 3.0 source has it set behind a if (omap4). > Maybe it is helpful maybe not, at least in the omap4460 > trm these bits are marked as reserved. > But maybe some dsi video mode panel starts magically working. Sorry, what does this mean? That this fixes something, or you are just guessing? I'm somewhat sure that the upstream driver used to work on omap4 sdp, which has two DSI panels. But I can't even remember what omap4 version it had. Tomi > Signed-off-by: Andreas Kemnade <andreas@kemnade.info> > --- > drivers/gpu/drm/omapdrm/dss/dsi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c > index 60189a23506a1..e2f576cd9f63c 100644 > --- a/drivers/gpu/drm/omapdrm/dss/dsi.c > +++ b/drivers/gpu/drm/omapdrm/dss/dsi.c > @@ -4505,7 +4505,7 @@ static const struct dss_pll_hw dss_omap4_dsi_pll_hw = { > .has_stopmode = true, > .has_freqsel = false, > .has_selfreqdco = false, > - .has_refsel = false, > + .has_refsel = true, > }; > > static const struct dss_pll_hw dss_omap5_dsi_pll_hw = {
* Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> [230913 12:11]: > I'm somewhat sure that the upstream driver used to work on omap4 sdp, which > has two DSI panels. But I can't even remember what omap4 version it had. I think those were both dsi command mode panels though, not video mode? Regards, Tony
On 13/09/2023 15:48, Tony Lindgren wrote: > * Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> [230913 12:11]: >> I'm somewhat sure that the upstream driver used to work on omap4 sdp, which >> has two DSI panels. But I can't even remember what omap4 version it had. > > I think those were both dsi command mode panels though, not video mode? Yes, true. If the PLL is totally wrong due to refsel, I'm sure a command mode panel would also fail. But it's true that video mode panels are more sensitive to the clock rate. Tomi
On Wed, 13 Sep 2023 15:11:08 +0300 Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> wrote: > On 13/09/2023 09:59, Andreas Kemnade wrote: > > Some 3.0 source has it set behind a if (omap4). > > Maybe it is helpful maybe not, at least in the omap4460 > > trm these bits are marked as reserved. > > But maybe some dsi video mode panel starts magically working. > > Sorry, what does this mean? That this fixes something, or you are > just guessing? > just diffing registers between good and bad. It does not fix anything, just reducing the diff. > I'm somewhat sure that the upstream driver used to work on omap4 sdp, > which has two DSI panels. But I can't even remember what omap4 > version it had. > after we are using displays from gpu/drm/displays? Regards Andreas
Am Wed, 13 Sep 2023 15:58:11 +0300 schrieb Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>: > On 13/09/2023 15:48, Tony Lindgren wrote: > > * Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> [230913 12:11]: > >> I'm somewhat sure that the upstream driver used to work on omap4 > >> sdp, which has two DSI panels. But I can't even remember what > >> omap4 version it had. > > > > I think those were both dsi command mode panels though, not video > > mode? > > Yes, true. If the PLL is totally wrong due to refsel, I'm sure a > command mode panel would also fail. But it's true that video mode > panels are more sensitive to the clock rate. > hmm, still analyzing: What works: OMAP5 + Pyra (Videomode display requiring some init commands) some command mode stuff with OMAP4 (droid4) What does not work: OMAP4 with some dsi videomode to something else (LVDS/DPI) converter if init commands are sent through dsi, then these commands fail with bta sync problems. So sending init commands to video mode displays seems not to be a principal problem. But looking deeper at the drivers, there seem to be commands sent to the converters to configure lanes on that side, e.g. tc358762_write(ctx, DSI_LANEENABLE, LANEENABLE_L0EN | LANEENABLE_CLEN); There might be trouble if these are not sent in low power mode. So probably the next analyzing step would be to check if things are really sent in low power mode. Regards, Andreas
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c index 60189a23506a1..e2f576cd9f63c 100644 --- a/drivers/gpu/drm/omapdrm/dss/dsi.c +++ b/drivers/gpu/drm/omapdrm/dss/dsi.c @@ -4505,7 +4505,7 @@ static const struct dss_pll_hw dss_omap4_dsi_pll_hw = { .has_stopmode = true, .has_freqsel = false, .has_selfreqdco = false, - .has_refsel = false, + .has_refsel = true, }; static const struct dss_pll_hw dss_omap5_dsi_pll_hw = {