Lines Matching refs:ca
42 static int mantis_hif_sbuf_opdone_wait(struct mantis_ca *ca) in mantis_hif_sbuf_opdone_wait() argument
44 struct mantis_pci *mantis = ca->ca_priv; in mantis_hif_sbuf_opdone_wait()
47 if (wait_event_timeout(ca->hif_opdone_wq, in mantis_hif_sbuf_opdone_wait()
48 ca->hif_event & MANTIS_SBUF_OPDONE, in mantis_hif_sbuf_opdone_wait()
55 ca->hif_event &= ~MANTIS_SBUF_OPDONE; in mantis_hif_sbuf_opdone_wait()
59 static int mantis_hif_write_wait(struct mantis_ca *ca) in mantis_hif_write_wait() argument
61 struct mantis_pci *mantis = ca->ca_priv; in mantis_hif_write_wait()
65 if (wait_event_timeout(ca->hif_write_wq, in mantis_hif_write_wait()
89 int mantis_hif_read_mem(struct mantis_ca *ca, u32 addr) in mantis_hif_read_mem() argument
91 struct mantis_pci *mantis = ca->ca_priv; in mantis_hif_read_mem()
95 mutex_lock(&ca->ca_lock); in mantis_hif_read_mem()
106 if (mantis_hif_sbuf_opdone_wait(ca) != 0) { in mantis_hif_read_mem()
108 mutex_unlock(&ca->ca_lock); in mantis_hif_read_mem()
112 mutex_unlock(&ca->ca_lock); in mantis_hif_read_mem()
117 int mantis_hif_write_mem(struct mantis_ca *ca, u32 addr, u8 data) in mantis_hif_write_mem() argument
119 struct mantis_slot *slot = ca->slot; in mantis_hif_write_mem()
120 struct mantis_pci *mantis = ca->ca_priv; in mantis_hif_write_mem()
124 mutex_lock(&ca->ca_lock); in mantis_hif_write_mem()
135 if (mantis_hif_write_wait(ca) != 0) { in mantis_hif_write_mem()
137 mutex_unlock(&ca->ca_lock); in mantis_hif_write_mem()
141 mutex_unlock(&ca->ca_lock); in mantis_hif_write_mem()
146 int mantis_hif_read_iom(struct mantis_ca *ca, u32 addr) in mantis_hif_read_iom() argument
148 struct mantis_pci *mantis = ca->ca_priv; in mantis_hif_read_iom()
152 mutex_lock(&ca->ca_lock); in mantis_hif_read_iom()
163 if (mantis_hif_sbuf_opdone_wait(ca) != 0) { in mantis_hif_read_iom()
165 mutex_unlock(&ca->ca_lock); in mantis_hif_read_iom()
171 mutex_unlock(&ca->ca_lock); in mantis_hif_read_iom()
176 int mantis_hif_write_iom(struct mantis_ca *ca, u32 addr, u8 data) in mantis_hif_write_iom() argument
178 struct mantis_pci *mantis = ca->ca_priv; in mantis_hif_write_iom()
182 mutex_lock(&ca->ca_lock); in mantis_hif_write_iom()
192 if (mantis_hif_write_wait(ca) != 0) { in mantis_hif_write_iom()
194 mutex_unlock(&ca->ca_lock); in mantis_hif_write_iom()
198 mutex_unlock(&ca->ca_lock); in mantis_hif_write_iom()
204 int mantis_hif_init(struct mantis_ca *ca) in mantis_hif_init() argument
206 struct mantis_slot *slot = ca->slot; in mantis_hif_init()
207 struct mantis_pci *mantis = ca->ca_priv; in mantis_hif_init()
213 mutex_lock(&ca->ca_lock); in mantis_hif_init()
223 mutex_unlock(&ca->ca_lock); in mantis_hif_init()
228 void mantis_hif_exit(struct mantis_ca *ca) in mantis_hif_exit() argument
230 struct mantis_pci *mantis = ca->ca_priv; in mantis_hif_exit()
234 mutex_lock(&ca->ca_lock); in mantis_hif_exit()
238 mutex_unlock(&ca->ca_lock); in mantis_hif_exit()