diff options
author | Serge Semin <fancer.lancer@gmail.com> | 2018-01-24 02:48:45 -0500 |
---|---|---|
committer | Jon Mason <jdmason@kudzu.us> | 2018-01-28 22:17:24 -0500 |
commit | 3b28c987fb9547ca9aac73241d0e281cf646387c (patch) | |
tree | 1ab415447ed8abd1336ffc71cfa53b08883e9dea | |
parent | cd20dc3ca75f17fd391e825b1606050bd62703fc (diff) |
NTB: ntb_perf: fix cast to restricted __le32
Sparse is whining about the u32 and __le32 mixed usage in the driver
drivers/ntb/test/ntb_perf.c:288:21: warning: cast to restricted __le32
drivers/ntb/test/ntb_perf.c:295:37: warning: incorrect type in argument 4 (different base types)
drivers/ntb/test/ntb_perf.c:295:37: expected unsigned int [unsigned] [usertype] val
drivers/ntb/test/ntb_perf.c:295:37: got restricted __le32 [usertype] <noident>
...
NTB hardware drivers shall accept CPU-endian data and translate it to
the portable formate by internal means, so the explicit conversions
are not necessary before Scratchpad/Messages API usage anymore.
Fixes: b83003b3fdc1 ("NTB: ntb_perf: Add full multi-port NTB API support")
Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
-rw-r--r-- | drivers/ntb/test/ntb_perf.c | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/drivers/ntb/test/ntb_perf.c b/drivers/ntb/test/ntb_perf.c index b376609ffadb..2a9d6b0d1f19 100644 --- a/drivers/ntb/test/ntb_perf.c +++ b/drivers/ntb/test/ntb_perf.c | |||
@@ -273,21 +273,21 @@ static int perf_spad_cmd_send(struct perf_peer *peer, enum perf_cmd cmd, | |||
273 | 273 | ||
274 | sts = ntb_peer_spad_read(perf->ntb, peer->pidx, | 274 | sts = ntb_peer_spad_read(perf->ntb, peer->pidx, |
275 | PERF_SPAD_CMD(perf->gidx)); | 275 | PERF_SPAD_CMD(perf->gidx)); |
276 | if (le32_to_cpu(sts) != PERF_CMD_INVAL) { | 276 | if (sts != PERF_CMD_INVAL) { |
277 | usleep_range(MSG_UDELAY_LOW, MSG_UDELAY_HIGH); | 277 | usleep_range(MSG_UDELAY_LOW, MSG_UDELAY_HIGH); |
278 | continue; | 278 | continue; |
279 | } | 279 | } |
280 | 280 | ||
281 | ntb_peer_spad_write(perf->ntb, peer->pidx, | 281 | ntb_peer_spad_write(perf->ntb, peer->pidx, |
282 | PERF_SPAD_LDATA(perf->gidx), | 282 | PERF_SPAD_LDATA(perf->gidx), |
283 | cpu_to_le32(lower_32_bits(data))); | 283 | lower_32_bits(data)); |
284 | ntb_peer_spad_write(perf->ntb, peer->pidx, | 284 | ntb_peer_spad_write(perf->ntb, peer->pidx, |
285 | PERF_SPAD_HDATA(perf->gidx), | 285 | PERF_SPAD_HDATA(perf->gidx), |
286 | cpu_to_le32(upper_32_bits(data))); | 286 | upper_32_bits(data)); |
287 | mmiowb(); | 287 | mmiowb(); |
288 | ntb_peer_spad_write(perf->ntb, peer->pidx, | 288 | ntb_peer_spad_write(perf->ntb, peer->pidx, |
289 | PERF_SPAD_CMD(perf->gidx), | 289 | PERF_SPAD_CMD(perf->gidx), |
290 | cpu_to_le32(cmd)); | 290 | cmd); |
291 | mmiowb(); | 291 | mmiowb(); |
292 | ntb_peer_db_set(perf->ntb, PERF_SPAD_NOTIFY(peer->gidx)); | 292 | ntb_peer_db_set(perf->ntb, PERF_SPAD_NOTIFY(peer->gidx)); |
293 | 293 | ||
@@ -321,21 +321,20 @@ static int perf_spad_cmd_recv(struct perf_ctx *perf, int *pidx, | |||
321 | continue; | 321 | continue; |
322 | 322 | ||
323 | val = ntb_spad_read(perf->ntb, PERF_SPAD_CMD(peer->gidx)); | 323 | val = ntb_spad_read(perf->ntb, PERF_SPAD_CMD(peer->gidx)); |
324 | val = le32_to_cpu(val); | ||
325 | if (val == PERF_CMD_INVAL) | 324 | if (val == PERF_CMD_INVAL) |
326 | continue; | 325 | continue; |
327 | 326 | ||
328 | *cmd = val; | 327 | *cmd = val; |
329 | 328 | ||
330 | val = ntb_spad_read(perf->ntb, PERF_SPAD_LDATA(peer->gidx)); | 329 | val = ntb_spad_read(perf->ntb, PERF_SPAD_LDATA(peer->gidx)); |
331 | *data = le32_to_cpu(val); | 330 | *data = val; |
332 | 331 | ||
333 | val = ntb_spad_read(perf->ntb, PERF_SPAD_HDATA(peer->gidx)); | 332 | val = ntb_spad_read(perf->ntb, PERF_SPAD_HDATA(peer->gidx)); |
334 | *data |= (u64)le32_to_cpu(val) << 32; | 333 | *data |= (u64)val << 32; |
335 | 334 | ||
336 | /* Next command can be retrieved from now */ | 335 | /* Next command can be retrieved from now */ |
337 | ntb_spad_write(perf->ntb, PERF_SPAD_CMD(peer->gidx), | 336 | ntb_spad_write(perf->ntb, PERF_SPAD_CMD(peer->gidx), |
338 | cpu_to_le32(PERF_CMD_INVAL)); | 337 | PERF_CMD_INVAL); |
339 | 338 | ||
340 | dev_dbg(&perf->ntb->dev, "CMD recv: %d 0x%llx\n", *cmd, *data); | 339 | dev_dbg(&perf->ntb->dev, "CMD recv: %d 0x%llx\n", *cmd, *data); |
341 | 340 | ||
@@ -371,7 +370,7 @@ static int perf_msg_cmd_send(struct perf_peer *peer, enum perf_cmd cmd, | |||
371 | return ret; | 370 | return ret; |
372 | 371 | ||
373 | ntb_peer_msg_write(perf->ntb, peer->pidx, PERF_MSG_LDATA, | 372 | ntb_peer_msg_write(perf->ntb, peer->pidx, PERF_MSG_LDATA, |
374 | cpu_to_le32(lower_32_bits(data))); | 373 | lower_32_bits(data)); |
375 | 374 | ||
376 | if (ntb_msg_read_sts(perf->ntb) & outbits) { | 375 | if (ntb_msg_read_sts(perf->ntb) & outbits) { |
377 | usleep_range(MSG_UDELAY_LOW, MSG_UDELAY_HIGH); | 376 | usleep_range(MSG_UDELAY_LOW, MSG_UDELAY_HIGH); |
@@ -379,12 +378,11 @@ static int perf_msg_cmd_send(struct perf_peer *peer, enum perf_cmd cmd, | |||
379 | } | 378 | } |
380 | 379 | ||
381 | ntb_peer_msg_write(perf->ntb, peer->pidx, PERF_MSG_HDATA, | 380 | ntb_peer_msg_write(perf->ntb, peer->pidx, PERF_MSG_HDATA, |
382 | cpu_to_le32(upper_32_bits(data))); | 381 | upper_32_bits(data)); |
383 | mmiowb(); | 382 | mmiowb(); |
384 | 383 | ||
385 | /* This call shall trigger peer message event */ | 384 | /* This call shall trigger peer message event */ |
386 | ntb_peer_msg_write(perf->ntb, peer->pidx, PERF_MSG_CMD, | 385 | ntb_peer_msg_write(perf->ntb, peer->pidx, PERF_MSG_CMD, cmd); |
387 | cpu_to_le32(cmd)); | ||
388 | 386 | ||
389 | break; | 387 | break; |
390 | } | 388 | } |
@@ -404,13 +402,13 @@ static int perf_msg_cmd_recv(struct perf_ctx *perf, int *pidx, | |||
404 | return -ENODATA; | 402 | return -ENODATA; |
405 | 403 | ||
406 | val = ntb_msg_read(perf->ntb, pidx, PERF_MSG_CMD); | 404 | val = ntb_msg_read(perf->ntb, pidx, PERF_MSG_CMD); |
407 | *cmd = le32_to_cpu(val); | 405 | *cmd = val; |
408 | 406 | ||
409 | val = ntb_msg_read(perf->ntb, pidx, PERF_MSG_LDATA); | 407 | val = ntb_msg_read(perf->ntb, pidx, PERF_MSG_LDATA); |
410 | *data = le32_to_cpu(val); | 408 | *data = val; |
411 | 409 | ||
412 | val = ntb_msg_read(perf->ntb, pidx, PERF_MSG_HDATA); | 410 | val = ntb_msg_read(perf->ntb, pidx, PERF_MSG_HDATA); |
413 | *data |= (u64)le32_to_cpu(val) << 32; | 411 | *data |= (u64)val << 32; |
414 | 412 | ||
415 | /* Next command can be retrieved from now */ | 413 | /* Next command can be retrieved from now */ |
416 | ntb_msg_clear_sts(perf->ntb, inbits); | 414 | ntb_msg_clear_sts(perf->ntb, inbits); |