net: lan966x: Expose functions that are needed by FDMA
authorHoratiu Vultur <horatiu.vultur@microchip.com>
Fri, 8 Apr 2022 07:03:55 +0000 (09:03 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 12 Apr 2022 03:49:32 +0000 (20:49 -0700)
Expose the following functions 'lan966x_hw_offload',
'lan966x_ifh_get_src_port' and 'lan966x_ifh_get_timestamp' in
lan966x_main.h so they can be accessed by FDMA.

Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/microchip/lan966x/lan966x_main.c
drivers/net/ethernet/microchip/lan966x/lan966x_main.h

index 83f5208529ef5e277e6c9027ed0494a10d27d926..4ebc31c1d4234a79555b7afd430290bc286925a2 100644 (file)
@@ -24,9 +24,6 @@
 #define XTR_NOT_READY                  0x07000080U
 #define XTR_VALID_BYTES(x)             (4 - (((x) >> 24) & 3))
 
-#define READL_SLEEP_US                 10
-#define READL_TIMEOUT_US               100000000
-
 #define IO_RANGES 2
 
 static const struct of_device_id lan966x_match[] = {
@@ -433,8 +430,7 @@ bool lan966x_netdevice_check(const struct net_device *dev)
        return dev->netdev_ops == &lan966x_port_netdev_ops;
 }
 
-static bool lan966x_hw_offload(struct lan966x *lan966x, u32 port,
-                              struct sk_buff *skb)
+bool lan966x_hw_offload(struct lan966x *lan966x, u32 port, struct sk_buff *skb)
 {
        u32 val;
 
@@ -515,7 +511,7 @@ static int lan966x_rx_frame_word(struct lan966x *lan966x, u8 grp, u32 *rval)
        }
 }
 
-static void lan966x_ifh_get_src_port(void *ifh, u64 *src_port)
+void lan966x_ifh_get_src_port(void *ifh, u64 *src_port)
 {
        packing(ifh, src_port, IFH_POS_SRCPORT + IFH_WID_SRCPORT - 1,
                IFH_POS_SRCPORT, IFH_LEN * 4, UNPACK, 0);
@@ -527,7 +523,7 @@ static void lan966x_ifh_get_len(void *ifh, u64 *len)
                IFH_POS_LEN, IFH_LEN * 4, UNPACK, 0);
 }
 
-static void lan966x_ifh_get_timestamp(void *ifh, u64 *timestamp)
+void lan966x_ifh_get_timestamp(void *ifh, u64 *timestamp)
 {
        packing(ifh, timestamp, IFH_POS_TIMESTAMP + IFH_WID_TIMESTAMP - 1,
                IFH_POS_TIMESTAMP, IFH_LEN * 4, UNPACK, 0);
index ae282da1da748fc41e9d70106baef27cfa871d29..b692c612f235ccc7ffad459ec8a5aad2722aaf1c 100644 (file)
@@ -17,6 +17,9 @@
 #define TABLE_UPDATE_SLEEP_US          10
 #define TABLE_UPDATE_TIMEOUT_US                100000
 
+#define READL_SLEEP_US                 10
+#define READL_TIMEOUT_US               100000000
+
 #define LAN966X_BUFFER_CELL_SZ         64
 #define LAN966X_BUFFER_MEMORY          (160 * 1024)
 #define LAN966X_BUFFER_MIN_SZ          60
@@ -195,6 +198,11 @@ bool lan966x_netdevice_check(const struct net_device *dev);
 void lan966x_register_notifier_blocks(void);
 void lan966x_unregister_notifier_blocks(void);
 
+bool lan966x_hw_offload(struct lan966x *lan966x, u32 port, struct sk_buff *skb);
+
+void lan966x_ifh_get_src_port(void *ifh, u64 *src_port);
+void lan966x_ifh_get_timestamp(void *ifh, u64 *timestamp);
+
 void lan966x_stats_get(struct net_device *dev,
                       struct rtnl_link_stats64 *stats);
 int lan966x_stats_init(struct lan966x *lan966x);