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: <d42dd768-d6c1-098d-759f-e3576d0edcc2@katsuster.net>
Date:   Sat, 2 Mar 2019 23:19:15 +0900
From:   Katsuhiro Suzuki <katsuhiro@...suster.net>
To:     Heiko Stuebner <heiko@...ech.de>,
        linux-rockchip@...ts.infradead.org
Cc:     linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 2/2] arm64: dts: rockchip: add HDMI sound node for
 rk3328-rock64

Ping...

On 2019/02/18 2:34, Katsuhiro Suzuki wrote:
> This patch adds HDMI sound (I2S0) node for rock64.
> 
> After apply this patch, UART2 will fail to allocate DMA resources
> but UART driver can work fine without DMA.
> 
> This error is related to the DMAC of rk3328 (pl330 or compatible).
> DMAC connected to 16 DMA sources. Each sources have ID number that is
> called 'Req number' in rk3328 TRM. Currently total 7 sources has been
> activated as follows:
> 
> | Req number | Source | Required  |
> |            |        | channels  |
> |------------+--------+-----------|
> | 14, 15     | I2S1   | 2ch       |
> |  6,  7     | UART2  | 2ch       |
> |     10     | SPDIF  | 1ch       |
> |  8,  9     | SPI0   | 2ch       |
> |------------+--------+-----------|
> |            | Total  | 7ch       |
> 
> HDMI audio needs to activate new source I2S0 (Req number 11 and 12).
> I2S0 can work concurrently with other sources, but rk3328 DMAC can
> use max 8 channels at same time. If I2S0 is simply activated by this
> patch, required DMAC channels will be 9. So last one (UART2) cannot
> allocate the DMA resources.
> 
> Virt-dma mechanism for pl0330 DMAC driver is needed to fix this
> problem.
> 
> Signed-off-by: Katsuhiro Suzuki <katsuhiro@...suster.net>
> ---
>   .../arm64/boot/dts/rockchip/rk3328-rock64.dts | 21 ++++++++++++++++++-
>   1 file changed, 20 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
> index 2157a528276b..bfc0930d245c 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
> @@ -68,7 +68,8 @@
>   	sound {
>   		compatible = "audio-graph-card";
>   		label = "rockchip,rk3328";
> -		dais = <&i2s1_p0
> +		dais = <&i2s0_p0
> +			&i2s1_p0
>   			&spdif_p0>;
>   	};
>   
> @@ -141,6 +142,12 @@
>   
>   &hdmi {
>   	status = "okay";
> +
> +	port@0 {
> +		hdmi_p0_0: endpoint {
> +			remote-endpoint = <&i2s0_p0_0>;
> +		};
> +	};
>   };
>   
>   &hdmiphy {
> @@ -256,6 +263,18 @@
>   	};
>   };
>   
> +&i2s0 {
> +	status = "okay";
> +
> +	i2s0_p0: port {
> +		i2s0_p0_0: endpoint {
> +			dai-format = "i2s";
> +			mclk-fs = <256>;
> +			remote-endpoint = <&hdmi_p0_0>;
> +		};
> +	};
> +};
> +
>   &i2s1 {
>   	status = "okay";
>   
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ