summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhathach <[email protected]>2023-02-22 16:18:45 +0700
committerhathach <[email protected]>2023-02-22 16:18:45 +0700
commit4c846af53e993d635e6fff7e2611a554b55fc441 (patch)
tree0492802211f9b473cadc77d9e77797b5cc331180 /src
parent4e2afdf5e1d72a2232f349a878c3d4147fc43cd6 (diff)
rename OHCI_RHPORTS to TUP_OHCI_RHPORTS
Diffstat (limited to 'src')
-rw-r--r--src/common/tusb_mcu.h2
-rw-r--r--src/portable/ohci/ohci.c17
-rw-r--r--src/portable/ohci/ohci.h6
3 files changed, 12 insertions, 13 deletions
diff --git a/src/common/tusb_mcu.h b/src/common/tusb_mcu.h
index ee2b896ac..a599c4fe9 100644
--- a/src/common/tusb_mcu.h
+++ b/src/common/tusb_mcu.h
@@ -55,7 +55,7 @@
#elif TU_CHECK_MCU(OPT_MCU_LPC175X_6X, OPT_MCU_LPC177X_8X, OPT_MCU_LPC40XX)
#define TUP_DCD_ENDPOINT_MAX 16
#define TUP_USBIP_OHCI
- #define OHCI_RHPORTS 2
+ #define TUP_OHCI_RHPORTS 2
#elif TU_CHECK_MCU(OPT_MCU_LPC18XX, OPT_MCU_LPC43XX)
// TODO USB0 has 6, USB1 has 4
diff --git a/src/portable/ohci/ohci.c b/src/portable/ohci/ohci.c
index 76f97844c..792ef65ff 100644
--- a/src/portable/ohci/ohci.c
+++ b/src/portable/ohci/ohci.c
@@ -28,8 +28,8 @@
#if CFG_TUH_ENABLED && defined(TUP_USBIP_OHCI)
-#ifndef OHCI_RHPORTS
-#error OHCI is enabled, but OHCI_RHPORTS is not defined.
+#ifndef TUP_OHCI_RHPORTS
+#error OHCI is enabled, but TUP_OHCI_RHPORTS is not defined.
#endif
//--------------------------------------------------------------------+
@@ -393,21 +393,20 @@ static void ed_list_remove_by_addr(ohci_ed_t * p_head, uint8_t dev_addr)
if (ed->dev_addr == dev_addr)
{
- //Prevent Host Controller from processing this ED while we remove it
+ // Prevent Host Controller from processing this ED while we remove it
ed->skip = 1;
- // unlink ed
+ // unlink ed, will also move up p_prev
p_prev->next = ed->next;
// point the removed ED's next pointer to list head to make sure HC can always safely move away from this ED
ed->next = (uint32_t) _phys_addr(p_head);
ed->used = 0;
ed->skip = 0;
- continue;
+ }else
+ {
+ p_prev = (ohci_ed_t*) _virt_addr((void *)p_prev->next);
}
-
- // check next valid since we could remove it
- if (p_prev->next) p_prev = (ohci_ed_t*) _virt_addr((void *)p_prev->next);
}
}
@@ -665,7 +664,7 @@ void hcd_int_handler(uint8_t hostid)
//------------- RootHub status -------------//
if ( int_status & OHCI_INT_RHPORT_STATUS_CHANGE_MASK )
{
- for (int i = 0; i < OHCI_RHPORTS; i++)
+ for (int i = 0; i < TUP_OHCI_RHPORTS; i++)
{
uint32_t const rhport_status = OHCI_REG->rhport_status[i] & RHPORT_ALL_CHANGE_MASK;
if ( rhport_status & RHPORT_CONNECT_STATUS_CHANGE_MASK )
diff --git a/src/portable/ohci/ohci.h b/src/portable/ohci/ohci.h
index b7706b636..38c258e80 100644
--- a/src/portable/ohci/ohci.h
+++ b/src/portable/ohci/ohci.h
@@ -267,7 +267,7 @@ typedef volatile struct
};
union {
- uint32_t rhport_status[OHCI_RHPORTS];
+ uint32_t rhport_status[TUP_OHCI_RHPORTS];
struct {
uint32_t current_connect_status : 1;
uint32_t port_enable_status : 1;
@@ -284,11 +284,11 @@ typedef volatile struct
uint32_t port_over_current_indicator_change : 1;
uint32_t port_reset_status_change : 1;
uint32_t TU_RESERVED : 11;
- }rhport_status_bit[OHCI_RHPORTS];
+ }rhport_status_bit[TUP_OHCI_RHPORTS];
};
}ohci_registers_t;
-TU_VERIFY_STATIC( sizeof(ohci_registers_t) == (0x54 + (4 * OHCI_RHPORTS)), "size is not correct");
+TU_VERIFY_STATIC( sizeof(ohci_registers_t) == (0x54 + (4 * TUP_OHCI_RHPORTS)), "size is not correct");
#ifdef __cplusplus
}