From patchwork Tue Jun 16 18:44:07 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabian Frederick X-Patchwork-Id: 485113 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 548321401F6 for ; Wed, 17 Jun 2015 04:44:56 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753426AbbFPSoX (ORCPT ); Tue, 16 Jun 2015 14:44:23 -0400 Received: from mailrelay119.isp.belgacom.be ([195.238.20.146]:29038 "EHLO mailrelay119.isp.belgacom.be" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754408AbbFPSoP (ORCPT ); Tue, 16 Jun 2015 14:44:15 -0400 X-Belgacom-Dynamic: yes X-Cloudmark-SP-Filtered: true X-Cloudmark-SP-Result: v=1.1 cv=wisUSL2q+2X910teRg2xg/30tBFW7lBMAi45pEFXNHU= c=1 sm=2 a=qKiJYYR9tJ2MM_rMf0cA:9 a=kyqgZ1LEZAtUKCbt:21 a=xV9tV8b3kQb6uY-J:21 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2C2BwAXboBV/5E+tFtbgxCBM6wEBQEBAQEBAQUBgQSMXYwNgUQ9EAEBAQEBAQGBCoR/I4EaN4gzAc1/LIYaijAdhBcFk1+LRY1dijsmY2YBQRyBVDwxgkcBAQE Received: from 145.62-180-91.adsl-dyn.isp.belgacom.be (HELO localhost.home.) ([91.180.62.145]) by relay.skynet.be with ESMTP; 16 Jun 2015 20:44:13 +0200 From: Fabian Frederick To: linux-kernel@vger.kernel.org Cc: Fabian Frederick , Chien Yen , "David S. Miller" , rds-devel@oss.oracle.com, netdev@vger.kernel.org Subject: [PATCH V2 net-next] net: rds: use for_each_sg() for scatterlist parsing Date: Tue, 16 Jun 2015 20:44:07 +0200 Message-Id: <1434480247-22072-1-git-send-email-fabf@skynet.be> X-Mailer: git-send-email 2.4.2 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch also renames sg to sglist and aligns function parameters. See Documentation/DMA-API.txt - Part Id for scatterlist details Signed-off-by: Fabian Frederick --- This is untested. V2: reorder variables (suggested by David S. Miller) net/rds/ib.h | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/net/rds/ib.h b/net/rds/ib.h index c36d713..2de2898 100644 --- a/net/rds/ib.h +++ b/net/rds/ib.h @@ -235,28 +235,34 @@ extern struct workqueue_struct *rds_ib_wq; * doesn't define it. */ static inline void rds_ib_dma_sync_sg_for_cpu(struct ib_device *dev, - struct scatterlist *sg, unsigned int sg_dma_len, int direction) + struct scatterlist *sglist, + unsigned int sg_dma_len, + int direction) { + struct scatterlist *sg; unsigned int i; - for (i = 0; i < sg_dma_len; ++i) { + for_each_sg(sglist, sg, sg_dma_len, i) { ib_dma_sync_single_for_cpu(dev, - ib_sg_dma_address(dev, &sg[i]), - ib_sg_dma_len(dev, &sg[i]), + ib_sg_dma_address(dev, sg), + ib_sg_dma_len(dev, sg), direction); } } #define ib_dma_sync_sg_for_cpu rds_ib_dma_sync_sg_for_cpu static inline void rds_ib_dma_sync_sg_for_device(struct ib_device *dev, - struct scatterlist *sg, unsigned int sg_dma_len, int direction) + struct scatterlist *sglist, + unsigned int sg_dma_len, + int direction) { + struct scatterlist *sg; unsigned int i; - for (i = 0; i < sg_dma_len; ++i) { + for_each_sg(sglist, sg, sg_dma_len, i) { ib_dma_sync_single_for_device(dev, - ib_sg_dma_address(dev, &sg[i]), - ib_sg_dma_len(dev, &sg[i]), + ib_sg_dma_address(dev, sg), + ib_sg_dma_len(dev, sg), direction); } }