lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHCN7xLJ8D3dkbdEtUFd5RSvt=V0Xjmus2MxSKyRPhGRMrH+LA@mail.gmail.com>
Date:   Fri, 5 May 2023 19:37:17 -0500
From:   Adam Ford <aford173@...il.com>
To:     linux-arm-kernel@...ts.infradead.org
Cc:     aford@...conembedded.com, Rob Herring <robh+dt@...nel.org>,
        Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
        Shawn Guo <shawnguo@...nel.org>,
        Sascha Hauer <s.hauer@...gutronix.de>,
        Pengutronix Kernel Team <kernel@...gutronix.de>,
        Fabio Estevam <festevam@...il.com>,
        NXP Linux Team <linux-imx@....com>,
        Marek Vasut <marex@...x.de>, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH V2] arm64: dts: imx8mn: Fix video clock parents

On Sun, Apr 23, 2023 at 7:35 AM Adam Ford <aford173@...il.com> wrote:
>
> There are a few clocks whose parents are set in mipi_dsi
> and mxsfb nodes, but these clocks are used by the disp_blk_ctrl
> power domain which may cause an issue when re-parenting, resuling
> in a disp_pixel clock having the wrong parent and wrong rate.
>
> Fix this by moving the assigned-clock-parents as associate clock
> assignments to the power-domain node to setup these clocks before
> they are enabled.
>
> Fixes: d825fb6455d5 ("arm64: dts: imx8mn: Add display pipeline components")
> Signed-off-by: Adam Ford <aford173@...il.com>

Shawn,

Any chance this can get applied?  Without it, the 8MN video doesn't
have correct parents and therefore the wrong clock rates too.

adam
> ---
> V2:  Split this into a separate patch away from a series of DSIM changes.
>      No actual changes made to the patch.
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> index bd84db550053..8be8f090e8b8 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> @@ -1069,13 +1069,6 @@ lcdif: lcdif@...00000 {
>                                          <&clk IMX8MN_CLK_DISP_APB_ROOT>,
>                                          <&clk IMX8MN_CLK_DISP_AXI_ROOT>;
>                                 clock-names = "pix", "axi", "disp_axi";
> -                               assigned-clocks = <&clk IMX8MN_CLK_DISP_PIXEL_ROOT>,
> -                                                 <&clk IMX8MN_CLK_DISP_AXI>,
> -                                                 <&clk IMX8MN_CLK_DISP_APB>;
> -                               assigned-clock-parents = <&clk IMX8MN_CLK_DISP_PIXEL>,
> -                                                        <&clk IMX8MN_SYS_PLL2_1000M>,
> -                                                        <&clk IMX8MN_SYS_PLL1_800M>;
> -                               assigned-clock-rates = <594000000>, <500000000>, <200000000>;
>                                 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
>                                 power-domains = <&disp_blk_ctrl IMX8MN_DISPBLK_PD_LCDIF>;
>                                 status = "disabled";
> @@ -1093,12 +1086,6 @@ mipi_dsi: dsi@...10000 {
>                                 clocks = <&clk IMX8MN_CLK_DSI_CORE>,
>                                          <&clk IMX8MN_CLK_DSI_PHY_REF>;
>                                 clock-names = "bus_clk", "sclk_mipi";
> -                               assigned-clocks = <&clk IMX8MN_CLK_DSI_CORE>,
> -                                                 <&clk IMX8MN_CLK_DSI_PHY_REF>;
> -                               assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_266M>,
> -                                                        <&clk IMX8MN_CLK_24M>;
> -                               assigned-clock-rates = <266000000>, <24000000>;
> -                               samsung,pll-clock-frequency = <24000000>;
>                                 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
>                                 power-domains = <&disp_blk_ctrl IMX8MN_DISPBLK_PD_MIPI_DSI>;
>                                 status = "disabled";
> @@ -1142,6 +1129,21 @@ disp_blk_ctrl: blk-ctrl@...28000 {
>                                               "lcdif-axi", "lcdif-apb", "lcdif-pix",
>                                               "dsi-pclk", "dsi-ref",
>                                               "csi-aclk", "csi-pclk";
> +                               assigned-clocks = <&clk IMX8MN_CLK_DSI_CORE>,
> +                                                 <&clk IMX8MN_CLK_DSI_PHY_REF>,
> +                                                 <&clk IMX8MN_CLK_DISP_PIXEL>,
> +                                                 <&clk IMX8MN_CLK_DISP_AXI>,
> +                                                 <&clk IMX8MN_CLK_DISP_APB>;
> +                               assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_266M>,
> +                                                        <&clk IMX8MN_CLK_24M>,
> +                                                        <&clk IMX8MN_VIDEO_PLL1_OUT>,
> +                                                        <&clk IMX8MN_SYS_PLL2_1000M>,
> +                                                        <&clk IMX8MN_SYS_PLL1_800M>;
> +                               assigned-clock-rates = <266000000>,
> +                                                      <24000000>,
> +                                                      <594000000>,
> +                                                      <500000000>,
> +                                                      <200000000>;
>                                 #power-domain-cells = <1>;
>                         };
>
> --
> 2.39.2
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ