From patchwork Wed Sep 19 16:08:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Simek X-Patchwork-Id: 971783 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=xilinx.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=monstr-eu.20150623.gappssmtp.com header.i=@monstr-eu.20150623.gappssmtp.com header.b="EQqTH2wo"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 42FlCG59sNz9sCD for ; Thu, 20 Sep 2018 02:08:26 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731466AbeISVq7 (ORCPT ); Wed, 19 Sep 2018 17:46:59 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:55554 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731368AbeISVq7 (ORCPT ); Wed, 19 Sep 2018 17:46:59 -0400 Received: by mail-wm1-f65.google.com with SMTP id f21-v6so6871493wmc.5 for ; Wed, 19 Sep 2018 09:08:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monstr-eu.20150623.gappssmtp.com; s=20150623; h=sender:from:to:cc:subject:date:message-id; bh=Uq4FaIIvqrNr/IUNG2rRPni+34lkVn2isOTam+arIuU=; b=EQqTH2woxXaacY9SSA0zIklzTlVBckcirQHcj3jEvdFzAAn64DEfYP6k6GQwycHZHc Dn6BsO+5m6vsaUYsGVKFZIDhiPaIrH6nbhtcweuSrltyvKdDFtGOY5d6JlBaaeoxXHbu G4UDX937Opu7TZl/YN+iMhvoBYIzY272h0k3ast6M8qDmvlQt8kCMsTdSQh8Ui1SKtvR ynuiR9MShdswE28UfbfKKkJgEZcnAI4TxiYfEceEaBDoGl5mJYy2I3dmbC/86r8msirR sOrcBLynJcutyRt0P6Ei9XQp/tD8x29TJSYFww/k776TZ+ze+0RKTNF5dBqInnxNbU2T 6WGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id; bh=Uq4FaIIvqrNr/IUNG2rRPni+34lkVn2isOTam+arIuU=; b=XPhG7a/fm96xQZKSFQglWvCquhWRbBW//4aB/rZ/Iq1qbzP0e47+4MmykT9qAWSwjG Cr0z8jd+BLXFT5D5MsxScPD+gsdKTbzVQf9DhtAgr1LkcczdBur/52lCbb8LSIWMWnRP vq4YbliAREtFu+Qq4VvmGZUMwRQAU7cY3bFmxmp9TuRqok+aqLOKHLTZmdP3TIHzK3Lc 9WZdUcO0NcZf8jm2GP0DFh6AERcJvU8MrJGOcOGKCLXIlrPg2zxC2+GJaTf5Hdh6zvo2 OOtpG9ViSlHv7rhImRNUGEc+c6ocvFjkTTFkTdjjqJGvbq5OtCNHE76wx/0G1M1OCv/P nQYg== X-Gm-Message-State: APzg51BmvNGEwt1kYvKi6sxo1kS4J35/6SI4tq5rEHLTdzQm3uUcgEKt cbiqCwRfJVNlQI9zxBocqmfQtA== X-Google-Smtp-Source: ANB0Vda6HmGce5Mf/Ezsnc1eeRcvdMsWL5bq1T2NXTYzp//3eXClAyeJE//z6sWoYvp1mSrtjeG7+A== X-Received: by 2002:a7b:c1ca:: with SMTP id a10-v6mr20003754wmj.35.1537373302591; Wed, 19 Sep 2018 09:08:22 -0700 (PDT) Received: from localhost (nat-35.starnet.cz. [178.255.168.35]) by smtp.gmail.com with ESMTPSA id x16-v6sm15627822wro.84.2018.09.19.09.08.21 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Wed, 19 Sep 2018 09:08:21 -0700 (PDT) From: Michal Simek To: linux-kernel@vger.kernel.org, monstr@monstr.eu, "Edgar E. Iglesias" Cc: "David S. Miller" , netdev@vger.kernel.org, u-boot@lists.denx.de, Joe Hershberger , Nicolas Ferre Subject: [PATCH] net: macb: Clean 64b dma addresses if they are not detected Date: Wed, 19 Sep 2018 18:08:18 +0200 Message-Id: <0997a0e77b5e5c04c9a4d277d702d93a1a8a7448.1537373294.git.michal.simek@xilinx.com> X-Mailer: git-send-email 1.9.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Clear ADDR64 dma bit in DMACFG register in case that HW_DMA_CAP_64B is not detected on 64bit system. The issue was observed when bootloader(u-boot) does not check macb feature at DCFG6 register (DAW64_OFFSET) and enabling 64bit dma support by default. Then macb driver is reading DMACFG register back and only adding 64bit dma configuration but not cleaning it out. This is also align with other features which are also cleared if they are not present. Signed-off-by: Michal Simek Acked-by: Joe Hershberger --- drivers/net/ethernet/cadence/macb_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c index 16e4ef7d7185..79707dff3f13 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -2163,6 +2163,8 @@ static void macb_configure_dma(struct macb *bp) #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT if (bp->hw_dma_cap & HW_DMA_CAP_64B) dmacfg |= GEM_BIT(ADDR64); + else + dmacfg &= ~GEM_BIT(ADDR64); #endif #ifdef CONFIG_MACB_USE_HWSTAMP if (bp->hw_dma_cap & HW_DMA_CAP_PTP)