* [PATCH] media: stm32-dcmi: Use dma_request_chan() instead dma_request_slave_channel() @ 2019-12-17 10:41 Peter Ujfalusi 2019-12-18 10:52 ` Hugues FRUCHET 0 siblings, 1 reply; 5+ messages in thread From: Peter Ujfalusi @ 2019-12-17 10:41 UTC (permalink / raw) To: mchehab, hugues.fruchet, mcoquelin.stm32, alexandre.torgue Cc: vkoul, linux-media, linux-kernel, linux-stm32, linux-arm-kernel dma_request_slave_channel() is a wrapper on top of dma_request_chan() eating up the error code. By using dma_request_chan() directly the driver can support deferred probing against DMA. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> --- drivers/media/platform/stm32/stm32-dcmi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/media/platform/stm32/stm32-dcmi.c b/drivers/media/platform/stm32/stm32-dcmi.c index 9392e3409fba..55351872b0c7 100644 --- a/drivers/media/platform/stm32/stm32-dcmi.c +++ b/drivers/media/platform/stm32/stm32-dcmi.c @@ -1910,10 +1910,10 @@ static int dcmi_probe(struct platform_device *pdev) return PTR_ERR(mclk); } - chan = dma_request_slave_channel(&pdev->dev, "tx"); - if (!chan) { + chan = dma_request_chan(&pdev->dev, "tx"); + if (IS_ERR(chan)) { dev_info(&pdev->dev, "Unable to request DMA channel, defer probing\n"); - return -EPROBE_DEFER; + return PTR_ERR(chan); } spin_lock_init(&dcmi->irqlock); -- Peter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] media: stm32-dcmi: Use dma_request_chan() instead dma_request_slave_channel() 2019-12-17 10:41 [PATCH] media: stm32-dcmi: Use dma_request_chan() instead dma_request_slave_channel() Peter Ujfalusi @ 2019-12-18 10:52 ` Hugues FRUCHET 2020-01-07 9:46 ` Hugues FRUCHET 0 siblings, 1 reply; 5+ messages in thread From: Hugues FRUCHET @ 2019-12-18 10:52 UTC (permalink / raw) To: Peter Ujfalusi, mchehab, mcoquelin.stm32, Alexandre TORGUE Cc: vkoul, linux-media, linux-kernel, linux-stm32, linux-arm-kernel Thanks for patching Peter, No regression observed on my side. Acked-by: Hugues Fruchet <hugues.fruchet@st.com> Best regards, Hugues. On 12/17/19 11:41 AM, Peter Ujfalusi wrote: > dma_request_slave_channel() is a wrapper on top of dma_request_chan() > eating up the error code. > > By using dma_request_chan() directly the driver can support deferred > probing against DMA. > > Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> > --- > drivers/media/platform/stm32/stm32-dcmi.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/media/platform/stm32/stm32-dcmi.c b/drivers/media/platform/stm32/stm32-dcmi.c > index 9392e3409fba..55351872b0c7 100644 > --- a/drivers/media/platform/stm32/stm32-dcmi.c > +++ b/drivers/media/platform/stm32/stm32-dcmi.c > @@ -1910,10 +1910,10 @@ static int dcmi_probe(struct platform_device *pdev) > return PTR_ERR(mclk); > } > > - chan = dma_request_slave_channel(&pdev->dev, "tx"); > - if (!chan) { > + chan = dma_request_chan(&pdev->dev, "tx"); > + if (IS_ERR(chan)) { > dev_info(&pdev->dev, "Unable to request DMA channel, defer probing\n"); > - return -EPROBE_DEFER; > + return PTR_ERR(chan); > } > > spin_lock_init(&dcmi->irqlock); > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] media: stm32-dcmi: Use dma_request_chan() instead dma_request_slave_channel() 2019-12-18 10:52 ` Hugues FRUCHET @ 2020-01-07 9:46 ` Hugues FRUCHET 2020-01-07 10:38 ` Peter Ujfalusi 0 siblings, 1 reply; 5+ messages in thread From: Hugues FRUCHET @ 2020-01-07 9:46 UTC (permalink / raw) To: Peter Ujfalusi, mchehab, mcoquelin.stm32, Alexandre TORGUE Cc: vkoul, linux-media, linux-kernel, linux-stm32, linux-arm-kernel Hi Peter, If not too late, could you change trace to only trig error trace when error is not "probe defered" ? See below: - chan = dma_request_slave_channel(&pdev->dev, "tx"); - if (!chan) { - dev_info(&pdev->dev, "Unable to request DMA channel, defer probing\n"); - return -EPROBE_DEFER; + chan = dma_request_chan(&pdev->dev, "tx"); + if (IS_ERR(chan)) { + if (PTR_ERR(chan) != -EPROBE_DEFER) + dev_err(&pdev->dev, "Unable to request DMA channel\n"); + return PTR_ERR(chan); Best regards, Hugues. On 12/18/19 11:52 AM, Hugues FRUCHET wrote: > Thanks for patching Peter, > > No regression observed on my side. > > Acked-by: Hugues Fruchet <hugues.fruchet@st.com> > > Best regards, > Hugues. > > On 12/17/19 11:41 AM, Peter Ujfalusi wrote: >> dma_request_slave_channel() is a wrapper on top of dma_request_chan() >> eating up the error code. >> >> By using dma_request_chan() directly the driver can support deferred >> probing against DMA. >> >> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> >> --- >> drivers/media/platform/stm32/stm32-dcmi.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/media/platform/stm32/stm32-dcmi.c >> b/drivers/media/platform/stm32/stm32-dcmi.c >> index 9392e3409fba..55351872b0c7 100644 >> --- a/drivers/media/platform/stm32/stm32-dcmi.c >> +++ b/drivers/media/platform/stm32/stm32-dcmi.c >> @@ -1910,10 +1910,10 @@ static int dcmi_probe(struct platform_device >> *pdev) >> return PTR_ERR(mclk); >> } >> - chan = dma_request_slave_channel(&pdev->dev, "tx"); >> - if (!chan) { >> + chan = dma_request_chan(&pdev->dev, "tx"); >> + if (IS_ERR(chan)) { >> dev_info(&pdev->dev, "Unable to request DMA channel, defer >> probing\n"); >> - return -EPROBE_DEFER; >> + return PTR_ERR(chan); >> } >> spin_lock_init(&dcmi->irqlock); >> ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] media: stm32-dcmi: Use dma_request_chan() instead dma_request_slave_channel() 2020-01-07 9:46 ` Hugues FRUCHET @ 2020-01-07 10:38 ` Peter Ujfalusi 2020-01-07 11:08 ` Hugues FRUCHET 0 siblings, 1 reply; 5+ messages in thread From: Peter Ujfalusi @ 2020-01-07 10:38 UTC (permalink / raw) To: Hugues FRUCHET, mchehab, mcoquelin.stm32, Alexandre TORGUE Cc: vkoul, linux-media, linux-kernel, linux-stm32, linux-arm-kernel Hi Hugues, On 07/01/2020 11.46, Hugues FRUCHET wrote: > Hi Peter, > > If not too late, could you change trace to only trig error trace when > error is not "probe defered" ? See below: > > - chan = dma_request_slave_channel(&pdev->dev, "tx"); > - if (!chan) { > - dev_info(&pdev->dev, "Unable to request DMA channel, defer probing\n"); > - return -EPROBE_DEFER; > + chan = dma_request_chan(&pdev->dev, "tx"); > + if (IS_ERR(chan)) { > + if (PTR_ERR(chan) != -EPROBE_DEFER) > + dev_err(&pdev->dev, "Unable to request DMA channel\n"); > + return PTR_ERR(chan); Sure, I don't know how I missed it. Regards, - Péter > > Best regards, > Hugues. > > On 12/18/19 11:52 AM, Hugues FRUCHET wrote: >> Thanks for patching Peter, >> >> No regression observed on my side. >> >> Acked-by: Hugues Fruchet <hugues.fruchet@st.com> >> >> Best regards, >> Hugues. >> >> On 12/17/19 11:41 AM, Peter Ujfalusi wrote: >>> dma_request_slave_channel() is a wrapper on top of dma_request_chan() >>> eating up the error code. >>> >>> By using dma_request_chan() directly the driver can support deferred >>> probing against DMA. >>> >>> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> >>> --- >>> drivers/media/platform/stm32/stm32-dcmi.c | 6 +++--- >>> 1 file changed, 3 insertions(+), 3 deletions(-) >>> >>> diff --git a/drivers/media/platform/stm32/stm32-dcmi.c >>> b/drivers/media/platform/stm32/stm32-dcmi.c >>> index 9392e3409fba..55351872b0c7 100644 >>> --- a/drivers/media/platform/stm32/stm32-dcmi.c >>> +++ b/drivers/media/platform/stm32/stm32-dcmi.c >>> @@ -1910,10 +1910,10 @@ static int dcmi_probe(struct platform_device >>> *pdev) >>> return PTR_ERR(mclk); >>> } >>> - chan = dma_request_slave_channel(&pdev->dev, "tx"); >>> - if (!chan) { >>> + chan = dma_request_chan(&pdev->dev, "tx"); >>> + if (IS_ERR(chan)) { >>> dev_info(&pdev->dev, "Unable to request DMA channel, defer >>> probing\n"); >>> - return -EPROBE_DEFER; >>> + return PTR_ERR(chan); >>> } >>> spin_lock_init(&dcmi->irqlock); >> > Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] media: stm32-dcmi: Use dma_request_chan() instead dma_request_slave_channel() 2020-01-07 10:38 ` Peter Ujfalusi @ 2020-01-07 11:08 ` Hugues FRUCHET 0 siblings, 0 replies; 5+ messages in thread From: Hugues FRUCHET @ 2020-01-07 11:08 UTC (permalink / raw) To: Peter Ujfalusi, mchehab, mcoquelin.stm32, Alexandre TORGUE Cc: vkoul, linux-media, linux-kernel, linux-stm32, linux-arm-kernel Y're welcome. On 1/7/20 11:38 AM, Peter Ujfalusi wrote: > Hi Hugues, > > On 07/01/2020 11.46, Hugues FRUCHET wrote: >> Hi Peter, >> >> If not too late, could you change trace to only trig error trace when >> error is not "probe defered" ? See below: >> >> - chan = dma_request_slave_channel(&pdev->dev, "tx"); >> - if (!chan) { >> - dev_info(&pdev->dev, "Unable to request DMA channel, defer probing\n"); >> - return -EPROBE_DEFER; >> + chan = dma_request_chan(&pdev->dev, "tx"); >> + if (IS_ERR(chan)) { >> + if (PTR_ERR(chan) != -EPROBE_DEFER) >> + dev_err(&pdev->dev, "Unable to request DMA channel\n"); >> + return PTR_ERR(chan); > > Sure, I don't know how I missed it. > > Regards, > - Péter > >> >> Best regards, >> Hugues. >> >> On 12/18/19 11:52 AM, Hugues FRUCHET wrote: >>> Thanks for patching Peter, >>> >>> No regression observed on my side. >>> >>> Acked-by: Hugues Fruchet <hugues.fruchet@st.com> >>> >>> Best regards, >>> Hugues. >>> >>> On 12/17/19 11:41 AM, Peter Ujfalusi wrote: >>>> dma_request_slave_channel() is a wrapper on top of dma_request_chan() >>>> eating up the error code. >>>> >>>> By using dma_request_chan() directly the driver can support deferred >>>> probing against DMA. >>>> >>>> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> >>>> --- >>>> drivers/media/platform/stm32/stm32-dcmi.c | 6 +++--- >>>> 1 file changed, 3 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/drivers/media/platform/stm32/stm32-dcmi.c >>>> b/drivers/media/platform/stm32/stm32-dcmi.c >>>> index 9392e3409fba..55351872b0c7 100644 >>>> --- a/drivers/media/platform/stm32/stm32-dcmi.c >>>> +++ b/drivers/media/platform/stm32/stm32-dcmi.c >>>> @@ -1910,10 +1910,10 @@ static int dcmi_probe(struct platform_device >>>> *pdev) >>>> return PTR_ERR(mclk); >>>> } >>>> - chan = dma_request_slave_channel(&pdev->dev, "tx"); >>>> - if (!chan) { >>>> + chan = dma_request_chan(&pdev->dev, "tx"); >>>> + if (IS_ERR(chan)) { >>>> dev_info(&pdev->dev, "Unable to request DMA channel, defer >>>> probing\n"); >>>> - return -EPROBE_DEFER; >>>> + return PTR_ERR(chan); >>>> } >>>> spin_lock_init(&dcmi->irqlock); >>>> > > > Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. > Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-01-07 11:08 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-12-17 10:41 [PATCH] media: stm32-dcmi: Use dma_request_chan() instead dma_request_slave_channel() Peter Ujfalusi 2019-12-18 10:52 ` Hugues FRUCHET 2020-01-07 9:46 ` Hugues FRUCHET 2020-01-07 10:38 ` Peter Ujfalusi 2020-01-07 11:08 ` Hugues FRUCHET
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).