From b8fb1754d9021de270a377f965709c44f8676dee Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Fri, 5 May 2023 22:32:20 +0600 Subject: [PATCH] usb: OHCI HcInterruptDisable reads return HcInterruptEnable registers --- src/usb.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/usb.c b/src/usb.c index addc4b57e..19c17f865 100644 --- a/src/usb.c +++ b/src/usb.c @@ -195,6 +195,12 @@ ohci_mmio_read(uint32_t addr, void *p) case OHCI_HcRhPortStatus3 + 1: ret |= 0x1; break; + case OHCI_HcInterruptDisable: + case OHCI_HcInterruptDisable + 1: + case OHCI_HcInterruptDisable + 2: + case OHCI_HcInterruptDisable + 3: + ret = dev->ohci_mmio[OHCI_HcInterruptEnable + (addr - OHCI_HcInterruptDisable)]; + break; default: break; } @@ -433,6 +439,14 @@ ohci_mmio_write(uint32_t addr, uint8_t val, void *p) case OHCI_HcRhPortStatus1 + 3: case OHCI_HcRhPortStatus2 + 3: return; + case OHCI_HcDoneHead: + case OHCI_HcBulkCurrentED: + case OHCI_HcBulkHeadED: + case OHCI_HcControlCurrentED: + case OHCI_HcControlHeadED: + case OHCI_HcPeriodCurrentED: + dev->ohci_mmio[addr] = (val & 0xf0); + return; } dev->ohci_mmio[addr] = val;