From: Michael Walle <michael@walle.cc>
To: Rob Herring <robh+dt@kernel.org>
Cc: Li Yang <leoyang.li@nxp.com>,
"open list:SERIAL DRIVERS" <linux-serial@vger.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>,
linux-kernel@vger.kernel.org,
"moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE"
<linux-arm-kernel@lists.infradead.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Mark Rutland <mark.rutland@arm.com>,
Shawn Guo <shawnguo@kernel.org>, Jiri Slaby <jslaby@suse.com>,
Peng Fan <peng.fan@nxp.com>,
Vabhav Sharma <vabhav.sharma@nxp.com>
Subject: Re: [PATCH v2 3/9] tty: serial: fsl_lpuart: handle EPROBE_DEFER for DMA
Date: Fri, 28 Feb 2020 22:50:51 +0100 [thread overview]
Message-ID: <24b9a657a65f75a4f4f10baa17561451@walle.cc> (raw)
In-Reply-To: <639a1df72fbeda77436b282a99f17995@walle.cc>
Am 2020-02-28 12:46, schrieb Michael Walle:
> Hi Rob, Hi Leo,
>
> Am 2020-02-28 00:03, schrieb Rob Herring:
>> On Thu, Feb 27, 2020 at 4:49 PM Li Yang <leoyang.li@nxp.com> wrote:
>>>
>>> On Thu, Feb 27, 2020 at 4:35 PM Rob Herring <robh+dt@kernel.org>
>>> wrote:
>>> >
>>> > On Fri, Feb 21, 2020 at 11:48 AM Michael Walle <michael@walle.cc> wrote:
>>> > >
>>> > > The DMA channel might not be available at the first probe time. This is
>>> > > esp. the case if the DMA controller has an IOMMU mapping.
>>> > >
>>> > > Use the new dma_request_chan() API and handle EPROBE_DEFER errors. Also
>>> > > reorder the code a bit, so that we don't prepare the whole UART just to
>>> > > determine that the DMA channel is not ready yet and we have to undo all
>>> > > the stuff. Try to map the DMA channels earlier.
>>> >
>>> > Changing this means you never probe successfully if you boot a kernel
>>> > with the DMA driver disabled (or it's IOMMU disabled). Some other
>>> > drivers request DMA in open() and can work either way.
>
> Oh, I see.
>
>>> We got this exact issue previously with another driver. When the
>
> What driver is it? I've been working on the i2c-mxs.c driver which has
whoops, i2c-imx.c, not i2c-mxs.c
-michael
> the same problem. Ie. its not working with DMA when the IOMMU is
> enabled.
> Now that I've learned that dma_request_chan() will return EPROBE_DEFER
> if the actual DMA driver is not available, I don't think there is any
> trick like this there. There is no function which would be called late
> except you'd do something like on the first master_xfer() try to
> request
> the DMA channels. But I don't think that would be the way to go.
>
> -michael
>
>>> required DMA driver is disabled, the DMA framework cannot figure out
>>> this situation and keeps returning EPROBE_DEFER. I'm wondering if we
>>> should update the DMA framework to use your deferred probe timeout
>>> mechanism. Is it still only used for debug purpose?
>>
>> It's undergoing some rework ATM to not just be for debug. However,
>> it's not really going to help you if you care about the console
>> because waiting for the timeout will be too late to register the
>> console.
next prev parent reply other threads:[~2020-02-28 21:50 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-21 17:47 [PATCH v2 0/9] tty: serial: fsl_lpuart various fixes and LS1028A support Michael Walle
2020-02-21 17:47 ` [PATCH v2 1/9] Revert "tty: serial: fsl_lpuart: drop EARLYCON_DECLARE" Michael Walle
2020-02-21 17:47 ` [PATCH v2 2/9] tty: serial: fsl_lpuart: free IDs allocated by IDA Michael Walle
2020-02-21 17:47 ` [PATCH v2 3/9] tty: serial: fsl_lpuart: handle EPROBE_DEFER for DMA Michael Walle
2020-02-27 22:34 ` Rob Herring
2020-02-27 22:48 ` Li Yang
2020-02-27 23:03 ` Rob Herring
2020-02-28 11:46 ` Michael Walle
2020-02-28 21:50 ` Michael Walle [this message]
2020-02-28 21:53 ` Li Yang
2020-02-21 17:47 ` [PATCH v2 4/9] tty: serial: fsl_lpuart: fix DMA mapping Michael Walle
2020-02-21 17:47 ` [PATCH v2 5/9] dt-bindings: serial: lpuart: add ls1028a compatibility Michael Walle
2020-02-26 21:37 ` Rob Herring
2020-02-21 17:47 ` [PATCH v2 6/9] tty: serial: fsl_lpuart: add LS1028A support Michael Walle
2020-02-21 17:47 ` [PATCH v2 7/9] tty: serial: fsl_lpuart: add LS1028A earlycon support Michael Walle
2020-02-21 17:47 ` [PATCH v2 8/9] arm64: dts: ls1028a: add "fsl,vf610-edma" compatible Michael Walle
2020-02-21 17:47 ` [PATCH v2 9/9] arm64: dts: ls1028a: add missing LPUART nodes Michael Walle
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=24b9a657a65f75a4f4f10baa17561451@walle.cc \
--to=michael@walle.cc \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=jslaby@suse.com \
--cc=leoyang.li@nxp.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=peng.fan@nxp.com \
--cc=robh+dt@kernel.org \
--cc=shawnguo@kernel.org \
--cc=vabhav.sharma@nxp.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).