1234567891011121314151617181920212223242526272829303132333435363738 |
- From 650a49bc65df6b0e0051a8f62d7c22d95a8f350d Mon Sep 17 00:00:00 2001
- From: "Russell King (Oracle)" <[email protected]>
- Date: Wed, 18 May 2022 15:55:07 +0100
- Subject: [PATCH 08/12] net: mtk_eth_soc: add fixme comment for state->speed
- use
- Add a fixme comment for the last remaining incorrect usage of
- state->speed in the mac_config() method, which is strangely in a code
- path which is only run when the PHY interface mode changes.
- This means if we are in RGMII mode, changes in state->speed will not
- cause the INTF_MODE, TRGMII_RCK_CTRL and TRGMII_TCK_CTRL registers to
- be set according to the speed, nor will the TRGPLL clock be set to the
- correct value.
- Signed-off-by: Russell King (Oracle) <[email protected]>
- Signed-off-by: Jakub Kicinski <[email protected]>
- ---
- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
- --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
- +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
- @@ -374,6 +374,14 @@ static void mtk_mac_config(struct phylin
- state->interface))
- goto err_phy;
- } else {
- + /* FIXME: this is incorrect. Not only does it
- + * use state->speed (which is not guaranteed
- + * to be correct) but it also makes use of it
- + * in a code path that will only be reachable
- + * when the PHY interface mode changes, not
- + * when the speed changes. Consequently, RGMII
- + * is probably broken.
- + */
- mtk_gmac0_rgmii_adjust(mac->hw,
- state->interface,
- state->speed);
|