]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: freescale: ucc_geth: Hardcode the preamble length to 7 bytes
authorMaxime Chevallier <maxime.chevallier@bootlin.com>
Tue, 3 Dec 2024 12:43:18 +0000 (13:43 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 6 Dec 2024 13:41:53 +0000 (13:41 +0000)
The preamble length can be configured in ucc_geth, however it just
ends-up always being configured to 7 bytes, as nothing ever changes the
default value of 7.

Make that value the default value when the MACCFG2 register gets
initialized, and remove the code to configure that value altogether.

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 566f53e24d2867f44703497e8f7abe111439680b..81aefe291d8073db624c3a9f447c7f92b1aff276 100644 (file)
@@ -132,7 +132,6 @@ static const struct ucc_geth_info ugeth_primary_info = {
        .transmitFlowControl = 1,
        .maxGroupAddrInHash = 4,
        .maxIndAddrInHash = 4,
-       .prel = 7,
        .maxFrameLength = 1518+16, /* Add extra bytes for VLANs etc. */
        .minFrameLength = 64,
        .maxD1Length = 1520+16, /* Add extra bytes for VLANs etc. */
@@ -1205,18 +1204,6 @@ static int init_mac_station_addr_regs(u8 address_byte_0,
        return 0;
 }
 
-static int init_preamble_length(u8 preamble_length,
-                               u32 __iomem *maccfg2_register)
-{
-       if ((preamble_length < 3) || (preamble_length > 7))
-               return -EINVAL;
-
-       clrsetbits_be32(maccfg2_register, MACCFG2_PREL_MASK,
-                       preamble_length << MACCFG2_PREL_SHIFT);
-
-       return 0;
-}
-
 static int init_rx_parameters(int reject_broadcast,
                              int receive_short_frames,
                              int promiscuous, u32 __iomem *upsmr_register)
@@ -1276,7 +1263,6 @@ static int adjust_enet_interface(struct ucc_geth_private *ugeth)
        struct ucc_geth_info *ug_info;
        struct ucc_geth __iomem *ug_regs;
        struct ucc_fast __iomem *uf_regs;
-       int ret_val;
        u32 upsmr, maccfg2;
        u16 value;
 
@@ -1352,13 +1338,6 @@ static int adjust_enet_interface(struct ucc_geth_private *ugeth)
                put_device(&tbiphy->mdio.dev);
        }
 
-       ret_val = init_preamble_length(ug_info->prel, &ug_regs->maccfg2);
-       if (ret_val != 0) {
-               if (netif_msg_probe(ugeth))
-                       pr_err("Preamble length must be between 3 and 7 inclusive\n");
-               return ret_val;
-       }
-
        return 0;
 }
 
index 2365b61c743ac2c2644942032a8b5e14a7cace40..dfb7273270931e69b5934d76bb6b0595ba644c01 100644 (file)
@@ -921,7 +921,8 @@ struct ucc_geth_hardware_statistics {
 #define UCC_GETH_UPSMR_INIT                     UCC_GETH_UPSMR_RES1
 
 #define UCC_GETH_MACCFG1_INIT                   0
-#define UCC_GETH_MACCFG2_INIT                   (MACCFG2_RESERVED_1)
+#define UCC_GETH_MACCFG2_INIT                   (MACCFG2_RESERVED_1 | \
+                                                (7 << MACCFG2_PREL_SHIFT))
 
 /* Ethernet Address Type. */
 enum enet_addr_type {
@@ -1113,7 +1114,6 @@ struct ucc_geth_info {
        int transmitFlowControl;
        u8 maxGroupAddrInHash;
        u8 maxIndAddrInHash;
-       u8 prel;
        u16 maxFrameLength;
        u16 minFrameLength;
        u16 maxD1Length;