From patchwork Wed May 16 19:58:26 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergei Shtylyov X-Patchwork-Id: 914907 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="WOQryHJX"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40mQGw2fq5z9s19 for ; Thu, 17 May 2018 05:58:32 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750847AbeEPT6a (ORCPT ); Wed, 16 May 2018 15:58:30 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:53617 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750806AbeEPT62 (ORCPT ); Wed, 16 May 2018 15:58:28 -0400 Received: by mail-wm0-f68.google.com with SMTP id a67-v6so4262794wmf.3 for ; Wed, 16 May 2018 12:58:28 -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=cqyJ785Gm3HHaUDjN2v1XLZ9Ll24DfvjCBk03hBg/iA=; b=WOQryHJXf6pswuhy0/WCmgpZIRFoecNT18Vch+aZMNg1GRPseybYLtDs5jR3+TM2h9 yuVSYvuhm6vLC/jxGX17hja/mn5kkTYa4rPaJgtre0tcD60z1z8tQqUZ7WBuci1BH1pw qh3y5H5x24BGUoBtnFJs3X03EOQ9mm0CllKGTNGJCFwVEvR3tttJNp+jiLA1c8GhvAVU aDNuEVxYNOw9M+C7W6YE4Qiik1HlVa4DTlYzYSTvmjQn+zIszQha+3UGTbmcpdK7/oV/ h2DxHzwWNKA2zRG+PcD+tPhlSo3DLXGWCEpR6BYxojWOekPS/NRCyCZc34DIg5trBEez GdFw== 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=cqyJ785Gm3HHaUDjN2v1XLZ9Ll24DfvjCBk03hBg/iA=; b=QI2iyLmUsdpF2Acnr9iDyTWnUMVWN5ia08hUcMJDk3B3HIEFRiA7Yq6IfyRMHlN4Sw 68TuYXBfQ3F01+0ZSAFUM65bkGBDzFwUeACaHUy3WYtMPS2FfrdbpWf/vJ2/bkm7vl1t hH6Yk0TUmpLMkEELqBRtX/RgcqJ2hwucwt2Yxp8m+MBiG8DIBSB4Czco/0EJcPnR1WuQ p1seqGN45+ZIBgT867xRmz653JLd+NON7YZe2rJ7a3YUfpbu7geERH4b5LBnpKQBvyU6 gmescnskE6Wnb2SYk+xFhNwar6pWMnqib3//Vh2DULugHlXR6MIs6EgyPrWDBYq4D02m QWvg== X-Gm-Message-State: ALKqPwdlqXnoMrAenb2NAyY18MnLhDMRfSpksH2Yn1wMCrR/Gn0ozA12 CDXEuTejIm7Ms38TpI2Lqla0UQ== X-Google-Smtp-Source: AB8JxZrCN2UU27SJ0KhyeUy6NSPV5ILHcwLIVpMUsL72h0mSyFVf2O7HvSlpHBjpFx8LWl7F6pvomA== X-Received: by 2002:a2e:954b:: with SMTP id t11-v6mr1397450ljh.138.1526500707761; Wed, 16 May 2018 12:58:27 -0700 (PDT) Received: from wasted.cogentembedded.com ([31.173.81.40]) by smtp.gmail.com with ESMTPSA id y137-v6sm792463lfd.96.2018.05.16.12.58.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 May 2018 12:58:26 -0700 (PDT) Subject: [PATCH 2/3] sh_eth: add EDMR.NBST support From: Sergei Shtylyov To: netdev@vger.kernel.org, "David S. Miller" Cc: linux-renesas-soc@vger.kernel.org References: <087c91a3-a451-6de7-5e0f-a835f8cc98f1@cogentembedded.com> Organization: Cogent Embedded Message-ID: <7e929d5a-e97d-7339-a089-2231c7a6a92c@cogentembedded.com> Date: Wed, 16 May 2018 22:58:26 +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: <087c91a3-a451-6de7-5e0f-a835f8cc98f1@cogentembedded.com> 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 --- 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 */