diff options
Diffstat (limited to 'drivers/dma/mv_xor.c')
-rw-r--r-- | drivers/dma/mv_xor.c | 40 |
1 files changed, 16 insertions, 24 deletions
diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c index ac71f555dd72..e26de4f680e1 100644 --- a/drivers/dma/mv_xor.c +++ b/drivers/dma/mv_xor.c | |||
@@ -210,7 +210,7 @@ static void mv_set_mode(struct mv_xor_chan *chan, | |||
210 | break; | 210 | break; |
211 | default: | 211 | default: |
212 | dev_err(mv_chan_to_devp(chan), | 212 | dev_err(mv_chan_to_devp(chan), |
213 | "error: unsupported operation %d.\n", | 213 | "error: unsupported operation %d\n", |
214 | type); | 214 | type); |
215 | BUG(); | 215 | BUG(); |
216 | return; | 216 | return; |
@@ -828,28 +828,22 @@ static void mv_dump_xor_regs(struct mv_xor_chan *chan) | |||
828 | u32 val; | 828 | u32 val; |
829 | 829 | ||
830 | val = __raw_readl(XOR_CONFIG(chan)); | 830 | val = __raw_readl(XOR_CONFIG(chan)); |
831 | dev_err(mv_chan_to_devp(chan), | 831 | dev_err(mv_chan_to_devp(chan), "config 0x%08x\n", val); |
832 | "config 0x%08x.\n", val); | ||
833 | 832 | ||
834 | val = __raw_readl(XOR_ACTIVATION(chan)); | 833 | val = __raw_readl(XOR_ACTIVATION(chan)); |
835 | dev_err(mv_chan_to_devp(chan), | 834 | dev_err(mv_chan_to_devp(chan), "activation 0x%08x\n", val); |
836 | "activation 0x%08x.\n", val); | ||
837 | 835 | ||
838 | val = __raw_readl(XOR_INTR_CAUSE(chan)); | 836 | val = __raw_readl(XOR_INTR_CAUSE(chan)); |
839 | dev_err(mv_chan_to_devp(chan), | 837 | dev_err(mv_chan_to_devp(chan), "intr cause 0x%08x\n", val); |
840 | "intr cause 0x%08x.\n", val); | ||
841 | 838 | ||
842 | val = __raw_readl(XOR_INTR_MASK(chan)); | 839 | val = __raw_readl(XOR_INTR_MASK(chan)); |
843 | dev_err(mv_chan_to_devp(chan), | 840 | dev_err(mv_chan_to_devp(chan), "intr mask 0x%08x\n", val); |
844 | "intr mask 0x%08x.\n", val); | ||
845 | 841 | ||
846 | val = __raw_readl(XOR_ERROR_CAUSE(chan)); | 842 | val = __raw_readl(XOR_ERROR_CAUSE(chan)); |
847 | dev_err(mv_chan_to_devp(chan), | 843 | dev_err(mv_chan_to_devp(chan), "error cause 0x%08x\n", val); |
848 | "error cause 0x%08x.\n", val); | ||
849 | 844 | ||
850 | val = __raw_readl(XOR_ERROR_ADDR(chan)); | 845 | val = __raw_readl(XOR_ERROR_ADDR(chan)); |
851 | dev_err(mv_chan_to_devp(chan), | 846 | dev_err(mv_chan_to_devp(chan), "error addr 0x%08x\n", val); |
852 | "error addr 0x%08x.\n", val); | ||
853 | } | 847 | } |
854 | 848 | ||
855 | static void mv_xor_err_interrupt_handler(struct mv_xor_chan *chan, | 849 | static void mv_xor_err_interrupt_handler(struct mv_xor_chan *chan, |
@@ -862,7 +856,7 @@ static void mv_xor_err_interrupt_handler(struct mv_xor_chan *chan, | |||
862 | } | 856 | } |
863 | 857 | ||
864 | dev_err(mv_chan_to_devp(chan), | 858 | dev_err(mv_chan_to_devp(chan), |
865 | "error on chan %d. intr cause 0x%08x.\n", | 859 | "error on chan %d. intr cause 0x%08x\n", |
866 | chan->idx, intr_cause); | 860 | chan->idx, intr_cause); |
867 | 861 | ||
868 | mv_dump_xor_regs(chan); | 862 | mv_dump_xor_regs(chan); |
@@ -1052,9 +1046,8 @@ mv_xor_xor_self_test(struct mv_xor_chan *mv_chan) | |||
1052 | u32 *ptr = page_address(dest); | 1046 | u32 *ptr = page_address(dest); |
1053 | if (ptr[i] != cmp_word) { | 1047 | if (ptr[i] != cmp_word) { |
1054 | dev_err(dma_chan->device->dev, | 1048 | dev_err(dma_chan->device->dev, |
1055 | "Self-test xor failed compare, disabling." | 1049 | "Self-test xor failed compare, disabling. index %d, data %x, expected %x\n", |
1056 | " index %d, data %x, expected %x\n", i, | 1050 | i, ptr[i], cmp_word); |
1057 | ptr[i], cmp_word); | ||
1058 | err = -ENODEV; | 1051 | err = -ENODEV; |
1059 | goto free_resources; | 1052 | goto free_resources; |
1060 | } | 1053 | } |
@@ -1194,12 +1187,11 @@ mv_xor_channel_add(struct mv_xor_device *xordev, | |||
1194 | goto err_free_irq; | 1187 | goto err_free_irq; |
1195 | } | 1188 | } |
1196 | 1189 | ||
1197 | dev_info(&pdev->dev, "Marvell XOR: " | 1190 | dev_info(&pdev->dev, "Marvell XOR: ( %s%s%s%s)\n", |
1198 | "( %s%s%s%s)\n", | 1191 | dma_has_cap(DMA_XOR, dma_dev->cap_mask) ? "xor " : "", |
1199 | dma_has_cap(DMA_XOR, dma_dev->cap_mask) ? "xor " : "", | 1192 | dma_has_cap(DMA_MEMSET, dma_dev->cap_mask) ? "fill " : "", |
1200 | dma_has_cap(DMA_MEMSET, dma_dev->cap_mask) ? "fill " : "", | 1193 | dma_has_cap(DMA_MEMCPY, dma_dev->cap_mask) ? "cpy " : "", |
1201 | dma_has_cap(DMA_MEMCPY, dma_dev->cap_mask) ? "cpy " : "", | 1194 | dma_has_cap(DMA_INTERRUPT, dma_dev->cap_mask) ? "intr " : ""); |
1202 | dma_has_cap(DMA_INTERRUPT, dma_dev->cap_mask) ? "intr " : ""); | ||
1203 | 1195 | ||
1204 | dma_async_device_register(dma_dev); | 1196 | dma_async_device_register(dma_dev); |
1205 | return mv_chan; | 1197 | return mv_chan; |
@@ -1253,7 +1245,7 @@ static int mv_xor_probe(struct platform_device *pdev) | |||
1253 | struct resource *res; | 1245 | struct resource *res; |
1254 | int i, ret; | 1246 | int i, ret; |
1255 | 1247 | ||
1256 | dev_notice(&pdev->dev, "Marvell XOR driver\n"); | 1248 | dev_notice(&pdev->dev, "Marvell shared XOR driver\n"); |
1257 | 1249 | ||
1258 | xordev = devm_kzalloc(&pdev->dev, sizeof(*xordev), GFP_KERNEL); | 1250 | xordev = devm_kzalloc(&pdev->dev, sizeof(*xordev), GFP_KERNEL); |
1259 | if (!xordev) | 1251 | if (!xordev) |