forked from xuos/xiuos
Replanting xhci_event_process function
This commit is contained in:
parent
6ab2083403
commit
3928cd46b7
|
@ -2799,6 +2799,8 @@ void xhci_event_process(struct xhci_host *xhci) {
|
||||||
union xhci_trb *trb;
|
union xhci_trb *trb;
|
||||||
uint32_t control;
|
uint32_t control;
|
||||||
uint64_t erdp;
|
uint64_t erdp;
|
||||||
|
uintptr_t evts_phy = xhci->evts_phy;
|
||||||
|
|
||||||
|
|
||||||
/* check and ack event */
|
/* check and ack event */
|
||||||
for (;;) {
|
for (;;) {
|
||||||
|
@ -2854,9 +2856,14 @@ void xhci_event_process(struct xhci_host *xhci) {
|
||||||
evts->nidx = nidx;
|
evts->nidx = nidx;
|
||||||
|
|
||||||
/* Update dequeue pointer if applicable */
|
/* Update dequeue pointer if applicable */
|
||||||
erdp = (uint64_t)(unsigned long)(evts->ring + nidx);
|
// erdp = (uint64_t)(unsigned long)(evts->ring + nidx);
|
||||||
|
erdp = (uint64_t)(unsigned long)(evts_phy + nidx * sizeof(union xhci_trb));
|
||||||
|
#if 0
|
||||||
xhci_writeq ( xhci, (uintptr_t)( erdp ) | XHCI_RUN_ERDP_EHB,
|
xhci_writeq ( xhci, (uintptr_t)( erdp ) | XHCI_RUN_ERDP_EHB,
|
||||||
xhci->run + XHCI_RUN_ERDP ( 0 ) );
|
xhci->run + XHCI_RUN_ERDP ( 0 ) );
|
||||||
|
#endif
|
||||||
|
xhci_writeq ( xhci, (uintptr_t)( erdp ) | XHCI_RUN_ERDP_EHB,
|
||||||
|
xhci->run_addr + XHCI_RUN_ERDP ( 0 ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue