On Thu, 13 Dec 2018 19:01:11 +0100 Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> wrote: > > +static int omap_nand_attach_chip(struct nand_chip *chip) > > +{ > > + struct mtd_info *mtd = nand_to_mtd(chip); > > + struct omap_nand_info *info = mtd_to_omap(mtd); > > + struct device *dev = &info->pdev->dev; > > + int min_oobbytes = BADBLOCK_MARKER_LENGTH; > > + int oobbytes_per_step; > > + dma_cap_mask_t mask; > > + int err; > > + > > + if (chip->bbt_options & NAND_BBT_USE_FLASH) > > + chip->bbt_options |= NAND_BBT_NO_OOB; > > + else > > + chip->options |= NAND_SKIP_BBTSCAN; > > + > > + /* Re-populate low-level callbacks based on xfer modes */ > > + switch (info->xfer_type) { > > + case NAND_OMAP_PREFETCH_POLLED: > > + chip->read_buf = omap_read_buf_pref; > > + chip->write_buf = omap_write_buf_pref; > > + break; > > + > > + case NAND_OMAP_POLLED: > > + /* Use nand_base defaults for {read,write}_buf */ > > + break; > > + > > + case NAND_OMAP_PREFETCH_DMA: > > + dma_cap_zero(mask); > > + dma_cap_set(DMA_SLAVE, mask); > > + info->dma = dma_request_chan(dev, "rxtx"); > > + Can you try with info->dma = dma_request_chan(dev->parent, "rxtx"); ? ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/