From patchwork Fri Apr 29 18:10:13 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Iyappan Subramanian X-Patchwork-Id: 8984541 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id BC98D9F1D3 for ; Fri, 29 Apr 2016 18:11:44 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id EDD85201E4 for ; Fri, 29 Apr 2016 18:11:43 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 34228201CE for ; Fri, 29 Apr 2016 18:11:43 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1awCs6-0007pF-Hw; Fri, 29 Apr 2016 18:10:34 +0000 Received: from mail-pa0-x22c.google.com ([2607:f8b0:400e:c03::22c]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1awCrm-0006Ju-7M for linux-arm-kernel@lists.infradead.org; Fri, 29 Apr 2016 18:10:14 +0000 Received: by mail-pa0-x22c.google.com with SMTP id bt5so48189440pac.3 for ; Fri, 29 Apr 2016 11:09:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apm.com; s=apm; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=g+ML9O6sDE3jRe+xr905vJrKL6Nrn7/C9VRTItZIjDI=; b=Ou1aj6N8UnLsg9LheD/TgOGRXh6P2xhMIPkr0+ml1NH/Es3lbWh8qPVQaANIcpujTj 4dMkoJ8T6fFXq6E3jyjDSL4EFbFsyePhd9wplDC7Tvna8+PgGdI9/sN2EDiYxbcaWaDZ 59fgmIhYg+Ac74fW8mS2Cn9H43yYRzs2VYsF0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=g+ML9O6sDE3jRe+xr905vJrKL6Nrn7/C9VRTItZIjDI=; b=Azn3JwkzOfltw4oDAUvy+nGGWjokUKTsD0VtOKpUaSJFuaHnBIKmgyKTdTbmbTBMo9 JfoPIuEUhboH3nn4qyJ3jWRZcUoA4ZKWyo5qNne5uvwmq5A/nCH5mief8XeZMqCtcZxK Y5aNCD4hfGHgs4GaaTtmfYk5AqUZznsCcL+ugJBklzTnnVGS7koZAfBjL8Uid4Jovm0w tA95JsH6Ae1CqRu51IQxbXB5oJKYLnQUOI3dF3j79MHTdWA9E4oQiM3Fe4RrfQFFhFCn bymEzmlpyOvMpzgyKc2l7bD/iH6dME2LgSpz2zxv68q3VTsYmHznjsWSjZhWum31jtT8 wFFA== X-Gm-Message-State: AOPr4FVJnb3gh+6iSJxz2ISENLqozHDS3oMsDyoe6i86V5UwjOskh6uJgYHqkr0KJjOioLOe X-Received: by 10.66.63.104 with SMTP id f8mr31092132pas.109.1461953393563; Fri, 29 Apr 2016 11:09:53 -0700 (PDT) Received: from isubrama-dev.amcc.com ([206.80.4.98]) by smtp.gmail.com with ESMTPSA id n10sm25348964pax.18.2016.04.29.11.09.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 29 Apr 2016 11:09:52 -0700 (PDT) From: Iyappan Subramanian To: davem@davemloft.net, netdev@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH v2 1/3] drivers: net: xgene: Get channel number from device binding Date: Fri, 29 Apr 2016 11:10:13 -0700 Message-Id: <1461953415-9741-2-git-send-email-isubramanian@apm.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1461953415-9741-1-git-send-email-isubramanian@apm.com> References: <1461953415-9741-1-git-send-email-isubramanian@apm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160429_111014_307029_53C53DB0 X-CRM114-Status: GOOD ( 12.15 ) X-Spam-Score: -2.7 (--) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: patches@apm.com, linux-arm-kernel@lists.infradead.org, Iyappan Subramanian MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-5.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This patch gets ethernet to CPU channel (prefetch buffer number) from the newly added 'channel' property, thus decoupling Linux driver from resource management. Signed-off-by: Iyappan Subramanian --- drivers/net/ethernet/apm/xgene/xgene_enet_main.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c index 8d4c1ad..409152b 100644 --- a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c @@ -973,6 +973,17 @@ static enum xgene_ring_owner xgene_derive_ring_owner(struct xgene_enet_pdata *p) return owner; } +static u8 xgene_start_cpu_bufnum(struct xgene_enet_pdata *pdata) +{ + struct device *dev = &pdata->pdev->dev; + u32 cpu_bufnum; + int ret; + + ret = device_property_read_u32(dev, "channel", &cpu_bufnum); + + return (!ret) ? cpu_bufnum : pdata->cpu_bufnum; +} + static int xgene_enet_create_desc_rings(struct net_device *ndev) { struct xgene_enet_pdata *pdata = netdev_priv(ndev); @@ -981,13 +992,15 @@ static int xgene_enet_create_desc_rings(struct net_device *ndev) struct xgene_enet_desc_ring *buf_pool = NULL; enum xgene_ring_owner owner; dma_addr_t dma_exp_bufs; - u8 cpu_bufnum = pdata->cpu_bufnum; + u8 cpu_bufnum; u8 eth_bufnum = pdata->eth_bufnum; u8 bp_bufnum = pdata->bp_bufnum; u16 ring_num = pdata->ring_num; u16 ring_id; int i, ret, size; + cpu_bufnum = xgene_start_cpu_bufnum(pdata); + for (i = 0; i < pdata->rxq_cnt; i++) { /* allocate rx descriptor ring */ owner = xgene_derive_ring_owner(pdata);