From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4E646C433EF for ; Mon, 14 Mar 2022 11:31:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238938AbiCNLdE (ORCPT ); Mon, 14 Mar 2022 07:33:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51142 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238922AbiCNLdC (ORCPT ); Mon, 14 Mar 2022 07:33:02 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 03B1A41F9F for ; Mon, 14 Mar 2022 04:31:53 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9BA0A106F; Mon, 14 Mar 2022 04:31:52 -0700 (PDT) Received: from [10.57.42.204] (unknown [10.57.42.204]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2D0E13F99C; Mon, 14 Mar 2022 04:31:50 -0700 (PDT) Message-ID: Date: Mon, 14 Mar 2022 11:31:45 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Thunderbird/91.6.2 Subject: Re: [PATCH] drm/bridge: synopsys/dw-hdmi: set cec clock rate Content-Language: en-GB To: Peter Geis , Piotr Oniszczuk Cc: Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , David Airlie , Daniel Vetter , Pierre-Hugues Husson , Archit Taneja , Sascha Hauer , "open list:ARM/Rockchip SoC..." , =?UTF-8?Q?Heiko_St=c3=bcbner?= , dri-devel@lists.freedesktop.org, "linux-kernel@vger.kernel.org" References: <20220126202427.3047814-1-pgwipeout@gmail.com> <3AFD1DD4-AF0A-4ECC-B4F5-E6BD6B9F1BB7@gmail.com> From: Robin Murphy In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2022-03-13 12:56, Peter Geis wrote: > On Sun, Mar 13, 2022 at 6:13 AM Piotr Oniszczuk > wrote: >> >> >> >>> Wiadomość napisana przez Peter Geis w dniu 26.01.2022, o godz. 21:24: >>> >>> The hdmi-cec clock must be 32khz in order for cec to work correctly. >>> Ensure after enabling the clock we set it in order for the hardware to >>> work as expected. >>> Warn on failure, in case this is a static clock that is slighty off. >>> Fixes hdmi-cec support on Rockchip devices. >>> >>> Fixes: ebe32c3e282a ("drm/bridge: synopsys/dw-hdmi: Enable cec clock") >>> >>> Signed-off-by: Peter Geis >>> --- >>> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 7 +++++++ >>> 1 file changed, 7 insertions(+) >>> >>> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c >>> index 54d8fdad395f..1a96da60e357 100644 >>> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c >>> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c >>> @@ -48,6 +48,9 @@ >>> >>> #define HDMI14_MAX_TMDSCLK 340000000 >>> >>> +/* HDMI CEC needs a clock rate of 32khz */ >>> +#define HDMI_CEC_CLK_RATE 32768 >>> + >>> enum hdmi_datamap { >>> RGB444_8B = 0x01, >>> RGB444_10B = 0x03, >>> @@ -3347,6 +3350,10 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev, >>> ret); >>> goto err_iahb; >>> } >>> + >>> + ret = clk_set_rate(hdmi->cec_clk, HDMI_CEC_CLK_RATE); >>> + if (ret) >>> + dev_warn(hdmi->dev, "Cannot set HDMI cec clock rate: %d\n", ret); >>> } >>> >>> /* Product and revision IDs */ >>> -- >>> 2.25.1 >>> >>> >>> _______________________________________________ >>> Linux-rockchip mailing list >>> Linux-rockchip@lists.infradead.org >>> http://lists.infradead.org/mailman/listinfo/linux-rockchip >> >> Peter, >> >> On my 5.17-rc7 with applied rk356x VOP2 v8 series - this patch makes CEC working on rk3566. >> Unfortunately it breaks working ok CEC on rk3399 rockpi-4b. >> >> Reverting this patch brings back CEC on rk3399 - but rk3366 becomes with non working CEC >> >> I'm not sure how to move forward with this.... > > I was worried about that, thanks for testing it. > Can you send me the cec_clk rate before and after this patch? Hmm, looks like there might be a bug in the RK3399 clock driver - although it's treated as having mux_pll_p as parents, according to the public TRM the CEC clock appears unique in being backwards compared to every other mux of those two inputs. I'm now tempted to test this on my board tonight and see if I can see 24MHz on the CEC pin... :) Robin.