void lx_dsp_reg_readbuf(struct lx6464es *chip, int port, u32 *data, u32 len) { u32 __iomem *address = lx_dsp_register(chip, port); int i; /* we cannot use memcpy_fromio */ for (i = 0; i != len; ++i) data[i] = ioread32(address + i); }
void lx_dsp_reg_writebuf(struct lx6464es *chip, int port, const u32 *data, u32 len) { u32 __iomem *address = lx_dsp_register(chip, port); int i; /* we cannot use memcpy_to */ for (i = 0; i != len; ++i) iowrite32(data[i], address + i); }
void lx_dsp_reg_write(struct lx6464es *chip, int port, unsigned data) { void __iomem *address = lx_dsp_register(chip, port); iowrite32(data, address); }
unsigned long lx_dsp_reg_read(struct lx6464es *chip, int port) { void __iomem *address = lx_dsp_register(chip, port); return ioread32(address); }
void lx_dsp_reg_writebuf(struct lx6464es *chip, int port, const u32 *data, u32 len) { void __iomem *address = lx_dsp_register(chip, port); memcpy_toio(address, data, len*sizeof(u32)); }
void lx_dsp_reg_readbuf(struct lx6464es *chip, int port, u32 *data, u32 len) { void __iomem *address = lx_dsp_register(chip, port); memcpy_fromio(data, address, len*sizeof(u32)); }