Lines Matching refs:sc_cmd
103 struct smu_cmd *sc_cmd; member
247 sc->sc_cmd = malloc(4096, M_DEVBUF, M_WAITOK); in smu_setup_doorbell()
248 sc->sc_cmd_paddr = vtophys((vaddr_t) sc->sc_cmd); in smu_setup_doorbell()
251 __func__, (unsigned int) sc->sc_cmd, in smu_setup_doorbell()
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()
519 __asm volatile ("dcbf 0,%0; sync" :: "r"(sc->sc_cmd) : "memory"); in smu_do_cmd()
529 ret = tsleep(sc->sc_cmd, PWAIT, "smu_cmd", mstohz(10)); in smu_do_cmd()
541 __asm volatile ("dcbf 0,%0; sync" :: "r"(sc->sc_cmd) : "memory"); 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()
568 wakeup(sc->sc_cmd); in smu_dbell_gpio_intr()