From cebba8682e1fbee3ff5a04b17a7b7d90eb049beb Mon Sep 17 00:00:00 2001 From: Yusuf Khan Date: Mon, 8 Aug 2022 22:28:05 -0400 Subject: [PATCH] drm: support fbcon Signed-off-by: Yusuf Khan --- kernel-open/conftest.sh | 1 + kernel-open/nvidia-drm/nvidia-drm-drv.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/kernel-open/conftest.sh b/kernel-open/conftest.sh index dae07d2b4..d1779fa64 100755 --- a/kernel-open/conftest.sh +++ b/kernel-open/conftest.sh @@ -122,6 +122,7 @@ test_headers() { FILES="$FILES drm/drm_ioctl.h" FILES="$FILES drm/drm_device.h" FILES="$FILES drm/drm_mode_config.h" + FILES="$FILES drm/drm_fb_helper.h" FILES="$FILES dt-bindings/interconnect/tegra_icc_id.h" FILES="$FILES generated/autoconf.h" FILES="$FILES generated/compile.h" diff --git a/kernel-open/nvidia-drm/nvidia-drm-drv.c b/kernel-open/nvidia-drm/nvidia-drm-drv.c index cf2080db3..db8762104 100644 --- a/kernel-open/nvidia-drm/nvidia-drm-drv.c +++ b/kernel-open/nvidia-drm/nvidia-drm-drv.c @@ -60,6 +60,10 @@ #include #endif +#if defined(NV_DRM_DRM_FB_HELPER_H_PRESENT) +#include +#endif + #include /* @@ -84,6 +88,10 @@ #include #endif +static int NvDrmEnableFbcon = 0; +module_param(NvDrmEnableFbcon, int, S_IRUGO); + + static struct nv_drm_device *dev_list = NULL; #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) @@ -947,6 +955,12 @@ static void nv_drm_register_drm_device(const nv_gpu_info_t *gpu_info) nv_dev->next = dev_list; dev_list = nv_dev; + #if defined(NV_DRM_DRM_FB_HELPER_H_PRESENT) + if (NvDrmEnableFbcon) + drm_fbdev_generic_setup(dev, 0); + + #endif + return; /* Success */ failed_drm_register: