Re: [PATCH] I/O helpers rework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jan 22, 2005 at 02:51:47AM +0000, Maciej W. Rozycki wrote:

> > 1. How about using 'const void *' for outs*()/reads*() ?  This will
> >    remove some compiler warnings too.  Also, it seems 'volatile' for
> >    memory buffer are unneeded.
> > 
> > 2. In *in*()/*out*(), it would be better to call __swizzle_addr*()
> >    AFTER adding mips_io_port_base.  This unifies the meaning of the
> >    argument of __swizzle_addr*() (always virtual address).  Then,
> >    mach-specific __swizzle_addr*() can to every evil thing based on
> >    the argument.
> > 
> > 3. How about Moving generic ioswab*() to mangle-port.h ?  Also how
> >    about passing virtual address to *ioswab*() ?  Then we can provide
> >    mach-specific ioswab*() and can do every evil thing based on its
> >    argument.  It is usefull on machines which have regions with
> >    different endian conversion scheme.
> 
>  Thanks for your insight -- your comments are not lost and I am working on 
> taking them into account.  But meanwhile a confusion around the semantics 
> of these operations arose (there is no documentation on them and some 
> drivers expect some of these functions to swap, while others expect them 
> not to) and changes were made to the tree that invalidated some of the 
> fixes.  That needs to be addressed first and I expect another update to 
> the file.  Here's a patch I'm going to start with.  Functions it adds have 
> been named dma_* to indicate they are meant to preserve memory byte 
> ordering.

Looks good but I don't really like the dma_* name prefix as these functions
really have nothing to do with DMA - in fact they're the opposite.

  Ralf


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux