Thread (45 messages) flat view 45 messages, 3 authors, 2021-10-09

RE: [RFC 07/12] ravb: Fillup ravb_rx_gbeth() stub

From: Biju Das <biju.das.jz@bp.renesas.com>
Date: 2021-10-06 20:22:05
Also in: linux-renesas-soc

Hi Sergey,

Thanks for thefeedback.
Subject: Re: [RFC 07/12] ravb: Fillup ravb_rx_gbeth() stub

On 10/5/21 2:06 PM, Biju Das wrote:
quoted
Fillup ravb_rx_gbeth() function to support RZ/G2L.

This patch also renames ravb_rcar_rx to ravb_rx_rcar to be consistent
with the naming convention used in sh_eth driver.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Lad Prabhakar
[off-list ref][...]
diff --git a/drivers/net/ethernet/renesas/ravb_main.c
b/drivers/net/ethernet/renesas/ravb_main.c
index 37164a983156..42573eac82b9 100644
--- a/drivers/net/ethernet/renesas/ravb_main.c
+++ b/drivers/net/ethernet/renesas/ravb_main.c
@@ -720,6 +720,23 @@ static void ravb_get_tx_tstamp(struct net_device
*ndev)
quoted
 	}
 }

+static void ravb_rx_csum_gbeth(struct sk_buff *skb) {
+	u8 *hw_csum;
+
+	/* The hardware checksum is contained in sizeof(__sum16) (2) bytes
+	 * appended to packet data
+	 */
+	if (unlikely(skb->len < sizeof(__sum16)))
+		return;
+	hw_csum = skb_tail_pointer(skb) - sizeof(__sum16);
   Not 32-bit? The manual says the IP checksum is stored in the first 2
bytes.
It is 16 bit. It is on last 2 bytes.
quoted
+
+	if (*hw_csum == 0)
   You only check the 1st byte, not the full checksum!
As I said earlier, "0" value on last 16 bit, means no checksum error.
quoted
+		skb->ip_summed = CHECKSUM_UNNECESSARY;
+	else
+		skb->ip_summed = CHECKSUM_NONE;
  So the TCP/UDP/ICMP checksums are not dealt with? Why enable them then?
If last 2bytes is zero, means there is no checksum error w.r.to TCP/UDP/ICMP checksums.

RZ/G2L checksum part is different from R-Car Gen3. There is no TOE block at all for R-Car Gen3.

Regards,
Biju
quoted
+}
+
 static void ravb_rx_csum(struct sk_buff *skb)
static void ravb_rx_csum_rcar(struct sk_buff *skb)?

[...]

MBR, Sergey
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help