FreeBSD Bugzilla – Attachment 198229 Details for
Bug 230434
[DWC OTG] USB sound card fails to record
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Updated fix for issue (v2)
dwc_otg.diff (text/plain), 1.62 KB, created by
Hans Petter Selasky
on 2018-10-16 17:13:43 UTC
(
hide
)
Description:
Updated fix for issue (v2)
Filename:
MIME Type:
Creator:
Hans Petter Selasky
Created:
2018-10-16 17:13:43 UTC
Size:
1.62 KB
patch
obsolete
>Index: sys/dev/usb/controller/dwc_otg.c >=================================================================== >--- sys/dev/usb/controller/dwc_otg.c (revision 339376) >+++ sys/dev/usb/controller/dwc_otg.c (working copy) >@@ -1458,6 +1458,8 @@ > /* check if we are complete */ > if (td->tt_xactpos == HCSPLT_XACTPOS_BEGIN) { > goto complete; >+ } else if (td->hcsplt != 0) { >+ goto receive_pkt; > } else { > /* get more packets */ > goto busy; >@@ -1516,8 +1518,10 @@ > if (td->hcsplt != 0) { > delta = td->tt_complete_slot - sc->sc_last_frame_num - 1; > if (td->tt_scheduled == 0 || delta < DWC_OTG_TT_SLOT_MAX) { >- td->state = DWC_CHAN_ST_WAIT_C_PKT; >- goto busy; >+ if (td->ep_type != UE_ISOCHRONOUS) { >+ td->state = DWC_CHAN_ST_WAIT_C_PKT; >+ goto busy; >+ } > } > delta = sc->sc_last_frame_num - td->tt_start_slot; > if (delta > DWC_OTG_TT_SLOT_MAX) { >@@ -1563,12 +1567,23 @@ > hcchar = td->hcchar; > hcchar |= HCCHAR_EPDIR_IN; > >- /* receive complete split ASAP */ >- if ((sc->sc_last_frame_num & 1) != 0 && >- td->ep_type == UE_ISOCHRONOUS) >- hcchar |= HCCHAR_ODDFRM; >- else >+ if (td->ep_type == UE_ISOCHRONOUS) { >+ if (td->hcsplt != 0) { >+ /* continously buffer */ >+ if (sc->sc_last_frame_num & 1) >+ hcchar &= ~HCCHAR_ODDFRM; >+ else >+ hcchar |= HCCHAR_ODDFRM; >+ } else { >+ /* multi buffer, if any */ >+ if (sc->sc_last_frame_num & 1) >+ hcchar |= HCCHAR_ODDFRM; >+ else >+ hcchar &= ~HCCHAR_ODDFRM; >+ } >+ } else { > hcchar &= ~HCCHAR_ODDFRM; >+ } > > /* must enable channel before data can be received */ > DWC_OTG_WRITE_4(sc, DOTG_HCCHAR(channel), hcchar);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 230434
:
195979
|
195980
|
198213
|
198228
| 198229