summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerge Semin <fancer.lancer@gmail.com>2018-01-24 02:48:45 -0500
committerJon Mason <jdmason@kudzu.us>2018-01-28 22:17:24 -0500
commit3b28c987fb9547ca9aac73241d0e281cf646387c (patch)
tree1ab415447ed8abd1336ffc71cfa53b08883e9dea
parentcd20dc3ca75f17fd391e825b1606050bd62703fc (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.c28
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);