From: Heiko Stuebner <heiko@sntech.de>
To: Katsuhiro Suzuki <katsuhiro@katsuster.net>
Cc: linux-rockchip@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] arm64: dts: rockchip: add HDMI sound node for rk3328-rock64
Date: Sun, 17 Feb 2019 14:17:18 +0100 [thread overview]
Message-ID: <15054640.NB91u9fWWK@phil> (raw)
In-Reply-To: <16f4fcf0-e9c2-e925-e463-282cfff088c7@katsuster.net>
Am Sonntag, 17. Februar 2019, 11:58:36 CET schrieb Katsuhiro Suzuki:
> Hello Heiko,
>
> On 2019/02/12 20:12, Heiko Stübner wrote:
> > Hi,
> >
> > Am Montag, 4. Februar 2019, 13:59:37 CET schrieb Katsuhiro Suzuki:
> >> On 2019/02/03 18:06, Heiko Stuebner wrote:
> >>> Am Samstag, 2. Februar 2019, 05:34:44 CET schrieb Katsuhiro Suzuki:
> >>>> This patch adds HDMI sound (I2S0) node and remove dma properties
> >>>> from UART2 node for rock64.
> >>>>
> >>>> The DMAC of rk3328 can use 8 channels at same time. Currently, total
> >>>>
> >>>> 7 channels are used as follows:
> >>>> - I2S1 2ch
> >>>> - UART2 2ch
> >>>> - SPDIF 1ch
> >>>> - SPI0 2ch
> >>>>
> >>>> HDMI audio using I2S0 that requires 2ch but DMAC has only 1 channel.
> >>>>
> >>>> UART2 can work without DMA resources, so this patch removes dma
> >>>> allocation for UART2 and reuses it to I2S0.
> >>>
> >>> I don't follow that description. How can i2s0 re-use the uart2 dma
> >>> channels? Looking at the dma table in the TRM, uart2 has channels 6+7
> >>> while i2s0 uses channels 11+12. They should just run concurrently?
> >>
> >> Sorry for confusing... 6 or 7 is as ID number of slave DMA channel.
> >> TRM calls it 'Req number'. Req number 6+7 and 11+12 can work
> >> concurrently but TRM says DMAC can transfer 8 DMA channels at same
> >> time. So all 16 Req numbers cannot activate at same time. It should
> >> be keep less or equal than 8 numbers.
> >
> > But that "shortcoming" of having more requests than channels is not
> > something specific to the pl330, instead most dma controllers have that
> > "problem", which seems to get solved by the virt-dma mechanism of
> > dmaengine - which pl330 doesn't use so far. (but see pl080 for example)
> >
>
> I understand. I drop these patches.
>
>
> > The devicetree only describes the hardware and is never meant as a
> > configuration space for kernel-code shortcomings.
> >
>
> Yes, right. I don't want to use device-tree as configuration space,
> so which is better?
>
> - Fix the pl330 driver first and after that add HDMI-sound node
> to device-tree.
> - Just add HDMI-sound node to device-tree. If someone (include me)
> want to support virt-dma on pl330 driver, they will fix it.
> (PL330 will face error but all sounds works fine and UART still
> works fine with DMA error)
I'd go with this second option :-) .
Heiko
WARNING: multiple messages have this Message-ID (diff)
From: Heiko Stuebner <heiko@sntech.de>
To: Katsuhiro Suzuki <katsuhiro@katsuster.net>
Cc: linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] arm64: dts: rockchip: add HDMI sound node for rk3328-rock64
Date: Sun, 17 Feb 2019 14:17:18 +0100 [thread overview]
Message-ID: <15054640.NB91u9fWWK@phil> (raw)
In-Reply-To: <16f4fcf0-e9c2-e925-e463-282cfff088c7@katsuster.net>
Am Sonntag, 17. Februar 2019, 11:58:36 CET schrieb Katsuhiro Suzuki:
> Hello Heiko,
>
> On 2019/02/12 20:12, Heiko Stübner wrote:
> > Hi,
> >
> > Am Montag, 4. Februar 2019, 13:59:37 CET schrieb Katsuhiro Suzuki:
> >> On 2019/02/03 18:06, Heiko Stuebner wrote:
> >>> Am Samstag, 2. Februar 2019, 05:34:44 CET schrieb Katsuhiro Suzuki:
> >>>> This patch adds HDMI sound (I2S0) node and remove dma properties
> >>>> from UART2 node for rock64.
> >>>>
> >>>> The DMAC of rk3328 can use 8 channels at same time. Currently, total
> >>>>
> >>>> 7 channels are used as follows:
> >>>> - I2S1 2ch
> >>>> - UART2 2ch
> >>>> - SPDIF 1ch
> >>>> - SPI0 2ch
> >>>>
> >>>> HDMI audio using I2S0 that requires 2ch but DMAC has only 1 channel.
> >>>>
> >>>> UART2 can work without DMA resources, so this patch removes dma
> >>>> allocation for UART2 and reuses it to I2S0.
> >>>
> >>> I don't follow that description. How can i2s0 re-use the uart2 dma
> >>> channels? Looking at the dma table in the TRM, uart2 has channels 6+7
> >>> while i2s0 uses channels 11+12. They should just run concurrently?
> >>
> >> Sorry for confusing... 6 or 7 is as ID number of slave DMA channel.
> >> TRM calls it 'Req number'. Req number 6+7 and 11+12 can work
> >> concurrently but TRM says DMAC can transfer 8 DMA channels at same
> >> time. So all 16 Req numbers cannot activate at same time. It should
> >> be keep less or equal than 8 numbers.
> >
> > But that "shortcoming" of having more requests than channels is not
> > something specific to the pl330, instead most dma controllers have that
> > "problem", which seems to get solved by the virt-dma mechanism of
> > dmaengine - which pl330 doesn't use so far. (but see pl080 for example)
> >
>
> I understand. I drop these patches.
>
>
> > The devicetree only describes the hardware and is never meant as a
> > configuration space for kernel-code shortcomings.
> >
>
> Yes, right. I don't want to use device-tree as configuration space,
> so which is better?
>
> - Fix the pl330 driver first and after that add HDMI-sound node
> to device-tree.
> - Just add HDMI-sound node to device-tree. If someone (include me)
> want to support virt-dma on pl330 driver, they will fix it.
> (PL330 will face error but all sounds works fine and UART still
> works fine with DMA error)
I'd go with this second option :-) .
Heiko
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-02-17 13:17 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-02 4:34 [PATCH] arm64: dts: rockchip: add HDMI sound node for rk3328-rock64 Katsuhiro Suzuki
2019-02-02 4:34 ` Katsuhiro Suzuki
2019-02-02 4:34 ` Katsuhiro Suzuki
[not found] ` <20190202043444.9308-1-katsuhiro-WKCMddiH/C4xsqv6Oivclw@public.gmane.org>
2019-02-03 9:06 ` Heiko Stuebner
2019-02-03 9:06 ` Heiko Stuebner
2019-02-03 9:06 ` Heiko Stuebner
2019-02-04 12:59 ` Katsuhiro Suzuki
2019-02-04 12:59 ` Katsuhiro Suzuki
2019-02-12 11:12 ` Heiko Stübner
2019-02-12 11:12 ` Heiko Stübner
2019-02-17 10:58 ` Katsuhiro Suzuki
2019-02-17 10:58 ` Katsuhiro Suzuki
2019-02-17 13:17 ` Heiko Stuebner [this message]
2019-02-17 13:17 ` Heiko Stuebner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=15054640.NB91u9fWWK@phil \
--to=heiko@sntech.de \
--cc=katsuhiro@katsuster.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.