mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Bart Van Assche <bart.vanassche@sandisk.com>
To: Doug Ledford <dledford@redhat.com>
Cc: <linux-rdma@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	Bart Van Assche <bart.vanassche@sandisk.com>,
	Mike Marciniszyn <mike.marciniszyn@intel.com>,
	Dennis Dalessandro <dennis.dalessandro@intel.com>
Subject: [PATCH v2 09/26] IB/qib: Remove DMA mapping code
Date: Thu, 12 Jan 2017 11:07:01 -0800	[thread overview]
Message-ID: <20170112190718.6728-10-bart.vanassche@sandisk.com> (raw)
In-Reply-To: <20170112190718.6728-1-bart.vanassche@sandisk.com>

The qib DMA mapping code is no longer built since commit eb636ac0e49e
("IB/qib: Remove dma.c and use rdmavt version of dma functions"). Hence
remove it.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Mike Marciniszyn <mike.marciniszyn@intel.com>
Cc: Dennis Dalessandro <dennis.dalessandro@intel.com>
---
 drivers/infiniband/hw/qib/qib_dma.c  | 169 -----------------------------------
 drivers/infiniband/hw/qib/qib_keys.c |   5 +-
 2 files changed, 1 insertion(+), 173 deletions(-)
 delete mode 100644 drivers/infiniband/hw/qib/qib_dma.c

diff --git a/drivers/infiniband/hw/qib/qib_dma.c b/drivers/infiniband/hw/qib/qib_dma.c
deleted file mode 100644
index 59fe092b4b0f..000000000000
--- a/drivers/infiniband/hw/qib/qib_dma.c
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright (c) 2006, 2009, 2010 QLogic, Corporation. All rights reserved.
- *
- * This software is available to you under a choice of one of two
- * licenses.  You may choose to be licensed under the terms of the GNU
- * General Public License (GPL) Version 2, available from the file
- * COPYING in the main directory of this source tree, or the
- * OpenIB.org BSD license below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#include <linux/types.h>
-#include <linux/scatterlist.h>
-
-#include "qib_verbs.h"
-
-#define BAD_DMA_ADDRESS ((u64) 0)
-
-/*
- * The following functions implement driver specific replacements
- * for the ib_dma_*() functions.
- *
- * These functions return kernel virtual addresses instead of
- * device bus addresses since the driver uses the CPU to copy
- * data instead of using hardware DMA.
- */
-
-static int qib_mapping_error(struct ib_device *dev, u64 dma_addr)
-{
-	return dma_addr == BAD_DMA_ADDRESS;
-}
-
-static u64 qib_dma_map_single(struct ib_device *dev, void *cpu_addr,
-			      size_t size, enum dma_data_direction direction)
-{
-	BUG_ON(!valid_dma_direction(direction));
-	return (u64) cpu_addr;
-}
-
-static void qib_dma_unmap_single(struct ib_device *dev, u64 addr, size_t size,
-				 enum dma_data_direction direction)
-{
-	BUG_ON(!valid_dma_direction(direction));
-}
-
-static u64 qib_dma_map_page(struct ib_device *dev, struct page *page,
-			    unsigned long offset, size_t size,
-			    enum dma_data_direction direction)
-{
-	u64 addr;
-
-	BUG_ON(!valid_dma_direction(direction));
-
-	if (offset + size > PAGE_SIZE) {
-		addr = BAD_DMA_ADDRESS;
-		goto done;
-	}
-
-	addr = (u64) page_address(page);
-	if (addr)
-		addr += offset;
-	/* TODO: handle highmem pages */
-
-done:
-	return addr;
-}
-
-static void qib_dma_unmap_page(struct ib_device *dev, u64 addr, size_t size,
-			       enum dma_data_direction direction)
-{
-	BUG_ON(!valid_dma_direction(direction));
-}
-
-static int qib_map_sg(struct ib_device *dev, struct scatterlist *sgl,
-		      int nents, enum dma_data_direction direction)
-{
-	struct scatterlist *sg;
-	u64 addr;
-	int i;
-	int ret = nents;
-
-	BUG_ON(!valid_dma_direction(direction));
-
-	for_each_sg(sgl, sg, nents, i) {
-		addr = (u64) page_address(sg_page(sg));
-		/* TODO: handle highmem pages */
-		if (!addr) {
-			ret = 0;
-			break;
-		}
-		sg->dma_address = addr + sg->offset;
-#ifdef CONFIG_NEED_SG_DMA_LENGTH
-		sg->dma_length = sg->length;
-#endif
-	}
-	return ret;
-}
-
-static void qib_unmap_sg(struct ib_device *dev,
-			 struct scatterlist *sg, int nents,
-			 enum dma_data_direction direction)
-{
-	BUG_ON(!valid_dma_direction(direction));
-}
-
-static void qib_sync_single_for_cpu(struct ib_device *dev, u64 addr,
-				    size_t size, enum dma_data_direction dir)
-{
-}
-
-static void qib_sync_single_for_device(struct ib_device *dev, u64 addr,
-				       size_t size,
-				       enum dma_data_direction dir)
-{
-}
-
-static void *qib_dma_alloc_coherent(struct ib_device *dev, size_t size,
-				    u64 *dma_handle, gfp_t flag)
-{
-	struct page *p;
-	void *addr = NULL;
-
-	p = alloc_pages(flag, get_order(size));
-	if (p)
-		addr = page_address(p);
-	if (dma_handle)
-		*dma_handle = (u64) addr;
-	return addr;
-}
-
-static void qib_dma_free_coherent(struct ib_device *dev, size_t size,
-				  void *cpu_addr, u64 dma_handle)
-{
-	free_pages((unsigned long) cpu_addr, get_order(size));
-}
-
-struct ib_dma_mapping_ops qib_dma_mapping_ops = {
-	.mapping_error = qib_mapping_error,
-	.map_single = qib_dma_map_single,
-	.unmap_single = qib_dma_unmap_single,
-	.map_page = qib_dma_map_page,
-	.unmap_page = qib_dma_unmap_page,
-	.map_sg = qib_map_sg,
-	.unmap_sg = qib_unmap_sg,
-	.sync_single_for_cpu = qib_sync_single_for_cpu,
-	.sync_single_for_device = qib_sync_single_for_device,
-	.alloc_coherent = qib_dma_alloc_coherent,
-	.free_coherent = qib_dma_free_coherent
-};
diff --git a/drivers/infiniband/hw/qib/qib_keys.c b/drivers/infiniband/hw/qib/qib_keys.c
index 2c3c93572c17..8fdf79f8d4e4 100644
--- a/drivers/infiniband/hw/qib/qib_keys.c
+++ b/drivers/infiniband/hw/qib/qib_keys.c
@@ -158,10 +158,7 @@ int qib_rkey_ok(struct rvt_qp *qp, struct rvt_sge *sge,
 	unsigned n, m;
 	size_t off;
 
-	/*
-	 * We use RKEY == zero for kernel virtual addresses
-	 * (see qib_get_dma_mr and qib_dma.c).
-	 */
+	/* We use RKEY == zero for kernel virtual addresses */
 	rcu_read_lock();
 	if (rkey == 0) {
 		struct rvt_pd *pd = ibpd_to_rvtpd(qp->ibqp.pd);
-- 
2.11.0

  parent reply	other threads:[~2017-01-12 19:10 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-12 19:06 [PATCH v2 00/26] IB: Optimize DMA mapping Bart Van Assche
2017-01-12 19:06 ` [PATCH v2 01/26] treewide: Constify most dma_map_ops structures Bart Van Assche
2017-01-12 19:06 ` [PATCH v2 02/26] treewide: Move dma_ops from struct dev_archdata into struct device Bart Van Assche
2017-01-19  9:10   ` Greg Kroah-Hartman
2017-01-12 19:06 ` [PATCH v2 03/26] treewide: Consolidate set_dma_ops() implementations Bart Van Assche
2017-01-12 19:06 ` [PATCH v2 04/26] treewide: Consolidate get_dma_ops() implementations Bart Van Assche
2017-01-12 19:06 ` [PATCH v2 05/26] lib/dma-noop: Clarify a comment Bart Van Assche
2017-01-12 19:06 ` [PATCH v2 06/26] lib/dma-noop: Only build dma_noop_ops for m32r and s390 Bart Van Assche
2017-01-13  8:38   ` Christian Borntraeger
2017-01-12 19:06 ` [PATCH v2 07/26] lib/dma-virt: Add dma_virt_ops Bart Van Assche
2017-01-12 19:07 ` [PATCH v2 08/26] IB/hf1: Remove DMA mapping code Bart Van Assche
2017-01-12 19:07 ` Bart Van Assche [this message]
2017-01-12 19:07 ` [PATCH v2 10/26] IB: Use dma_virt_ops instead of duplicating it Bart Van Assche
2017-01-12 19:07 ` [PATCH v2 11/26] RDS: IB: Remove an unused structure member Bart Van Assche
2017-01-12 19:07 ` [PATCH v2 12/26] IB: Convert ib_dma_*_coherent() argument type from u64 into dma_addr_t Bart Van Assche
2017-01-12 19:07 ` [PATCH v2 13/26] IB/core: Inline ib_dma_map_*() functions Bart Van Assche
2017-01-12 19:07 ` [PATCH v2 14/26] IB/mlx4: " Bart Van Assche
2017-01-12 19:07 ` [PATCH v2 15/26] IB/mlx5: " Bart Van Assche
2017-01-12 19:07 ` [PATCH v2 16/26] IB/IPoIB: " Bart Van Assche
2017-01-13 11:33   ` Yuval Shaia
2017-01-12 19:07 ` [PATCH v2 17/26] IB/iser: " Bart Van Assche
2017-01-13 21:26   ` Sagi Grimberg
2017-01-12 19:07 ` [PATCH v2 18/26] IB/isert: " Bart Van Assche
2017-01-13 21:26   ` Sagi Grimberg
2017-01-12 19:07 ` [PATCH v2 19/26] IB/srp: " Bart Van Assche
2017-01-12 19:07 ` [PATCH v2 20/26] IB/srpt: " Bart Van Assche
2017-01-12 19:07 ` [PATCH v2 21/26] staging/lustre: " Bart Van Assche
2017-01-12 19:07 ` [PATCH v2 22/26] nvme-rdma: " Bart Van Assche
2017-01-12 19:07 ` [PATCH v2 23/26] net/9p: " Bart Van Assche
2017-01-12 19:07 ` [PATCH v2 24/26] net/rds: " Bart Van Assche
2017-01-12 19:18   ` santosh.shilimkar
2017-01-12 19:07 ` [PATCH v2 25/26] xprtrdma: " Bart Van Assche
2017-01-12 19:19   ` Chuck Lever
2017-01-12 19:07 ` [PATCH v2 26/26] IB/core: Remove " Bart Van Assche
2017-01-13 18:27 ` [PATCH v2 00/26] IB: Optimize DMA mapping Estrin, Alex
2017-01-13 20:18   ` Bart Van Assche
2017-01-13 21:08     ` Estrin, Alex
2017-01-13 21:59       ` Bart Van Assche
2017-01-14  2:05         ` Estrin, Alex
2017-01-17 21:48           ` Bart Van Assche
2017-01-17 22:00             ` Bart Van Assche
2017-01-17 22:27               ` Jason Gunthorpe
2017-01-17 22:33                 ` Bart Van Assche
2017-01-17 22:50                   ` Jason Gunthorpe
2017-01-13 21:26 ` Sagi Grimberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170112190718.6728-10-bart.vanassche@sandisk.com \
    --to=bart.vanassche@sandisk.com \
    --cc=dennis.dalessandro@intel.com \
    --cc=dledford@redhat.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=mike.marciniszyn@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome