On Wed, Mar 17, 2010 at 12:04 PM, John Linn <John.Linn@xxxxxxxxxx> wrote: > > >> -----Original Message----- >> From: John Linn >> Sent: Wednesday, March 17, 2010 10:27 AM >> To: 'Grant Likely' >> Cc: linux-serial@xxxxxxxxxxxxxxx; jacmet@xxxxxxxxxx; michal.simek@xxxxxxxxxxxxx; >> john.williams@xxxxxxxxxxxxx >> Subject: RE: [PATCH] [V3] uartlite: move from byte accesses to word accesses >> >> > -----Original Message----- >> > From: glikely@xxxxxxxxxxxx [mailto:glikely@xxxxxxxxxxxx] On Behalf Of Grant Likely >> > Sent: Wednesday, March 17, 2010 10:21 AM >> > To: John Linn >> > Cc: linux-serial@xxxxxxxxxxxxxxx; jacmet@xxxxxxxxxx; michal.simek@xxxxxxxxxxxxx; >> > john.williams@xxxxxxxxxxxxx >> > Subject: Re: [PATCH] [V3] uartlite: move from byte accesses to word accesses >> > >> > On Wed, Mar 17, 2010 at 9:40 AM, John Linn <john.linn@xxxxxxxxxx> wrote: >> > > Byte accesses for I/O devices in Xilinx IP is going to be less >> > > desired in the future such that the driver is being changed to >> > > use 32 bit accesses. >> > > >> > > This change facilitates using the uartlite IP over a PCIe bus >> > > which only allows 32 bit accesses. >> > > >> > > Signed-off-by: John Linn <john.linn@xxxxxxxxxx> >> > > >> > > --- >> > > >> > > V2 - updated the commit message based on Peter's comments >> > > >> > > V3 - removed u8 casting based on Peter's comments, cleaned up and >> > > simplified the change by using raw I/O functions rather than >> > > using in_be32 & out_be32 functions. >> > >> > The __raw_{read,write}l() functions aren't the best choice here. User >> > ioread32be(), iowrite32be() instead if you want them to work >> > cross-architecture (see include/asm-generic/iomap.h). >> >> Maybe the ioread functions will work better than the in/out_be32 as they >> were not working like I wanted. >> >> I'm still trying to get my head wrapped around the right I/O functions to use since there are so many >> options. >> >> I'll look at your suggestions. > > That works ok on Powerpc, but not microblaze yet as there are still patches in the process of going into the kernel for that. > > Do we need to wait til those patches are in? I'd make it broken in Kconfig on microblaze until those patches get merged. To the best of my knowledge, the ioread/write routines are the best functions to use for cross-architecture MMIO code. g. -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html