From: Pierre Yves MORDRET <pierre-yves.mordret@st.com> To: Vinod Koul <vinod.koul@intel.com> Cc: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Maxime Coquelin <mcoquelin.stm32@gmail.com>, Alexandre TORGUE <alexandre.torgue@st.com>, Russell King <linux@armlinux.org.uk>, Dan Williams <dan.j.williams@intel.com>, "M'boumba Cedric Madianga" <cedric.madianga@gmail.com>, Fabrice GASNIER <fabrice.gasnier@st.com>, Herbert Xu <herbert@gondor.apana.org.au>, Fabien DESSENNE <fabien.dessenne@st.com>, Amelie DELAUNAY <amelie.delaunay@st.com>, "dmaengine@vger.kernel.org" <dmaengine@vger.kernel.org>, "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org> Subject: Re: [PATCH v3 2/5] dmaengine: Add STM32 DMAMUX driver Date: Wed, 26 Jul 2017 07:38:02 +0000 [thread overview] Message-ID: <f2908e38-dc4d-3886-4058-52a7ad845415@st.com> (raw) In-Reply-To: <20170726052930.GF3053@localhost> On 07/26/2017 07:29 AM, Vinod Koul wrote: > On Mon, Jul 24, 2017 at 01:55:10PM +0000, Pierre Yves MORDRET wrote: > >>>> + >>>> + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); >>>> + if (!res) >>>> + return -ENODEV; >>>> + >>>> + iomem = devm_ioremap_resource(&pdev->dev, res); >>>> + if (!iomem) >>>> + return -ENOMEM; >>>> + >>>> + spin_lock_init(&stm32_dmamux->lock); >>>> + >>>> + stm32_dmamux->clk = devm_clk_get(&pdev->dev, NULL); >>>> + if (IS_ERR(stm32_dmamux->clk)) { >>>> + dev_info(&pdev->dev, "Missing controller clock\n"); >>> >>> Can you check for EPROBE_DEFER and print only for if that is not the error >>> otherwise we end up sapmming with defered probe issues >>> >> >> This is what you meant ? >> if (IS_ERR(stm32_dmamux->clk) != EPROBE_DEFER) { >> dev_info(&pdev->dev, "Missing controller clock\n"); >> return PTR_ERR(stm32_dmamux->clk); >> } >> >> OR >> >> if (IS_ERR(stm32_dmamux->clk)) { >> if (IS_ERR(stm32_dmamux->clk) != EPROBE_DEFER) >> dev_info(&pdev->dev, "Missing controller clock\n"); >> return PTR_ERR(stm32_dmamux->clk); >> } > > This one please > ok >> >>>> + >>>> +#ifndef __DMA_STM32_DMAMUX_H >>>> +#define __DMA_STM32_DMAMUX_H >>>> + >>>> +#if defined(CONFIG_STM32_DMAMUX) >>>> +int stm32_dmamux_set_config(struct device *dev, void *route_data, u32 chan_id); >>> >>> Why do we need a custom API in this case? >>> >> >> This API is called by DMA when a slave is requested by client. DMA can work >> without DMAMUX this API has been put in place to configure DMAMUX whether client >> is requesting a DMAMUX Channel instead of a DMA one. > > You mean the dmaengine driver right? > Yes. The API is mainly called by "device_config" through out STM32 DMA Driver when a router is in place for client. Please refer to Patch 4/5 on this set. Thanks Py
WARNING: multiple messages have this Message-ID (diff)
From: pierre-yves.mordret@st.com (Pierre Yves MORDRET) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 2/5] dmaengine: Add STM32 DMAMUX driver Date: Wed, 26 Jul 2017 07:38:02 +0000 [thread overview] Message-ID: <f2908e38-dc4d-3886-4058-52a7ad845415@st.com> (raw) In-Reply-To: <20170726052930.GF3053@localhost> On 07/26/2017 07:29 AM, Vinod Koul wrote: > On Mon, Jul 24, 2017 at 01:55:10PM +0000, Pierre Yves MORDRET wrote: > >>>> + >>>> + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); >>>> + if (!res) >>>> + return -ENODEV; >>>> + >>>> + iomem = devm_ioremap_resource(&pdev->dev, res); >>>> + if (!iomem) >>>> + return -ENOMEM; >>>> + >>>> + spin_lock_init(&stm32_dmamux->lock); >>>> + >>>> + stm32_dmamux->clk = devm_clk_get(&pdev->dev, NULL); >>>> + if (IS_ERR(stm32_dmamux->clk)) { >>>> + dev_info(&pdev->dev, "Missing controller clock\n"); >>> >>> Can you check for EPROBE_DEFER and print only for if that is not the error >>> otherwise we end up sapmming with defered probe issues >>> >> >> This is what you meant ? >> if (IS_ERR(stm32_dmamux->clk) != EPROBE_DEFER) { >> dev_info(&pdev->dev, "Missing controller clock\n"); >> return PTR_ERR(stm32_dmamux->clk); >> } >> >> OR >> >> if (IS_ERR(stm32_dmamux->clk)) { >> if (IS_ERR(stm32_dmamux->clk) != EPROBE_DEFER) >> dev_info(&pdev->dev, "Missing controller clock\n"); >> return PTR_ERR(stm32_dmamux->clk); >> } > > This one please > ok >> >>>> + >>>> +#ifndef __DMA_STM32_DMAMUX_H >>>> +#define __DMA_STM32_DMAMUX_H >>>> + >>>> +#if defined(CONFIG_STM32_DMAMUX) >>>> +int stm32_dmamux_set_config(struct device *dev, void *route_data, u32 chan_id); >>> >>> Why do we need a custom API in this case? >>> >> >> This API is called by DMA when a slave is requested by client. DMA can work >> without DMAMUX this API has been put in place to configure DMAMUX whether client >> is requesting a DMAMUX Channel instead of a DMA one. > > You mean the dmaengine driver right? > Yes. The API is mainly called by "device_config" through out STM32 DMA Driver when a router is in place for client. Please refer to Patch 4/5 on this set. Thanks Py
next prev parent reply other threads:[~2017-07-26 7:39 UTC|newest] Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-07-06 12:20 [PATCH v3 0/5] Add STM32 DMAMUX support Pierre-Yves MORDRET 2017-07-06 12:20 ` Pierre-Yves MORDRET 2017-07-06 12:20 ` Pierre-Yves MORDRET 2017-07-06 12:20 ` [PATCH v3 1/5] dt-bindings: Document the STM32 DMAMUX bindings Pierre-Yves MORDRET 2017-07-06 12:20 ` Pierre-Yves MORDRET 2017-07-06 12:20 ` Pierre-Yves MORDRET 2017-07-10 3:56 ` Rob Herring 2017-07-10 3:56 ` Rob Herring 2017-07-10 3:56 ` Rob Herring 2017-07-06 12:20 ` [PATCH v3 2/5] dmaengine: Add STM32 DMAMUX driver Pierre-Yves MORDRET 2017-07-06 12:20 ` Pierre-Yves MORDRET 2017-07-06 12:20 ` Pierre-Yves MORDRET 2017-07-22 6:51 ` Vinod Koul 2017-07-22 6:51 ` Vinod Koul 2017-07-22 6:51 ` Vinod Koul 2017-07-24 13:55 ` Pierre Yves MORDRET 2017-07-24 13:55 ` Pierre Yves MORDRET 2017-07-24 13:55 ` Pierre Yves MORDRET 2017-07-26 5:29 ` Vinod Koul 2017-07-26 5:29 ` Vinod Koul 2017-07-26 5:29 ` Vinod Koul 2017-07-26 7:38 ` Pierre Yves MORDRET [this message] 2017-07-26 7:38 ` Pierre Yves MORDRET 2017-07-26 7:38 ` Pierre Yves MORDRET 2017-07-31 12:31 ` Vinod Koul 2017-07-31 12:31 ` Vinod Koul 2017-07-31 12:31 ` Vinod Koul 2017-08-01 9:32 ` Pierre Yves MORDRET 2017-08-01 9:32 ` Pierre Yves MORDRET 2017-08-01 9:32 ` Pierre Yves MORDRET 2017-08-02 4:55 ` Vinod Koul 2017-08-02 4:55 ` Vinod Koul 2017-08-02 4:55 ` Vinod Koul 2017-08-02 9:19 ` Peter Ujfalusi 2017-08-02 9:19 ` Peter Ujfalusi 2017-08-02 9:19 ` Peter Ujfalusi 2017-08-02 13:11 ` Pierre Yves MORDRET 2017-08-02 13:11 ` Pierre Yves MORDRET 2017-08-02 13:11 ` Pierre Yves MORDRET 2017-08-02 14:09 ` Peter Ujfalusi 2017-08-02 14:09 ` Peter Ujfalusi 2017-08-02 14:09 ` Peter Ujfalusi 2017-08-02 14:28 ` Pierre Yves MORDRET 2017-08-02 14:28 ` Pierre Yves MORDRET 2017-08-02 14:28 ` Pierre Yves MORDRET 2017-08-03 6:42 ` Peter Ujfalusi 2017-08-03 6:42 ` Peter Ujfalusi 2017-08-03 6:42 ` Peter Ujfalusi 2017-08-03 9:00 ` Pierre Yves MORDRET 2017-08-03 9:00 ` Pierre Yves MORDRET 2017-08-03 9:00 ` Pierre Yves MORDRET 2017-08-03 9:48 ` Peter Ujfalusi 2017-08-03 9:48 ` Peter Ujfalusi 2017-08-03 9:48 ` Peter Ujfalusi 2017-08-04 12:50 ` Pierre Yves MORDRET 2017-08-04 12:50 ` Pierre Yves MORDRET 2017-08-04 12:50 ` Pierre Yves MORDRET 2017-08-04 14:21 ` Peter Ujfalusi 2017-08-04 14:21 ` Peter Ujfalusi 2017-08-04 14:21 ` Peter Ujfalusi 2017-08-21 9:34 ` Pierre Yves MORDRET 2017-08-21 9:34 ` Pierre Yves MORDRET 2017-08-21 9:34 ` Pierre Yves MORDRET 2017-08-24 5:47 ` Peter Ujfalusi 2017-08-24 5:47 ` Peter Ujfalusi 2017-08-24 5:47 ` Peter Ujfalusi 2017-08-24 13:03 ` Pierre Yves MORDRET 2017-08-24 13:03 ` Pierre Yves MORDRET 2017-08-24 13:03 ` Pierre Yves MORDRET 2017-08-28 11:48 ` Peter Ujfalusi 2017-08-28 11:48 ` Peter Ujfalusi 2017-08-28 11:48 ` Peter Ujfalusi 2017-08-30 8:02 ` Pierre Yves MORDRET 2017-08-30 8:02 ` Pierre Yves MORDRET 2017-08-30 8:02 ` Pierre Yves MORDRET 2017-07-06 12:20 ` [PATCH v3 3/5] dt-bindings: stm32-dma: Add property to handle STM32 DMAMUX Pierre-Yves MORDRET 2017-07-06 12:20 ` Pierre-Yves MORDRET 2017-07-06 12:20 ` Pierre-Yves MORDRET 2017-07-10 3:57 ` Rob Herring 2017-07-10 3:57 ` Rob Herring 2017-07-06 12:20 ` [PATCH v3 4/5] dmaengine: stm32-dma: Add support for " Pierre-Yves MORDRET 2017-07-06 12:20 ` Pierre-Yves MORDRET 2017-07-06 12:20 ` Pierre-Yves MORDRET 2017-07-06 12:20 ` [PATCH v3 5/5] ARM: configs: stm32: Add DMAMUX support in STM32 defconfig Pierre-Yves MORDRET 2017-07-06 12:20 ` Pierre-Yves MORDRET 2017-07-06 12:20 ` Pierre-Yves MORDRET 2017-07-20 9:42 ` [PATCH v3 0/5] Add STM32 DMAMUX support Pierre Yves MORDRET 2017-07-20 9:42 ` Pierre Yves MORDRET 2017-07-20 9:42 ` Pierre Yves MORDRET
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=f2908e38-dc4d-3886-4058-52a7ad845415@st.com \ --to=pierre-yves.mordret@st.com \ --cc=alexandre.torgue@st.com \ --cc=amelie.delaunay@st.com \ --cc=cedric.madianga@gmail.com \ --cc=dan.j.williams@intel.com \ --cc=devicetree@vger.kernel.org \ --cc=dmaengine@vger.kernel.org \ --cc=fabien.dessenne@st.com \ --cc=fabrice.gasnier@st.com \ --cc=herbert@gondor.apana.org.au \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=mark.rutland@arm.com \ --cc=mcoquelin.stm32@gmail.com \ --cc=robh+dt@kernel.org \ --cc=vinod.koul@intel.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: linkBe 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.