uhci: pass addr to uhci_async_alloc
Also do async->td initialization in uhci_async_alloc now. Prepares for adding tracepoints. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
5ac2731cf8
commit
16ce543ed1
|
@ -198,11 +198,12 @@ static void uhci_queue_free(UHCIQueue *queue)
|
||||||
g_free(queue);
|
g_free(queue);
|
||||||
}
|
}
|
||||||
|
|
||||||
static UHCIAsync *uhci_async_alloc(UHCIQueue *queue)
|
static UHCIAsync *uhci_async_alloc(UHCIQueue *queue, uint32_t addr)
|
||||||
{
|
{
|
||||||
UHCIAsync *async = g_new0(UHCIAsync, 1);
|
UHCIAsync *async = g_new0(UHCIAsync, 1);
|
||||||
|
|
||||||
async->queue = queue;
|
async->queue = queue;
|
||||||
|
async->td = addr;
|
||||||
usb_packet_init(&async->packet);
|
usb_packet_init(&async->packet);
|
||||||
pci_dma_sglist_init(&async->sgl, &queue->uhci->dev, 1);
|
pci_dma_sglist_init(&async->sgl, &queue->uhci->dev, 1);
|
||||||
|
|
||||||
|
@ -814,7 +815,7 @@ static int uhci_handle_td(UHCIState *s, uint32_t addr, UHCI_TD *td, uint32_t *in
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Allocate new packet */
|
/* Allocate new packet */
|
||||||
async = uhci_async_alloc(uhci_queue_get(s, td));
|
async = uhci_async_alloc(uhci_queue_get(s, td), addr);
|
||||||
if (!async)
|
if (!async)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
@ -822,7 +823,6 @@ static int uhci_handle_td(UHCIState *s, uint32_t addr, UHCI_TD *td, uint32_t *in
|
||||||
* for initial isochronous requests
|
* for initial isochronous requests
|
||||||
*/
|
*/
|
||||||
async->queue->valid = 32;
|
async->queue->valid = 32;
|
||||||
async->td = addr;
|
|
||||||
async->isoc = td->ctrl & TD_CTRL_IOS;
|
async->isoc = td->ctrl & TD_CTRL_IOS;
|
||||||
|
|
||||||
max_len = ((td->token >> 21) + 1) & 0x7ff;
|
max_len = ((td->token >> 21) + 1) & 0x7ff;
|
||||||
|
|
Loading…
Reference in a new issue