mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-27 23:20:26 +09:00
eth/r8152: fix the aggregation issue
Remove the redundant setting for USB_RX_EARLY_SIZE. Besides, for RTL8153B, it is necessary to notify the hardware of the changes of the aggregation settings. Signed-off-by: Hayes Wang <hayeswang@realtek.com>
This commit is contained in:
parent
17d5a461a0
commit
7229440772
@ -447,6 +447,12 @@ static void rtl8152_set_rx_mode(struct r8152 *tp)
|
|||||||
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RCR, ocp_data);
|
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RCR, ocp_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void r8153b_rx_agg_chg_indicate(struct r8152 *tp)
|
||||||
|
{
|
||||||
|
ocp_write_byte(tp, MCU_TYPE_USB, USB_UPT_RXDMA_OWN,
|
||||||
|
OWN_UPDATE | OWN_CLEAR);
|
||||||
|
}
|
||||||
|
|
||||||
static int rtl_enable(struct r8152 *tp)
|
static int rtl_enable(struct r8152 *tp)
|
||||||
{
|
{
|
||||||
u32 ocp_data;
|
u32 ocp_data;
|
||||||
@ -457,6 +463,15 @@ static int rtl_enable(struct r8152 *tp)
|
|||||||
ocp_data |= PLA_CR_RE | PLA_CR_TE;
|
ocp_data |= PLA_CR_RE | PLA_CR_TE;
|
||||||
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CR, ocp_data);
|
ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CR, ocp_data);
|
||||||
|
|
||||||
|
switch (tp->version) {
|
||||||
|
case RTL_VER_08:
|
||||||
|
case RTL_VER_09:
|
||||||
|
r8153b_rx_agg_chg_indicate(tp);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
rxdy_gated_en(tp, false);
|
rxdy_gated_en(tp, false);
|
||||||
|
|
||||||
rtl8152_set_rx_mode(tp);
|
rtl8152_set_rx_mode(tp);
|
||||||
@ -525,8 +540,6 @@ static void r8153_set_rx_early_size(struct r8152 *tp)
|
|||||||
debug("** %s Invalid Device\n", __func__);
|
debug("** %s Invalid Device\n", __func__);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ocp_write_word(tp, MCU_TYPE_USB, USB_RX_EARLY_SIZE, ocp_data);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rtl8153_enable(struct r8152 *tp)
|
static int rtl8153_enable(struct r8152 *tp)
|
||||||
|
@ -92,6 +92,7 @@
|
|||||||
#define USB_PM_CTRL_STATUS 0xd432 /* RTL8153A */
|
#define USB_PM_CTRL_STATUS 0xd432 /* RTL8153A */
|
||||||
#define USB_RX_EXTRA_AGGR_TMR 0xd432 /* RTL8153B */
|
#define USB_RX_EXTRA_AGGR_TMR 0xd432 /* RTL8153B */
|
||||||
#define USB_TX_DMA 0xd434
|
#define USB_TX_DMA 0xd434
|
||||||
|
#define USB_UPT_RXDMA_OWN 0xd437
|
||||||
#define USB_TOLERANCE 0xd490
|
#define USB_TOLERANCE 0xd490
|
||||||
#define USB_LPM_CTRL 0xd41a
|
#define USB_LPM_CTRL 0xd41a
|
||||||
#define USB_BMU_RESET 0xd4b0
|
#define USB_BMU_RESET 0xd4b0
|
||||||
@ -346,6 +347,10 @@
|
|||||||
#define BMU_RESET_EP_IN 0x01
|
#define BMU_RESET_EP_IN 0x01
|
||||||
#define BMU_RESET_EP_OUT 0x02
|
#define BMU_RESET_EP_OUT 0x02
|
||||||
|
|
||||||
|
/* USB_UPT_RXDMA_OWN */
|
||||||
|
#define OWN_UPDATE BIT(0)
|
||||||
|
#define OWN_CLEAR BIT(1)
|
||||||
|
|
||||||
/* USB_UPS_CTRL */
|
/* USB_UPS_CTRL */
|
||||||
#define POWER_CUT 0x0100
|
#define POWER_CUT 0x0100
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user