diff mbox

[1/7,RESEND] video: ARM CLCD: runtime check for Versatile

Message ID 1456221704-5792-2-git-send-email-linus.walleij@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Linus Walleij Feb. 23, 2016, 10:01 a.m. UTC
The current compile-time check for inversed IENB/CNTL does not
work in multiplatform boots: as soon as versatile is included
in the build, the IENB/CNTL is switched and breaks graphics.
Convert this to a runtime switch.

Cc: stable@vger.kernel.org
Cc: Rob Herring <robh@kernel.org>
Cc: Russell King <linux@arm.linux.org.uk>
Fixes: a29da136de34 ("ARM: versatile: convert to multi-platform")
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/video/fbdev/amba-clcd.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

Comments

Linus Walleij April 15, 2016, 11:47 a.m. UTC | #1
On Tue, Feb 23, 2016 at 11:01 AM, Linus Walleij
<linus.walleij@linaro.org> wrote:

> The current compile-time check for inversed IENB/CNTL does not
> work in multiplatform boots: as soon as versatile is included
> in the build, the IENB/CNTL is switched and breaks graphics.
> Convert this to a runtime switch.
>
> Cc: stable@vger.kernel.org
> Cc: Rob Herring <robh@kernel.org>
> Cc: Russell King <linux@arm.linux.org.uk>
> Fixes: a29da136de34 ("ARM: versatile: convert to multi-platform")
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

Tomi can you PLEASE merge this patch which is regressing all
the Versatile hardware since commit a29da136de34?

It is not dependent on the rest of the series.

I am coming back to revising the rest of the patches, but
this one need to go in.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tomi Valkeinen April 18, 2016, 9:10 a.m. UTC | #2
On 15/04/16 14:47, Linus Walleij wrote:
> On Tue, Feb 23, 2016 at 11:01 AM, Linus Walleij
> <linus.walleij@linaro.org> wrote:
> 
>> The current compile-time check for inversed IENB/CNTL does not
>> work in multiplatform boots: as soon as versatile is included
>> in the build, the IENB/CNTL is switched and breaks graphics.
>> Convert this to a runtime switch.
>>
>> Cc: stable@vger.kernel.org
>> Cc: Rob Herring <robh@kernel.org>
>> Cc: Russell King <linux@arm.linux.org.uk>
>> Fixes: a29da136de34 ("ARM: versatile: convert to multi-platform")
>> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> 
> Tomi can you PLEASE merge this patch which is regressing all
> the Versatile hardware since commit a29da136de34?
> 
> It is not dependent on the rest of the series.
> 
> I am coming back to revising the rest of the patches, but
> this one need to go in.

Sure, queued for 4.6 fixes.

 Tomi
diff mbox

Patch

diff --git a/drivers/video/fbdev/amba-clcd.c b/drivers/video/fbdev/amba-clcd.c
index 9362424c2340..f9ef06d0cd48 100644
--- a/drivers/video/fbdev/amba-clcd.c
+++ b/drivers/video/fbdev/amba-clcd.c
@@ -440,13 +440,14 @@  static int clcdfb_register(struct clcd_fb *fb)
 		fb->off_ienb = CLCD_PL111_IENB;
 		fb->off_cntl = CLCD_PL111_CNTL;
 	} else {
-#ifdef CONFIG_ARCH_VERSATILE
-		fb->off_ienb = CLCD_PL111_IENB;
-		fb->off_cntl = CLCD_PL111_CNTL;
-#else
-		fb->off_ienb = CLCD_PL110_IENB;
-		fb->off_cntl = CLCD_PL110_CNTL;
-#endif
+		if (of_machine_is_compatible("arm,versatile-ab") ||
+		    of_machine_is_compatible("arm,versatile-pb")) {
+			fb->off_ienb = CLCD_PL111_IENB;
+			fb->off_cntl = CLCD_PL111_CNTL;
+		} else {
+			fb->off_ienb = CLCD_PL110_IENB;
+			fb->off_cntl = CLCD_PL110_CNTL;
+		}
 	}
 
 	fb->clk = clk_get(&fb->dev->dev, NULL);