]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: freescale: ucc_geth: Simplify frame length check
authorMaxime Chevallier <maxime.chevallier@bootlin.com>
Tue, 3 Dec 2024 12:43:17 +0000 (13:43 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 6 Dec 2024 13:41:52 +0000 (13:41 +0000)
The frame length check is configured when the phy interface is setup.
However, it's configured according to an internal flag that is always
false. So, just make so that we disable the relevant bit in the MACCFG2
register upon accessing it for other MAC configuration operations.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/ucc_geth.c
drivers/net/ethernet/freescale/ucc_geth.h

index 587bcbc079dae8a3643b3e0f877b28cb19b97348..566f53e24d2867f44703497e8f7abe111439680b 100644 (file)
@@ -1205,22 +1205,6 @@ static int init_mac_station_addr_regs(u8 address_byte_0,
        return 0;
 }
 
-static int init_check_frame_length_mode(int length_check,
-                                       u32 __iomem *maccfg2_register)
-{
-       u32 value = 0;
-
-       value = in_be32(maccfg2_register);
-
-       if (length_check)
-               value |= MACCFG2_LC;
-       else
-               value &= ~MACCFG2_LC;
-
-       out_be32(maccfg2_register, value);
-       return 0;
-}
-
 static int init_preamble_length(u8 preamble_length,
                                u32 __iomem *maccfg2_register)
 {
@@ -1304,6 +1288,9 @@ static int adjust_enet_interface(struct ucc_geth_private *ugeth)
 
        /*                    Set MACCFG2                    */
        maccfg2 = in_be32(&ug_regs->maccfg2);
+
+       /* Disable frame length check */
+       maccfg2 &= ~MACCFG2_LC;
        maccfg2 &= ~MACCFG2_INTERFACE_MODE_MASK;
        if ((ugeth->max_speed == SPEED_10) ||
            (ugeth->max_speed == SPEED_100))
@@ -1365,8 +1352,6 @@ static int adjust_enet_interface(struct ucc_geth_private *ugeth)
                put_device(&tbiphy->mdio.dev);
        }
 
-       init_check_frame_length_mode(ug_info->lengthCheckRx, &ug_regs->maccfg2);
-
        ret_val = init_preamble_length(ug_info->prel, &ug_regs->maccfg2);
        if (ret_val != 0) {
                if (netif_msg_probe(ugeth))
index 60fd804a616a39d1b1b98345f3660e10f0b1fd18..2365b61c743ac2c2644942032a8b5e14a7cace40 100644 (file)
@@ -1088,7 +1088,6 @@ struct ucc_geth_info {
        u8 miminumInterFrameGapEnforcement;
        u8 backToBackInterFrameGap;
        int ipAddressAlignment;
-       int lengthCheckRx;
        u32 mblinterval;
        u16 nortsrbytetime;
        u8 fracsiz;