Revision 4ed1c57a hw/usb/hcd-ehci.c
b/hw/usb/hcd-ehci.c | ||
---|---|---|
2070 | 2070 |
static int ehci_state_writeback(EHCIQueue *q) |
2071 | 2071 |
{ |
2072 | 2072 |
EHCIPacket *p = QTAILQ_FIRST(&q->packets); |
2073 |
uint32_t *qtd, addr; |
|
2073 | 2074 |
int again = 0; |
2074 | 2075 |
|
2075 | 2076 |
/* Write back the QTD from the QH area */ |
... | ... | |
2077 | 2078 |
assert(p->qtdaddr == q->qtdaddr); |
2078 | 2079 |
|
2079 | 2080 |
ehci_trace_qtd(q, NLPTR_GET(p->qtdaddr), (EHCIqtd *) &q->qh.next_qtd); |
2080 |
put_dwords(q->ehci, NLPTR_GET(p->qtdaddr), (uint32_t *) &q->qh.next_qtd, |
|
2081 |
sizeof(EHCIqtd) >> 2); |
|
2081 |
qtd = (uint32_t *) &q->qh.next_qtd; |
|
2082 |
addr = NLPTR_GET(p->qtdaddr); |
|
2083 |
put_dwords(q->ehci, addr + 2 * sizeof(uint32_t), qtd + 2, 2); |
|
2082 | 2084 |
ehci_free_packet(p); |
2083 | 2085 |
|
2084 | 2086 |
/* |
Also available in: Unified diff