On Mon, Nov 17, 2014 at 04:06:08PM +0530, Ankit Jindal wrote: > Currently, three types of mem regions are supported: UIO_MEM_PHYS, > UIO_MEM_LOGICAL and UIO_MEM_VIRTUAL. Among these UIO_MEM_PHYS helps > UIO driver export physcial memory to user space as non-cacheable > user memory. Typcially memory-mapped registers of a device are exported > to user space as UIO_MEM_PHYS type mem region. The UIO_MEM_PHYS type > is not efficient if dma-capable devices are capable of maintaining coherency > with CPU caches.
Not efficient in what way? > This patch adds new type UIO_MEM_PHYS_CACHE for mem regions to enable > cacheable access to physical memory from user space. > > Signed-off-by: Ankit Jindal <ankit.jin...@linaro.org> > Signed-off-by: Tushar Jagad <tushar.ja...@linaro.org> > --- > drivers/uio/uio.c | 11 ++++++++--- > include/linux/uio_driver.h | 1 + > 2 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c > index 97e6444..120a84b 100644 > --- a/drivers/uio/uio.c > +++ b/drivers/uio/uio.c > @@ -644,7 +644,7 @@ static const struct vm_operations_struct > uio_physical_vm_ops = { > #endif > }; > > -static int uio_mmap_physical(struct vm_area_struct *vma) > +static int uio_mmap_physical(struct vm_area_struct *vma, bool cacheable) I despise "bool" flags in a function, as they don't give any idea of what is going on when you see the function being called. Please create a new function that does this properly, with a correct name, if it's needed. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/