Re: [PATCH rdma-next] RDMA/cxgb4: Remove unnecessary conversion from __be32 to cpu format

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

 



On Tue, Oct 24, 2017 at 01:42:16PM -0500, Steve Wise wrote:
> >
> > The scqe.stag is actually declared in u32 format and don't need
> > conversion from __be32 to cpu format.
> >
> > Remove the be32_to_cpu() and avoid the following sparse error.
> >   drivers/infiniband/hw/cxgb4/cq.c:754:52: warning: cast to restricted __be32
> >
> > Cc: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Leon Romanovsky <leon@xxxxxxxxxx>
> > ---
> >  drivers/infiniband/hw/cxgb4/t4.h | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/infiniband/hw/cxgb4/t4.h
> b/drivers/infiniband/hw/cxgb4/t4.h
> > index 2b44fa850bbb..a16f3596f5a8 100644
> > --- a/drivers/infiniband/hw/cxgb4/t4.h
> > +++ b/drivers/infiniband/hw/cxgb4/t4.h
> > @@ -234,7 +234,7 @@ struct t4_cqe {
> >
> >  /* used for SQ completion processing */
> >  #define CQE_WRID_SQ_IDX(x)	((x)->u.scqe.cidx)
> > -#define CQE_WRID_FR_STAG(x)     (be32_to_cpu((x)->u.scqe.stag))
> > +#define CQE_WRID_FR_STAG(x)     ((x)->u.scqe.stag)
>
> This is incorrect.  The stag is filled in by HW which is BE.  The declaration of
> scqe.stag needs to be __be32.

So why do you declare stag as u32?

drivers/infiniband/hw/cxgb4/cq.c:
676 static int c4iw_poll_cq_one(struct c4iw_cq *chp, struct ib_wc *wc)
...
679         struct t4_cqe uninitialized_var(cqe), *rd_cqe;
...
753                                 c4iw_invalidate_mr(qhp->rhp,
754                                                    CQE_WRID_FR_STAG(&cqe));

....
drivers/infiniband/hw/cxgb4/t4.h:
162 /*
163  * CQE defs
164  */
165 struct t4_cqe {
166         __be32 header;
167         __be32 len;
168         union {
169                 struct {
170                         __be32 stag;
171                         __be32 msn;
172                 } rcqe;
173                 struct {
174                         u32 stag;
175                         u16 nada2;
176                         u16 cidx;
177                 } scqe;
178                 struct {
179                         __be32 wrid_hi;
180                         __be32 wrid_low;
181                 } gen;
182                 u64 drain_cookie;
183         } u;
184         __be64 reserved;
185         __be64 bits_type_ts;
186 };

Thanks

>
>
> --
> 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