Re: [PATCH v2 2/6] staging: fbtft: do not override DMA coherent mask

From: Andy Shevchenko
Date: Tue Jan 03 2017 - 05:56:12 EST


On Mon, 2017-01-02 at 19:14 +0100, Noralf TrÃnnes wrote:
> Den 02.01.2017 12:35, skrev Andy Shevchenko:
> > Usually it's not consumer's business to override resources passed
> > from
> > provider, in particularly DMA coherent mask.

> > --- a/drivers/staging/fbtft/fbtft-core.c
> > +++ b/drivers/staging/fbtft/fbtft-core.c
> > @@ -841,7 +841,6 @@ struct fb_info *fbtft_framebuffer_alloc(struct
> > fbtft_display *display,
> > ÂÂ if (txbuflen > 0) {
> > Â #ifdef CONFIG_HAS_DMA
> > ÂÂ if (dma) {
> > - dev->coherent_dma_mask = ~0;
>
> Can we make this conditional like in of_dma_configure():
>
> ÂÂÂÂÂÂÂÂÂÂif (!dev->coherent_dma_mask)
> ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂdev->coherent_dma_mask = DMA_BIT_MASK(32);
>
> If not, I guess the mask has to be set before adding the spi device in
> fbtft_device.c to keep it from breaking.

Good point. I will check this.

>ÂÂ txbuf = dmam_alloc_coherent(dev, txbuflen,
> > ÂÂ ÂÂÂÂ&par-
> > >txbuf.dma, GFP_DMA);
> > ÂÂ } else

--
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy