mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2025-12-24 20:40:12 +01:00
Merge branch 'modesetting-101' into modesetting-gem
This commit is contained in:
commit
241ff808b0
1 changed files with 31 additions and 0 deletions
|
|
@ -581,6 +581,22 @@ int intelfb_resize(struct drm_device *dev, struct drm_crtc *crtc)
|
|||
}
|
||||
EXPORT_SYMBOL(intelfb_resize);
|
||||
|
||||
static struct drm_mode_set panic_mode;
|
||||
|
||||
int intelfb_panic(struct notifier_block *n, unsigned long ununsed,
|
||||
void *panic_str)
|
||||
{
|
||||
DRM_ERROR("panic occurred, switching back to text console\n");
|
||||
drm_crtc_helper_set_config(&panic_mode);
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(intelfb_panic);
|
||||
|
||||
static struct notifier_block paniced = {
|
||||
.notifier_call = intelfb_panic,
|
||||
};
|
||||
|
||||
int intelfb_create(struct drm_device *dev, uint32_t fb_width, uint32_t fb_height,
|
||||
uint32_t surface_width, uint32_t surface_height,
|
||||
struct intel_framebuffer **intel_fb_p)
|
||||
|
|
@ -844,6 +860,12 @@ static int intelfb_multi_fb_probe_crtc(struct drm_device *dev, struct drm_crtc *
|
|||
|
||||
printk(KERN_INFO "fb%d: %s frame buffer device\n", info->node,
|
||||
info->fix.id);
|
||||
|
||||
/* Switch back to kernel console on panic */
|
||||
panic_mode = *modeset;
|
||||
atomic_notifier_chain_register(&panic_notifier_list, &paniced);
|
||||
printk(KERN_INFO "registered panic notifier\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -965,6 +987,12 @@ static int intelfb_single_fb_probe(struct drm_device *dev)
|
|||
|
||||
printk(KERN_INFO "fb%d: %s frame buffer device\n", info->node,
|
||||
info->fix.id);
|
||||
|
||||
/* Switch back to kernel console on panic */
|
||||
panic_mode = *modeset;
|
||||
atomic_notifier_chain_register(&panic_notifier_list, &paniced);
|
||||
printk(KERN_INFO "registered panic notifier\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -1020,6 +1048,9 @@ int intelfb_remove(struct drm_device *dev, struct drm_framebuffer *fb)
|
|||
mutex_unlock(&dev->struct_mutex);
|
||||
framebuffer_release(info);
|
||||
}
|
||||
|
||||
atomic_notifier_chain_unregister(&panic_notifier_list, &paniced);
|
||||
memset(&panic_mode, 0, sizeof(struct drm_mode_set));
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(intelfb_remove);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue