|
@@ -301,28 +301,6 @@ static int room_on_ring(struct xhci_hcd *xhci, struct xhci_ring *ring,
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
-void xhci_set_hc_event_deq(struct xhci_hcd *xhci)
|
|
|
-{
|
|
|
- u64 temp;
|
|
|
- dma_addr_t deq;
|
|
|
-
|
|
|
- deq = xhci_trb_virt_to_dma(xhci->event_ring->deq_seg,
|
|
|
- xhci->event_ring->dequeue);
|
|
|
- if (deq == 0 && !in_interrupt())
|
|
|
- xhci_warn(xhci, "WARN something wrong with SW event ring "
|
|
|
- "dequeue ptr.\n");
|
|
|
- /* Update HC event ring dequeue pointer */
|
|
|
- temp = xhci_read_64(xhci, &xhci->ir_set->erst_dequeue);
|
|
|
- temp &= ERST_PTR_MASK;
|
|
|
- /* Don't clear the EHB bit (which is RW1C) because
|
|
|
- * there might be more events to service.
|
|
|
- */
|
|
|
- temp &= ~ERST_EHB;
|
|
|
- xhci_dbg(xhci, "// Write event ring dequeue pointer, preserving EHB bit\n");
|
|
|
- xhci_write_64(xhci, ((u64) deq & (u64) ~ERST_PTR_MASK) | temp,
|
|
|
- &xhci->ir_set->erst_dequeue);
|
|
|
-}
|
|
|
-
|
|
|
/* Ring the host controller doorbell after placing a command on the ring */
|
|
|
void xhci_ring_cmd_db(struct xhci_hcd *xhci)
|
|
|
{
|