mirror of
https://github.com/torvalds/linux.git
synced 2025-11-02 09:40:27 +02:00
drm/bochs: Add support for drm_panic
Add drm_panic module for bochs drm so that panic screen can be displayed on panic. Signed-off-by: Ryosuke Yasuoka <ryasuoka@redhat.com> Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com> Link: https://lore.kernel.org/r/20250613132023.106946-1-ryasuoka@redhat.com Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
This commit is contained in:
parent
3828a643e8
commit
a629feabb5
1 changed files with 19 additions and 0 deletions
|
|
@ -19,6 +19,7 @@
|
||||||
#include <drm/drm_gem_shmem_helper.h>
|
#include <drm/drm_gem_shmem_helper.h>
|
||||||
#include <drm/drm_managed.h>
|
#include <drm/drm_managed.h>
|
||||||
#include <drm/drm_module.h>
|
#include <drm/drm_module.h>
|
||||||
|
#include <drm/drm_panic.h>
|
||||||
#include <drm/drm_plane_helper.h>
|
#include <drm/drm_plane_helper.h>
|
||||||
#include <drm/drm_probe_helper.h>
|
#include <drm/drm_probe_helper.h>
|
||||||
|
|
||||||
|
|
@ -469,10 +470,28 @@ static void bochs_primary_plane_helper_atomic_update(struct drm_plane *plane,
|
||||||
bochs_hw_setformat(bochs, fb->format);
|
bochs_hw_setformat(bochs, fb->format);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int bochs_primary_plane_helper_get_scanout_buffer(struct drm_plane *plane,
|
||||||
|
struct drm_scanout_buffer *sb)
|
||||||
|
{
|
||||||
|
struct bochs_device *bochs = to_bochs_device(plane->dev);
|
||||||
|
struct iosys_map map = IOSYS_MAP_INIT_VADDR_IOMEM(bochs->fb_map);
|
||||||
|
|
||||||
|
if (plane->state && plane->state->fb) {
|
||||||
|
sb->format = plane->state->fb->format;
|
||||||
|
sb->width = plane->state->fb->width;
|
||||||
|
sb->height = plane->state->fb->height;
|
||||||
|
sb->pitch[0] = plane->state->fb->pitches[0];
|
||||||
|
sb->map[0] = map;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
static const struct drm_plane_helper_funcs bochs_primary_plane_helper_funcs = {
|
static const struct drm_plane_helper_funcs bochs_primary_plane_helper_funcs = {
|
||||||
DRM_GEM_SHADOW_PLANE_HELPER_FUNCS,
|
DRM_GEM_SHADOW_PLANE_HELPER_FUNCS,
|
||||||
.atomic_check = bochs_primary_plane_helper_atomic_check,
|
.atomic_check = bochs_primary_plane_helper_atomic_check,
|
||||||
.atomic_update = bochs_primary_plane_helper_atomic_update,
|
.atomic_update = bochs_primary_plane_helper_atomic_update,
|
||||||
|
.get_scanout_buffer = bochs_primary_plane_helper_get_scanout_buffer,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct drm_plane_funcs bochs_primary_plane_funcs = {
|
static const struct drm_plane_funcs bochs_primary_plane_funcs = {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue