xhci: drop via vendor command handling
Seems pretty pointless, we don't emulate an via xhci controller. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 1486382139-30630-5-git-send-email-kraxel@redhat.com
This commit is contained in:
parent
2992d6b49c
commit
558ff1b6ef
@ -198,7 +198,6 @@ typedef enum TRBType {
|
|||||||
ER_DEVICE_NOTIFICATION,
|
ER_DEVICE_NOTIFICATION,
|
||||||
ER_MFINDEX_WRAP,
|
ER_MFINDEX_WRAP,
|
||||||
/* vendor specific bits */
|
/* vendor specific bits */
|
||||||
CR_VENDOR_VIA_CHALLENGE_RESPONSE = 48,
|
|
||||||
CR_VENDOR_NEC_FIRMWARE_REVISION = 49,
|
CR_VENDOR_NEC_FIRMWARE_REVISION = 49,
|
||||||
CR_VENDOR_NEC_CHALLENGE_RESPONSE = 50,
|
CR_VENDOR_NEC_CHALLENGE_RESPONSE = 50,
|
||||||
} TRBType;
|
} TRBType;
|
||||||
@ -554,7 +553,6 @@ static const char *TRBType_names[] = {
|
|||||||
[ER_HOST_CONTROLLER] = "ER_HOST_CONTROLLER",
|
[ER_HOST_CONTROLLER] = "ER_HOST_CONTROLLER",
|
||||||
[ER_DEVICE_NOTIFICATION] = "ER_DEVICE_NOTIFICATION",
|
[ER_DEVICE_NOTIFICATION] = "ER_DEVICE_NOTIFICATION",
|
||||||
[ER_MFINDEX_WRAP] = "ER_MFINDEX_WRAP",
|
[ER_MFINDEX_WRAP] = "ER_MFINDEX_WRAP",
|
||||||
[CR_VENDOR_VIA_CHALLENGE_RESPONSE] = "CR_VENDOR_VIA_CHALLENGE_RESPONSE",
|
|
||||||
[CR_VENDOR_NEC_FIRMWARE_REVISION] = "CR_VENDOR_NEC_FIRMWARE_REVISION",
|
[CR_VENDOR_NEC_FIRMWARE_REVISION] = "CR_VENDOR_NEC_FIRMWARE_REVISION",
|
||||||
[CR_VENDOR_NEC_CHALLENGE_RESPONSE] = "CR_VENDOR_NEC_CHALLENGE_RESPONSE",
|
[CR_VENDOR_NEC_CHALLENGE_RESPONSE] = "CR_VENDOR_NEC_CHALLENGE_RESPONSE",
|
||||||
};
|
};
|
||||||
@ -2622,32 +2620,6 @@ static uint32_t xhci_nec_challenge(uint32_t hi, uint32_t lo)
|
|||||||
return ~val;
|
return ~val;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xhci_via_challenge(XHCIState *xhci, uint64_t addr)
|
|
||||||
{
|
|
||||||
PCIDevice *pci_dev = PCI_DEVICE(xhci);
|
|
||||||
uint32_t buf[8];
|
|
||||||
uint32_t obuf[8];
|
|
||||||
dma_addr_t paddr = xhci_mask64(addr);
|
|
||||||
|
|
||||||
pci_dma_read(pci_dev, paddr, &buf, 32);
|
|
||||||
|
|
||||||
memcpy(obuf, buf, sizeof(obuf));
|
|
||||||
|
|
||||||
if ((buf[0] & 0xff) == 2) {
|
|
||||||
obuf[0] = 0x49932000 + 0x54dc200 * buf[2] + 0x7429b578 * buf[3];
|
|
||||||
obuf[0] |= (buf[2] * buf[3]) & 0xff;
|
|
||||||
obuf[1] = 0x0132bb37 + 0xe89 * buf[2] + 0xf09 * buf[3];
|
|
||||||
obuf[2] = 0x0066c2e9 + 0x2091 * buf[2] + 0x19bd * buf[3];
|
|
||||||
obuf[3] = 0xd5281342 + 0x2cc9691 * buf[2] + 0x2367662 * buf[3];
|
|
||||||
obuf[4] = 0x0123c75c + 0x1595 * buf[2] + 0x19ec * buf[3];
|
|
||||||
obuf[5] = 0x00f695de + 0x26fd * buf[2] + 0x3e9 * buf[3];
|
|
||||||
obuf[6] = obuf[2] ^ obuf[3] ^ 0x29472956;
|
|
||||||
obuf[7] = obuf[2] ^ obuf[3] ^ 0x65866593;
|
|
||||||
}
|
|
||||||
|
|
||||||
pci_dma_write(pci_dev, paddr, &obuf, 32);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void xhci_process_commands(XHCIState *xhci)
|
static void xhci_process_commands(XHCIState *xhci)
|
||||||
{
|
{
|
||||||
XHCITRB trb;
|
XHCITRB trb;
|
||||||
@ -2743,9 +2715,6 @@ static void xhci_process_commands(XHCIState *xhci)
|
|||||||
case CR_GET_PORT_BANDWIDTH:
|
case CR_GET_PORT_BANDWIDTH:
|
||||||
event.ccode = xhci_get_port_bandwidth(xhci, trb.parameter);
|
event.ccode = xhci_get_port_bandwidth(xhci, trb.parameter);
|
||||||
break;
|
break;
|
||||||
case CR_VENDOR_VIA_CHALLENGE_RESPONSE:
|
|
||||||
xhci_via_challenge(xhci, trb.parameter);
|
|
||||||
break;
|
|
||||||
case CR_VENDOR_NEC_FIRMWARE_REVISION:
|
case CR_VENDOR_NEC_FIRMWARE_REVISION:
|
||||||
if (xhci->nec_quirks) {
|
if (xhci->nec_quirks) {
|
||||||
event.type = 48; /* NEC reply */
|
event.type = 48; /* NEC reply */
|
||||||
|
Loading…
Reference in New Issue
Block a user