Message ID | 20230427142934.55435-3-francesco@dolcini.it |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp330878vqo; Thu, 27 Apr 2023 08:03:17 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ54s3N/V7O2s/+H2NFEGRDeTxjSmMtcyev+IROe4iVZPDVooFFOePQ0blar9uLS1pnjjM0i X-Received: by 2002:a05:6a20:958d:b0:ef:e240:b559 with SMTP id iu13-20020a056a20958d00b000efe240b559mr2146801pzb.46.1682607797376; Thu, 27 Apr 2023 08:03:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682607797; cv=none; d=google.com; s=arc-20160816; b=r91y2W4KNeYoprQEsTtX7CICVNthRa8Ea1nzRk0ZfATwXWuT1Ki/GeZsGTMBJBsSG2 OvL/TZ0Mf475LkhyM69Hc/d1+6OaafqLYIrcaNRknNJbUgr8FQYAWzTvTPFFPsXNMlel a2TcF1GBVGHDRgrYA6HvcaV27e4+NIOxapd3KDAOE/ui+kPNOxu5CszUbvkkNijCg2WB j1xEVC6AVvAupHiP2bKPrYIvTpA0ixUqyI1YlAjfT2TnJmTDWj1AwTuyTM+ptfe3XFRN RzXGPpymQNRHRUVRbPsyOb+F4uU5zxw8iISiUzQwbZTF6NXJrOa261cydD26fu4Sc+4S fhNA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from; bh=BcZawSlRTUe3EEm2H5Abe9LXuKrbNun3jXgsY5x6Fdg=; b=ujy8BneihImR2ElCrvmjyJGpoX3pDRqufrrmfCGjRmhCt556/EFBdQ9LffjNAiv98U HO/AQOF6tGYvnWXSfdyaB8jIoLQK84fs1ljPAfXalzc2C/zY+xEgO9szs3hZutIonGhA /Yu5lC9EDsgKM7tItb8peDJ7FH0Z3GDdicVWx9o+0+9ndz2Uu6tG0CH8PITnZFARO41f GOjRm0E5T+Me6dBfBx89oaHbmzsC39+etMDRPdajhBCb4XC5z4Z5pEu3IO3vSfdKtbsv DafpIRSpK7xn8MI+5tobFIl1zvF4R8qv8L8CTPZcB+lBLzwDGgnWIZjdAeRND/jTf99u ILKg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j24-20020a63cf18000000b005030006a2desi17989421pgg.182.2023.04.27.08.02.58; Thu, 27 Apr 2023 08:03:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244100AbjD0OaV (ORCPT <rfc822;zxc52fgh@gmail.com> + 99 others); Thu, 27 Apr 2023 10:30:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49852 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243468AbjD0OaT (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Thu, 27 Apr 2023 10:30:19 -0400 Received: from mail11.truemail.it (mail11.truemail.it [217.194.8.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3B2CA5BAC for <linux-kernel@vger.kernel.org>; Thu, 27 Apr 2023 07:29:44 -0700 (PDT) Received: from francesco-nb.pivistrello.it (93-49-2-63.ip317.fastwebnet.it [93.49.2.63]) by mail11.truemail.it (Postfix) with ESMTPA id 5073420B52; Thu, 27 Apr 2023 16:29:40 +0200 (CEST) From: Francesco Dolcini <francesco@dolcini.it> To: Andrzej Hajda <andrzej.hajda@intel.com>, Neil Armstrong <neil.armstrong@linaro.org>, Robert Foss <rfoss@kernel.org>, Laurent Pinchart <Laurent.pinchart@ideasonboard.com>, Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@gmail.com>, tomi.valkeinen@ideasonboard.com, dri-devel@lists.freedesktop.org Cc: Francesco Dolcini <francesco.dolcini@toradex.com>, David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>, linux-kernel@vger.kernel.org Subject: [PATCH v1 2/9] drm/bridge: tc358768: fix PLL parameters computation Date: Thu, 27 Apr 2023 16:29:27 +0200 Message-Id: <20230427142934.55435-3-francesco@dolcini.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230427142934.55435-1-francesco@dolcini.it> References: <20230427142934.55435-1-francesco@dolcini.it> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_PASS, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1764342153892532040?= X-GMAIL-MSGID: =?utf-8?q?1764342153892532040?= |
Series |
drm/bridge: tc358768: various fixes on PLL calculation and DSI timings
|
|
Commit Message
Francesco Dolcini
April 27, 2023, 2:29 p.m. UTC
From: Francesco Dolcini <francesco.dolcini@toradex.com> According to Toshiba documentation the PLL input clock after the divider should be not less than 4MHz, fix the PLL parameters computation accordingly. Fixes: ff1ca6397b1d ("drm/bridge: Add tc358768 driver") Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> --- drivers/gpu/drm/bridge/tc358768.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
Comments
On Thu, Apr 27, 2023 at 4:35 PM Francesco Dolcini <francesco@dolcini.it> wrote: > > From: Francesco Dolcini <francesco.dolcini@toradex.com> > > According to Toshiba documentation the PLL input clock after the divider > should be not less than 4MHz, fix the PLL parameters computation > accordingly. > > Fixes: ff1ca6397b1d ("drm/bridge: Add tc358768 driver") > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> > --- > drivers/gpu/drm/bridge/tc358768.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/bridge/tc358768.c b/drivers/gpu/drm/bridge/tc358768.c > index 8f349bf4fc32..e9e3f9e02bba 100644 > --- a/drivers/gpu/drm/bridge/tc358768.c > +++ b/drivers/gpu/drm/bridge/tc358768.c > @@ -334,13 +334,17 @@ static int tc358768_calc_pll(struct tc358768_priv *priv, > u32 fbd; > > for (fbd = 0; fbd < 512; ++fbd) { > - u32 pll, diff; > + u32 pll, diff, pll_in; > > pll = (u32)div_u64((u64)refclk * (fbd + 1), divisor); > > if (pll >= max_pll || pll < min_pll) > continue; > > + pll_in = (u32)div_u64((u64)refclk, prd + 1); > + if (pll_in < 4000000) > + continue; > + > diff = max(pll, target_pll) - min(pll, target_pll); > > if (diff < best_diff) { > -- > 2.25.1 > Reviewed-by: Robert Foss <rfoss@kernel.org>
diff --git a/drivers/gpu/drm/bridge/tc358768.c b/drivers/gpu/drm/bridge/tc358768.c index 8f349bf4fc32..e9e3f9e02bba 100644 --- a/drivers/gpu/drm/bridge/tc358768.c +++ b/drivers/gpu/drm/bridge/tc358768.c @@ -334,13 +334,17 @@ static int tc358768_calc_pll(struct tc358768_priv *priv, u32 fbd; for (fbd = 0; fbd < 512; ++fbd) { - u32 pll, diff; + u32 pll, diff, pll_in; pll = (u32)div_u64((u64)refclk * (fbd + 1), divisor); if (pll >= max_pll || pll < min_pll) continue; + pll_in = (u32)div_u64((u64)refclk, prd + 1); + if (pll_in < 4000000) + continue; + diff = max(pll, target_pll) - min(pll, target_pll); if (diff < best_diff) {