Lines Matching refs:ec
86 } ec; variable
163 mutex_enter(&ec.ec_mutex); in ec_rd()
164 sc = inb(ec.ec_sc); in ec_rd()
176 outb(ec.ec_sc, EC_RD); /* output a read command */ in ec_rd()
177 if (ec_wait_ibf_clear(ec.ec_sc) < 0) { in ec_rd()
180 mutex_exit(&ec.ec_mutex); in ec_rd()
184 outb(ec.ec_base, addr); /* output addr */ in ec_rd()
185 if (ec_wait_ibf_clear(ec.ec_sc) < 0) { in ec_rd()
188 mutex_exit(&ec.ec_mutex); in ec_rd()
191 if (ec_wait_obf_set(ec.ec_sc) < 0) { in ec_rd()
194 mutex_exit(&ec.ec_mutex); in ec_rd()
198 rv = inb(ec.ec_base); in ec_rd()
199 mutex_exit(&ec.ec_mutex); in ec_rd()
212 mutex_enter(&ec.ec_mutex); in ec_wr()
213 sc = inb(ec.ec_sc); in ec_wr()
225 outb(ec.ec_sc, EC_WR); /* output a write command */ in ec_wr()
226 if (ec_wait_ibf_clear(ec.ec_sc) < 0) { in ec_wr()
229 mutex_exit(&ec.ec_mutex); in ec_wr()
233 outb(ec.ec_base, addr); /* output addr */ in ec_wr()
234 if (ec_wait_ibf_clear(ec.ec_sc) < 0) { in ec_wr()
237 mutex_exit(&ec.ec_mutex); in ec_wr()
241 outb(ec.ec_base, val); /* write data */ in ec_wr()
242 if (ec_wait_ibf_clear(ec.ec_sc) < 0) { in ec_wr()
245 mutex_exit(&ec.ec_mutex); in ec_wr()
249 mutex_exit(&ec.ec_mutex); in ec_wr()
262 mutex_enter(&ec.ec_mutex); in ec_query()
263 outb(ec.ec_sc, EC_QR); /* output a query command */ in ec_query()
264 if (ec_wait_ibf_clear(ec.ec_sc) < 0) { in ec_query()
267 mutex_exit(&ec.ec_mutex); in ec_query()
271 if (ec_wait_obf_set(ec.ec_sc) < 0) { in ec_query()
274 mutex_exit(&ec.ec_mutex); in ec_query()
278 rv = inb(ec.ec_base); in ec_query()
279 mutex_exit(&ec.ec_mutex); in ec_query()
295 if (ec.ec_ok == 0) in ec_handler()
355 if (!(inb(ec.ec_sc) & EC_SCI)) in ec_gpe_callback()
363 (void) AcpiEvaluateObject(ec.ec_dev_hdl, query_str, NULL, NULL); in ec_gpe_callback()
366 AcpiFinishGpe(ec.ec_gpe_hdl, ec.ec_gpe_bit); in ec_gpe_callback()
382 if (ec.ec_ok == 0) in ec_gpe_handler()
437 ec.ec_base = ecdt->Data.Address; in ec_probe_ecdt()
438 ec.ec_sc = ecdt->Control.Address; in ec_probe_ecdt()
439 ec.ec_dev_hdl = dev_hdl; in ec_probe_ecdt()
440 ec.ec_gpe_hdl = NULL; in ec_probe_ecdt()
441 ec.ec_gpe_bit = ecdt->Gpe; in ec_probe_ecdt()
442 ec.ec_ok = 1; in ec_probe_ecdt()
576 ec.ec_base = ec_base; in ec_probe_ns()
577 ec.ec_sc = ec_sc; in ec_probe_ns()
578 ec.ec_dev_hdl = dev_hdl; in ec_probe_ns()
579 ec.ec_gpe_hdl = gpe_hdl; in ec_probe_ns()
580 ec.ec_gpe_bit = gpe_bit; in ec_probe_ns()
581 ec.ec_ok = 1; in ec_probe_ns()
600 if (ec.ec_ok == 0) in ec_init()
607 if (inb(ec.ec_sc) & EC_OBF) { in ec_init()
608 x = inb(ec.ec_base); /* read and discard value */ in ec_init()
658 if (ec.ec_ok == 0) { in ec_attach()
667 rc = AcpiInstallGpeHandler(ec.ec_gpe_hdl, ec.ec_gpe_bit, in ec_attach()
675 rc = AcpiEnableGpe(ec.ec_gpe_hdl, ec.ec_gpe_bit); in ec_attach()
688 AcpiRemoveGpeHandler(ec.ec_gpe_hdl, ec.ec_gpe_bit, in ec_attach()
728 mutex_init(&ec.ec_mutex, NULL, MUTEX_DRIVER, NULL); in acpica_ec_init()