NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/54011: i915drmkms/intelfb crashes at boot



>Number:         54011
>Category:       kern
>Synopsis:       i915drmkms/intelfb crashes at boot
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Feb 24 19:40:00 +0000 2019
>Originator:     Arto Huusko
>Release:        8.99.34
>Organization:
>Environment:
NetBSD 8.99.34 amd64 Acer V5-131
>Description:
i915drmkms console framebuffer initialization causes uvm_fault in rasops_reconfig when the screen is initially cleared, because the mapped framebuffer is smaller than screen size. Backtrace is

memset
rasops_init
genfb_init_screen
vcons_init_screen
genfb_attach
drmfb_attach
intelfb_attach_task
i915drmkms_attach_real
>How-To-Repeat:
Boot NetBSD on a laptop with i915 hardware connected to a monitor with larger native size than laptop internal display, and where the laptop BIOS does not support output to connected monitor.
>Fix:
Naive fix:

Index: external/bsd/drm2/dist/drm/i915/intel_fbdev.c
===================================================================
RCS file: /cvsroot/src/sys/external/bsd/drm2/dist/drm/i915/intel_fbdev.c,v
retrieving revision 1.9
diff -r1.9 intel_fbdev.c
218,219c218,219
<           (sizes->fb_width > intel_fb->base.width ||
<            sizes->fb_height > intel_fb->base.height)) {
---
>           (sizes->surface_width > intel_fb->base.width ||
>            sizes->surface_height > intel_fb->base.height)) {


This is naive fix because latest Linux source is identical to NetBSD, and presumably Linux works in this kind of setup, so linux must handle this differently. Possibly Linux will not automatically force output to the monitor, and changing console to the monitor in a separate step causes fb reallocation.



Home | Main Index | Thread Index | Old Index