On Fri, Dec 29, 2017 at 06:29:35PM +0800, Liuyixian (Eason) wrote: > > > On 2017/12/28 23:57, Jason Gunthorpe wrote: > > > > On Thu, Dec 28, 2017 at 10:18:03PM +0800, Yixian Liu wrote: > > > >> - hns_roce_write64_k(doorbell, eq->doorbell); > >> + hns_roce_write64_k(db.doorbell, eq->doorbell); > > > > You need to pass &db to hns_roce_write64_k and have it deref the 64 > > bit value using the union. The point here is to eliminate the cast inside > > hns_roce_write64_k. > > > > Jason > > Hi Jason, > > I know exactly what you mean, but the interface also called by lots of > other places in our driver, I plan to leave this revision in future > work. Yes, exactly, and they all have the same problem, right? The point of my original note was for you to fix the systemic problem not just the single location I used as an example. > With db.doorbell input, we could get the correct value (64 bit) w/o > *(u64 *). Thus, this patch will not be updated in patch v4. Let us drop it then, resend it when you fix them all. Jason -- 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