summaryrefslogtreecommitdiff
path: root/drivers/bus/mvebu-mbus.c
diff options
context:
space:
mode:
authorPraneeth Bajjuri <praneeth@ti.com>2015-02-03 15:45:57 -0600
committerPraneeth Bajjuri <praneeth@ti.com>2015-02-03 15:45:57 -0600
commit95b851016f79c42a9e8a824c7c81e49015c17820 (patch)
tree61e096ff6a654315c40a00eaff682be00c50f861 /drivers/bus/mvebu-mbus.c
parentc73470c1da26dc543452fbff16a02beb62fec938 (diff)
parent94953719b7d459c72eede4a0164d49dfcfc76a94 (diff)
Merge branch 'p-ti-linux-3.14.y-android' of git://git.omapzoom.org/kernel/omap into p-ti-linux-3.14.y-android
* 'p-ti-linux-3.14.y-android' of git://git.omapzoom.org/kernel/omap: (216 commits) usb: dwc3: debugfs: dual role switch through debugfs entries ARM: DRA7: dts: Add coprocessor nodes for iva remoteproc/pruss: fix shutdown for manually booted PRU cores remoteproc/pruss: fix the cleanup path in pru_rproc_probe() UAPI: Increasing the max FRAME number to 128. gpio: mcp23s08: Set initial direction and value from DT firmware: Load VPDMA firmware from kernel iommu/omap: Fix a sleeping function invocation in atomic context bug media: ti-vpe: vpe: Add RGB565 and RGB5551 support media: ti-vpe: vpe: Post next descriptor only for list complete IRQ media: ti-vpe: vpe: Setup srcdst parameters in streamON omapdrm: Expose the OMAP pre-multiplied alpha property through DRM omapdrm: Expose the OMAP global alpha property through DRM ti_fragments: audio_display: enable BACKLIGHT_GPIO and PANEL_DPI ti_fragments: audio_display: clean up arm/dts: am57xx-evm: Add LCD support backlight: gpio-backlight: Add DT support arm/dts: dra7xx: fix display compatible strings OMAPDSS: add missing 'omapdss' prefixes to display drivers OMAPDSS: add dra7-dss to dt conversion list ... Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Diffstat (limited to 'drivers/bus/mvebu-mbus.c')
-rw-r--r--drivers/bus/mvebu-mbus.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/bus/mvebu-mbus.c b/drivers/bus/mvebu-mbus.c
index 372ae72cce3..e990deed2d3 100644
--- a/drivers/bus/mvebu-mbus.c
+++ b/drivers/bus/mvebu-mbus.c
@@ -181,12 +181,25 @@ static void mvebu_mbus_disable_window(struct mvebu_mbus_state *mbus,
}
/* Checks whether the given window number is available */
+
+/* On Armada XP, 375 and 38x the MBus window 13 has the remap
+ * capability, like windows 0 to 7. However, the mvebu-mbus driver
+ * isn't currently taking into account this special case, which means
+ * that when window 13 is actually used, the remap registers are left
+ * to 0, making the device using this MBus window unavailable. The
+ * quick fix for stable is to not use window 13. A follow up patch
+ * will correctly handle this window.
+*/
static int mvebu_mbus_window_is_free(struct mvebu_mbus_state *mbus,
const int win)
{
void __iomem *addr = mbus->mbuswins_base +
mbus->soc->win_cfg_offset(win);
u32 ctrl = readl(addr + WIN_CTRL_OFF);
+
+ if (win == 13)
+ return false;
+
return !(ctrl & WIN_CTRL_ENABLE);
}