mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-31 19:35:28 +00:00
DM USB: xHCI: add 'chained' field in struct usb_data_xfer_block
The chained field could help to describe the relationship of USB data blocks. Tracked-On: #3054 Signed-off-by: Xiaoguang Wu <xiaoguang.wu@intel.com> Acked-by: Yu Wang <yu1.wang@intel.com>
This commit is contained in:
parent
f2e35ab701
commit
adaed5c0e3
@ -2875,6 +2875,9 @@ retry:
|
||||
XHCI_GADDR(xdev, trb->qwTrb0)),
|
||||
trb->dwTrb2 & 0x1FFFF, (void *)addr,
|
||||
ccs);
|
||||
|
||||
if (trb->dwTrb3 & XHCI_TRB_3_CHAIN_BIT)
|
||||
xfer_block->chained = 1;
|
||||
break;
|
||||
|
||||
case XHCI_TRB_TYPE_STATUS_STAGE:
|
||||
|
@ -117,6 +117,7 @@ usb_data_xfer_append(struct usb_data_xfer *xfer, void *buf, int blen,
|
||||
xb->ccs = ccs;
|
||||
xb->processed = USB_XFER_BLK_FREE;
|
||||
xb->bdone = 0;
|
||||
xb->chained = 0;
|
||||
xfer->ndata++;
|
||||
xfer->tail = (xfer->tail + 1) % USB_MAX_XFER_BLOCKS;
|
||||
return xb;
|
||||
|
@ -155,6 +155,7 @@ struct usb_data_xfer_block {
|
||||
enum usb_xfer_blk_stat processed; /* processed status */
|
||||
void *hci_data; /* HCI private reference */
|
||||
int ccs;
|
||||
int chained;
|
||||
uint32_t streamid;
|
||||
uint64_t trbnext; /* next TRB guest address */
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user