Add Bandwidth control for ingress/egreess at port

This commit is contained in:
logicog
2026-03-08 19:04:48 +01:00
parent eb13d4ab04
commit 1836c7dcb6
6 changed files with 117 additions and 4 deletions
+17 -3
View File
@@ -44,7 +44,6 @@ void bandwidth_ingress_set(uint8_t port, __xdata uint32_t bw) __banked
// We enable Flow Control instead of just dropping packets
reg_bit_set(RTL837X_IGBW_PORT_FC_CTRL, port);
print_string("RTL837X_IGBW_PORT_FC_CTRL:"); print_reg(RTL837X_IGBW_PORT_FC_CTRL); write_char('\n');
}
@@ -55,6 +54,13 @@ void bandwidth_ingress_drop(uint8_t port) __banked
}
void bandwidth_ingress_fc(uint8_t port) __banked
{
reg_bit_set(RTL837X_IGBW_PORT_FC_CTRL, port);
print_string("RTL837X_IGBW_PORT_FC_CTRL:"); print_reg(RTL837X_IGBW_PORT_FC_CTRL); write_char('\n');
}
void bandwidth_ingress_disable(uint8_t port) __banked
{
print_string("Ingress bandwidth limit disabled, port "); print_byte(port); write_char('\n');
@@ -89,7 +95,11 @@ void bandwidth_status(uint8_t port) __banked
if (sfr_data[1] & 0x10) {
print_string("enabled: ");
sfr_data[1] &= 0xef;
print_sfr_data();
print_string("0x");
print_byte(sfr_data[1]);
print_byte(sfr_data[2]);
print_byte(sfr_data[3]);
write_char('0');
write_char('\n');
} else {
print_string("disabled\n");
@@ -100,7 +110,11 @@ void bandwidth_status(uint8_t port) __banked
if (sfr_data[1] & 0x10) {
print_string("enabled: ");
sfr_data[1] &= 0xef;
print_sfr_data();
print_string("0x");
print_byte(sfr_data[1]);
print_byte(sfr_data[2]);
print_byte(sfr_data[3]);
write_char('0');
write_char('\n');
} else {
print_string("disabled\n");