Subversion Repositories shark

Rev

Blame | Last modification | View Log | RSS feed

/* Generic I/O and MEMIO string operations.  */

#define __ide_insw      insw
#define __ide_insl      insl
#define __ide_outsw     outsw
#define __ide_outsl     outsl

static __inline__ void __ide_mm_insw(unsigned long port, void *addr, u32 count)
{
        while (count--) {
                *(u16 *)addr = readw(port);
                addr += 2;
        }
}

static __inline__ void __ide_mm_insl(unsigned long port, void *addr, u32 count)
{
        while (count--) {
                *(u32 *)addr = readl(port);
                addr += 4;
        }
}

static __inline__ void __ide_mm_outsw(unsigned long port, void *addr, u32 count)
{
        while (count--) {
                writew(*(u16 *)addr, port);
                addr += 2;
        }
}

static __inline__ void __ide_mm_outsl(unsigned long port, void *addr, u32 count)
{
        while (count--) {
                writel(*(u32 *)addr, port);
                addr += 4;
        }
}