Situation as follow: 2 GPUs + vesafb + kms. GPU 1 is primary, vesafb binds to it as fb0 radeon loads GPU 0 loads as fb1 GPU 1 loads, vesafb gets kicked off which causes fb0 to unbind console, which causes the dummy console to rebind. this means fbcon_deinit gets called, which calls fbcon_exit since the console isn't bound anymore and we set fbcon_has_exited. GPU 1 creates a new fb0 which is primary and we want to be console. fbcon_fb_registered gets called sets the primary up and calls set_con2fb_map, however as fbcon_has_exited is set nothing further ever happens. This patch bypasses the fbcon_has_exited and checks if the console is unbound, if its unbound it calls the fbcon_takeover which calls the vt layer to call the fbcon_startup method and everthing works. Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org> |
||
|---|---|---|
| .. | ||
| bitblit.c | ||
| dummycon.c | ||
| fbcon.c | ||
| fbcon.h | ||
| fbcon_ccw.c | ||
| fbcon_cw.c | ||
| fbcon_rotate.c | ||
| fbcon_rotate.h | ||
| fbcon_ud.c | ||
| font_6x11.c | ||
| font_7x14.c | ||
| font_8x8.c | ||
| font_8x16.c | ||
| font_10x18.c | ||
| font_acorn_8x8.c | ||
| font_mini_4x6.c | ||
| font_pearl_8x8.c | ||
| font_sun8x16.c | ||
| font_sun12x22.c | ||
| fonts.c | ||
| Kconfig | ||
| Makefile | ||
| mdacon.c | ||
| newport_con.c | ||
| softcursor.c | ||
| sticon.c | ||
| sticore.c | ||
| tileblit.c | ||
| vgacon.c | ||