mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 07:22:33 +00:00
42 lines
1.3 KiB
Diff
42 lines
1.3 KiB
Diff
|
From 1216ea56c2e30aee4975b4dcce79ebd199afaf8f Mon Sep 17 00:00:00 2001
|
||
|
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||
|
Date: Mon, 9 Oct 2023 16:34:36 +0100
|
||
|
Subject: [PATCH] drm/fb-helper: Look up preferred fbdev node number from DT
|
||
|
|
||
|
For situations where there are multiple DRM cards in a system,
|
||
|
add a query of DT for "drm_fb" designations for cards to set
|
||
|
their preferred /dev/fbN designation.
|
||
|
|
||
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||
|
---
|
||
|
drivers/gpu/drm/drm_fb_helper.c | 11 ++++++++++-
|
||
|
1 file changed, 10 insertions(+), 1 deletion(-)
|
||
|
|
||
|
--- a/drivers/gpu/drm/drm_fb_helper.c
|
||
|
+++ b/drivers/gpu/drm/drm_fb_helper.c
|
||
|
@@ -1932,7 +1932,7 @@ __drm_fb_helper_initial_config_and_unloc
|
||
|
struct drm_device *dev = fb_helper->dev;
|
||
|
struct fb_info *info;
|
||
|
unsigned int width, height;
|
||
|
- int ret;
|
||
|
+ int ret, id;
|
||
|
|
||
|
width = dev->mode_config.max_width;
|
||
|
height = dev->mode_config.max_height;
|
||
|
@@ -1967,6 +1967,15 @@ __drm_fb_helper_initial_config_and_unloc
|
||
|
* register the fbdev emulation instance in kernel_fb_helper_list. */
|
||
|
mutex_unlock(&fb_helper->lock);
|
||
|
|
||
|
+ id = of_alias_get_highest_id("drm_fb");
|
||
|
+ if (id >= 0)
|
||
|
+ fb_set_lowest_dynamic_fb(id + 1);
|
||
|
+
|
||
|
+ id = of_alias_get_id(dev->dev->of_node, "drm_fb");
|
||
|
+ if (id >= 0) {
|
||
|
+ info->node = id;
|
||
|
+ info->custom_fb_num = true;
|
||
|
+ }
|
||
|
ret = register_framebuffer(info);
|
||
|
if (ret < 0)
|
||
|
return ret;
|