From patchwork Fri May 18 18:31:28 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergei Shtylyov X-Patchwork-Id: 916540 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="Bjizk7tp"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40ncFg3QfMz9s4Y for ; Sat, 19 May 2018 04:31:35 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751790AbeERSbe (ORCPT ); Fri, 18 May 2018 14:31:34 -0400 Received: from mail-lf0-f66.google.com ([209.85.215.66]:46707 "EHLO mail-lf0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751540AbeERSbc (ORCPT ); Fri, 18 May 2018 14:31:32 -0400 Received: by mail-lf0-f66.google.com with SMTP id 16-v6so15300221lfs.13 for ; Fri, 18 May 2018 11:31:31 -0700 (PDT) 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=CUC2iSut3jF4/lWp8gYaECfjB1UUfBndQRL8iXxN6Gs=; b=Bjizk7tpd4TFfzN8mhCLnpU7KkgxDzKADNJD1zjqN/DZRc5B9nRaCSrvbg+h8KkrCk 9CloecYfB8c3UrqpWfOITxsCWMuCJEGoDxu70Gi3EE8yR1Z3K1k6axOkIBpES6VsOxIk c+cx4UEyjnwD8YSBjfpsYhwT8IFEUsIc/i+FvgW3BNqAmwdut+4NujCI0DYQ9kIK999I DHLr9NPRoZNcx/Kc9lOytFY2Y+IUkUNHo1j8eE1piASy40pDgDJ1iiBTZHEy+EJjq4yA 7abT76Qw+hdMKWyrL6+ecsJNaPJCTS5WbdlxbUbXNA5ELm/T5n0gs7+FXS3RFZsE7akQ m6CA== 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=CUC2iSut3jF4/lWp8gYaECfjB1UUfBndQRL8iXxN6Gs=; b=RXrSXoMF9JntpxjZrx3QKqhr7orwLtkyMIJHVa2spYleg3oII3i5sTmRHlCd6NwNUZ fQ3sXEuABpIQKEqW2RQurqVsIkbnxsAqgmZfQygwejw9Yu3X3Sn7eCLXnZWN82uhXEX8 K5eLpRFtBcFhELqSKPzukBhpLoDkZkiDX1+Ghw+VZwwqqsJOzmZb36KK8rQnbIx+Y++D itCG6KCAbu9puzFhKg2a6e3bY9mLFKOTEPMCTxlRI+6dZPCE60rSRlT+gfFSesE1DBVY WE/pUhPbLqrORCW2xD3I0laguIftETKbMWja4TiS9LF3bvNmVdlQ+KdLYISW6EqhgUNw KQEQ== X-Gm-Message-State: ALKqPwcKMYm09qW4a2y9G/HlTxPaGbgtdWdsL+uA/Flu1OmpB6M2ZJJo rZ7eVMXy6mYOahwpb01AQivcdw== X-Google-Smtp-Source: AB8JxZo2iiq1sQZKqT4UlOMSFGC+tEFlg2n9MrZ4OvEUDrXqMzrKZg8QViHwkZBXxEtMLtbv/Ra27w== X-Received: by 2002:a2e:8456:: with SMTP id u22-v6mr6414517ljh.80.1526668290623; Fri, 18 May 2018 11:31:30 -0700 (PDT) Received: from wasted.cogentembedded.com ([31.173.86.87]) by smtp.gmail.com with ESMTPSA id j15-v6sm1336615lji.89.2018.05.18.11.31.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 18 May 2018 11:31:29 -0700 (PDT) Subject: [PATCH v2 2/3] sh_eth: add EDMR.NBST support From: Sergei Shtylyov To: netdev@vger.kernel.org, devicetree@vger.kernel.org, "David S. Miller" , Rob Herring Cc: Mark Rutland , linux-renesas-soc@vger.kernel.org References: Organization: Cogent Embedded Message-ID: <6dc30bc4-04f4-7ac3-e9e9-de86f2eee99f@cogentembedded.com> Date: Fri, 18 May 2018 21:31:28 +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 (AKA R8A77980) GEther controller adds the DMA burst mode bit (NBST) in EDMR and the manual tells to always set it before doing any DMA. Based on the original (and large) patch by Vladimir Barinov. Signed-off-by: Vladimir Barinov Signed-off-by: Sergei Shtylyov Reviewed-by: Simon Horman --- Changes in version 2: - added Simon's tag. drivers/net/ethernet/renesas/sh_eth.c | 4 ++++ drivers/net/ethernet/renesas/sh_eth.h | 2 ++ 2 files changed, 6 insertions(+) Index: net-next/drivers/net/ethernet/renesas/sh_eth.c =================================================================== --- net-next.orig/drivers/net/ethernet/renesas/sh_eth.c +++ net-next/drivers/net/ethernet/renesas/sh_eth.c @@ -1434,6 +1434,10 @@ static int sh_eth_dev_init(struct net_de sh_eth_write(ndev, mdp->cd->trscer_err_mask, TRSCER); + /* DMA transfer burst mode */ + if (mdp->cd->nbst) + sh_eth_modify(ndev, EDMR, EDMR_NBST, EDMR_NBST); + if (mdp->cd->bculr) sh_eth_write(ndev, 0x800, BCULR); /* Burst sycle set */ Index: net-next/drivers/net/ethernet/renesas/sh_eth.h =================================================================== --- net-next.orig/drivers/net/ethernet/renesas/sh_eth.h +++ net-next/drivers/net/ethernet/renesas/sh_eth.h @@ -184,6 +184,7 @@ enum GECMR_BIT { /* EDMR */ enum DMAC_M_BIT { + EDMR_NBST = 0x80, EDMR_EL = 0x40, /* Litte endian */ EDMR_DL1 = 0x20, EDMR_DL0 = 0x10, EDMR_SRST_GETHER = 0x03, @@ -505,6 +506,7 @@ struct sh_eth_cpu_data { unsigned bculr:1; /* EtherC have BCULR */ unsigned tsu:1; /* EtherC have TSU */ unsigned hw_swap:1; /* E-DMAC have DE bit in EDMR */ + unsigned nbst:1; /* E-DMAC has NBST bit in EDMR */ unsigned rpadir:1; /* E-DMAC have RPADIR */ unsigned no_trimd:1; /* E-DMAC DO NOT have TRIMD */ unsigned no_ade:1; /* E-DMAC DO NOT have ADE bit in EESR */