Commit 31fd8f5b89f22a88940a9838dfd1564f3d440247
1 parent
8858d88a25
Exists in
master
and in
16 other branches
dma: mv_xor: Silence a bunch of LPAE-related warnings
Enabling some of the mvebu platforms in the multiplatform config for ARM enabled these drivers, which also triggered a bunch of warnings when LPAE is enabled (thus making phys_addr_t 64-bit). Most changes are switching printk formats, but also a bit of changes to what used to be array-based pointer arithmetic that could just be done with the address types instead. The warnings were: drivers/dma/mv_xor.c: In function 'mv_xor_tx_submit': drivers/dma/mv_xor.c:500:3: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'dma_addr_t' [-Wformat] drivers/dma/mv_xor.c: In function 'mv_xor_alloc_chan_resources': drivers/dma/mv_xor.c:553:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] drivers/dma/mv_xor.c:555:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/dma/mv_xor.c: In function 'mv_xor_prep_dma_memcpy': drivers/dma/mv_xor.c:584:2: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t' [-Wformat] drivers/dma/mv_xor.c:584:2: warning: format '%x' expects argument of type 'unsigned int', but argument 6 has type 'dma_addr_t' [-Wformat] drivers/dma/mv_xor.c: In function 'mv_xor_prep_dma_xor': drivers/dma/mv_xor.c:628:2: warning: format '%u' expects argument of type 'unsigned int', but argument 7 has type 'dma_addr_t' [-Wformat] Acked-by: Vinod Koul <vinod.koul@intel.com> Acked-by: Jason Cooper <jason@lakedaemon.net> Signed-off-by: Olof Johansson <olof@lixom.net>
Showing 1 changed file with 12 additions and 12 deletions Side-by-side Diff
drivers/dma/mv_xor.c
... | ... | @@ -497,8 +497,8 @@ |
497 | 497 | if (!mv_can_chain(grp_start)) |
498 | 498 | goto submit_done; |
499 | 499 | |
500 | - dev_dbg(mv_chan_to_devp(mv_chan), "Append to last desc %x\n", | |
501 | - old_chain_tail->async_tx.phys); | |
500 | + dev_dbg(mv_chan_to_devp(mv_chan), "Append to last desc %pa\n", | |
501 | + &old_chain_tail->async_tx.phys); | |
502 | 502 | |
503 | 503 | /* fix up the hardware chain */ |
504 | 504 | mv_desc_set_next_desc(old_chain_tail, grp_start->async_tx.phys); |
... | ... | @@ -527,7 +527,8 @@ |
527 | 527 | /* returns the number of allocated descriptors */ |
528 | 528 | static int mv_xor_alloc_chan_resources(struct dma_chan *chan) |
529 | 529 | { |
530 | - char *hw_desc; | |
530 | + void *virt_desc; | |
531 | + dma_addr_t dma_desc; | |
531 | 532 | int idx; |
532 | 533 | struct mv_xor_chan *mv_chan = to_mv_xor_chan(chan); |
533 | 534 | struct mv_xor_desc_slot *slot = NULL; |
534 | 535 | |
... | ... | @@ -542,17 +543,16 @@ |
542 | 543 | " %d descriptor slots", idx); |
543 | 544 | break; |
544 | 545 | } |
545 | - hw_desc = (char *) mv_chan->dma_desc_pool_virt; | |
546 | - slot->hw_desc = (void *) &hw_desc[idx * MV_XOR_SLOT_SIZE]; | |
546 | + virt_desc = mv_chan->dma_desc_pool_virt; | |
547 | + slot->hw_desc = virt_desc + idx * MV_XOR_SLOT_SIZE; | |
547 | 548 | |
548 | 549 | dma_async_tx_descriptor_init(&slot->async_tx, chan); |
549 | 550 | slot->async_tx.tx_submit = mv_xor_tx_submit; |
550 | 551 | INIT_LIST_HEAD(&slot->chain_node); |
551 | 552 | INIT_LIST_HEAD(&slot->slot_node); |
552 | 553 | INIT_LIST_HEAD(&slot->tx_list); |
553 | - hw_desc = (char *) mv_chan->dma_desc_pool; | |
554 | - slot->async_tx.phys = | |
555 | - (dma_addr_t) &hw_desc[idx * MV_XOR_SLOT_SIZE]; | |
554 | + dma_desc = mv_chan->dma_desc_pool; | |
555 | + slot->async_tx.phys = dma_desc + idx * MV_XOR_SLOT_SIZE; | |
556 | 556 | slot->idx = idx++; |
557 | 557 | |
558 | 558 | spin_lock_bh(&mv_chan->lock); |
... | ... | @@ -582,8 +582,8 @@ |
582 | 582 | int slot_cnt; |
583 | 583 | |
584 | 584 | dev_dbg(mv_chan_to_devp(mv_chan), |
585 | - "%s dest: %x src %x len: %u flags: %ld\n", | |
586 | - __func__, dest, src, len, flags); | |
585 | + "%s dest: %pad src %pad len: %u flags: %ld\n", | |
586 | + __func__, &dest, &src, len, flags); | |
587 | 587 | if (unlikely(len < MV_XOR_MIN_BYTE_COUNT)) |
588 | 588 | return NULL; |
589 | 589 | |
... | ... | @@ -626,8 +626,8 @@ |
626 | 626 | BUG_ON(len > MV_XOR_MAX_BYTE_COUNT); |
627 | 627 | |
628 | 628 | dev_dbg(mv_chan_to_devp(mv_chan), |
629 | - "%s src_cnt: %d len: dest %x %u flags: %ld\n", | |
630 | - __func__, src_cnt, len, dest, flags); | |
629 | + "%s src_cnt: %d len: %u dest %pad flags: %ld\n", | |
630 | + __func__, src_cnt, len, &dest, flags); | |
631 | 631 | |
632 | 632 | spin_lock_bh(&mv_chan->lock); |
633 | 633 | slot_cnt = mv_chan_xor_slot_count(len, src_cnt); |