RDMA/hns: Replace __raw_write*(cpu_to_le*()) with LE write*()
Subsystems (2)
PATCH 1/1 RDMA/hns: Replace __raw_write*(cpu_to_le*()) with LE write*()
There is no need to repeat the semantics of writel() and similar. Moreover sparse complains about this:
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:1690:22: expected unsigned long long val drivers/infiniband/hw/hns/hns_roce_hw_v1.c:1690:22: got restricted __le64 <noident>
Fixing this by replacing __raw_write*(cpu_to_le*()) calls by plain write*() ones.
Note, write*() accessors are little endian by definition.
--- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 8 ++++---- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-)
drivers/infiniband/hw/hns/hns_roce_hw_v1.c +4 -4
@@ -1687,13 +1687,13 @@ static int hns_roce_v1_post_mbox(struct hns_roce_dev *hr_dev, u64 in_param,roce_set_field (val,ROCEE_MB6_ROCEE_MB_TOKEN_M ,ROCEE_MB6_ROCEE_MB_TOKEN_S , token); -__raw_writeq (cpu_to_le64 (in_param), hcr +0 ); -__raw_writeq (cpu_to_le64 (out_param), hcr +2 ); -__raw_writel (cpu_to_le32 (in_modifier), hcr +4 ); +writeq (in_param, hcr +0 ); +writeq (out_param, hcr +2 ); +writel (in_modifier, hcr +4 );/* Memory barrier */ wmb (); -__raw_writel (cpu_to_le32 (val), hcr +5 ); +writel (val, hcr +5 );mmiowb ();
drivers/infiniband/hw/hns/hns_roce_hw_v2.c +4 -4
@@ -1228,14 +1228,14 @@ static int hns_roce_v2_post_mbox(struct hns_roce_dev *hr_dev, u64 in_param,roce_set_field (val1,HNS_ROCE_VF_MB5_TOKEN_MASK ,HNS_ROCE_VF_MB5_TOKEN_SHIFT , token); -__raw_writeq (cpu_to_le64 (in_param), hcr +0 ); -__raw_writeq (cpu_to_le64 (out_param), hcr +2 ); +writeq (in_param, hcr +0 ); +writeq (out_param, hcr +2 );/* Memory barrier */ wmb (); -__raw_writel (cpu_to_le32 (val0), hcr +4 ); -__raw_writel (cpu_to_le32 (val1), hcr +5 ); +writel (val0, hcr +4 ); +writel (val1, hcr +5 );mmiowb ();
Signature · 6 lines
2.15.1 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): 20180214181117.36808-1-andriy.shevchenko-VuQAYsv1563Yd54FQh9/[email protected]
Quoted 9 lines · Andy Shevchenko
There is no need to repeat the semantics of
writel()and similar. Moreover sparse complains about this:
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:1690:22: expected unsigned long long valdrivers/infiniband/hw/hns/hns_roce_hw_v1.c:1690:22: got restricted__le64<noident>Fixing this by replacing __raw_write*(cpu_to_le*()) calls by plain write*() ones.
Quoted 7 lines
Note, write*() accessors are little endian by definition.
Reported-by kbuild test robot <[email protected]>drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 8 ++++---- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-)
Yes, thanks, applied to -next
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html