• Home
  • Raw
  • Download

Lines Matching refs:req

199 static int pmu_send_request(struct adb_request *req, int sync);
231 int pmu_polled_request(struct adb_request *req);
584 struct adb_request req; in init_pmu() local
590 pmu_request(&req, NULL, 2, PMU_SET_INTR_MASK, pmu_intr_mask); in init_pmu()
592 while (!req.complete) { in init_pmu()
617 pmu_request(&req, NULL, 2, PMU_SYSTEM_READY, 2); in init_pmu()
618 while (!req.complete) in init_pmu()
623 pmu_request(&req, NULL, 1, PMU_GET_VERSION); in init_pmu()
624 pmu_wait_complete(&req); in init_pmu()
625 if (req.reply_len > 0) in init_pmu()
626 pmu_version = req.reply[0]; in init_pmu()
630 pmu_request(&req, NULL, 2, PMU_POWER_EVENTS, in init_pmu()
632 pmu_wait_complete(&req); in init_pmu()
633 if (req.reply_len == 2) { in init_pmu()
634 if (req.reply[1] & PMU_PWR_WAKEUP_AC_INSERT) in init_pmu()
655 struct adb_request req; in pmu_set_server_mode() local
661 pmu_request(&req, NULL, 2, PMU_POWER_EVENTS, PMU_PWR_GET_POWERUP_EVENTS); in pmu_set_server_mode()
662 pmu_wait_complete(&req); in pmu_set_server_mode()
663 if (req.reply_len < 2) in pmu_set_server_mode()
666 pmu_request(&req, NULL, 4, PMU_POWER_EVENTS, in pmu_set_server_mode()
668 req.reply[0], PMU_PWR_WAKEUP_AC_INSERT); in pmu_set_server_mode()
670 pmu_request(&req, NULL, 4, PMU_POWER_EVENTS, in pmu_set_server_mode()
672 req.reply[0], PMU_PWR_WAKEUP_AC_INSERT); in pmu_set_server_mode()
673 pmu_wait_complete(&req); in pmu_set_server_mode()
680 done_battery_state_ohare(struct adb_request* req) in done_battery_state_ohare() argument
708 if (req->reply[0] & 0x01) in done_battery_state_ohare()
725 if (req->reply[0] & 0x04) { in done_battery_state_ohare()
727 if (req->reply[0] & 0x02) in done_battery_state_ohare()
729 vb = (req->reply[1] << 8) | req->reply[2]; in done_battery_state_ohare()
731 amperage = req->reply[5]; in done_battery_state_ohare()
732 if ((req->reply[0] & 0x01) == 0) { in done_battery_state_ohare()
735 } else if (req->reply[0] & 0x02) { in done_battery_state_ohare()
740 if (req->reply[0] & 0x40) { in done_battery_state_ohare()
741 pcharge = (req->reply[6] << 8) + req->reply[7]; in done_battery_state_ohare()
770 done_battery_state_smart(struct adb_request* req) in done_battery_state_smart() argument
795 if (req->reply[1] & 0x01) in done_battery_state_smart()
803 if (req->reply[1] & 0x04) { in done_battery_state_smart()
805 switch(req->reply[0]) { in done_battery_state_smart()
807 case 4: capa = req->reply[2]; in done_battery_state_smart()
808 max = req->reply[3]; in done_battery_state_smart()
809 amperage = *((signed char *)&req->reply[4]); in done_battery_state_smart()
810 voltage = req->reply[5]; in done_battery_state_smart()
812 case 5: capa = (req->reply[2] << 8) | req->reply[3]; in done_battery_state_smart()
813 max = (req->reply[4] << 8) | req->reply[5]; in done_battery_state_smart()
814 amperage = *((signed short *)&req->reply[6]); in done_battery_state_smart()
815 voltage = (req->reply[8] << 8) | req->reply[9]; in done_battery_state_smart()
819 "len: %d, %4ph\n", req->reply_len, in done_battery_state_smart()
820 req->reply); in done_battery_state_smart()
825 if ((req->reply[1] & 0x01) && (amperage > 0)) in done_battery_state_smart()
834 if ((req->reply[1] & 0x01) && (amperage > 0)) in done_battery_state_smart()
984 static int pmu_send_request(struct adb_request *req, int sync) in pmu_send_request() argument
989 req->complete = 1; in pmu_send_request()
995 switch (req->data[0]) { in pmu_send_request()
997 for (i = 0; i < req->nbytes - 1; ++i) in pmu_send_request()
998 req->data[i] = req->data[i+1]; in pmu_send_request()
999 --req->nbytes; in pmu_send_request()
1000 if (pmu_data_len[req->data[0]][1] != 0) { in pmu_send_request()
1001 req->reply[0] = ADB_RET_OK; in pmu_send_request()
1002 req->reply_len = 1; in pmu_send_request()
1004 req->reply_len = 0; in pmu_send_request()
1005 ret = pmu_queue_request(req); in pmu_send_request()
1008 switch (req->data[1]) { in pmu_send_request()
1010 if (req->nbytes != 2) in pmu_send_request()
1012 req->data[0] = PMU_READ_RTC; in pmu_send_request()
1013 req->nbytes = 1; in pmu_send_request()
1014 req->reply_len = 3; in pmu_send_request()
1015 req->reply[0] = CUDA_PACKET; in pmu_send_request()
1016 req->reply[1] = 0; in pmu_send_request()
1017 req->reply[2] = CUDA_GET_TIME; in pmu_send_request()
1018 ret = pmu_queue_request(req); in pmu_send_request()
1021 if (req->nbytes != 6) in pmu_send_request()
1023 req->data[0] = PMU_SET_RTC; in pmu_send_request()
1024 req->nbytes = 5; in pmu_send_request()
1026 req->data[i] = req->data[i+1]; in pmu_send_request()
1027 req->reply_len = 3; in pmu_send_request()
1028 req->reply[0] = CUDA_PACKET; in pmu_send_request()
1029 req->reply[1] = 0; in pmu_send_request()
1030 req->reply[2] = CUDA_SET_TIME; in pmu_send_request()
1031 ret = pmu_queue_request(req); in pmu_send_request()
1038 for (i = req->nbytes - 1; i > 1; --i) in pmu_send_request()
1039 req->data[i+2] = req->data[i]; in pmu_send_request()
1040 req->data[3] = req->nbytes - 2; in pmu_send_request()
1041 req->data[2] = pmu_adb_flags; in pmu_send_request()
1043 req->data[0] = PMU_ADB_CMD; in pmu_send_request()
1044 req->nbytes += 2; in pmu_send_request()
1045 req->reply_expected = 1; in pmu_send_request()
1046 req->reply_len = 0; in pmu_send_request()
1047 ret = pmu_queue_request(req); in pmu_send_request()
1051 req->complete = 1; in pmu_send_request()
1056 while (!req->complete) in pmu_send_request()
1065 struct adb_request req; in __pmu_adb_autopoll() local
1068 pmu_request(&req, NULL, 5, PMU_ADB_CMD, 0, 0x86, in __pmu_adb_autopoll()
1072 pmu_request(&req, NULL, 1, PMU_ADB_POLL_OFF); in __pmu_adb_autopoll()
1075 while (!req.complete) in __pmu_adb_autopoll()
1092 struct adb_request req; in pmu_adb_reset_bus() local
1101 req.nbytes = 4; in pmu_adb_reset_bus()
1102 req.done = NULL; in pmu_adb_reset_bus()
1103 req.data[0] = PMU_ADB_CMD; in pmu_adb_reset_bus()
1104 req.data[1] = ADB_BUSRESET; in pmu_adb_reset_bus()
1105 req.data[2] = 0; in pmu_adb_reset_bus()
1106 req.data[3] = 0; in pmu_adb_reset_bus()
1107 req.data[4] = 0; in pmu_adb_reset_bus()
1108 req.reply_len = 0; in pmu_adb_reset_bus()
1109 req.reply_expected = 1; in pmu_adb_reset_bus()
1110 if (pmu_queue_request(&req) != 0) { in pmu_adb_reset_bus()
1114 pmu_wait_complete(&req); in pmu_adb_reset_bus()
1125 pmu_request(struct adb_request *req, void (*done)(struct adb_request *), in pmu_request() argument
1136 req->complete = 1; in pmu_request()
1139 req->nbytes = nbytes; in pmu_request()
1140 req->done = done; in pmu_request()
1143 req->data[i] = va_arg(list, int); in pmu_request()
1145 req->reply_len = 0; in pmu_request()
1146 req->reply_expected = 0; in pmu_request()
1147 return pmu_queue_request(req); in pmu_request()
1151 pmu_queue_request(struct adb_request *req) in pmu_queue_request() argument
1157 req->complete = 1; in pmu_queue_request()
1160 if (req->nbytes <= 0) { in pmu_queue_request()
1161 req->complete = 1; in pmu_queue_request()
1164 nsend = pmu_data_len[req->data[0]][0]; in pmu_queue_request()
1165 if (nsend >= 0 && req->nbytes != nsend + 1) { in pmu_queue_request()
1166 req->complete = 1; in pmu_queue_request()
1170 req->next = NULL; in pmu_queue_request()
1171 req->sent = 0; in pmu_queue_request()
1172 req->complete = 0; in pmu_queue_request()
1176 last_req->next = req; in pmu_queue_request()
1177 last_req = req; in pmu_queue_request()
1179 current_req = req; in pmu_queue_request()
1180 last_req = req; in pmu_queue_request()
1226 pmu_done(struct adb_request *req) in pmu_done() argument
1228 void (*done)(struct adb_request *) = req->done; in pmu_done()
1230 req->complete = 1; in pmu_done()
1235 (*done)(req); in pmu_done()
1241 struct adb_request *req; in pmu_start() local
1245 req = current_req; in pmu_start()
1246 if (!req || pmu_state != idle in pmu_start()
1252 data_len = pmu_data_len[req->data[0]][0]; in pmu_start()
1259 send_byte(req->data[0]); in pmu_start()
1288 pmu_wait_complete(struct adb_request *req) in pmu_wait_complete() argument
1292 while((pmu_state != idle && pmu_state != locked) || !req->complete) in pmu_wait_complete()
1400 struct adb_request *req = req_awaiting_reply; in pmu_handle_data() local
1401 if (!req) { in pmu_handle_data()
1407 req->reply_len = 0; in pmu_handle_data()
1409 memcpy(req->reply, data + 1, len - 1); in pmu_handle_data()
1410 req->reply_len = len - 1; in pmu_handle_data()
1412 pmu_done(req); in pmu_handle_data()
1478 struct adb_request *req; in pmu_sr_intr() local
1499 req = current_req; in pmu_sr_intr()
1501 data_len = req->nbytes - 1; in pmu_sr_intr()
1506 send_byte(req->data[data_index++]); in pmu_sr_intr()
1509 req->sent = 1; in pmu_sr_intr()
1510 data_len = pmu_data_len[req->data[0]][1]; in pmu_sr_intr()
1513 current_req = req->next; in pmu_sr_intr()
1514 if (req->reply_expected) in pmu_sr_intr()
1515 req_awaiting_reply = req; in pmu_sr_intr()
1517 return req; in pmu_sr_intr()
1521 reply_ptr = req->reply + req->reply_len; in pmu_sr_intr()
1557 req = current_req; in pmu_sr_intr()
1563 current_req = req->next; in pmu_sr_intr()
1564 req->reply_len += data_index; in pmu_sr_intr()
1565 if (req->data[0] == PMU_SLEEP || req->data[0] == PMU_CPU_SPEED) in pmu_sr_intr()
1569 return req; in pmu_sr_intr()
1587 struct adb_request *req = NULL; in via_pmu_interrupt() local
1628 req = pmu_sr_intr(); in via_pmu_interrupt()
1629 if (req) in via_pmu_interrupt()
1670 if (req) { in via_pmu_interrupt()
1671 pmu_done(req); in via_pmu_interrupt()
1672 req = NULL; in via_pmu_interrupt()
1724 struct adb_request req; in pmu_enable_irled() local
1731 pmu_request(&req, NULL, 2, PMU_POWER_CTRL, PMU_POW_IRLED | in pmu_enable_irled()
1733 pmu_wait_complete(&req); in pmu_enable_irled()
1741 struct adb_request req; in pmu_get_time() local
1744 if (pmu_request(&req, NULL, 1, PMU_READ_RTC) < 0) in pmu_get_time()
1746 pmu_wait_complete(&req); in pmu_get_time()
1747 if (req.reply_len != 4) in pmu_get_time()
1748 pr_err("%s: got %d byte reply\n", __func__, req.reply_len); in pmu_get_time()
1749 now = (req.reply[0] << 24) + (req.reply[1] << 16) + in pmu_get_time()
1750 (req.reply[2] << 8) + req.reply[3]; in pmu_get_time()
1757 struct adb_request req; in pmu_set_rtc_time() local
1760 if (pmu_request(&req, NULL, 5, PMU_SET_RTC, in pmu_set_rtc_time()
1763 pmu_wait_complete(&req); in pmu_set_rtc_time()
1764 if (req.reply_len != 0) in pmu_set_rtc_time()
1765 pr_err("%s: got %d byte reply\n", __func__, req.reply_len); in pmu_set_rtc_time()
1772 struct adb_request req; in pmu_restart() local
1782 pmu_request(&req, NULL, 2, PMU_SET_INTR_MASK, PMU_INT_ADB | in pmu_restart()
1784 while(!req.complete) in pmu_restart()
1788 pmu_request(&req, NULL, 1, PMU_RESET); in pmu_restart()
1789 pmu_wait_complete(&req); in pmu_restart()
1797 struct adb_request req; in pmu_shutdown() local
1807 pmu_request(&req, NULL, 2, PMU_SET_INTR_MASK, PMU_INT_ADB | in pmu_shutdown()
1809 pmu_wait_complete(&req); in pmu_shutdown()
1817 pmu_request(&req, NULL, 5, PMU_SHUTDOWN, in pmu_shutdown()
1819 pmu_wait_complete(&req); in pmu_shutdown()
1874 struct adb_request req; in powerbook_sleep_grackle() local
1882 pmu_request(&req, NULL, 2, PMU_POWER_CTRL0, PMU_POW0_OFF|PMU_POW0_HARD_DRIVE); in powerbook_sleep_grackle()
1883 pmu_wait_complete(&req); in powerbook_sleep_grackle()
1884 pmu_request(&req, NULL, 2, PMU_POWER_CTRL, in powerbook_sleep_grackle()
1886 pmu_wait_complete(&req); in powerbook_sleep_grackle()
1893 pmu_request(&req, NULL, 5, PMU_SLEEP, 'M', 'A', 'T', 'T'); in powerbook_sleep_grackle()
1894 pmu_wait_complete(&req); in powerbook_sleep_grackle()
1934 pmu_request(&req, NULL, 2, PMU_SET_INTR_MASK, pmu_intr_mask); in powerbook_sleep_grackle()
1935 pmu_wait_complete(&req); in powerbook_sleep_grackle()
1936 pmu_request(&req, NULL, 2, PMU_POWER_CTRL0, in powerbook_sleep_grackle()
1938 pmu_wait_complete(&req); in powerbook_sleep_grackle()
1939 pmu_request(&req, NULL, 2, PMU_POWER_CTRL, in powerbook_sleep_grackle()
1941 pmu_wait_complete(&req); in powerbook_sleep_grackle()
1951 struct adb_request req; in powerbook_sleep_Core99() local
1962 pmu_request(&req, NULL, 2, PMU_SET_INTR_MASK, 0); in powerbook_sleep_Core99()
1963 pmu_wait_complete(&req); in powerbook_sleep_Core99()
1966 pmu_request(&req, NULL, 4, PMU_POWER_EVENTS, PMU_PWR_CLR_WAKEUP_EVENTS, in powerbook_sleep_Core99()
1968 pmu_wait_complete(&req); in powerbook_sleep_Core99()
1969 pmu_request(&req, NULL, 4, PMU_POWER_EVENTS, PMU_PWR_SET_WAKEUP_EVENTS, in powerbook_sleep_Core99()
1972 pmu_wait_complete(&req); in powerbook_sleep_Core99()
1980 pmu_request(&req, NULL, 5, PMU_SLEEP, 'M', 'A', 'T', 'T'); in powerbook_sleep_Core99()
1981 pmu_wait_complete(&req); in powerbook_sleep_Core99()
2023 pmu_request(&req, NULL, 2, PMU_SYSTEM_READY, 2); in powerbook_sleep_Core99()
2024 pmu_wait_complete(&req); in powerbook_sleep_Core99()
2025 pmu_request(&req, NULL, 2, PMU_SET_INTR_MASK, pmu_intr_mask); in powerbook_sleep_Core99()
2026 pmu_wait_complete(&req); in powerbook_sleep_Core99()
2535 pmu_polled_request(struct adb_request *req) in pmu_polled_request() argument
2540 req->complete = 1; in pmu_polled_request()
2541 c = req->data[0]; in pmu_polled_request()
2543 if (l >= 0 && req->nbytes != l + 1) in pmu_polled_request()
2554 l = req->nbytes - 1; in pmu_polled_request()
2558 polled_send_byte(req->data[i]); in pmu_polled_request()
2564 req->reply[i + req->reply_len] = polled_recv_byte(); in pmu_polled_request()
2566 if (req->done) in pmu_polled_request()
2567 (*req->done)(req); in pmu_polled_request()
2576 struct adb_request req; in pmu_blink() local
2578 memset(&req, 0, sizeof(req)); in pmu_blink()
2581 req.nbytes = 4; in pmu_blink()
2582 req.done = NULL; in pmu_blink()
2583 req.data[0] = 0xee; in pmu_blink()
2584 req.data[1] = 4; in pmu_blink()
2585 req.data[2] = 0; in pmu_blink()
2586 req.data[3] = 1; in pmu_blink()
2587 req.reply[0] = ADB_RET_OK; in pmu_blink()
2588 req.reply_len = 1; in pmu_blink()
2589 req.reply_expected = 0; in pmu_blink()
2590 pmu_polled_request(&req); in pmu_blink()
2592 req.nbytes = 4; in pmu_blink()
2593 req.done = NULL; in pmu_blink()
2594 req.data[0] = 0xee; in pmu_blink()
2595 req.data[1] = 4; in pmu_blink()
2596 req.data[2] = 0; in pmu_blink()
2597 req.data[3] = 0; in pmu_blink()
2598 req.reply[0] = ADB_RET_OK; in pmu_blink()
2599 req.reply_len = 1; in pmu_blink()
2600 req.reply_expected = 0; in pmu_blink()
2601 pmu_polled_request(&req); in pmu_blink()
2627 struct adb_request req; in pmu_syscore_resume() local
2633 pmu_request(&req, NULL, 2, PMU_SYSTEM_READY, 2); in pmu_syscore_resume()
2634 pmu_wait_complete(&req); in pmu_syscore_resume()