mirror of
https://git.proxmox.com/git/qemu
synced 2025-08-15 13:51:24 +00:00
uhci: Use only one queue for ctrl endpoints
ctrl endpoints use different pids for different phases of a control transfer, this patch makes us use only one queue for a ctrl ep, rather then 3. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
8928c9c43d
commit
6fe30910ab
@ -167,8 +167,13 @@ static void uhci_queue_fill(UHCIQueue *q, UHCI_TD *td);
|
|||||||
|
|
||||||
static inline int32_t uhci_queue_token(UHCI_TD *td)
|
static inline int32_t uhci_queue_token(UHCI_TD *td)
|
||||||
{
|
{
|
||||||
|
if ((td->token & (0xf << 15)) == 0) {
|
||||||
|
/* ctrl ep, cover ep and dev, not pid! */
|
||||||
|
return td->token & 0x7ff00;
|
||||||
|
} else {
|
||||||
/* covers ep, dev, pid -> identifies the endpoint */
|
/* covers ep, dev, pid -> identifies the endpoint */
|
||||||
return td->token & 0x7ffff;
|
return td->token & 0x7ffff;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static UHCIQueue *uhci_queue_new(UHCIState *s, uint32_t qh_addr, UHCI_TD *td,
|
static UHCIQueue *uhci_queue_new(UHCIState *s, uint32_t qh_addr, UHCI_TD *td,
|
||||||
|
Loading…
Reference in New Issue
Block a user