X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-alpha%2Fcore_cia.h;h=3a70d68bfce83f9d6e1ac87653a8eba8cc15189e;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=549550feeee411bbcef1124ae7342696995b7a95;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/include/asm-alpha/core_cia.h b/include/asm-alpha/core_cia.h index 549550fee..3a70d68bf 100644 --- a/include/asm-alpha/core_cia.h +++ b/include/asm-alpha/core_cia.h @@ -347,14 +347,14 @@ __EXTERN_INLINE unsigned int cia_ioread8(void __iomem *xaddr) unsigned long addr = (unsigned long) xaddr; unsigned long result, base_and_type; - /* We can use CIA_MEM_R1_MASK for io ports too, since it is large - enough to cover all io ports, and smaller than CIA_IO. */ - addr &= CIA_MEM_R1_MASK; if (addr >= CIA_DENSE_MEM) base_and_type = CIA_SPARSE_MEM + 0x00; else base_and_type = CIA_IO + 0x00; + /* We can use CIA_MEM_R1_MASK for io ports too, since it is large + enough to cover all io ports, and smaller than CIA_IO. */ + addr &= CIA_MEM_R1_MASK; result = *(vip) ((addr << 5) + base_and_type); return __kernel_extbl(result, addr & 3); } @@ -364,12 +364,12 @@ __EXTERN_INLINE void cia_iowrite8(u8 b, void __iomem *xaddr) unsigned long addr = (unsigned long) xaddr; unsigned long w, base_and_type; - addr &= CIA_MEM_R1_MASK; if (addr >= CIA_DENSE_MEM) base_and_type = CIA_SPARSE_MEM + 0x00; else base_and_type = CIA_IO + 0x00; + addr &= CIA_MEM_R1_MASK; w = __kernel_insbl(b, addr & 3); *(vuip) ((addr << 5) + base_and_type) = w; } @@ -379,12 +379,12 @@ __EXTERN_INLINE unsigned int cia_ioread16(void __iomem *xaddr) unsigned long addr = (unsigned long) xaddr; unsigned long result, base_and_type; - addr &= CIA_MEM_R1_MASK; if (addr >= CIA_DENSE_MEM) base_and_type = CIA_SPARSE_MEM + 0x08; else base_and_type = CIA_IO + 0x08; + addr &= CIA_MEM_R1_MASK; result = *(vip) ((addr << 5) + base_and_type); return __kernel_extwl(result, addr & 3); } @@ -394,12 +394,12 @@ __EXTERN_INLINE void cia_iowrite16(u16 b, void __iomem *xaddr) unsigned long addr = (unsigned long) xaddr; unsigned long w, base_and_type; - addr &= CIA_MEM_R1_MASK; if (addr >= CIA_DENSE_MEM) base_and_type = CIA_SPARSE_MEM + 0x08; else base_and_type = CIA_IO + 0x08; + addr &= CIA_MEM_R1_MASK; w = __kernel_inswl(b, addr & 3); *(vuip) ((addr << 5) + base_and_type) = w; }