View | Details | Raw Unified | Return to bug 239341 | Differences between
and this patch

Collapse All | Expand All

(-)b/usr.sbin/bhyve/pci_hda.c (-1 / +15 lines)
Lines 678-691 hda_stream_start(struct hda_softc *sc, uint8_t stream_ind) Link Here
678
678
679
	st->bdl_cnt = bdl_cnt;
679
	st->bdl_cnt = bdl_cnt;
680
680
681
	bdl_vaddr -= 4;
681
	bdle = (struct hda_bdle *)bdl_vaddr;
682
	bdle = (struct hda_bdle *)bdl_vaddr;
682
	for (i = 0; i < bdl_cnt; i++, bdle++) {
683
	for (i = 0; i < bdl_cnt; i++, bdle++) {
683
		bdle_sz = bdle->len;
684
		bdle_sz = bdle->len;
684
		assert(!(bdle_sz % HDA_DMA_ACCESS_LEN));
685
//		assert(!(bdle_sz % HDA_DMA_ACCESS_LEN));
685
686
686
		bdle_addrl = bdle->addrl;
687
		bdle_addrl = bdle->addrl;
687
		bdle_addrh = bdle->addrh;
688
		bdle_addrh = bdle->addrh;
688
689
690
		bdle_paddr = bdle_addrl | (bdle_addrh << 32);
691
		DPRINTF("paddr: 0x%lx, size: 0x%x, ioc: 0x%x\n", bdle_paddr, bdle_sz, bdle->ioc);
692
	}
693
694
	bdle = (struct hda_bdle *)bdl_vaddr;
695
	for (i = 0; i < bdl_cnt; i++, bdle++) {
696
		bdle_sz = bdle->len;
697
		assert(!(bdle_sz % HDA_DMA_ACCESS_LEN));
698
699
		bdle_addrl = bdle->addrl;
700
//		bdle_addrh = bdle->addrh;
701
		bdle_addrh = 0;
702
689
		bdle_paddr = bdle_addrl | (bdle_addrh << 32);
703
		bdle_paddr = bdle_addrl | (bdle_addrh << 32);
690
		bdle_vaddr = hda_dma_get_vaddr(sc, bdle_paddr, bdle_sz);
704
		bdle_vaddr = hda_dma_get_vaddr(sc, bdle_paddr, bdle_sz);
691
		if (!bdle_vaddr) {
705
		if (!bdle_vaddr) {

Return to bug 239341