Commit a163afc8 authored by Bart Van Assche's avatar Bart Van Assche Committed by Jason Gunthorpe

IB/core: Remove ib_sg_dma_address() and ib_sg_dma_len()

Keeping single line wrapper functions is not useful. Hence remove the
ib_sg_dma_address() and ib_sg_dma_len() functions. This patch does not
change any functionality.
Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 6141f8fa
...@@ -179,7 +179,6 @@ static int rdma_rw_init_map_wrs(struct rdma_rw_ctx *ctx, struct ib_qp *qp, ...@@ -179,7 +179,6 @@ static int rdma_rw_init_map_wrs(struct rdma_rw_ctx *ctx, struct ib_qp *qp,
struct scatterlist *sg, u32 sg_cnt, u32 offset, struct scatterlist *sg, u32 sg_cnt, u32 offset,
u64 remote_addr, u32 rkey, enum dma_data_direction dir) u64 remote_addr, u32 rkey, enum dma_data_direction dir)
{ {
struct ib_device *dev = qp->pd->device;
u32 max_sge = dir == DMA_TO_DEVICE ? qp->max_write_sge : u32 max_sge = dir == DMA_TO_DEVICE ? qp->max_write_sge :
qp->max_read_sge; qp->max_read_sge;
struct ib_sge *sge; struct ib_sge *sge;
...@@ -209,8 +208,8 @@ static int rdma_rw_init_map_wrs(struct rdma_rw_ctx *ctx, struct ib_qp *qp, ...@@ -209,8 +208,8 @@ static int rdma_rw_init_map_wrs(struct rdma_rw_ctx *ctx, struct ib_qp *qp,
rdma_wr->wr.sg_list = sge; rdma_wr->wr.sg_list = sge;
for (j = 0; j < nr_sge; j++, sg = sg_next(sg)) { for (j = 0; j < nr_sge; j++, sg = sg_next(sg)) {
sge->addr = ib_sg_dma_address(dev, sg) + offset; sge->addr = sg_dma_address(sg) + offset;
sge->length = ib_sg_dma_len(dev, sg) - offset; sge->length = sg_dma_len(sg) - offset;
sge->lkey = qp->pd->local_dma_lkey; sge->lkey = qp->pd->local_dma_lkey;
total_len += sge->length; total_len += sge->length;
...@@ -236,14 +235,13 @@ static int rdma_rw_init_single_wr(struct rdma_rw_ctx *ctx, struct ib_qp *qp, ...@@ -236,14 +235,13 @@ static int rdma_rw_init_single_wr(struct rdma_rw_ctx *ctx, struct ib_qp *qp,
struct scatterlist *sg, u32 offset, u64 remote_addr, u32 rkey, struct scatterlist *sg, u32 offset, u64 remote_addr, u32 rkey,
enum dma_data_direction dir) enum dma_data_direction dir)
{ {
struct ib_device *dev = qp->pd->device;
struct ib_rdma_wr *rdma_wr = &ctx->single.wr; struct ib_rdma_wr *rdma_wr = &ctx->single.wr;
ctx->nr_ops = 1; ctx->nr_ops = 1;
ctx->single.sge.lkey = qp->pd->local_dma_lkey; ctx->single.sge.lkey = qp->pd->local_dma_lkey;
ctx->single.sge.addr = ib_sg_dma_address(dev, sg) + offset; ctx->single.sge.addr = sg_dma_address(sg) + offset;
ctx->single.sge.length = ib_sg_dma_len(dev, sg) - offset; ctx->single.sge.length = sg_dma_len(sg) - offset;
memset(rdma_wr, 0, sizeof(*rdma_wr)); memset(rdma_wr, 0, sizeof(*rdma_wr));
if (dir == DMA_TO_DEVICE) if (dir == DMA_TO_DEVICE)
...@@ -294,7 +292,7 @@ int rdma_rw_ctx_init(struct rdma_rw_ctx *ctx, struct ib_qp *qp, u8 port_num, ...@@ -294,7 +292,7 @@ int rdma_rw_ctx_init(struct rdma_rw_ctx *ctx, struct ib_qp *qp, u8 port_num,
* Skip to the S/G entry that sg_offset falls into: * Skip to the S/G entry that sg_offset falls into:
*/ */
for (;;) { for (;;) {
u32 len = ib_sg_dma_len(dev, sg); u32 len = sg_dma_len(sg);
if (sg_offset < len) if (sg_offset < len)
break; break;
......
...@@ -145,9 +145,8 @@ static void iser_data_buf_dump(struct iser_data_buf *data, ...@@ -145,9 +145,8 @@ static void iser_data_buf_dump(struct iser_data_buf *data,
for_each_sg(data->sg, sg, data->dma_nents, i) for_each_sg(data->sg, sg, data->dma_nents, i)
iser_dbg("sg[%d] dma_addr:0x%lX page:0x%p " iser_dbg("sg[%d] dma_addr:0x%lX page:0x%p "
"off:0x%x sz:0x%x dma_len:0x%x\n", "off:0x%x sz:0x%x dma_len:0x%x\n",
i, (unsigned long)ib_sg_dma_address(ibdev, sg), i, (unsigned long)sg_dma_address(sg),
sg_page(sg), sg->offset, sg_page(sg), sg->offset, sg->length, sg_dma_len(sg));
sg->length, ib_sg_dma_len(ibdev, sg));
} }
static void iser_dump_page_vec(struct iser_page_vec *page_vec) static void iser_dump_page_vec(struct iser_page_vec *page_vec)
...@@ -204,8 +203,8 @@ iser_reg_dma(struct iser_device *device, struct iser_data_buf *mem, ...@@ -204,8 +203,8 @@ iser_reg_dma(struct iser_device *device, struct iser_data_buf *mem,
reg->rkey = device->pd->unsafe_global_rkey; reg->rkey = device->pd->unsafe_global_rkey;
else else
reg->rkey = 0; reg->rkey = 0;
reg->sge.addr = ib_sg_dma_address(device->ib_device, &sg[0]); reg->sge.addr = sg_dma_address(&sg[0]);
reg->sge.length = ib_sg_dma_len(device->ib_device, &sg[0]); reg->sge.length = sg_dma_len(&sg[0]);
iser_dbg("Single DMA entry: lkey=0x%x, rkey=0x%x, addr=0x%llx," iser_dbg("Single DMA entry: lkey=0x%x, rkey=0x%x, addr=0x%llx,"
" length=0x%x\n", reg->sge.lkey, reg->rkey, " length=0x%x\n", reg->sge.lkey, reg->rkey,
......
...@@ -1600,9 +1600,8 @@ static int srp_map_sg_entry(struct srp_map_state *state, ...@@ -1600,9 +1600,8 @@ static int srp_map_sg_entry(struct srp_map_state *state,
{ {
struct srp_target_port *target = ch->target; struct srp_target_port *target = ch->target;
struct srp_device *dev = target->srp_host->srp_dev; struct srp_device *dev = target->srp_host->srp_dev;
struct ib_device *ibdev = dev->dev; dma_addr_t dma_addr = sg_dma_address(sg);
dma_addr_t dma_addr = ib_sg_dma_address(ibdev, sg); unsigned int dma_len = sg_dma_len(sg);
unsigned int dma_len = ib_sg_dma_len(ibdev, sg);
unsigned int len = 0; unsigned int len = 0;
int ret; int ret;
...@@ -1696,13 +1695,11 @@ static int srp_map_sg_dma(struct srp_map_state *state, struct srp_rdma_ch *ch, ...@@ -1696,13 +1695,11 @@ static int srp_map_sg_dma(struct srp_map_state *state, struct srp_rdma_ch *ch,
int count) int count)
{ {
struct srp_target_port *target = ch->target; struct srp_target_port *target = ch->target;
struct srp_device *dev = target->srp_host->srp_dev;
struct scatterlist *sg; struct scatterlist *sg;
int i; int i;
for_each_sg(scat, sg, count, i) { for_each_sg(scat, sg, count, i) {
srp_map_desc(state, ib_sg_dma_address(dev->dev, sg), srp_map_desc(state, sg_dma_address(sg), sg_dma_len(sg),
ib_sg_dma_len(dev->dev, sg),
target->global_rkey); target->global_rkey);
} }
...@@ -1852,8 +1849,8 @@ static int srp_map_data(struct scsi_cmnd *scmnd, struct srp_rdma_ch *ch, ...@@ -1852,8 +1849,8 @@ static int srp_map_data(struct scsi_cmnd *scmnd, struct srp_rdma_ch *ch,
buf->len = cpu_to_be32(data_len); buf->len = cpu_to_be32(data_len);
WARN_ON_ONCE((void *)(buf + 1) > (void *)cmd + len); WARN_ON_ONCE((void *)(buf + 1) > (void *)cmd + len);
for_each_sg(scat, sg, count, i) { for_each_sg(scat, sg, count, i) {
sge[i].addr = ib_sg_dma_address(ibdev, sg); sge[i].addr = sg_dma_address(sg);
sge[i].length = ib_sg_dma_len(ibdev, sg); sge[i].length = sg_dma_len(sg);
sge[i].lkey = target->lkey; sge[i].lkey = target->lkey;
} }
req->cmd->num_sge += count; req->cmd->num_sge += count;
...@@ -1874,9 +1871,9 @@ static int srp_map_data(struct scsi_cmnd *scmnd, struct srp_rdma_ch *ch, ...@@ -1874,9 +1871,9 @@ static int srp_map_data(struct scsi_cmnd *scmnd, struct srp_rdma_ch *ch,
struct srp_direct_buf *buf; struct srp_direct_buf *buf;
buf = (void *)cmd->add_data + cmd->add_cdb_len; buf = (void *)cmd->add_data + cmd->add_cdb_len;
buf->va = cpu_to_be64(ib_sg_dma_address(ibdev, scat)); buf->va = cpu_to_be64(sg_dma_address(scat));
buf->key = cpu_to_be32(target->global_rkey); buf->key = cpu_to_be32(target->global_rkey);
buf->len = cpu_to_be32(ib_sg_dma_len(ibdev, scat)); buf->len = cpu_to_be32(sg_dma_len(scat));
req->nmdesc = 0; req->nmdesc = 0;
goto map_complete; goto map_complete;
......
...@@ -3705,33 +3705,6 @@ static inline void ib_dma_unmap_sg_attrs(struct ib_device *dev, ...@@ -3705,33 +3705,6 @@ static inline void ib_dma_unmap_sg_attrs(struct ib_device *dev,
{ {
dma_unmap_sg_attrs(dev->dma_device, sg, nents, direction, dma_attrs); dma_unmap_sg_attrs(dev->dma_device, sg, nents, direction, dma_attrs);
} }
/**
* ib_sg_dma_address - Return the DMA address from a scatter/gather entry
* @dev: The device for which the DMA addresses were created
* @sg: The scatter/gather entry
*
* Note: this function is obsolete. To do: change all occurrences of
* ib_sg_dma_address() into sg_dma_address().
*/
static inline u64 ib_sg_dma_address(struct ib_device *dev,
struct scatterlist *sg)
{
return sg_dma_address(sg);
}
/**
* ib_sg_dma_len - Return the DMA length from a scatter/gather entry
* @dev: The device for which the DMA addresses were created
* @sg: The scatter/gather entry
*
* Note: this function is obsolete. To do: change all occurrences of
* ib_sg_dma_len() into sg_dma_len().
*/
static inline unsigned int ib_sg_dma_len(struct ib_device *dev,
struct scatterlist *sg)
{
return sg_dma_len(sg);
}
/** /**
* ib_dma_max_seg_size - Return the size limit of a single DMA transfer * ib_dma_max_seg_size - Return the size limit of a single DMA transfer
......
...@@ -331,10 +331,8 @@ static inline void rds_ib_dma_sync_sg_for_cpu(struct ib_device *dev, ...@@ -331,10 +331,8 @@ static inline void rds_ib_dma_sync_sg_for_cpu(struct ib_device *dev,
unsigned int i; unsigned int i;
for_each_sg(sglist, sg, sg_dma_len, i) { for_each_sg(sglist, sg, sg_dma_len, i) {
ib_dma_sync_single_for_cpu(dev, ib_dma_sync_single_for_cpu(dev, sg_dma_address(sg),
ib_sg_dma_address(dev, sg), sg_dma_len(sg), direction);
ib_sg_dma_len(dev, sg),
direction);
} }
} }
#define ib_dma_sync_sg_for_cpu rds_ib_dma_sync_sg_for_cpu #define ib_dma_sync_sg_for_cpu rds_ib_dma_sync_sg_for_cpu
...@@ -348,10 +346,8 @@ static inline void rds_ib_dma_sync_sg_for_device(struct ib_device *dev, ...@@ -348,10 +346,8 @@ static inline void rds_ib_dma_sync_sg_for_device(struct ib_device *dev,
unsigned int i; unsigned int i;
for_each_sg(sglist, sg, sg_dma_len, i) { for_each_sg(sglist, sg, sg_dma_len, i) {
ib_dma_sync_single_for_device(dev, ib_dma_sync_single_for_device(dev, sg_dma_address(sg),
ib_sg_dma_address(dev, sg), sg_dma_len(sg), direction);
ib_sg_dma_len(dev, sg),
direction);
} }
} }
#define ib_dma_sync_sg_for_device rds_ib_dma_sync_sg_for_device #define ib_dma_sync_sg_for_device rds_ib_dma_sync_sg_for_device
......
...@@ -108,8 +108,8 @@ static int rds_ib_map_fmr(struct rds_ib_device *rds_ibdev, ...@@ -108,8 +108,8 @@ static int rds_ib_map_fmr(struct rds_ib_device *rds_ibdev,
page_cnt = 0; page_cnt = 0;
for (i = 0; i < sg_dma_len; ++i) { for (i = 0; i < sg_dma_len; ++i) {
unsigned int dma_len = ib_sg_dma_len(dev, &scat[i]); unsigned int dma_len = sg_dma_len(&scat[i]);
u64 dma_addr = ib_sg_dma_address(dev, &scat[i]); u64 dma_addr = sg_dma_address(&scat[i]);
if (dma_addr & ~PAGE_MASK) { if (dma_addr & ~PAGE_MASK) {
if (i > 0) { if (i > 0) {
...@@ -148,8 +148,8 @@ static int rds_ib_map_fmr(struct rds_ib_device *rds_ibdev, ...@@ -148,8 +148,8 @@ static int rds_ib_map_fmr(struct rds_ib_device *rds_ibdev,
page_cnt = 0; page_cnt = 0;
for (i = 0; i < sg_dma_len; ++i) { for (i = 0; i < sg_dma_len; ++i) {
unsigned int dma_len = ib_sg_dma_len(dev, &scat[i]); unsigned int dma_len = sg_dma_len(&scat[i]);
u64 dma_addr = ib_sg_dma_address(dev, &scat[i]); u64 dma_addr = sg_dma_address(&scat[i]);
for (j = 0; j < dma_len; j += PAGE_SIZE) for (j = 0; j < dma_len; j += PAGE_SIZE)
dma_pages[page_cnt++] = dma_pages[page_cnt++] =
......
...@@ -181,8 +181,8 @@ static int rds_ib_map_frmr(struct rds_ib_device *rds_ibdev, ...@@ -181,8 +181,8 @@ static int rds_ib_map_frmr(struct rds_ib_device *rds_ibdev,
ret = -EINVAL; ret = -EINVAL;
for (i = 0; i < ibmr->sg_dma_len; ++i) { for (i = 0; i < ibmr->sg_dma_len; ++i) {
unsigned int dma_len = ib_sg_dma_len(dev, &ibmr->sg[i]); unsigned int dma_len = sg_dma_len(&ibmr->sg[i]);
u64 dma_addr = ib_sg_dma_address(dev, &ibmr->sg[i]); u64 dma_addr = sg_dma_address(&ibmr->sg[i]);
frmr->sg_byte_len += dma_len; frmr->sg_byte_len += dma_len;
if (dma_addr & ~PAGE_MASK) { if (dma_addr & ~PAGE_MASK) {
......
...@@ -346,8 +346,8 @@ static int rds_ib_recv_refill_one(struct rds_connection *conn, ...@@ -346,8 +346,8 @@ static int rds_ib_recv_refill_one(struct rds_connection *conn,
sge->length = sizeof(struct rds_header); sge->length = sizeof(struct rds_header);
sge = &recv->r_sge[1]; sge = &recv->r_sge[1];
sge->addr = ib_sg_dma_address(ic->i_cm_id->device, &recv->r_frag->f_sg); sge->addr = sg_dma_address(&recv->r_frag->f_sg);
sge->length = ib_sg_dma_len(ic->i_cm_id->device, &recv->r_frag->f_sg); sge->length = sg_dma_len(&recv->r_frag->f_sg);
ret = 0; ret = 0;
out: out:
...@@ -409,9 +409,7 @@ void rds_ib_recv_refill(struct rds_connection *conn, int prefill, gfp_t gfp) ...@@ -409,9 +409,7 @@ void rds_ib_recv_refill(struct rds_connection *conn, int prefill, gfp_t gfp)
rdsdebug("recv %p ibinc %p page %p addr %lu\n", recv, rdsdebug("recv %p ibinc %p page %p addr %lu\n", recv,
recv->r_ibinc, sg_page(&recv->r_frag->f_sg), recv->r_ibinc, sg_page(&recv->r_frag->f_sg),
(long) ib_sg_dma_address( (long)sg_dma_address(&recv->r_frag->f_sg));
ic->i_cm_id->device,
&recv->r_frag->f_sg));
/* XXX when can this fail? */ /* XXX when can this fail? */
ret = ib_post_recv(ic->i_cm_id->qp, &recv->r_wr, NULL); ret = ib_post_recv(ic->i_cm_id->qp, &recv->r_wr, NULL);
......
...@@ -645,16 +645,16 @@ int rds_ib_xmit(struct rds_connection *conn, struct rds_message *rm, ...@@ -645,16 +645,16 @@ int rds_ib_xmit(struct rds_connection *conn, struct rds_message *rm,
if (i < work_alloc if (i < work_alloc
&& scat != &rm->data.op_sg[rm->data.op_count]) { && scat != &rm->data.op_sg[rm->data.op_count]) {
len = min(RDS_FRAG_SIZE, len = min(RDS_FRAG_SIZE,
ib_sg_dma_len(dev, scat) - rm->data.op_dmaoff); sg_dma_len(scat) - rm->data.op_dmaoff);
send->s_wr.num_sge = 2; send->s_wr.num_sge = 2;
send->s_sge[1].addr = ib_sg_dma_address(dev, scat); send->s_sge[1].addr = sg_dma_address(scat);
send->s_sge[1].addr += rm->data.op_dmaoff; send->s_sge[1].addr += rm->data.op_dmaoff;
send->s_sge[1].length = len; send->s_sge[1].length = len;
bytes_sent += len; bytes_sent += len;
rm->data.op_dmaoff += len; rm->data.op_dmaoff += len;
if (rm->data.op_dmaoff == ib_sg_dma_len(dev, scat)) { if (rm->data.op_dmaoff == sg_dma_len(scat)) {
scat++; scat++;
rm->data.op_dmasg++; rm->data.op_dmasg++;
rm->data.op_dmaoff = 0; rm->data.op_dmaoff = 0;
...@@ -808,8 +808,8 @@ int rds_ib_xmit_atomic(struct rds_connection *conn, struct rm_atomic_op *op) ...@@ -808,8 +808,8 @@ int rds_ib_xmit_atomic(struct rds_connection *conn, struct rm_atomic_op *op)
} }
/* Convert our struct scatterlist to struct ib_sge */ /* Convert our struct scatterlist to struct ib_sge */
send->s_sge[0].addr = ib_sg_dma_address(ic->i_cm_id->device, op->op_sg); send->s_sge[0].addr = sg_dma_address(op->op_sg);
send->s_sge[0].length = ib_sg_dma_len(ic->i_cm_id->device, op->op_sg); send->s_sge[0].length = sg_dma_len(op->op_sg);
send->s_sge[0].lkey = ic->i_pd->local_dma_lkey; send->s_sge[0].lkey = ic->i_pd->local_dma_lkey;
rdsdebug("rva %Lx rpa %Lx len %u\n", op->op_remote_addr, rdsdebug("rva %Lx rpa %Lx len %u\n", op->op_remote_addr,
...@@ -921,9 +921,8 @@ int rds_ib_xmit_rdma(struct rds_connection *conn, struct rm_rdma_op *op) ...@@ -921,9 +921,8 @@ int rds_ib_xmit_rdma(struct rds_connection *conn, struct rm_rdma_op *op)
for (j = 0; j < send->s_rdma_wr.wr.num_sge && for (j = 0; j < send->s_rdma_wr.wr.num_sge &&
scat != &op->op_sg[op->op_count]; j++) { scat != &op->op_sg[op->op_count]; j++) {
len = ib_sg_dma_len(ic->i_cm_id->device, scat); len = sg_dma_len(scat);
send->s_sge[j].addr = send->s_sge[j].addr = sg_dma_address(scat);
ib_sg_dma_address(ic->i_cm_id->device, scat);
send->s_sge[j].length = len; send->s_sge[j].length = len;
send->s_sge[j].lkey = ic->i_pd->local_dma_lkey; send->s_sge[j].lkey = ic->i_pd->local_dma_lkey;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment