Re: [PATCH 12/13] [media] omap3isp: Support for deferred probing when requesting DMA channel

From: Peter Ujfalusi
Date: Tue Nov 10 2015 - 02:56:43 EST


Hi Laurent,

On 11/09/2015 09:50 PM, Laurent Pinchart wrote:
> Hi Peter,
>
> Thank you for the patch.
>
> What happened to this patch series ? It looks like
> dma_request_slave_channel_compat_reason() isn't in mainline, so I can't apply
> this patch.
>
> I'll mark this patch as deferred in patchwork, please resubmit it if you
> resubmit the series

The original series - containing this patch - generated a bit of discussion
and it seams that I will need to do bigger change in the dmaengine API
compared to this.
I think this patch can be dropped as the dmaengine changes will not go in as
they were.

(and by the look of it the issue you're trying to fix
> still exists, so it would be nice if you could get it eventually fixed).

Yes, the issue still valid for the OMAP/DaVinci driver the series was touching.

I will try to send a new series in the coming weeks.

Thanks,
Péter
>
> On Tuesday 26 May 2015 16:26:07 Peter Ujfalusi wrote:
>> Switch to use ma_request_slave_channel_compat_reason() to request the DMA
>> channel. Only fall back to pio mode if the error code returned is not
>> -EPROBE_DEFER, otherwise return from the probe with the -EPROBE_DEFER.
>>
>> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx>
>> CC: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
>> CC: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
>> ---
>> drivers/media/platform/omap3isp/isphist.c | 12 +++++++++---
>> 1 file changed, 9 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/media/platform/omap3isp/isphist.c
>> b/drivers/media/platform/omap3isp/isphist.c index
>> 7138b043a4aa..e690ca13af0e 100644
>> --- a/drivers/media/platform/omap3isp/isphist.c
>> +++ b/drivers/media/platform/omap3isp/isphist.c
>> @@ -499,14 +499,20 @@ int omap3isp_hist_init(struct isp_device *isp)
>> if (res)
>> sig = res->start;
>>
>> - hist->dma_ch = dma_request_slave_channel_compat(mask,
>> + hist->dma_ch = dma_request_slave_channel_compat_reason(mask,
>> omap_dma_filter_fn, &sig, isp->dev, "hist");
>> - if (!hist->dma_ch)
>> + if (IS_ERR(hist->dma_ch)) {
>> + ret = PTR_ERR(hist->dma_ch);
>> + if (ret == -EPROBE_DEFER)
>> + return ret;
>> +
>> + hist->dma_ch = NULL;
>> dev_warn(isp->dev,
>> "hist: DMA channel request failed, using PIO\n");
>> - else
>> + } else {
>> dev_dbg(isp->dev, "hist: using DMA channel %s\n",
>> dma_chan_name(hist->dma_ch));
>> + }
>> }
>>
>> hist->ops = &hist_ops;
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/