From patchwork Mon Feb 4 18:05:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergei Shtylyov X-Patchwork-Id: 1036107 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=cogentembedded.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=cogentembedded-com.20150623.gappssmtp.com header.i=@cogentembedded-com.20150623.gappssmtp.com header.b="wyXKhbNt"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43tbHG2fd5z9sMM for ; Tue, 5 Feb 2019 05:06:02 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728339AbfBDSGB (ORCPT ); Mon, 4 Feb 2019 13:06:01 -0500 Received: from mail-lf1-f66.google.com ([209.85.167.66]:36838 "EHLO mail-lf1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726585AbfBDSGA (ORCPT ); Mon, 4 Feb 2019 13:06:00 -0500 Received: by mail-lf1-f66.google.com with SMTP id a16so625777lfg.3 for ; Mon, 04 Feb 2019 10:05:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cogentembedded-com.20150623.gappssmtp.com; s=20150623; h=subject:from:to:cc:references:organization:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=2LikyD00HIeOBZ2NOhi84eobUL86EoR/49Zn2BRPSZk=; b=wyXKhbNtzHptE8TP0boExdqrj6j7F/8O2IsDFzNM5KH0uVz9XOEz2W891epYiOapYr uOr8SP9Te1QlAYS29cEuz4WL1mPHyfJ8++BUCWEwLfW+EqtW9gd398R1eebj5ti5NUxO JI1mKO/wmyj8nnnTi/KB3ujtEpRHgKWh6ILALlr64bBZxYq1qTX9F5jqnhiTfPdkQiL7 xXmnTnKLOO2RjYvifcuugwzzR7kszcTI+0fkyeL2jQ7ZGcpg9CZpDKQ4lZfu3FKOwYzc H/+8BtNZ78IahZ9uzmv2TEEb7SeAuM1dOAh92jZa1SiI+iY67kWi+sVkGILXnDUqHmjj OdqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=2LikyD00HIeOBZ2NOhi84eobUL86EoR/49Zn2BRPSZk=; b=IwqDcpxjztW7Ztzumxbb3OnURy+QDz22wpkxM6xtsdrECURdHzmdEcx2g737yF8ExB 8OTwnJaciGxAMqG6S+EH9YAGKYyq1gnIT/6UR+pGmTZ6u1WeQJ3ZIoWJBw1x4+CXK1nC a1BncGD3hND9JKmqSQZQ30KomZXpRmKfB+dn24m4pjUclPPlj2Osk4qhND2aqW4pAUS3 yyXuCF97nwXJ5/XZZ2zI8pEkHe4NKYeSfv5PQtz4bDU5tMVJQNH0h4Nhl4u9MqBlTEGB I+Cwo+3K356Ck1DpkcbQmxaSNQYUdP1rvAgqDztbYaGuRwbFqGblgJc44FbaRkXATQT3 ZuNg== X-Gm-Message-State: AHQUAuaqSqxVoYjOL4I9xUPzUANF9G7nKTkRVZy7HFTlCuZjhL+R8jhr u/SmJCinFq1x+hUd/JH2KmjsyrkdBZA= X-Google-Smtp-Source: AHgI3Ib4LgtrNghCZU2kx0QtFNZ5qxG1dLzDdV61azKZbxksFLKh5AwWWWckm+hMxcxgAxq33wsTkQ== X-Received: by 2002:a19:660a:: with SMTP id a10mr442792lfc.146.1549303558178; Mon, 04 Feb 2019 10:05:58 -0800 (PST) Received: from wasted.cogentembedded.com ([31.173.83.140]) by smtp.gmail.com with ESMTPSA id z20sm1474081lfg.53.2019.02.04.10.05.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Feb 2019 10:05:57 -0800 (PST) Subject: [PATCH v2 1/7] sh_eth: rename sh_eth_cpu_data::hw_checksum From: Sergei Shtylyov To: netdev@vger.kernel.org, "David S. Miller" Cc: linux-renesas-soc@vger.kernel.org, linux-sh@vger.kernel.org References: Organization: Cogent Embedded Message-ID: <49e422f5-08aa-cb39-b39f-7f963c2f15a5@cogentembedded.com> Date: Mon, 4 Feb 2019 21:05:55 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-MW Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Commit 62e04b7e0e3c ("sh_eth: rename 'sh_eth_cpu_data::hw_crc'") renamed the field to 'hw_checksum' for the Ether DMAC "intelligent checksum", however some Ether MACs implement a simpler checksumming scheme, so that name now seems misleading. Rename that field to 'csmr' as the "intelligent checksum" is always controlled by the CSMR register. Signed-off-by: Sergei Shtylyov Reviewed-by: Geert Uytterhoeven --- Changes in version 2: - fixed typos in the patch description; - added Geert's tag. drivers/net/ethernet/renesas/sh_eth.c | 14 +++++++------- drivers/net/ethernet/renesas/sh_eth.h | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) Index: renesas/drivers/net/ethernet/renesas/sh_eth.c =================================================================== --- renesas.orig/drivers/net/ethernet/renesas/sh_eth.c +++ renesas/drivers/net/ethernet/renesas/sh_eth.c @@ -555,7 +555,7 @@ static int sh_eth_soft_reset_gether(stru sh_eth_write(ndev, 0, RDFFR); /* Reset HW CRC register */ - if (mdp->cd->hw_checksum) + if (mdp->cd->csmr) sh_eth_write(ndev, 0, CSMR); /* Select MII mode */ @@ -619,7 +619,7 @@ static struct sh_eth_cpu_data r7s72100_d .no_trimd = 1, .no_ade = 1, .xdfar_rw = 1, - .hw_checksum = 1, + .csmr = 1, .tsu = 1, .no_tx_cntrs = 1, }; @@ -668,7 +668,7 @@ static struct sh_eth_cpu_data r8a7740_da .no_trimd = 1, .no_ade = 1, .xdfar_rw = 1, - .hw_checksum = 1, + .csmr = 1, .tsu = 1, .select_mii = 1, .magic = 1, @@ -793,7 +793,7 @@ static struct sh_eth_cpu_data r8a77980_d .no_trimd = 1, .no_ade = 1, .xdfar_rw = 1, - .hw_checksum = 1, + .csmr = 1, .select_mii = 1, .magic = 1, .cexcr = 1, @@ -1045,7 +1045,7 @@ static struct sh_eth_cpu_data sh7734_dat .no_ade = 1, .xdfar_rw = 1, .tsu = 1, - .hw_checksum = 1, + .csmr = 1, .select_mii = 1, .magic = 1, .cexcr = 1, @@ -1633,7 +1633,7 @@ static int sh_eth_rx(struct net_device * * the RFS bits are from bit 25 to bit 16. So, the * driver needs right shifting by 16. */ - if (mdp->cd->hw_checksum) + if (mdp->cd->csmr) desc_status >>= 16; skb = mdp->rx_skbuff[entry]; @@ -2173,7 +2173,7 @@ static size_t __sh_eth_get_regs(struct n add_reg(MAFCR); if (cd->rtrate) add_reg(RTRATE); - if (cd->hw_checksum) + if (cd->csmr) add_reg(CSMR); if (cd->select_mii) add_reg(RMII_MII); Index: renesas/drivers/net/ethernet/renesas/sh_eth.h =================================================================== --- renesas.orig/drivers/net/ethernet/renesas/sh_eth.h +++ renesas/drivers/net/ethernet/renesas/sh_eth.h @@ -499,7 +499,7 @@ struct sh_eth_cpu_data { unsigned no_ade:1; /* E-DMAC DOES NOT have ADE bit in EESR */ unsigned no_xdfar:1; /* E-DMAC DOES NOT have RDFAR/TDFAR */ unsigned xdfar_rw:1; /* E-DMAC has writeable RDFAR/TDFAR */ - unsigned hw_checksum:1; /* E-DMAC has CSMR */ + unsigned csmr:1; /* E-DMAC has CSMR */ unsigned select_mii:1; /* EtherC has RMII_MII (MII select register) */ unsigned rmiimode:1; /* EtherC has RMIIMODE register */ unsigned rtrate:1; /* EtherC has RTRATE register */ From patchwork Mon Feb 4 18:06:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergei Shtylyov X-Patchwork-Id: 1036111 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=cogentembedded.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=cogentembedded-com.20150623.gappssmtp.com header.i=@cogentembedded-com.20150623.gappssmtp.com header.b="PHVpigF8"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43tbJN4j5jz9sMp for ; Tue, 5 Feb 2019 05:07:00 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729210AbfBDSG6 (ORCPT ); Mon, 4 Feb 2019 13:06:58 -0500 Received: from mail-lf1-f65.google.com ([209.85.167.65]:35893 "EHLO mail-lf1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728147AbfBDSG5 (ORCPT ); Mon, 4 Feb 2019 13:06:57 -0500 Received: by mail-lf1-f65.google.com with SMTP id a16so628113lfg.3 for ; Mon, 04 Feb 2019 10:06:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cogentembedded-com.20150623.gappssmtp.com; s=20150623; h=subject:from:to:cc:references:organization:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=yVFZMLfM5Mf/hx+mOeFeITtE3HycYn9JLFRNcumD3iY=; b=PHVpigF8yYpYGIy8GVgNogi87XQsQOv3gRSLq1NeUC82mGikJ6+5WRYlu3z0LBfPmV WC3Wkk50PfMTCSGG0/xzshb5kCGj+mAkhRD84jQxAZwKXgpof6OTS5TGWBUVxIeIArwB okAfynl3lo+dYQq5xBekfx7fuZwei4KJ8oCikmKshUUIUV5znBzv8FyxfxCuUSrpRMnr Lqu+w4XMQWBnVVfGVqtC++kpee1xeKEDW/48pP8X6HEw5BvrZicW/1wU1E+/7GP3qqgQ oFSSlxB0Fzss1vtlwKiO4hci6xiw7gFcarrdwS6UNOzxqmLKlLT+Fax7By3A0za7Mfdj nAdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=yVFZMLfM5Mf/hx+mOeFeITtE3HycYn9JLFRNcumD3iY=; b=DHWyIs3QTOAC34VEMcrAs3tHrgXJ6mXdLxslSkVZKGVNRgfxbzGnR0mrCWIJ5RLGxI m+y6chq8VPa5OuPoleCgndI2IMFTaykqdziUFFTRicE4rCiYfYZkPs2NVP6nlOSQ9b+l Sdi9bhXPw5OqDglyvZicXM0ox8CS1mpwxbC9X+Ej8RYfbtmAXz0wXNgw3/agoP3AXj4x iLsFLZOBltdH9xWuNiZEVD7+d1Ui+LvNR9LuSsgU3U3WRniESYgUnOhJ34ec54KXoDsw 6gtQ2wgnYUzWOHd+S8aTg5QrYuKdJmYZxVYK65Vnb6urua8jRkxeRwjEOw9iPsr4Z+DD fbEw== X-Gm-Message-State: AHQUAuYKi+cFvVlD38qMGqSVK/EfPy82jeXN4pLnXpcXlgxUCjoqBas3 id/cJQixATewPLnsiA5elk/rzg== X-Google-Smtp-Source: AHgI3Iay8gO+XhbilmgEm4ivBnhrCDf1sJojgtPg74hmWGbF7sQv8FQ0PxPHWmPHBfkGXCM9JUw5VQ== X-Received: by 2002:a19:9e11:: with SMTP id h17mr381975lfe.73.1549303614134; Mon, 04 Feb 2019 10:06:54 -0800 (PST) Received: from wasted.cogentembedded.com ([31.173.83.140]) by smtp.gmail.com with ESMTPSA id z15-v6sm3146809ljb.9.2019.02.04.10.06.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Feb 2019 10:06:53 -0800 (PST) Subject: [PATCH v2 2/7] sh_eth: RX checksum offload support From: Sergei Shtylyov To: netdev@vger.kernel.org, "David S. Miller" Cc: linux-renesas-soc@vger.kernel.org, linux-sh@vger.kernel.org References: Organization: Cogent Embedded Message-ID: <6bd27192-d158-d3bf-4db7-6a442c29f16c@cogentembedded.com> Date: Mon, 4 Feb 2019 21:06:52 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-MW Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Add support for the RX checksum offload. This is enabled by default and may be disabled and re-enabled using 'ethtool': # ethtool -K eth0 rx off # ethtool -K eth0 rx on Some Ether MACs provide a simple checksumming scheme which appears to be completely compatible with CHECKSUM_COMPLETE: sum of all packet data after the L2 header is appended to packet data; this may be trivially read by the driver and used to update the skb accordingly. The same checksumming scheme is implemented in the EtherAVB MACs and now supported by tha 'ravb' driver. In terms of performance, throughput is close to gigabit line rate with the RX checksum offload both enabled and disabled. The 'perf' output, however, appears to indicate that significantly less time is spent in do_csum() -- this is as expected. Test results with RX checksum offload enabled: ~/netperf-2.2pl4# perf record -a ./netperf -t TCP_MAERTS -H 192.168.2.4 TCP MAERTS TEST to 192.168.2.4 Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 131072 16384 16384 10.01 933.93 [ perf record: Woken up 8 times to write data ] [ perf record: Captured and wrote 1.955 MB perf.data (41940 samples) ] ~/netperf-2.2pl4# perf report Samples: 41K of event 'cycles:ppp', Event count (approx.): 9915302763 Overhead Command Shared Object Symbol 9.44% netperf [kernel.kallsyms] [k] __arch_copy_to_user 7.75% swapper [kernel.kallsyms] [k] _raw_spin_unlock_irq 6.31% swapper [kernel.kallsyms] [k] default_idle_call 5.89% swapper [kernel.kallsyms] [k] arch_cpu_idle 4.37% swapper [kernel.kallsyms] [k] tick_nohz_idle_exit 4.02% netperf [kernel.kallsyms] [k] _raw_spin_unlock_irq 2.52% netperf [kernel.kallsyms] [k] preempt_count_sub 1.81% netperf [kernel.kallsyms] [k] tcp_recvmsg 1.80% netperf [kernel.kallsyms] [k] _raw_spin_unlock_irqres 1.78% netperf [kernel.kallsyms] [k] preempt_count_add 1.36% netperf [kernel.kallsyms] [k] __tcp_transmit_skb 1.20% netperf [kernel.kallsyms] [k] __local_bh_enable_ip 1.10% netperf [kernel.kallsyms] [k] sh_eth_start_xmit Test results with RX checksum offload disabled: ~/netperf-2.2pl4# perf record -a ./netperf -t TCP_MAERTS -H 192.168.2.4 TCP MAERTS TEST to 192.168.2.4 Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 131072 16384 16384 10.01 932.04 [ perf record: Woken up 14 times to write data ] [ perf record: Captured and wrote 3.642 MB perf.data (78817 samples) ] ~/netperf-2.2pl4# perf report Samples: 78K of event 'cycles:ppp', Event count (approx.): 18091442796 Overhead Command Shared Object Symbol 7.00% swapper [kernel.kallsyms] [k] do_csum 3.94% swapper [kernel.kallsyms] [k] sh_eth_poll 3.83% ksoftirqd/0 [kernel.kallsyms] [k] do_csum 3.23% swapper [kernel.kallsyms] [k] _raw_spin_unlock_irq 2.87% netperf [kernel.kallsyms] [k] __arch_copy_to_user 2.86% swapper [kernel.kallsyms] [k] arch_cpu_idle 2.13% swapper [kernel.kallsyms] [k] default_idle_call 2.12% ksoftirqd/0 [kernel.kallsyms] [k] sh_eth_poll 2.02% swapper [kernel.kallsyms] [k] _raw_spin_unlock_irqrestore 1.84% swapper [kernel.kallsyms] [k] __softirqentry_text_start 1.64% swapper [kernel.kallsyms] [k] tick_nohz_idle_exit 1.53% netperf [kernel.kallsyms] [k] _raw_spin_unlock_irq 1.32% netperf [kernel.kallsyms] [k] preempt_count_sub 1.27% swapper [kernel.kallsyms] [k] __pi___inval_dcache_area 1.22% swapper [kernel.kallsyms] [k] check_preemption_disabled 1.01% ksoftirqd/0 [kernel.kallsyms] [k] _raw_spin_unlock_irqrestore The above results collected on the R-Car V3H Starter Kit board. Based on the commit 4d86d3818627 ("ravb: RX checksum offload")... Signed-off-by: Sergei Shtylyov --- Changes in version 2: - clarified the command line example. drivers/net/ethernet/renesas/sh_eth.c | 60 ++++++++++++++++++++++++++++++++-- drivers/net/ethernet/renesas/sh_eth.h | 1 2 files changed, 59 insertions(+), 2 deletions(-) Index: renesas/drivers/net/ethernet/renesas/sh_eth.c =================================================================== --- renesas.orig/drivers/net/ethernet/renesas/sh_eth.c +++ renesas/drivers/net/ethernet/renesas/sh_eth.c @@ -1532,8 +1532,9 @@ static int sh_eth_dev_init(struct net_de mdp->irq_enabled = true; sh_eth_write(ndev, mdp->cd->eesipr_value, EESIPR); - /* PAUSE Prohibition */ + /* EMAC Mode: PAUSE prohibition; Duplex; RX Checksum; TX; RX */ sh_eth_write(ndev, ECMR_ZPF | (mdp->duplex ? ECMR_DM : 0) | + (ndev->features & NETIF_F_RXCSUM ? ECMR_RCSC : 0) | ECMR_TE | ECMR_RE, ECMR); if (mdp->cd->set_rate) @@ -1592,6 +1593,19 @@ static void sh_eth_dev_exit(struct net_d update_mac_address(ndev); } +static void sh_eth_rx_csum(struct sk_buff *skb) +{ + u8 *hw_csum; + + /* The hardware checksum is 2 bytes appended to packet data */ + if (unlikely(skb->len < sizeof(__sum16))) + return; + hw_csum = skb_tail_pointer(skb) - sizeof(__sum16); + skb->csum = csum_unfold((__force __sum16)get_unaligned_le16(hw_csum)); + skb->ip_summed = CHECKSUM_COMPLETE; + skb_trim(skb, skb->len - sizeof(__sum16)); +} + /* Packet receive function */ static int sh_eth_rx(struct net_device *ndev, u32 intr_status, int *quota) { @@ -1666,6 +1680,8 @@ static int sh_eth_rx(struct net_device * DMA_FROM_DEVICE); skb_put(skb, pkt_len); skb->protocol = eth_type_trans(skb, ndev); + if (ndev->features & NETIF_F_RXCSUM) + sh_eth_rx_csum(skb); netif_receive_skb(skb); ndev->stats.rx_packets++; ndev->stats.rx_bytes += pkt_len; @@ -2921,6 +2937,39 @@ static void sh_eth_set_rx_mode(struct ne spin_unlock_irqrestore(&mdp->lock, flags); } +static void sh_eth_set_rx_csum(struct net_device *ndev, bool enable) +{ + struct sh_eth_private *mdp = netdev_priv(ndev); + unsigned long flags; + + spin_lock_irqsave(&mdp->lock, flags); + + /* Disable TX and RX */ + sh_eth_rcv_snd_disable(ndev); + + /* Modify RX Checksum setting */ + sh_eth_modify(ndev, ECMR, ECMR_RCSC, enable ? ECMR_RCSC : 0); + + /* Enable TX and RX */ + sh_eth_rcv_snd_enable(ndev); + + spin_unlock_irqrestore(&mdp->lock, flags); +} + +static int sh_eth_set_features(struct net_device *ndev, + netdev_features_t features) +{ + netdev_features_t changed = ndev->features ^ features; + struct sh_eth_private *mdp = netdev_priv(ndev); + + if (changed & NETIF_F_RXCSUM && mdp->cd->rx_csum) + sh_eth_set_rx_csum(ndev, features & NETIF_F_RXCSUM); + + ndev->features = features; + + return 0; +} + static int sh_eth_get_vtag_index(struct sh_eth_private *mdp) { if (!mdp->port) @@ -3102,6 +3151,7 @@ static const struct net_device_ops sh_et .ndo_change_mtu = sh_eth_change_mtu, .ndo_validate_addr = eth_validate_addr, .ndo_set_mac_address = eth_mac_addr, + .ndo_set_features = sh_eth_set_features, }; static const struct net_device_ops sh_eth_netdev_ops_tsu = { @@ -3117,6 +3167,7 @@ static const struct net_device_ops sh_et .ndo_change_mtu = sh_eth_change_mtu, .ndo_validate_addr = eth_validate_addr, .ndo_set_mac_address = eth_mac_addr, + .ndo_set_features = sh_eth_set_features, }; #ifdef CONFIG_OF @@ -3245,6 +3296,11 @@ static int sh_eth_drv_probe(struct platf ndev->max_mtu = 2000 - (ETH_HLEN + VLAN_HLEN + ETH_FCS_LEN); ndev->min_mtu = ETH_MIN_MTU; + if (mdp->cd->rx_csum) { + ndev->features = NETIF_F_RXCSUM; + ndev->hw_features = NETIF_F_RXCSUM; + } + /* set function */ if (mdp->cd->tsu) ndev->netdev_ops = &sh_eth_netdev_ops_tsu; @@ -3294,7 +3350,7 @@ static int sh_eth_drv_probe(struct platf goto out_release; } mdp->port = port; - ndev->features = NETIF_F_HW_VLAN_CTAG_FILTER; + ndev->features |= NETIF_F_HW_VLAN_CTAG_FILTER; /* Need to init only the first port of the two sharing a TSU */ if (port == 0) { Index: renesas/drivers/net/ethernet/renesas/sh_eth.h =================================================================== --- renesas.orig/drivers/net/ethernet/renesas/sh_eth.h +++ renesas/drivers/net/ethernet/renesas/sh_eth.h @@ -500,6 +500,7 @@ struct sh_eth_cpu_data { unsigned no_xdfar:1; /* E-DMAC DOES NOT have RDFAR/TDFAR */ unsigned xdfar_rw:1; /* E-DMAC has writeable RDFAR/TDFAR */ unsigned csmr:1; /* E-DMAC has CSMR */ + unsigned rx_csum:1; /* EtherC has ECMR.RCSC */ unsigned select_mii:1; /* EtherC has RMII_MII (MII select register) */ unsigned rmiimode:1; /* EtherC has RMIIMODE register */ unsigned rtrate:1; /* EtherC has RTRATE register */ From patchwork Mon Feb 4 18:07:53 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergei Shtylyov X-Patchwork-Id: 1036118 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=cogentembedded.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=cogentembedded-com.20150623.gappssmtp.com header.i=@cogentembedded-com.20150623.gappssmtp.com header.b="YV8rABnW"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43tbKV5wfhz9sMM for ; Tue, 5 Feb 2019 05:07:58 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728482AbfBDSH5 (ORCPT ); Mon, 4 Feb 2019 13:07:57 -0500 Received: from mail-lf1-f52.google.com ([209.85.167.52]:38547 "EHLO mail-lf1-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727917AbfBDSH5 (ORCPT ); Mon, 4 Feb 2019 13:07:57 -0500 Received: by mail-lf1-f52.google.com with SMTP id j15so617623lfh.5 for ; Mon, 04 Feb 2019 10:07:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cogentembedded-com.20150623.gappssmtp.com; s=20150623; h=subject:from:to:cc:references:organization:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=EXKdwmo20YMZC/V88QG3nxEMIZWNmrNm7jkbU1maseQ=; b=YV8rABnW+J780n65H9fXRliFm0zCPVpVqzD76d43JkViLK1oKeKi1O5hd/gsZu/e26 wGFromjkGAImq/5FZbSXPs3qs3IyRHO2HFe4RBp3iXRMMZEOh8N8DRnH+0SxlbFLYOhq vdHibW0KQ2Eh0pOXIxR23O2gLWiQ2usYb4oU/QJIMA3KrC4ETYzyL/rB4vODcmL8/SW8 lgYs7L/U9jJPiOlbNc2rFSGQsdaEiV3IbX7WJ89gMu6TMaOfwfv1S1AIXBPgZ8ngxhYD iCH6FfBBW1NfcLkr3m8Low8Je2/TumB+zrnnkM5YtowcKpFIchVJHhoSZ7tJCRmtTe+R HbDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=EXKdwmo20YMZC/V88QG3nxEMIZWNmrNm7jkbU1maseQ=; b=Hxk5Usq/R4fwCeIOrGGeVwRcHLQsc9K6GwbtAtCB9M/O8nRx0cAsmqsW02G3vwyTZP 89vKyJaSkwAUMGWiMvJ5yi9KpPIPQUyro9q2krxQZ55gy0L+jzlBzrzZWqARCsrXj/5i DIWKMr343HqFvlizgq2pT1zAPwYCnspju835Sn86mpLCYliZPEVndOyjLaxINFHihxb+ 7fornMrSTZS28y8GncawU3Luc48b+nX3df5ZYtUfTpvwnSLS8skb4jugtpUjkEOYptjP /CRXUb5noc0vLIAQ8HPXr6BNmPgRhdDomCaYCpFH6wYlx1VGXDGamX4eeeEoJqgk0PBU ld3A== X-Gm-Message-State: AHQUAuZh6nGT4U5CiMcYWj3TFtfPnsDr2+PGbV7AEkqqfDwdJDSzHs1i gFXFaB0EDGGv7XB2cXjbggh+ysarUC8= X-Google-Smtp-Source: AHgI3IbHGXSUyRQnUdfo/3lb1oEuJK/VQRBrTKo27lX4XNucODD6rc96Nn1QS2dnKndoQAnsGcbm1A== X-Received: by 2002:a19:f705:: with SMTP id z5mr425571lfe.158.1549303675231; Mon, 04 Feb 2019 10:07:55 -0800 (PST) Received: from wasted.cogentembedded.com ([31.173.83.140]) by smtp.gmail.com with ESMTPSA id j12-v6sm2846626ljh.66.2019.02.04.10.07.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Feb 2019 10:07:54 -0800 (PST) Subject: [PATCH v2 3/7] sh_eth: offload RX checksum on R7S72100 From: Sergei Shtylyov To: netdev@vger.kernel.org, "David S. Miller" Cc: linux-renesas-soc@vger.kernel.org, linux-sh@vger.kernel.org References: Organization: Cogent Embedded Message-ID: <5d0f2d2e-4a05-b659-7f95-264335ab66ab@cogentembedded.com> Date: Mon, 4 Feb 2019 21:07:53 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-MW Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The RZ/A1H (R7S721000) SoC manual describes the Ether MAC's RX checksum offload the same way as it's implemented in the EtherAVB MACs... Signed-off-by: Sergei Shtylyov --- drivers/net/ethernet/renesas/sh_eth.c | 1 + 1 file changed, 1 insertion(+) Index: renesas/drivers/net/ethernet/renesas/sh_eth.c =================================================================== --- renesas.orig/drivers/net/ethernet/renesas/sh_eth.c +++ renesas/drivers/net/ethernet/renesas/sh_eth.c @@ -620,6 +620,7 @@ static struct sh_eth_cpu_data r7s72100_d .no_ade = 1, .xdfar_rw = 1, .csmr = 1, + .rx_csum = 1, .tsu = 1, .no_tx_cntrs = 1, }; From patchwork Mon Feb 4 18:08:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergei Shtylyov X-Patchwork-Id: 1036119 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=cogentembedded.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=cogentembedded-com.20150623.gappssmtp.com header.i=@cogentembedded-com.20150623.gappssmtp.com header.b="g+thGzna"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43tbLj0JKTz9sMM for ; Tue, 5 Feb 2019 05:09:01 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729055AbfBDSI6 (ORCPT ); Mon, 4 Feb 2019 13:08:58 -0500 Received: from mail-lf1-f48.google.com ([209.85.167.48]:37515 "EHLO mail-lf1-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727917AbfBDSI6 (ORCPT ); Mon, 4 Feb 2019 13:08:58 -0500 Received: by mail-lf1-f48.google.com with SMTP id n23so625572lfl.4 for ; Mon, 04 Feb 2019 10:08:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cogentembedded-com.20150623.gappssmtp.com; s=20150623; h=subject:from:to:cc:references:organization:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=Yu4cqKkS9y756h3einJDErDF0f6zpMtA7KTom2kmnvY=; b=g+thGznaPquOLEB6tSiK+6GIcdtIIM52T1tRciYzaSQmQ39awi9LndSodrsKZDqZjS LS8jcIImzwcYWyiab+THNyBYHVyoO7x4VWVC3yDvipKD9eucux4bDQUeZ49e3cpR+Jtu uIN9LW0UqmnjPBCtnT8jNoCqnh6dwWU9c/GNxJXafA+YOIzMoi6KbEUyomaNWFbiDvpp gmww+XCPu4TNJGYlto9/tzkIkWtDwEcl1s5WFspyevWh5vrrwcix8bfo5Rsmy4G8tuQV GEYMsULOGiPoB4YJq+mMqwa0Z81Lx4d7OEdYa7AV43ebp3F144uICaHYkwefDAbgJOhC 5WDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=Yu4cqKkS9y756h3einJDErDF0f6zpMtA7KTom2kmnvY=; b=hdEaimv79aXSMI2HcUVYpMoj5psLYtVrPJbNIYDaOHrdLXNy7sd+j+nOdN7Of4TL41 Xrz29SgfacpqOShSG0I7JZnLWBu1gy0EQxrv/6a/OJI2aq8zHVCiFOnmMXmQfDIYEgMh 06RSoWWz4dno7SEvtYs3pW4T3jhD3LHCj8LvMw41qCIosziARl4Z0j5O141KVOW8eyjL oy3xU1mMtb+IF7DOsuQscj0LAH3ra49fD7MmnmMfyOa2OD4m0mmuOZBXLSvV6jiMZEpd GD6npBf37rEMP9h86yfVx367pYhjuSykybbuzLo5ZpnGvwaJgBl8kI6XLuDCJdsVYd9o /2fw== X-Gm-Message-State: AHQUAubYqkgLQR4DOlpBn8XRB/MRIg5ew6hCxV5rOcdVZksXqiJF/J7m UBmlzKAfuUYKiiDQ44wUre2SFA== X-Google-Smtp-Source: AHgI3Ibjk+uoEAZ+O8iBUCbWiI/kOQIaTqeWXunF5fZsDX1N+sebUgkvki+xgrmYDOoTG/AUpHqBcA== X-Received: by 2002:a19:a98f:: with SMTP id s137mr454374lfe.18.1549303736420; Mon, 04 Feb 2019 10:08:56 -0800 (PST) Received: from wasted.cogentembedded.com ([31.173.83.140]) by smtp.gmail.com with ESMTPSA id i13-v6sm2792509ljg.82.2019.02.04.10.08.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Feb 2019 10:08:55 -0800 (PST) Subject: [PATCH v2 4/7] sh_eth: offload RX checksum on R8A7740 From: Sergei Shtylyov To: netdev@vger.kernel.org, "David S. Miller" Cc: linux-renesas-soc@vger.kernel.org, linux-sh@vger.kernel.org References: Organization: Cogent Embedded Message-ID: <047ee1f3-b64c-5421-150e-15993049e1ef@cogentembedded.com> Date: Mon, 4 Feb 2019 21:08:54 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-MW Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The R-Mobile A1 (R8A7740) SoC manual describes the Ether MAC's RX checksum offload the same way as it's implemented in the EtherAVB MAC... Signed-off-by: Sergei Shtylyov Tested-by: Geert Uytterhoeven --- Changes in version 2: - added Geert's tag. drivers/net/ethernet/renesas/sh_eth.c | 1 + 1 file changed, 1 insertion(+) Index: renesas/drivers/net/ethernet/renesas/sh_eth.c =================================================================== --- renesas.orig/drivers/net/ethernet/renesas/sh_eth.c +++ renesas/drivers/net/ethernet/renesas/sh_eth.c @@ -670,6 +670,7 @@ static struct sh_eth_cpu_data r8a7740_da .no_ade = 1, .xdfar_rw = 1, .csmr = 1, + .rx_csum = 1, .tsu = 1, .select_mii = 1, .magic = 1, From patchwork Mon Feb 4 18:10:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergei Shtylyov X-Patchwork-Id: 1036120 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=cogentembedded.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=cogentembedded-com.20150623.gappssmtp.com header.i=@cogentembedded-com.20150623.gappssmtp.com header.b="Ns5vrEsy"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43tbNf2ZGqz9sMM for ; Tue, 5 Feb 2019 05:10:42 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729083AbfBDSKj (ORCPT ); Mon, 4 Feb 2019 13:10:39 -0500 Received: from mail-lf1-f41.google.com ([209.85.167.41]:33850 "EHLO mail-lf1-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728056AbfBDSKj (ORCPT ); Mon, 4 Feb 2019 13:10:39 -0500 Received: by mail-lf1-f41.google.com with SMTP id p6so649627lfc.1 for ; Mon, 04 Feb 2019 10:10:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cogentembedded-com.20150623.gappssmtp.com; s=20150623; h=subject:from:to:cc:references:organization:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=6q4Ogs/xu/BHkdLHpHi3xG9nEcDUkatHU10+VQ6N3JQ=; b=Ns5vrEsyfXAQrLHeiooapY5+6QLA6f9DOlWqzIS51gTQQhm4O22ssNr5mOic0XHYL2 p6gjMrZ00EqPEz8/HfzsV5+5uhIhO493HCi3fYYE4m6Sb9oUUVHDqLBiEcQyaFhdUA4l rzEvnm0RTEeg7CkBLbp3tGXwMbMZScYb4hqFwiyQYBQ6YkoCGR/ZhDI3wRhyts5emMY2 gKxkfKFLGqbn+JN6xJyNzBF0PSjUoErBxaAMt9u60csDnAnHmiO6XMK34JyJtV12sQ3v wTjBNmL3Hi9M+udmhAJW3iBquNot6YAWCXpkh0KuiQ4g6zGGZG144GIL6YWCMwxnD7gN 5tww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=6q4Ogs/xu/BHkdLHpHi3xG9nEcDUkatHU10+VQ6N3JQ=; b=jIY3mqQZJfw4LOORxyq9NMh7jhQDkx0ZChR3g+lOLHcWwsqarzAps7BwREYvGulgII qbc/ZzY1Bepn1fyfcILdsaYy2hC8rQjtkOwW959kUFwC+LJLG5NCja4jwxC+cme80QTu wZJOCFlQtt8ohsRzymTiVFgWmtdHcpNX4xSu303+Z05sKcw7OeWYWNfQqaJTg0JknoOW kb6KH4T3x/sTV2/A6FQ1rSdKWEedl6CZ1lVgPLjSHHKC0we+EfzMj/jb8zmfpqkSsy3z tpgSdwYAlSKlY687SkY40MudAaaITDN0Gp12QhL5wrLGav0vL4NiH5oLPDwyRyEEErAT uOZg== X-Gm-Message-State: AHQUAuZUaPb4xF671LQzFjf0wUQvCujmYzU0zwQOgF91U6LaA6Jhgurh 25lc0aqFbPIN1WWvxTYCo1Vq0g== X-Google-Smtp-Source: AHgI3IZV+LleXpMLAzkm3D0oQQGQxCwdO/k0SSiud6ee8C7uq6m0iggH9Nq5OyV49lSg44Jp2JU/nw== X-Received: by 2002:a19:df41:: with SMTP id q1mr425864lfj.25.1549303837439; Mon, 04 Feb 2019 10:10:37 -0800 (PST) Received: from wasted.cogentembedded.com ([31.173.83.140]) by smtp.gmail.com with ESMTPSA id h22-v6sm3124606lji.45.2019.02.04.10.10.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Feb 2019 10:10:35 -0800 (PST) Subject: [PATCH v2 5/7] sh_eth: offload RX checksum on R8A77980 From: Sergei Shtylyov To: netdev@vger.kernel.org, "David S. Miller" Cc: linux-renesas-soc@vger.kernel.org, linux-sh@vger.kernel.org References: Organization: Cogent Embedded Message-ID: <8697e411-02ae-3223-3a0c-4a3eb770ae3a@cogentembedded.com> Date: Mon, 4 Feb 2019 21:10:32 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-MW Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The R-Car V3H (R8A77980) SoC manual describes the Ether MAC's RX checksum offload the same way as it's implemented in the EtherAVB MAC... Signed-off-by: Sergei Shtylyov --- drivers/net/ethernet/renesas/sh_eth.c | 1 + 1 file changed, 1 insertion(+) Index: renesas/drivers/net/ethernet/renesas/sh_eth.c =================================================================== --- renesas.orig/drivers/net/ethernet/renesas/sh_eth.c +++ renesas/drivers/net/ethernet/renesas/sh_eth.c @@ -796,6 +796,7 @@ static struct sh_eth_cpu_data r8a77980_d .no_ade = 1, .xdfar_rw = 1, .csmr = 1, + .rx_csum = 1, .select_mii = 1, .magic = 1, .cexcr = 1, From patchwork Mon Feb 4 18:11:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergei Shtylyov X-Patchwork-Id: 1036121 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=cogentembedded.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=cogentembedded-com.20150623.gappssmtp.com header.i=@cogentembedded-com.20150623.gappssmtp.com header.b="VkLX9B4N"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43tbPm3w9Rz9sMp for ; Tue, 5 Feb 2019 05:11:40 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729234AbfBDSLi (ORCPT ); Mon, 4 Feb 2019 13:11:38 -0500 Received: from mail-lf1-f47.google.com ([209.85.167.47]:43233 "EHLO mail-lf1-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727917AbfBDSLi (ORCPT ); Mon, 4 Feb 2019 13:11:38 -0500 Received: by mail-lf1-f47.google.com with SMTP id j1so596316lfb.10 for ; Mon, 04 Feb 2019 10:11:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cogentembedded-com.20150623.gappssmtp.com; s=20150623; h=subject:from:to:cc:references:organization:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=WuripNQOWF5h9FMd3FHVu69JYoXkifUIWFtz9+M3z/I=; b=VkLX9B4NL2Rrgb7f22C8qNQ45LJ0XtWJO7cmgwyHqCIbjXop6aKTnNbfm5EcmR9wH8 JiWHMBL87Lj7Cl8QYr8mCxqz8LX7I7WXe/15c3VeEaHlueoJc36H4ALMtZf6qAbQpzJY k7K0ckuv29G5AOzvLP4QnXPSBXFFXRYiOjO2cEGTP6QUSNCHG1DRtqpyguwX1ikJRzAF u1pB3rs9+a0kxTaWmtWY9KtH4wWdlPFdXBnRvYjHjnTLL6xrOjvyIWnxJWzA4M7A8ePg n8nQXMSeMKsEMy0UqicbTVqIykcdEx9xtTLC/pUoUohrTMrf5ise+48okJVAjSXXCh68 tl6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=WuripNQOWF5h9FMd3FHVu69JYoXkifUIWFtz9+M3z/I=; b=OBrdo+5heXXT33RQ2cReyap0/Py1ZlJ2LLInTu3cvfiLYrWcLcZOn+MMdAkHp7O8bM RGWqIRlkf77Py+FmpT0LFmmYBXDgv8/RgKJVXP6GTa3Js5A3tjewMaDTp3/Fk4t8tkes nLKqMv0gymXafdT0+e6Tg/m2+0hMZoRyouazQUCXMgZRqFGGzTt1xYhdtza/xPMIkAqS O6aT/oASUDrti+Qtk4uCJc1v93/xJ6TIdpyQCcQkbIcqze+HCMy8rVzBdPqPEfM5lFg/ SLtE5mZtenK3wgDEw/KQLRzhPxyLlfr2WEutUOyQ5FbSAn/x0uOTlrGrI4YZVHdV8Qw2 SgOA== X-Gm-Message-State: AHQUAuamxvJkw+C/i+tg/QbEJdD2Jmsj9k99u6/a50Ac2+yurxc4q6u1 xHVToTpj7TlIIl9yRNMi0VxHrQ== X-Google-Smtp-Source: AHgI3IbVLb31o6Vv9gOQeG+rtcpgk6V5HMygrumdB/+B8NXsq/8ZqLMlUIpFbYtl8hD+wD0QUXP7TQ== X-Received: by 2002:ac2:434f:: with SMTP id o15mr397216lfl.29.1549303896201; Mon, 04 Feb 2019 10:11:36 -0800 (PST) Received: from wasted.cogentembedded.com ([31.173.83.140]) by smtp.gmail.com with ESMTPSA id t22sm3477710lfb.0.2019.02.04.10.11.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Feb 2019 10:11:34 -0800 (PST) Subject: [PATCH v2 6/7] sh_eth: offload RX checksum on SH7734 From: Sergei Shtylyov To: netdev@vger.kernel.org, "David S. Miller" Cc: linux-renesas-soc@vger.kernel.org, linux-sh@vger.kernel.org References: Organization: Cogent Embedded Message-ID: Date: Mon, 4 Feb 2019 21:11:32 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-MW Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The SH7734 SoC manual describes the Ether MAC's RX checksum offload the same way as it's implemented in the EtherAVB MACs... Signed-off-by: Sergei Shtylyov --- drivers/net/ethernet/renesas/sh_eth.c | 1 + 1 file changed, 1 insertion(+) Index: renesas/drivers/net/ethernet/renesas/sh_eth.c =================================================================== --- renesas.orig/drivers/net/ethernet/renesas/sh_eth.c +++ renesas/drivers/net/ethernet/renesas/sh_eth.c @@ -1049,6 +1049,7 @@ static struct sh_eth_cpu_data sh7734_dat .xdfar_rw = 1, .tsu = 1, .csmr = 1, + .rx_csum = 1, .select_mii = 1, .magic = 1, .cexcr = 1, From patchwork Mon Feb 4 18:12:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergei Shtylyov X-Patchwork-Id: 1036122 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=cogentembedded.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=cogentembedded-com.20150623.gappssmtp.com header.i=@cogentembedded-com.20150623.gappssmtp.com header.b="YJr2Th3K"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43tbRJ5Wggz9s3l for ; Tue, 5 Feb 2019 05:13:00 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728886AbfBDSM6 (ORCPT ); Mon, 4 Feb 2019 13:12:58 -0500 Received: from mail-lj1-f179.google.com ([209.85.208.179]:39218 "EHLO mail-lj1-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728037AbfBDSM6 (ORCPT ); Mon, 4 Feb 2019 13:12:58 -0500 Received: by mail-lj1-f179.google.com with SMTP id t9-v6so681646ljh.6 for ; Mon, 04 Feb 2019 10:12:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cogentembedded-com.20150623.gappssmtp.com; s=20150623; h=subject:from:to:cc:references:organization:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=iQ0EU+A67yBKqvtr/KKNnjcfu3fMAHJQV/90tv/pTqo=; b=YJr2Th3KYA2xyayTUzysDu12AB1EC/S4TOsyt6bjfzOHdDD8VgbdA0yPCYkALVhnx2 sNnjPtM8vOwwpYtGXc1EGq5zxxJNJXWji57IQWclrNEvfYaG8mJkl9uiV+kh0rRSaT1k OV4P3qnVUDWIMur1T8prkngIQcmWabJqFuvGvpUIIdrojC9DPLM+FvZqcPsv9MO/CTV7 AjZxGHdyFV8TBxmYOr/OodVqKlQbsjwEevdPoj5V9pKreAlwaJANMjSm79NvTBkmJ+IU 2K30WaDVr3uNCJMHeUvIgm7nMwRUI5iKDmW5pAr3U1nSIFhixQ3eg61MLx+laCIzoQkG 218w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=iQ0EU+A67yBKqvtr/KKNnjcfu3fMAHJQV/90tv/pTqo=; b=cLPZ/HC1VVpG/JUH/iaNCLBHTfHxkZS0HzbWrdlLku/9Px1paSMybs6ocWCCWIMljw 8WeicCRad7uaOE9nugGTapnIka9C/pu6AJ0HL5tyrqcZWMG7lyKBEShX3zdmq9XldDzp V5pVFTi5b5fhgltHazWSCWAofcgC7Sb6pmsHGBuGDvG03kOWOjfH8UbNbLjRPwIBTL0L V1gMjJbOEWmkil+wwA6i+0QtZqaP6jvSbqOujKduC73xMmBv2/M6CXkJdB5tsjXmAvoE P9p3x04jHuNTiNwv5icQVWaMHoWLYuEDdqr8RUBGBQnUuPYrGiUP6avC02rmZqo/MXFX RH+w== X-Gm-Message-State: AHQUAuYC1L7F9zeiy/3BTrg0OkIGwC+DWiFjExukmsftF02n10pxhpMS q7OR7mXrslUqbN9DM96h/RJwGA== X-Google-Smtp-Source: AHgI3IaiPYcrqlc+FB4Gh7UOl+mwJfcpTUteIrZn2oZjIvsWp/GZLuDLJx4BJt33Ig4t5QkWMc/TvA== X-Received: by 2002:a2e:4a19:: with SMTP id x25-v6mr352737lja.19.1549303976422; Mon, 04 Feb 2019 10:12:56 -0800 (PST) Received: from wasted.cogentembedded.com ([31.173.83.140]) by smtp.gmail.com with ESMTPSA id z9sm3195545lfj.79.2019.02.04.10.12.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Feb 2019 10:12:46 -0800 (PST) Subject: [PATCH v2 7/7] sh_eth: offload RX checksum on SH7763 From: Sergei Shtylyov To: netdev@vger.kernel.org, "David S. Miller" Cc: linux-renesas-soc@vger.kernel.org, linux-sh@vger.kernel.org References: Organization: Cogent Embedded Message-ID: <2d6569b3-b83a-b815-30b1-56fde1a7a0e6@cogentembedded.com> Date: Mon, 4 Feb 2019 21:12:39 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-MW Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The SH7763 SoC manual describes the Ether MAC's RX checksum offload the same way as it's implemented in the EtherAVB MACs... Signed-off-by: Sergei Shtylyov --- drivers/net/ethernet/renesas/sh_eth.c | 1 + 1 file changed, 1 insertion(+) Index: renesas/drivers/net/ethernet/renesas/sh_eth.c =================================================================== --- renesas.orig/drivers/net/ethernet/renesas/sh_eth.c +++ renesas/drivers/net/ethernet/renesas/sh_eth.c @@ -1092,6 +1092,7 @@ static struct sh_eth_cpu_data sh7763_dat .irq_flags = IRQF_SHARED, .magic = 1, .cexcr = 1, + .rx_csum = 1, .dual_port = 1, };