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 > -- > 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 > 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. 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. Thank you very much for clarify your solution. > -- 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