From: Bart Van Assche <bvanassche@acm.org>
To: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Leon Romanovsky <leonro@mellanox.com>,
Doug Ledford <dledford@redhat.com>,
linux-rdma@vger.kernel.org, Bart Van Assche <bvanassche@acm.org>,
"Michael J . Ruhl" <michael.j.ruhl@intel.com>,
Ira Weiny <ira.weiny@intel.com>, Adit Ranadive <aditr@vmware.com>,
Shiraz Saleem <shiraz.saleem@intel.com>,
Gal Pressman <galpress@amazon.com>,
Selvin Xavier <selvin.xavier@broadcom.com>
Subject: [PATCH 2/4] RDMA/core: Set DMA parameters correctly
Date: Sun, 20 Oct 2019 19:10:28 -0700 [thread overview]
Message-ID: <20191021021030.1037-3-bvanassche@acm.org> (raw)
In-Reply-To: <20191021021030.1037-1-bvanassche@acm.org>
The effect of the dma_set_max_seg_size() call in setup_dma_device() is
as follows:
- If device->dev.dma_parms is NULL, that call has no effect at all.
- If device->dev.dma_parms is not NULL, since that pointer points at
the DMA parameters of the parent device, modify the DMA limits of the
parent device.
Both actions are wrong. Instead of changing the DMA parameters of the
parent device, use the DMA parameters of the parent device if these
parameters are available.
Compile-tested only.
Cc: Michael J. Ruhl <michael.j.ruhl@intel.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Adit Ranadive <aditr@vmware.com>
Cc: Shiraz Saleem <shiraz.saleem@intel.com>
Cc: Gal Pressman <galpress@amazon.com>
Cc: Selvin Xavier <selvin.xavier@broadcom.com>
Fixes: d10bcf947a3e ("RDMA/umem: Combine contiguous PAGE_SIZE regions in SGEs")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
drivers/infiniband/core/device.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c
index 536310fb6510..b33d684a2a99 100644
--- a/drivers/infiniband/core/device.c
+++ b/drivers/infiniband/core/device.c
@@ -1199,9 +1199,18 @@ static void setup_dma_device(struct ib_device *device)
WARN_ON_ONCE(!parent);
device->dma_device = parent;
}
- /* Setup default max segment size for all IB devices */
- dma_set_max_seg_size(device->dma_device, SZ_2G);
+ if (!device->dev.dma_parms) {
+ if (parent) {
+ /*
+ * The caller did not provide DMA parameters. Use the
+ * DMA parameters of the parent device.
+ */
+ device->dev.dma_parms = parent->dma_parms;
+ } else {
+ WARN_ON_ONCE(true);
+ }
+ }
}
/*
--
2.23.0
next prev parent reply other threads:[~2019-10-21 2:10 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-21 2:10 [PATCH 0/4] Fixes related to the DMA max_segment_size parameter Bart Van Assche
2019-10-21 2:10 ` [PATCH 1/4] RDMA/core: Fix ib_dma_max_seg_size() Bart Van Assche
2019-10-21 14:09 ` Jason Gunthorpe
2019-10-21 15:03 ` Bart Van Assche
2019-10-21 15:27 ` Jason Gunthorpe
2019-10-21 15:56 ` Bart Van Assche
2019-10-21 2:10 ` Bart Van Assche [this message]
2019-10-21 14:10 ` [PATCH 2/4] RDMA/core: Set DMA parameters correctly Jason Gunthorpe
2019-10-21 16:26 ` Bart Van Assche
2019-10-21 17:44 ` Saleem, Shiraz
2019-10-21 18:10 ` Bart Van Assche
2019-10-21 20:32 ` Saleem, Shiraz
2019-10-22 14:40 ` Jason Gunthorpe
2019-10-22 22:11 ` Bart Van Assche
2019-10-21 2:10 ` [PATCH 3/4] rdma_rxe: Increase DMA max_segment_size parameter Bart Van Assche
2019-10-21 2:10 ` [PATCH 4/4] siw: " Bart Van Assche
2019-10-21 9:36 ` Bernard Metzler
2019-10-21 13:53 ` Bart Van Assche
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=20191021021030.1037-3-bvanassche@acm.org \
--to=bvanassche@acm.org \
--cc=aditr@vmware.com \
--cc=dledford@redhat.com \
--cc=galpress@amazon.com \
--cc=ira.weiny@intel.com \
--cc=jgg@ziepe.ca \
--cc=leonro@mellanox.com \
--cc=linux-rdma@vger.kernel.org \
--cc=michael.j.ruhl@intel.com \
--cc=selvin.xavier@broadcom.com \
--cc=shiraz.saleem@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