Hi, On Wed, Nov 15, 2017 at 12:43:19PM +0200, Roger Quadros wrote: > On 15/11/17 12:32, Ladislav Michl wrote: > > On Wed, Nov 15, 2017 at 12:08:05PM +0200, Roger Quadros wrote: > >> Hi, > >> > >> On 11/11/17 23:24, Ladislav Michl wrote: > >>> @@ -529,15 +527,11 @@ static int omap2_onenand_probe(struct platform_device *pdev) > >>> dma_cap_set(DMA_MEMCPY, mask); > >>> > >>> c->dma_chan = dma_request_channel(mask, NULL, NULL); > >>> - if (!c->dma_chan) > >>> - dev_info(&pdev->dev, > >>> - "failed to allocate DMA for OneNAND, " > >>> - "using PIO instead\n"); > >> > >> Why get rid of the print message? Instead we could choose to error out completely > >> if a DMA channel was provided and we couldn't get it. > > > > The point is that without pdata->dma_channel condition above, DMA is always > > enabled and it seems too strict to me to fail, when driver can continue to work. > > OK. fair enough. Just FYI, tested 4.15-rc1 and got this: [ 0.168701] omap_hwmod: dma: no dt node [ 0.292968] omap_device: omap_dma_system: build failed (-22) [ 0.292968] omap2_system_dma_init_dev: Can't build omap_device for omap_dma_system:dma. [ 0.411590] onenand_check_lock_status: block = 2048, wp status = 0x2 [ 0.777435] omap_hsmmc 4809c000.mmc: RX DMA channel request failed [ 0.787841] omap_hsmmc 4809c000.mmc: RX DMA channel request failed [ 4.959228] omap_hsmmc 4809c000.mmc: RX DMA channel request failed [ 5.077667] omap_hsmmc 4809c000.mmc: RX DMA channel request failed [ 5.187011] omap_hsmmc 4809c000.mmc: RX DMA channel request failed [ 5.288726] omap_hsmmc 4809c000.mmc: RX DMA channel request failed [ 5.426971] omap_hsmmc 4809c000.mmc: RX DMA channel request failed [ 5.987457] omap_hsmmc 4809c000.mmc: RX DMA channel request failed [ 6.098937] omap_hsmmc 4809c000.mmc: RX DMA channel request failed [ 6.243530] omap_hsmmc 4809c000.mmc: RX DMA channel request failed [ 6.311950] omap_hsmmc 4809c000.mmc: RX DMA channel request failed [ 6.355957] omap-sham 480c3000.sham: initialization failed. [ 6.397247] omap-aes 480c5000.aes: Unable to request in DMA channel [ 6.403869] omap-aes 480c5000.aes: initialization failed. [ 6.614807] omap-sham 480c3000.sham: initialization failed. [ 6.621551] omap-aes 480c5000.aes: Unable to request in DMA channel [ 6.628234] omap-aes 480c5000.aes: initialization failed. [ 6.793853] omap_hsmmc 4809c000.mmc: RX DMA channel request failed [ 7.176910] omap-sham 480c3000.sham: initialization failed. [ 7.183563] omap-aes 480c5000.aes: Unable to request in DMA channel [ 7.190246] omap-aes 480c5000.aes: initialization failed. [ 7.417022] omap_hsmmc 4809c000.mmc: RX DMA channel request failed [ 7.629211] omap-sham 480c3000.sham: initialization failed. [ 7.635986] omap-aes 480c5000.aes: Unable to request in DMA channel [ 7.642578] omap-aes 480c5000.aes: initialization failed. [ 7.854522] omap_hsmmc 4809c000.mmc: RX DMA channel request failed [ 7.938964] omap-sham 480c3000.sham: initialization failed. [ 7.945617] omap-aes 480c5000.aes: Unable to request in DMA channel [ 7.952331] omap-aes 480c5000.aes: initialization failed. [ 8.142791] omap_hsmmc 4809c000.mmc: RX DMA channel request failed Above error seems to be caused by missing DT changes merged during -rc1 (Which DT related brokeness is allowed and which not is still mystery to me). Anyway, driver can deal with that pretty well: omap2-onenand 30000000.onenand: initializing on CS0 (0x30000000), va e0080000, PIO mode ...and oprerates normally (unlike mmc, sound, etc.) Best regards, ladis -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html