Lines Matching refs:sc_reg
67 static int sis_scr_read(struct ata_link *link, unsigned int sc_reg, u32 *val);
68 static int sis_scr_write(struct ata_link *link, unsigned int sc_reg, u32 val);
112 static unsigned int get_scr_cfg_addr(struct ata_port *ap, unsigned int sc_reg) in get_scr_cfg_addr() argument
115 unsigned int addr = SIS_SCR_BASE + (4 * sc_reg); in get_scr_cfg_addr()
138 unsigned int sc_reg, u32 *val) in sis_scr_cfg_read() argument
141 unsigned int cfg_addr = get_scr_cfg_addr(link->ap, sc_reg); in sis_scr_cfg_read()
145 if (sc_reg == SCR_ERROR) /* doesn't exist in PCI cfg space */ in sis_scr_cfg_read()
163 unsigned int sc_reg, u32 val) in sis_scr_cfg_write() argument
166 unsigned int cfg_addr = get_scr_cfg_addr(link->ap, sc_reg); in sis_scr_cfg_write()
169 if (sc_reg == SCR_ERROR) /* doesn't exist in PCI cfg space */ in sis_scr_cfg_write()
183 static int sis_scr_read(struct ata_link *link, unsigned int sc_reg, u32 *val) in sis_scr_read() argument
189 if (sc_reg > SCR_CONTROL) in sis_scr_read()
193 return sis_scr_cfg_read(link, sc_reg, val); in sis_scr_read()
197 *val = ioread32(ap->ioaddr.scr_addr + (sc_reg * 4)); in sis_scr_read()
201 *val |= ioread32(ap->ioaddr.scr_addr + (sc_reg * 4) + 0x10); in sis_scr_read()
208 static int sis_scr_write(struct ata_link *link, unsigned int sc_reg, u32 val) in sis_scr_write() argument
214 if (sc_reg > SCR_CONTROL) in sis_scr_write()
220 return sis_scr_cfg_write(link, sc_reg, val); in sis_scr_write()
222 iowrite32(val, ap->ioaddr.scr_addr + (sc_reg * 4)); in sis_scr_write()
225 iowrite32(val, ap->ioaddr.scr_addr + (sc_reg * 4)+0x10); in sis_scr_write()