-----"Bart Van Assche" <bvanassche@xxxxxxx> wrote: ----- >To: "Jason Gunthorpe" <jgg@xxxxxxxx> >From: "Bart Van Assche" <bvanassche@xxxxxxx> >Date: 10/21/2019 04:10AM >Cc: "Leon Romanovsky" <leonro@xxxxxxxxxxxx>, "Doug Ledford" ><dledford@xxxxxxxxxx>, linux-rdma@xxxxxxxxxxxxxxx, "Bart Van Assche" ><bvanassche@xxxxxxx>, "Christoph Hellwig" <hch@xxxxxx>, "Bernard >Metzler" <bmt@xxxxxxxxxxxxxx> >Subject: [EXTERNAL] [PATCH 4/4] siw: Increase DMA max_segment_size >parameter > >Increase the DMA max_segment_size parameter from 64 KB to UINT_MAX. > Hi Bart, Why don't we make device_dma_parameters siw_dma_params just a const in siw_main.c? Having it per siw_device suggests more flexibility than we actually need and support? Probably true as well for rxe driver. This is all driver specific. Independent of this current patch, probably even true for siw_device.attrs. We do not have those capabilities siw device specific, but just siw driver specific. Best regards, Bernard. >Cc: Christoph Hellwig <hch@xxxxxx> >Cc: Bernard Metzler <bmt@xxxxxxxxxxxxxx> >Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> >--- > drivers/infiniband/sw/siw/siw.h | 1 + > drivers/infiniband/sw/siw/siw_main.c | 3 +++ > 2 files changed, 4 insertions(+) > >diff --git a/drivers/infiniband/sw/siw/siw.h >b/drivers/infiniband/sw/siw/siw.h >index dba4535494ab..1ea3ed249e7b 100644 >--- a/drivers/infiniband/sw/siw/siw.h >+++ b/drivers/infiniband/sw/siw/siw.h >@@ -70,6 +70,7 @@ struct siw_pd { > > struct siw_device { > struct ib_device base_dev; >+ struct device_dma_parameters dma_parms; > struct net_device *netdev; > struct siw_dev_cap attrs; > >diff --git a/drivers/infiniband/sw/siw/siw_main.c >b/drivers/infiniband/sw/siw/siw_main.c >index d1a1b7aa7d83..041496376047 100644 >--- a/drivers/infiniband/sw/siw/siw_main.c >+++ b/drivers/infiniband/sw/siw/siw_main.c >@@ -402,6 +402,9 @@ static struct siw_device >*siw_device_create(struct net_device *netdev) > base_dev->phys_port_cnt = 1; > base_dev->dev.parent = parent; > base_dev->dev.dma_ops = &dma_virt_ops; >+ base_dev->dev.dma_parms = &sdev->dma_parms; >+ sdev->dma_parms = (struct device_dma_parameters) >+ { .max_segment_size = UINT_MAX }; > base_dev->num_comp_vectors = num_possible_cpus(); > > ib_set_device_ops(base_dev, &siw_device_ops); >-- >2.23.0 > >