Messages in this thread | | | Subject | Re: [PATCH v2] arm64: dts: rockchip: enable HDMI sound nodes for rk3328-rock64 | From | Katsuhiro Suzuki <> | Date | Mon, 31 Aug 2020 10:26:34 +0900 |
| |
On 2020/08/31 4:16, Heiko Stuebner wrote: > Hi, > > Am Sonntag, 2. August 2020, 17:42:31 CEST schrieb Katsuhiro Suzuki: >> This patch enables HDMI sound (I2S0) and Analog sound (I2S1) which >> are defined in rk3328.dtsi, and replace SPDIF nodes. >> >> We can use SPDIF pass-through with suitable ALSA settings and on >> mpv or other media players. >> - Settings: https://github.com/LibreELEC/LibreELEC.tv/blob/master/projects/Rockchip/filesystem/usr/share/alsa/cards/SPDIF.conf >> - Ex.: mpv foo.ac3 --audio-spdif=ac3 --audio-device='alsa/SPDIF.pcm.iec958.0:SPDIF' >> >> [Why use simple-audio-card for SPDIF?] >> >> For newly adding nodes, ASoC guys recommend to use audio-graph-card. >> But all other sound nodes for rk3328 have already been defined by >> simple-audio-card. In this time, I chose for consistent sound nodes. >> >> [DMA allocation problem] >> >> After this patch is applied, 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. After this patch is applied total 7 >> of DMA sources will be activated as follows: >> >> | Req number | Source | Required | >> | | | channels | >> |------------+--------+-----------| >> | 8, 9 | SPI0 | 2ch | >> | 11, 12 | I2S0 | 2ch | >> | 14, 15 | I2S1 | 2ch | >> | 10 | SPDIF | 1ch | >> |------------+--------+-----------| >> | | Total | 7ch | >> |------------+--------+-----------| >> | 6, 7 | UART2 | 2ch | -> cannot get DMA channels >> >> Due to rk3328 DMAC specification we can use max 8 channels at same >> time. If SPI0/I2S0/I2S1/SPDIF will be activated by this patch, >> required DMAC channels reach to 7. So the last two channels (for >> UART2) cannot get DMA resources. > > Wouldn't the dma allocation depend on the probe ordering? > Or is this predetermined, so that always uart2 looses its dmas? >
Ah, it's depends on probe ordering when users use kernel modules...
It's better to disable DMA channels for UART2 for avoiding problem. I'll fix and resend patch.
> Heiko > > >
Best Regards, Katsuhiro Suzuki
| |