Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56580bb4 authored by Jason Cooper's avatar Jason Cooper
Browse files

Merge branch 'mvebu-misc-fixes' of...

Merge branch 'mvebu-misc-fixes' of git://github.com/MISL-EBU-System-SW/mainline-public into mvebu/everything
parents 4e76b1b2 73d9cdca
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@

/ {
	model = "Marvell Armada 370 and XP SoC";
	compatible = "marvell,armada_370_xp";
	compatible = "marvell,armada-370-xp";

	cpus {
		cpu@0 {
+1 −1
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ armada_cfg_base(const struct orion_addr_map_cfg *cfg, int win)
	if (win < 8)
		offset = (win << 4);
	else
		offset = ARMADA_WINDOW_8_PLUS_OFFSET + (win << 3);
		offset = ARMADA_WINDOW_8_PLUS_OFFSET + ((win - 8) << 3);

	return cfg->bridge_virt_base + offset;
}
+4 −5
Original line number Diff line number Diff line
@@ -66,13 +66,12 @@ static void __init armada_370_xp_dt_init(void)
	coherency_init();
}

static const char * const armada_370_xp_dt_board_dt_compat[] = {
	"marvell,a370-db",
	"marvell,axp-db",
static const char * const armada_370_xp_dt_compat[] = {
	"marvell,armada-370-xp",
	NULL,
};

DT_MACHINE_START(ARMADA_XP_DT, "Marvell Aramada 370/XP (Device Tree)")
DT_MACHINE_START(ARMADA_XP_DT, "Marvell Armada 370/XP (Device Tree)")
	.smp		= smp_ops(armada_xp_smp_ops),
	.init_machine	= armada_370_xp_dt_init,
	.map_io		= armada_370_xp_map_io,
@@ -81,5 +80,5 @@ DT_MACHINE_START(ARMADA_XP_DT, "Marvell Aramada 370/XP (Device Tree)")
	.handle_irq     = armada_370_xp_handle_irq,
	.timer		= &armada_370_xp_timer,
	.restart	= mvebu_restart,
	.dt_compat	= armada_370_xp_dt_board_dt_compat,
	.dt_compat	= armada_370_xp_dt_compat,
MACHINE_END
+11 −7
Original line number Diff line number Diff line
@@ -1162,8 +1162,7 @@ mv_xor_channel_add(struct mv_xor_device *xordev,
	/* clear errors before enabling interrupts */
	mv_xor_device_clear_err_status(mv_chan);

	ret = devm_request_irq(&pdev->dev, mv_chan->irq,
			       mv_xor_interrupt_handler,
	ret = request_irq(mv_chan->irq, mv_xor_interrupt_handler,
			  0, dev_name(&pdev->dev), mv_chan);
	if (ret)
		goto err_free_dma;
@@ -1185,14 +1184,14 @@ mv_xor_channel_add(struct mv_xor_device *xordev,
		ret = mv_xor_memcpy_self_test(mv_chan);
		dev_dbg(&pdev->dev, "memcpy self test returned %d\n", ret);
		if (ret)
			goto err_free_dma;
			goto err_free_irq;
	}

	if (dma_has_cap(DMA_XOR, dma_dev->cap_mask)) {
		ret = mv_xor_xor_self_test(mv_chan);
		dev_dbg(&pdev->dev, "xor self test returned %d\n", ret);
		if (ret)
			goto err_free_dma;
			goto err_free_irq;
	}

	dev_info(&pdev->dev, "Marvell XOR: "
@@ -1205,6 +1204,8 @@ mv_xor_channel_add(struct mv_xor_device *xordev,
	dma_async_device_register(dma_dev);
	return mv_chan;

err_free_irq:
	free_irq(mv_chan->irq, mv_chan);
 err_free_dma:
	dma_free_coherent(&pdev->dev, MV_XOR_POOL_SIZE,
			  mv_chan->dma_desc_pool_virt, mv_chan->dma_desc_pool);
@@ -1240,6 +1241,8 @@ mv_xor_conf_mbus_windows(struct mv_xor_device *xordev,

	writel(win_enable, base + WINDOW_BAR_ENABLE(0));
	writel(win_enable, base + WINDOW_BAR_ENABLE(1));
	writel(0, base + WINDOW_OVERRIDE_CTRL(0));
	writel(0, base + WINDOW_OVERRIDE_CTRL(1));
}

static int __devinit mv_xor_probe(struct platform_device *pdev)
@@ -1309,8 +1312,8 @@ static int __devinit mv_xor_probe(struct platform_device *pdev)
				dma_cap_set(DMA_INTERRUPT, cap_mask);

			irq = irq_of_parse_and_map(np, 0);
			if (irq < 0) {
				ret = irq;
			if (!irq) {
				ret = -ENODEV;
				goto err_channel_add;
			}

@@ -1319,6 +1322,7 @@ static int __devinit mv_xor_probe(struct platform_device *pdev)
						   cap_mask, irq);
			if (IS_ERR(xordev->channels[i])) {
				ret = PTR_ERR(xordev->channels[i]);
				xordev->channels[i] = NULL;
				irq_dispose_mapping(irq);
				goto err_channel_add;
			}
+1 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@
#define WINDOW_SIZE(w)		(0x270 + ((w) << 2))
#define WINDOW_REMAP_HIGH(w)	(0x290 + ((w) << 2))
#define WINDOW_BAR_ENABLE(chan)	(0x240 + ((chan) << 2))
#define WINDOW_OVERRIDE_CTRL(chan)	(0x2A0 + ((chan) << 2))

struct mv_xor_device {
	void __iomem	     *xor_base;