Lines Matching refs:corb

123 	struct hda_codec_cmd_ctl corb;  member
743 struct hda_codec_cmd_ctl *corb = &sc->corb; in hda_corb_start() local
749 corb->name = "CORB"; in hda_corb_start()
753 corb->size = hda_corb_sizes[corbsize]; in hda_corb_start()
755 if (!corb->size) { in hda_corb_start()
766 corb->dma_vaddr = hda_dma_get_vaddr(sc, corbpaddr, in hda_corb_start()
767 HDA_CORB_ENTRY_LEN * corb->size); in hda_corb_start()
768 if (!corb->dma_vaddr) { in hda_corb_start()
773 corb->wp = hda_get_reg_by_offset(sc, HDAC_CORBWP); in hda_corb_start()
774 corb->rp = hda_get_reg_by_offset(sc, HDAC_CORBRP); in hda_corb_start()
776 corb->run = 1; in hda_corb_start()
778 hda_print_cmd_ctl_data(corb); in hda_corb_start()
786 struct hda_codec_cmd_ctl *corb = &sc->corb; in hda_corb_run() local
790 corb->wp = hda_get_reg_by_offset(sc, HDAC_CORBWP); in hda_corb_run()
791 if (corb->wp >= corb->size) { in hda_corb_run()
792 DPRINTF("Invalid HDAC_CORBWP %u >= size %u", corb->wp, in hda_corb_run()
793 corb->size); in hda_corb_run()
797 while (corb->rp != corb->wp && corb->run) { in hda_corb_run()
798 corb->rp++; in hda_corb_run()
799 corb->rp %= corb->size; in hda_corb_run()
801 verb = hda_dma_ld_dword((uint8_t *)corb->dma_vaddr + in hda_corb_run()
802 HDA_CORB_ENTRY_LEN * corb->rp); in hda_corb_run()
808 hda_set_reg_by_offset(sc, HDAC_CORBRP, corb->rp); in hda_corb_run()
810 if (corb->run) in hda_corb_run()
932 struct hda_codec_cmd_ctl *corb = NULL; in hda_set_corbctl() local
940 corb = &sc->corb; in hda_set_corbctl()
941 memset(corb, 0, sizeof(*corb)); in hda_set_corbctl()