Module Name:    src
Committed By:   mrg
Date:           Wed Apr 28 04:51:41 UTC 2021

Modified Files:
        src/sys/arch/arm/rockchip: rk_drm.c

Log Message:
for big endian kernels use DRM_FORMAT_BGRX8888 pixel format.

now my pinebook pro console looks right with evbarm64-eb, instead
of having red and green swapped, and no blue.  fixes both console
"text" mode and X11.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/rockchip/rk_drm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/rockchip/rk_drm.c
diff -u src/sys/arch/arm/rockchip/rk_drm.c:1.5 src/sys/arch/arm/rockchip/rk_drm.c:1.6
--- src/sys/arch/arm/rockchip/rk_drm.c:1.5	Sat Apr 24 23:36:28 2021
+++ src/sys/arch/arm/rockchip/rk_drm.c	Wed Apr 28 04:51:41 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: rk_drm.c,v 1.5 2021/04/24 23:36:28 thorpej Exp $ */
+/* $NetBSD: rk_drm.c,v 1.6 2021/04/28 04:51:41 mrg Exp $ */
 
 /*-
  * Copyright (c) 2019 Jared D. McNeill <jmcne...@invisible.ca>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rk_drm.c,v 1.5 2021/04/24 23:36:28 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rk_drm.c,v 1.6 2021/04/28 04:51:41 mrg Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -330,7 +330,11 @@ rk_drm_fb_probe(struct drm_fb_helper *he
 	fb->offsets[0] = 0;
 	fb->width = width;
 	fb->height = height;
+#ifdef __ARM_BIG_ENDIAN
+	fb->pixel_format = DRM_FORMAT_BGRX8888;
+#else
 	fb->pixel_format = DRM_FORMAT_XRGB8888;
+#endif
 	drm_fb_get_bpp_depth(fb->pixel_format, &fb->depth, &fb->bits_per_pixel);
 
 	error = drm_framebuffer_init(ddev, fb, &rk_drm_framebuffer_funcs);

Reply via email to