net: emaclite: Remove custom BUFFER_ALIGN macro
authorShravya Kumbham <shravya.kumbham@xilinx.com>
Thu, 14 Apr 2022 12:37:11 +0000 (18:07 +0530)
committerDavid S. Miller <davem@davemloft.net>
Fri, 15 Apr 2022 10:46:29 +0000 (11:46 +0100)
BUFFER_ALIGN macro is used to calculate the number of bytes
required for the next alignment. Instead of this, we can directly
use the skb_reserve(skb, NET_IP_ALIGN) to make the protocol header
buffer aligned on at least a 4-byte boundary, where the NET_IP_ALIGN
is by default defined as 2. So removing the BUFFER_ALIGN and its
related defines which it can be done by the skb_reserve() itself.

Signed-off-by: Shravya Kumbham <shravya.kumbham@xilinx.com>
Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/xilinx/xilinx_emaclite.c

index bb9c3ebde522b86fc5e5e425f8d94d3d5a82010b..7a86ae82fcc1fb04efa77d9640b8b720374bb9f7 100644 (file)
 #define XEL_HEADER_IP_LENGTH_OFFSET    16      /* IP Length Offset */
 
 #define TX_TIMEOUT             (60 * HZ)       /* Tx timeout is 60 seconds. */
-#define ALIGNMENT              4
-
-/* BUFFER_ALIGN(adr) calculates the number of bytes to the next alignment. */
-#define BUFFER_ALIGN(adr) ((ALIGNMENT - ((uintptr_t)adr)) % ALIGNMENT)
 
 #ifdef __BIG_ENDIAN
 #define xemaclite_readl                ioread32be
@@ -595,11 +591,10 @@ static void xemaclite_rx_handler(struct net_device *dev)
 {
        struct net_local *lp = netdev_priv(dev);
        struct sk_buff *skb;
-       unsigned int align;
        u32 len;
 
        len = ETH_FRAME_LEN + ETH_FCS_LEN;
-       skb = netdev_alloc_skb(dev, len + ALIGNMENT);
+       skb = netdev_alloc_skb(dev, len + NET_IP_ALIGN);
        if (!skb) {
                /* Couldn't get memory. */
                dev->stats.rx_dropped++;
@@ -607,16 +602,7 @@ static void xemaclite_rx_handler(struct net_device *dev)
                return;
        }
 
-       /* A new skb should have the data halfword aligned, but this code is
-        * here just in case that isn't true. Calculate how many
-        * bytes we should reserve to get the data to start on a word
-        * boundary
-        */
-       align = BUFFER_ALIGN(skb->data);
-       if (align)
-               skb_reserve(skb, align);
-
-       skb_reserve(skb, 2);
+       skb_reserve(skb, NET_IP_ALIGN);
 
        len = xemaclite_recv_data(lp, (u8 *)skb->data, len);