Re: [PATCH] iw_cxgb4: clean up send_connect()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jan 30, 2017 at 09:12:42PM +0530, Ganesh Goudar wrote:
> Clean up send_connect() and make use of t6 specific
> active open request struct.
>
> Acked-by: swise@xxxxxxxxxxxxxxxxxxxxx

Please add full Steve's name.
Thanks

> Signed-off-by: Bharat Teja <bharat@xxxxxxxxxxx>
> Signed-off-by: Ganesh Goudar <ganeshgr@xxxxxxxxxxx>
> ---
>  drivers/infiniband/hw/cxgb4/cm.c | 56 ++++++++++++++++++++++++++--------------
>  1 file changed, 36 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
> index f1510cc..b9c2163 100644
> --- a/drivers/infiniband/hw/cxgb4/cm.c
> +++ b/drivers/infiniband/hw/cxgb4/cm.c
> @@ -692,6 +692,10 @@ static int send_connect(struct c4iw_ep *ep)
>  	int ret;
>  	enum chip_type adapter_type = ep->com.dev->rdev.lldi.adapter_type;
>  	u32 isn = (prandom_u32() & ~7UL) - 1;
> +	struct net_device *netdev;
> +	u64 params;
> +
> +	netdev = ep->com.dev->rdev.lldi.ports[0];
>
>  	switch (CHELSIO_CHIP_VERSION(adapter_type)) {
>  	case CHELSIO_T4:
> @@ -768,6 +772,8 @@ static int send_connect(struct c4iw_ep *ep)
>  		opt2 |= T5_ISS_F;
>  	}
>
> +	params = cxgb4_select_ntuple(netdev, ep->l2t);
> +
>  	if (ep->com.remote_addr.ss_family == AF_INET6)
>  		cxgb4_clip_get(ep->com.dev->rdev.lldi.ports[0],
>  			       (const u32 *)&la6->sin6_addr.s6_addr, 1);
> @@ -809,18 +815,22 @@ static int send_connect(struct c4iw_ep *ep)
>  		req->opt0 = cpu_to_be64(opt0);
>
>  		if (is_t4(ep->com.dev->rdev.lldi.adapter_type)) {
> -			req->params = cpu_to_be32(cxgb4_select_ntuple(
> -						ep->com.dev->rdev.lldi.ports[0],
> -						ep->l2t));
> +			req->params = cpu_to_be32(params);
>  			req->opt2 = cpu_to_be32(opt2);
>  		} else {
> -			t5req->params = cpu_to_be64(FILTER_TUPLE_V(
> -						cxgb4_select_ntuple(
> -						ep->com.dev->rdev.lldi.ports[0],
> -						ep->l2t)));
> -			t5req->rsvd = cpu_to_be32(isn);
> -			PDBG("%s snd_isn %u\n", __func__, t5req->rsvd);
> -			t5req->opt2 = cpu_to_be32(opt2);
> +			if (is_t5(ep->com.dev->rdev.lldi.adapter_type)) {
> +				t5req->params =
> +					  cpu_to_be64(FILTER_TUPLE_V(params));
> +				t5req->rsvd = cpu_to_be32(isn);
> +				PDBG("%s snd_isn %u\n", __func__, t5req->rsvd);
> +				t5req->opt2 = cpu_to_be32(opt2);
> +			} else {
> +				t6req->params =
> +					  cpu_to_be64(FILTER_TUPLE_V(params));
> +				t6req->rsvd = cpu_to_be32(isn);
> +				PDBG("%s snd_isn %u\n", __func__, t6req->rsvd);
> +				t6req->opt2 = cpu_to_be32(opt2);
> +			}
>  		}
>  	} else {
>  		switch (CHELSIO_CHIP_VERSION(adapter_type)) {
> @@ -859,18 +869,24 @@ static int send_connect(struct c4iw_ep *ep)
>  		req6->opt0 = cpu_to_be64(opt0);
>
>  		if (is_t4(ep->com.dev->rdev.lldi.adapter_type)) {
> -			req6->params = cpu_to_be32(cxgb4_select_ntuple(
> -						ep->com.dev->rdev.lldi.ports[0],
> -						ep->l2t));
> +			req6->params = cpu_to_be32(cxgb4_select_ntuple(netdev,
> +								      ep->l2t));
>  			req6->opt2 = cpu_to_be32(opt2);
>  		} else {
> -			t5req6->params = cpu_to_be64(FILTER_TUPLE_V(
> -						cxgb4_select_ntuple(
> -						ep->com.dev->rdev.lldi.ports[0],
> -						ep->l2t)));
> -			t5req6->rsvd = cpu_to_be32(isn);
> -			PDBG("%s snd_isn %u\n", __func__, t5req6->rsvd);
> -			t5req6->opt2 = cpu_to_be32(opt2);
> +			if (is_t5(ep->com.dev->rdev.lldi.adapter_type)) {
> +				t5req6->params =
> +					    cpu_to_be64(FILTER_TUPLE_V(params));
> +				t5req6->rsvd = cpu_to_be32(isn);
> +				PDBG("%s snd_isn %u\n", __func__, t5req6->rsvd);
> +				t5req6->opt2 = cpu_to_be32(opt2);
> +			} else {
> +				t6req6->params =
> +					    cpu_to_be64(FILTER_TUPLE_V(params));
> +				t6req6->rsvd = cpu_to_be32(isn);
> +				PDBG("%s snd_isn %u\n", __func__, t6req6->rsvd);
> +				t6req6->opt2 = cpu_to_be32(opt2);
> +			}
> +
>  		}
>  	}
>
> --
> 2.1.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux