From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3D746C433FE for ; Mon, 4 Oct 2021 19:28:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2A99C61354 for ; Mon, 4 Oct 2021 19:28:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239041AbhJDT34 (ORCPT ); Mon, 4 Oct 2021 15:29:56 -0400 Received: from mxout02.lancloud.ru ([45.84.86.82]:54658 "EHLO mxout02.lancloud.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239081AbhJDT3s (ORCPT ); Mon, 4 Oct 2021 15:29:48 -0400 Received: from LanCloud DKIM-Filter: OpenDKIM Filter v2.11.0 mxout02.lancloud.ru EF3E822D1FBC Received: from LanCloud Received: from LanCloud Received: from LanCloud Subject: Re: [PATCH 10/10] ravb: Initialize GbEthernet E-MAC To: Biju Das , "David S. Miller" , Jakub Kicinski CC: Sergei Shtylyov , Geert Uytterhoeven , Sergey Shtylyov , "Adam Ford" , Andrew Lunn , Yuusuke Ashizuka , Yoshihiro Shimoda , "netdev@vger.kernel.org" , "linux-renesas-soc@vger.kernel.org" , Chris Paterson , Biju Das , Prabhakar Mahadev Lad References: <20211001150636.7500-1-biju.das.jz@bp.renesas.com> <20211001150636.7500-11-biju.das.jz@bp.renesas.com> <9e7f271f-fc49-a85a-b790-af3a9bdc4be1@omp.ru> From: Sergey Shtylyov Organization: Open Mobile Platform Message-ID: Date: Mon, 4 Oct 2021 22:27:55 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [192.168.11.198] X-ClientProxiedBy: LFEXT02.lancloud.ru (fd00:f066::142) To LFEX1907.lancloud.ru (fd00:f066::207) Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On 10/4/21 10:23 PM, Biju Das wrote: [...] >>> Initialize GbEthernet E-MAC found on RZ/G2L SoC. >>> This patch also renames ravb_set_rate to ravb_set_rate_rcar and >>> ravb_rcar_emac_init to ravb_emac_init_rcar to be consistent with the >>> naming convention used in sh_eth driver. >>> >>> Signed-off-by: Biju Das >>> Reviewed-by: Lad Prabhakar >>> --- >>> RFC->v1: >>> * Moved CSR0 intialization to later patch. >>> * started using ravb_modify for initializing link registers. >>> --- >>> drivers/net/ethernet/renesas/ravb.h | 20 +++++++-- >>> drivers/net/ethernet/renesas/ravb_main.c | 55 >>> ++++++++++++++++++++---- >>> 2 files changed, 62 insertions(+), 13 deletions(-) >>> [...] >>> diff --git a/drivers/net/ethernet/renesas/ravb_main.c >>> b/drivers/net/ethernet/renesas/ravb_main.c >>> index 3e694738e683..9a4888543384 100644 >>> --- a/drivers/net/ethernet/renesas/ravb_main.c >>> +++ b/drivers/net/ethernet/renesas/ravb_main.c >> [...] >>> @@ -449,10 +461,35 @@ static int ravb_ring_init(struct net_device >>> *ndev, int q) >>> >>> static void ravb_emac_init_gbeth(struct net_device *ndev) { >>> - /* Place holder */ >>> + struct ravb_private *priv = netdev_priv(ndev); >>> + >>> + /* Receive frame limit set register */ >>> + ravb_write(ndev, GBETH_RX_BUFF_MAX + ETH_FCS_LEN, RFLR); >>> + >>> + /* PAUSE prohibition */ >> >> Should be: >> >> /* EMAC Mode: PAUSE prohibition; Duplex; TX; RX */ >> >>> + ravb_write(ndev, ECMR_ZPF | ((priv->duplex > 0) ? ECMR_DM : 0) | >>> + ECMR_TE | ECMR_RE | ECMR_RCPT | >>> + ECMR_TXF | ECMR_RXF | ECMR_PRM, ECMR); >>> + >>> + ravb_set_rate_gbeth(ndev); >>> + >>> + /* Set MAC address */ >>> + ravb_write(ndev, >>> + (ndev->dev_addr[0] << 24) | (ndev->dev_addr[1] << 16) | >>> + (ndev->dev_addr[2] << 8) | (ndev->dev_addr[3]), MAHR); >>> + ravb_write(ndev, (ndev->dev_addr[4] << 8) | (ndev->dev_addr[5]), >>> +MALR); >>> + >>> + /* E-MAC status register clear */ >>> + ravb_write(ndev, ECSR_ICD | ECSR_LCHNG | ECSR_PFRI, ECSR); >>> + >>> + /* E-MAC interrupt enable register */ >>> + ravb_write(ndev, ECSIPR_ICDIP, ECSIPR); >> >> Too much repetitive code, I think... > > Can you please clarify what are the codes repetitive here? MAHR/MALR reading, mainly... The following code turned out to be different from gen2/3 indeed... [...] MBR, Sergey