From patchwork Mon Nov 20 13:48:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wang Dongsheng X-Patchwork-Id: 839558 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@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; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="oAd6L8S1"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3ygVRN1PRJz9s0g for ; Tue, 21 Nov 2017 00:48:16 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751149AbdKTNsO (ORCPT ); Mon, 20 Nov 2017 08:48:14 -0500 Received: from mail-pf0-f196.google.com ([209.85.192.196]:46201 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751087AbdKTNsN (ORCPT ); Mon, 20 Nov 2017 08:48:13 -0500 Received: by mail-pf0-f196.google.com with SMTP id q4so7323170pfg.13 for ; Mon, 20 Nov 2017 05:48:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=avQV3am05CHT7aqZGFhrdDzJNa/jCyV1gYScLCJey2Y=; b=oAd6L8S1csIIVxW67lTI6y/ZnnjK9djUtxd9irK+8YMlDt2VlmJ6Ks0XgeI13kFwNZ sgwmfgJ4Vgl9xBa/dkSAQ9h+QdtuupEMFTXL1qx36DVxPh5Ao0FXUEqLspSVYr9LPuaj JhC54/htWbUg0G2Qsb0qPa7Px0p1Wk82qQHWjOup4iFY2Wo+MBtMGvk9IsfdRivePlYj wJckZ3olDXYiopDC5BciT1UTkqnLWd6B7vrwq84X/WjuX7EE66zrL4QTYiYBMeLzZtIH YfdLKVXNxTgDUoza3qIbo58TxVZaj0Fk9i0Q72+I6eQtfHcvfdeGp8mvSIVaFCps9jfB ZGEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=avQV3am05CHT7aqZGFhrdDzJNa/jCyV1gYScLCJey2Y=; b=ZFEeL9+wn8QF5B0wfWW4rK/tTvoqmabOH130Iipb2i6LcP6srZoTpJrlCFlJD9+C+m gBP2dxt2vXXhYRUjk2ECVWmn4AWLCc+QQweBPvi+Xby+39tD1ZM9edrlM2donuvlD6eD Ne6UMVmHQa2NvjbWEgD7J66HtARw+Jg9evDHkQ0p+jiCm4Ai3RNL3bGHZkhOi0RndArm CzdOHP0fqdRiQhH0XxF6TdXzo6sKfS20ulqWf722JMWC7LG9WiH31hdU9/iNw4xLRyHS Jh70M18guxHaPVwZEtmy9BH1aQ9u0Ub87Bg9s8fLZp1pTKsEKvXFTamijJaZtWcbcZn3 nGtg== X-Gm-Message-State: AJaThX7t/h0Rgvc2qS2PYJ6c3nhfvE3rV89lpUTcf4LDg2X+qMr135n8 4AJmCszn6VGtSOLu3gviSa4= X-Google-Smtp-Source: AGs4zMZSut4fpJmSkHKhelzWLknpmKAJwFxb/fiMkti4UH4ODdnJYbhj+Ow38PZGhO1D+MNOQcoxBw== X-Received: by 10.84.196.3 with SMTP id k3mr13954546pld.237.1511185692414; Mon, 20 Nov 2017 05:48:12 -0800 (PST) Received: from ubuntu.hxtcorp.net ([38.106.11.25]) by smtp.gmail.com with ESMTPSA id f70sm21730393pfc.84.2017.11.20.05.48.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 20 Nov 2017 05:48:11 -0800 (PST) From: Wang Dongsheng To: timur@codeaurora.org Cc: netdev@vger.kernel.org, Wang Dongsheng Subject: [PATCH v3] net: qcom/emac: extend DMA mask to 46bits Date: Mon, 20 Nov 2017 05:48:02 -0800 Message-Id: <1511185682-18324-1-git-send-email-wdsch86@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Since PTP doesn't support yet, so extend the DMA address to 46bits. Signed-off-by: Wang Dongsheng --- v3: - Remove "Dynamic fix TPD_BUFFER_ADDR_H_SET size." - Add comments for TPD_BUFFER_ADDR_H_SET. v2: - Changes PATCH subject. - Dynamic fix TPD_BUFFER_ADDR_H_SET size. - Modify DMA MASK to 46bits. - Add Comments for DMA MASK. --- drivers/net/ethernet/qualcomm/emac/emac-mac.h | 3 ++- drivers/net/ethernet/qualcomm/emac/emac.c | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/qualcomm/emac/emac-mac.h b/drivers/net/ethernet/qualcomm/emac/emac-mac.h index 5028fb4..4beedb8 100644 --- a/drivers/net/ethernet/qualcomm/emac/emac-mac.h +++ b/drivers/net/ethernet/qualcomm/emac/emac-mac.h @@ -114,8 +114,9 @@ struct emac_tpd { #define TPD_INSTC_SET(tpd, val) BITS_SET((tpd)->word[3], 17, 17, val) /* High-14bit Buffer Address, So, the 64b-bit address is * {DESC_CTRL_11_TX_DATA_HIADDR[17:0],(register) BUFFER_ADDR_H, BUFFER_ADDR_L} + * Extend TPD_BUFFER_ADDR_H to [31, 18], because we never enable timestamping. */ -#define TPD_BUFFER_ADDR_H_SET(tpd, val) BITS_SET((tpd)->word[3], 18, 30, val) +#define TPD_BUFFER_ADDR_H_SET(tpd, val) BITS_SET((tpd)->word[3], 18, 31, val) /* Format D. Word offset from the 1st byte of this packet to start to calculate * the custom checksum. */ diff --git a/drivers/net/ethernet/qualcomm/emac/emac.c b/drivers/net/ethernet/qualcomm/emac/emac.c index 70c92b6..a4b39d1 100644 --- a/drivers/net/ethernet/qualcomm/emac/emac.c +++ b/drivers/net/ethernet/qualcomm/emac/emac.c @@ -615,8 +615,11 @@ static int emac_probe(struct platform_device *pdev) u32 reg; int ret; - /* The TPD buffer address is limited to 45 bits. */ - ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(45)); + /* The TPD buffer address is limited to: + * 1. PTP: 45bits. (Driver doesn't support yet.) + * 2. NON-PTP: 46bits. + */ + ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(46)); if (ret) { dev_err(&pdev->dev, "could not set DMA mask\n"); return ret;