aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Rice <rob.rice@broadcom.com>2016-11-14 13:26:02 -0500
committerJassi Brar <jaswinder.singh@linaro.org>2016-12-19 09:40:21 -0500
commit38ed49ed4a99942f1a340f4a82a5a8b492e3463b (patch)
tree2eabf6e91b5d82f4c4726dece5279a54b539b171
parent8aef00f090bcbe5237c5a6628e7c000890267efe (diff)
mailbox: bcm-pdc: Don't use iowrite32 to write DMA descriptors
In PDC driver, it is not necessary to use iowrite32() when writing DMA descriptors to the transmit and receive rings. The ring memory is in host memory. So convert to normal assignment statements. Signed-off-by: Rob Rice <rob.rice@broadcom.com> Reviewed-by: Andy Gospodarek <gospo@broadcom.com> Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
-rw-r--r--drivers/mailbox/bcm-pdc-mailbox.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/drivers/mailbox/bcm-pdc-mailbox.c b/drivers/mailbox/bcm-pdc-mailbox.c
index 16e544018a68..e7dc1a227713 100644
--- a/drivers/mailbox/bcm-pdc-mailbox.c
+++ b/drivers/mailbox/bcm-pdc-mailbox.c
@@ -528,17 +528,17 @@ pdc_build_rxd(struct pdc_state *pdcs, dma_addr_t dma_addr,
528 u32 buf_len, u32 flags) 528 u32 buf_len, u32 flags)
529{ 529{
530 struct device *dev = &pdcs->pdev->dev; 530 struct device *dev = &pdcs->pdev->dev;
531 struct dma64dd *rxd = &pdcs->rxd_64[pdcs->rxout];
531 532
532 dev_dbg(dev, 533 dev_dbg(dev,
533 "Writing rx descriptor for PDC %u at index %u with length %u. flags %#x\n", 534 "Writing rx descriptor for PDC %u at index %u with length %u. flags %#x\n",
534 pdcs->pdc_idx, pdcs->rxout, buf_len, flags); 535 pdcs->pdc_idx, pdcs->rxout, buf_len, flags);
535 536
536 iowrite32(lower_32_bits(dma_addr), 537 rxd->addrlow = cpu_to_le32(lower_32_bits(dma_addr));
537 (void *)&pdcs->rxd_64[pdcs->rxout].addrlow); 538 rxd->addrhigh = cpu_to_le32(upper_32_bits(dma_addr));
538 iowrite32(upper_32_bits(dma_addr), 539 rxd->ctrl1 = cpu_to_le32(flags);
539 (void *)&pdcs->rxd_64[pdcs->rxout].addrhigh); 540 rxd->ctrl2 = cpu_to_le32(buf_len);
540 iowrite32(flags, (void *)&pdcs->rxd_64[pdcs->rxout].ctrl1); 541
541 iowrite32(buf_len, (void *)&pdcs->rxd_64[pdcs->rxout].ctrl2);
542 /* bump ring index and return */ 542 /* bump ring index and return */
543 pdcs->rxout = NEXTRXD(pdcs->rxout, pdcs->nrxpost); 543 pdcs->rxout = NEXTRXD(pdcs->rxout, pdcs->nrxpost);
544} 544}
@@ -556,17 +556,16 @@ pdc_build_txd(struct pdc_state *pdcs, dma_addr_t dma_addr, u32 buf_len,
556 u32 flags) 556 u32 flags)
557{ 557{
558 struct device *dev = &pdcs->pdev->dev; 558 struct device *dev = &pdcs->pdev->dev;
559 struct dma64dd *txd = &pdcs->txd_64[pdcs->txout];
559 560
560 dev_dbg(dev, 561 dev_dbg(dev,
561 "Writing tx descriptor for PDC %u at index %u with length %u, flags %#x\n", 562 "Writing tx descriptor for PDC %u at index %u with length %u, flags %#x\n",
562 pdcs->pdc_idx, pdcs->txout, buf_len, flags); 563 pdcs->pdc_idx, pdcs->txout, buf_len, flags);
563 564
564 iowrite32(lower_32_bits(dma_addr), 565 txd->addrlow = cpu_to_le32(lower_32_bits(dma_addr));
565 (void *)&pdcs->txd_64[pdcs->txout].addrlow); 566 txd->addrhigh = cpu_to_le32(upper_32_bits(dma_addr));
566 iowrite32(upper_32_bits(dma_addr), 567 txd->ctrl1 = cpu_to_le32(flags);
567 (void *)&pdcs->txd_64[pdcs->txout].addrhigh); 568 txd->ctrl2 = cpu_to_le32(buf_len);
568 iowrite32(flags, (void *)&pdcs->txd_64[pdcs->txout].ctrl1);
569 iowrite32(buf_len, (void *)&pdcs->txd_64[pdcs->txout].ctrl2);
570 569
571 /* bump ring index and return */ 570 /* bump ring index and return */
572 pdcs->txout = NEXTTXD(pdcs->txout, pdcs->ntxpost); 571 pdcs->txout = NEXTTXD(pdcs->txout, pdcs->ntxpost);