Le vendredi 28 mars 2014 à 13:26 -0400, Mike Marciniszyn a écrit :
> The lack of these methods is compensated for by code changes
> to .map_sg to insure that the vanilla sg_dma_address() and
> sg_dma_len() will do the same thing as the equivalent
> former ib_sg_dma_address() and ib_sg_dma_len() calls
> into the drivers.
> 

And struct ipath_dma_mapping_ops was converted to C99 initializer.

> Suggested-by: Bart Van Assche <[email protected]>
> Cc: Bart Van Assche <[email protected]>
> Reviewed-by: Dennis Dalessandro <[email protected]>
> Signed-off-by: Mike Marciniszyn <[email protected]>
> ---
>  drivers/infiniband/hw/ipath/ipath_dma.c |   43 
> +++++++++++--------------------
>  1 file changed, 15 insertions(+), 28 deletions(-)
> 
> diff --git a/drivers/infiniband/hw/ipath/ipath_dma.c 
> b/drivers/infiniband/hw/ipath/ipath_dma.c
> index 644c2c7..123a8c0 100644
> --- a/drivers/infiniband/hw/ipath/ipath_dma.c
> +++ b/drivers/infiniband/hw/ipath/ipath_dma.c
> @@ -115,6 +115,10 @@ static int ipath_map_sg(struct ib_device *dev, struct 
> scatterlist *sgl,
>                       ret = 0;
>                       break;
>               }
> +             sg->dma_address = addr + sg->offset;
> +#ifdef CONFIG_NEED_SG_DMA_LENGTH
> +             sg->dma_length = sg->length;
> +#endif
>       }
>       return ret;
>  }
> @@ -126,21 +130,6 @@ static void ipath_unmap_sg(struct ib_device *dev,
>       BUG_ON(!valid_dma_direction(direction));
>  }
>  
> -static u64 ipath_sg_dma_address(struct ib_device *dev, struct scatterlist 
> *sg)
> -{
> -     u64 addr = (u64) page_address(sg_page(sg));
> -
> -     if (addr)
> -             addr += sg->offset;
> -     return addr;
> -}
> -
> -static unsigned int ipath_sg_dma_len(struct ib_device *dev,
> -                                  struct scatterlist *sg)
> -{
> -     return sg->length;
> -}
> -
>  static void ipath_sync_single_for_cpu(struct ib_device *dev,
>                                     u64 addr,
>                                     size_t size,
> @@ -176,17 +165,15 @@ static void ipath_dma_free_coherent(struct ib_device 
> *dev, size_t size,
>  }
>  
>  struct ib_dma_mapping_ops ipath_dma_mapping_ops = {
> -     ipath_mapping_error,
> -     ipath_dma_map_single,
> -     ipath_dma_unmap_single,
> -     ipath_dma_map_page,
> -     ipath_dma_unmap_page,
> -     ipath_map_sg,
> -     ipath_unmap_sg,
> -     ipath_sg_dma_address,
> -     ipath_sg_dma_len,
> -     ipath_sync_single_for_cpu,
> -     ipath_sync_single_for_device,
> -     ipath_dma_alloc_coherent,
> -     ipath_dma_free_coherent
> +     .mapping_error = ipath_mapping_error,
> +     .map_single = ipath_dma_map_single,
> +     .unmap_single = ipath_dma_unmap_single,
> +     .map_page = ipath_dma_map_page,
> +     .unmap_page = ipath_dma_unmap_page,
> +     .map_sg = ipath_map_sg,
> +     .unmap_sg = ipath_unmap_sg,
> +     .sync_single_for_cpu = ipath_sync_single_for_cpu,
> +     .sync_single_for_device = ipath_sync_single_for_device,
> +     .alloc_coherent = ipath_dma_alloc_coherent,
> +     .free_coherent = ipath_dma_free_coherent
>  };
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to