Skip to content

Commit e3fc158

Browse files
chenhuacaiKexyBiscuit
authored andcommitted
BACKPORT: FROMLIST: drm/Makefile: Move tiny drivers before native drivers
After commit 60aebc9 ("drivers/firmware: Move sysfb_init() from device_initcall to subsys_initcall_sync") some Lenovo laptops get a blank screen until the display manager starts. This regression occurs with such a Kconfig combination: CONFIG_SYSFB=y CONFIG_SYSFB_SIMPLEFB=y CONFIG_DRM_SIMPLEDRM=y CONFIG_DRM_I915=y # Or other native drivers such as radeon, amdgpu If replace CONFIG_DRM_SIMPLEDRM with CONFIG_FB_SIMPLE (they use the same device), there is no blank screen. The root cause is the initialization order, and this order depends on the Makefile. FB_SIMPLE is before native DRM drivers (e.g. i915, radeon, amdgpu, and so on), but DRM_SIMPLEDRM is after them. Thus, if we use FB_SIMPLE, I915 will takeover FB_SIMPLE, then no problem; and if we use DRM_SIMPLEDRM, DRM_SIMPLEDRM will try to takeover I915, but fails to work. So we can move the "tiny" directory before native DRM drivers to solve this problem. Fixes: 60aebc9 ("drivers/firmware: Move sysfb_init() from device_initcall to subsys_initcall_sync") Closes: https://lore.kernel.org/dri-devel/[email protected]/T/#t Reported-by: Jaak Ristioja <[email protected]> Signed-off-by: Huacai Chen <[email protected]> Link: https://lore.kernel.org/all/[email protected]/ [Kexy: Resolved minor conflict in drivers/gpu/drm/Makefile] Signed-off-by: Kexy Biscuit <[email protected]>
1 parent 8032210 commit e3fc158

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/gpu/drm/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@ obj-y += clients/
164164
obj-y += display/
165165
obj-$(CONFIG_DRM_TTM) += ttm/
166166
obj-$(CONFIG_DRM_SCHED) += scheduler/
167+
obj-y += tiny/
167168
obj-$(CONFIG_DRM_RADEON)+= radeon/
168169
obj-$(CONFIG_DRM_AMDGPU)+= amd/amdgpu/
169170
obj-$(CONFIG_DRM_AMDGPU)+= amd/amdxcp/
@@ -207,7 +208,6 @@ obj-$(CONFIG_DRM_ETNAVIV) += etnaviv/
207208
obj-y += hisilicon/
208209
obj-y += mxsfb/
209210
obj-y += sysfb/
210-
obj-y += tiny/
211211
obj-$(CONFIG_DRM_PL111) += pl111/
212212
obj-$(CONFIG_DRM_TVE200) += tve200/
213213
obj-$(CONFIG_DRM_ADP) += adp/

0 commit comments

Comments
 (0)