[PATCH v6 07/12] usb: chipidea: add a usb2 driver for ci13xxx
From: arnd@arndb.de (Arnd Bergmann)
Date: 2014-09-30 13:43:48
Also in:
linux-devicetree, lkml
From: arnd@arndb.de (Arnd Bergmann)
Date: 2014-09-30 13:43:48
Also in:
linux-devicetree, lkml
On Tuesday 30 September 2014 20:39:34 Peter Chen wrote:
Thanks, Arnd. I had not thought setting dma mask is so complicated, yes, it should check the return value, two things to confirm: - dma_coerce_mask_and_coherent or dma_set_mask_and_coherent, the only difference of these two API is the first one do "dev->dma_mask = &dev->coherent_dma_mask;" The reason you suggest choosing dma_set_mask_and_coherent is you do not want assign dev->dma_mask?
No, that is just the current definition on ARM32 with CONFIG_ARCH_MULTIPLATFORM, and that is going to change soon to be DT aware. dma_set_mask_and_coherent() is supposed to check whether the platform can support the respective mask and return an error if it cannot.
- The second parameter for dma_set_mask_and_coherent is DMA_BIT_MASK(32), is it ok? I just a little confused of what's the operation is "hardcoding the dma mask"?
dma_coerce_mask_and_coherent() will hardcode the dma mask and override whatever the platform says is necessary. Arnd