Lines Matching full:cmd
56 u_char cmd; member
250 DPRINTF("%s: cmd vaddr 0x%x paddr 0x%x\n", in smu_setup_doorbell()
503 smu_do_cmd(struct smu_softc *sc, struct smu_cmd *cmd, int timo) in smu_do_cmd() argument
510 DPRINTF("%s: cmd %02x len %02x\n", __func__, cmd->cmd, cmd->len); in smu_do_cmd()
512 cmd->data[0], cmd->data[1], cmd->data[2], cmd->data[3], in smu_do_cmd()
513 cmd->data[4], cmd->data[5], cmd->data[6], cmd->data[7]); in smu_do_cmd()
515 sc->sc_cmd->cmd = cmd->cmd; in smu_do_cmd()
516 sc->sc_cmd->len = cmd->len; in smu_do_cmd()
517 memcpy(sc->sc_cmd->data, cmd->data, cmd->len); in smu_do_cmd()
543 ack = (~cmd->cmd) & 0xff; in smu_do_cmd()
544 if (sc->sc_cmd->cmd != ack) { in smu_do_cmd()
546 __func__, sc->sc_cmd->cmd, ack); in smu_do_cmd()
551 cmd->cmd = sc->sc_cmd->cmd; in smu_do_cmd()
552 cmd->len = sc->sc_cmd->len; in smu_do_cmd()
553 memcpy(cmd->data, sc->sc_cmd->data, sc->sc_cmd->len); in smu_do_cmd()
576 struct smu_cmd cmd; in smu_poweroff() local
581 cmd.cmd = SMU_CMD_POWER; in smu_poweroff()
582 strcpy(cmd.data, "SHUTDOWN"); in smu_poweroff()
583 cmd.len = strlen(cmd.data) + 1; in smu_poweroff()
584 smu_do_cmd(smu0, &cmd, 800); in smu_poweroff()
592 struct smu_cmd cmd; in smu_restart() local
597 cmd.cmd = SMU_CMD_POWER; in smu_restart()
598 strcpy(cmd.data, "RESTART"); in smu_restart()
599 cmd.len = strlen(cmd.data) + 1; in smu_restart()
600 smu_do_cmd(smu0, &cmd, 800); in smu_restart()
609 struct smu_cmd cmd; in smu_todr_gettime_ymdhms() local
612 cmd.cmd = SMU_CMD_RTC; in smu_todr_gettime_ymdhms()
613 cmd.len = 1; in smu_todr_gettime_ymdhms()
614 cmd.data[0] = 0x81; in smu_todr_gettime_ymdhms()
616 ret = smu_do_cmd(sc, &cmd, 800); in smu_todr_gettime_ymdhms()
620 dt->dt_sec = bcdtobin(cmd.data[0]); in smu_todr_gettime_ymdhms()
621 dt->dt_min = bcdtobin(cmd.data[1]); in smu_todr_gettime_ymdhms()
622 dt->dt_hour = bcdtobin(cmd.data[2]); in smu_todr_gettime_ymdhms()
623 dt->dt_wday = bcdtobin(cmd.data[3]); in smu_todr_gettime_ymdhms()
624 dt->dt_day = bcdtobin(cmd.data[4]); in smu_todr_gettime_ymdhms()
625 dt->dt_mon = bcdtobin(cmd.data[5]); in smu_todr_gettime_ymdhms()
626 dt->dt_year = bcdtobin(cmd.data[6]) + 2000; in smu_todr_gettime_ymdhms()
635 struct smu_cmd cmd; in smu_todr_settime_ymdhms() local
637 cmd.cmd = SMU_CMD_RTC; in smu_todr_settime_ymdhms()
638 cmd.len = 8; in smu_todr_settime_ymdhms()
639 cmd.data[0] = 0x80; in smu_todr_settime_ymdhms()
640 cmd.data[1] = bintobcd(dt->dt_sec); in smu_todr_settime_ymdhms()
641 cmd.data[2] = bintobcd(dt->dt_min); in smu_todr_settime_ymdhms()
642 cmd.data[3] = bintobcd(dt->dt_hour); in smu_todr_settime_ymdhms()
643 cmd.data[4] = bintobcd(dt->dt_wday); in smu_todr_settime_ymdhms()
644 cmd.data[5] = bintobcd(dt->dt_day); in smu_todr_settime_ymdhms()
645 cmd.data[6] = bintobcd(dt->dt_mon); in smu_todr_settime_ymdhms()
646 cmd.data[7] = bintobcd(dt->dt_year - 2000); in smu_todr_settime_ymdhms()
648 return smu_do_cmd(sc, &cmd, 800); in smu_todr_settime_ymdhms()
655 struct smu_cmd cmd; in smu_fan_update_rpm() local
658 cmd.cmd = SMU_CMD_FAN; in smu_fan_update_rpm()
659 cmd.len = 2; in smu_fan_update_rpm()
660 cmd.data[0] = 0x31; in smu_fan_update_rpm()
661 cmd.data[1] = fan->reg; in smu_fan_update_rpm()
663 ret = smu_do_cmd(sc, &cmd, 800); in smu_fan_update_rpm()
666 fan->current_rpm = (cmd.data[0] << 8) | cmd.data[1]; in smu_fan_update_rpm()
668 cmd.cmd = SMU_CMD_FAN; in smu_fan_update_rpm()
669 cmd.len = 1; in smu_fan_update_rpm()
670 cmd.data[0] = 0x01; in smu_fan_update_rpm()
672 ret = smu_do_cmd(sc, &cmd, 800); in smu_fan_update_rpm()
675 fan->current_rpm = (cmd.data[1 + fan->reg * 2] << 8) | in smu_fan_update_rpm()
676 cmd.data[2 + fan->reg * 2]; in smu_fan_update_rpm()
708 struct smu_cmd cmd; in smu_fan_set_rpm() local
718 cmd.cmd = SMU_CMD_FAN; in smu_fan_set_rpm()
719 cmd.len = 4; in smu_fan_set_rpm()
720 cmd.data[0] = 0x30; in smu_fan_set_rpm()
721 cmd.data[1] = fan->reg; in smu_fan_set_rpm()
722 cmd.data[2] = (rpm >> 8) & 0xff; in smu_fan_set_rpm()
723 cmd.data[3] = rpm & 0xff; in smu_fan_set_rpm()
725 ret = smu_do_cmd(sc, &cmd, 800); in smu_fan_set_rpm()
727 cmd.cmd = SMU_CMD_FAN; in smu_fan_set_rpm()
728 cmd.len = 14; in smu_fan_set_rpm()
729 cmd.data[0] = fan->rpm_ctl ? 0x00 : 0x10; in smu_fan_set_rpm()
730 cmd.data[1] = 1 << fan->reg; in smu_fan_set_rpm()
731 cmd.data[2] = cmd.data[2 + fan->reg * 2] = (rpm >> 8) & 0xff; in smu_fan_set_rpm()
732 cmd.data[3] = cmd.data[3 + fan->reg * 2] = rpm & 0xff; in smu_fan_set_rpm()
734 ret = smu_do_cmd(sc, &cmd, 800); in smu_fan_set_rpm()
743 struct smu_cmd cmd; in smu_read_adc() local
746 cmd.cmd = SMU_CMD_ADC; in smu_read_adc()
747 cmd.len = 1; in smu_read_adc()
748 cmd.data[0] = id; in smu_read_adc()
750 ret = smu_do_cmd(sc, &cmd, 800); in smu_read_adc()
752 return cmd.data[0] << 8 | cmd.data[1]; in smu_read_adc()
763 struct smu_cmd cmd; in smu_iicbus_exec() local
769 cmd.cmd = SMU_CMD_I2C; in smu_iicbus_exec()
770 cmd.len = 9 + recv_len; in smu_iicbus_exec()
771 cmd.data[0] = iicbus->reg; in smu_iicbus_exec()
772 cmd.data[1] = I2C_OP_READ_P(op) ? 0x02 : 0x00; in smu_iicbus_exec()
773 cmd.data[2] = addr << 1; in smu_iicbus_exec()
774 cmd.data[3] = send_len; in smu_iicbus_exec()
775 memcpy(&cmd.data[4], send, send_len); in smu_iicbus_exec()
776 cmd.data[7] = addr << 1; in smu_iicbus_exec()
778 cmd.data[7] |= 0x01; in smu_iicbus_exec()
779 cmd.data[8] = recv_len; in smu_iicbus_exec()
780 memcpy(&cmd.data[9], recv, recv_len); in smu_iicbus_exec()
782 ret = smu_do_cmd(sc, &cmd, 800); in smu_iicbus_exec()
787 cmd.cmd = SMU_CMD_I2C; in smu_iicbus_exec()
788 cmd.len = 1; in smu_iicbus_exec()
789 cmd.data[0] = 0x00; in smu_iicbus_exec()
790 memset(&cmd.data[1], 0xff, recv_len); in smu_iicbus_exec()
792 ret = smu_do_cmd(sc, &cmd, 800); in smu_iicbus_exec()
794 DPRINTF("%s: cmd data[0] %x\n", __func__, cmd.data[0]); in smu_iicbus_exec()
796 if (ret == 0 && (cmd.data[0] & 0x80) == 0) in smu_iicbus_exec()
802 if (cmd.data[0] & 0x80) in smu_iicbus_exec()
806 memcpy(recv, &cmd.data[1], recv_len); in smu_iicbus_exec()
960 struct smu_cmd cmd; in smu_get_datablock() local
962 cmd.cmd = SMU_PARTITION; in smu_get_datablock()
963 cmd.len = 2; in smu_get_datablock()
964 cmd.data[0] = SMU_PARTITION_LATEST; in smu_get_datablock()
965 cmd.data[1] = id; in smu_get_datablock()
966 smu_do_cmd(smu0, &cmd, 100); in smu_get_datablock()
968 cmd.data[4] = cmd.data[0]; in smu_get_datablock()
969 cmd.data[5] = cmd.data[1]; in smu_get_datablock()
971 cmd.cmd = SMU_MISC; in smu_get_datablock()
972 cmd.len = 7; in smu_get_datablock()
973 cmd.data[0] = SMU_MISC_GET_DATA; in smu_get_datablock()
974 cmd.data[1] = 4; in smu_get_datablock()
975 cmd.data[2] = 0; in smu_get_datablock()
976 cmd.data[3] = 0; in smu_get_datablock()
977 cmd.data[6] = len; in smu_get_datablock()
978 smu_do_cmd(smu0, &cmd, 100); in smu_get_datablock()
980 memcpy(buf, cmd.data, len); in smu_get_datablock()