Skip to content

Commit a629fea

Browse files
YsuOSJocelyn Falempe
authored andcommitted
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>
1 parent 3828a64 commit a629fea

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

drivers/gpu/drm/tiny/bochs.c

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <drm/drm_gem_shmem_helper.h>
2020
#include <drm/drm_managed.h>
2121
#include <drm/drm_module.h>
22+
#include <drm/drm_panic.h>
2223
#include <drm/drm_plane_helper.h>
2324
#include <drm/drm_probe_helper.h>
2425

@@ -469,10 +470,28 @@ static void bochs_primary_plane_helper_atomic_update(struct drm_plane *plane,
469470
bochs_hw_setformat(bochs, fb->format);
470471
}
471472

473+
static int bochs_primary_plane_helper_get_scanout_buffer(struct drm_plane *plane,
474+
struct drm_scanout_buffer *sb)
475+
{
476+
struct bochs_device *bochs = to_bochs_device(plane->dev);
477+
struct iosys_map map = IOSYS_MAP_INIT_VADDR_IOMEM(bochs->fb_map);
478+
479+
if (plane->state && plane->state->fb) {
480+
sb->format = plane->state->fb->format;
481+
sb->width = plane->state->fb->width;
482+
sb->height = plane->state->fb->height;
483+
sb->pitch[0] = plane->state->fb->pitches[0];
484+
sb->map[0] = map;
485+
return 0;
486+
}
487+
return -ENODEV;
488+
}
489+
472490
static const struct drm_plane_helper_funcs bochs_primary_plane_helper_funcs = {
473491
DRM_GEM_SHADOW_PLANE_HELPER_FUNCS,
474492
.atomic_check = bochs_primary_plane_helper_atomic_check,
475493
.atomic_update = bochs_primary_plane_helper_atomic_update,
494+
.get_scanout_buffer = bochs_primary_plane_helper_get_scanout_buffer,
476495
};
477496

478497
static const struct drm_plane_funcs bochs_primary_plane_funcs = {

0 commit comments

Comments
 (0)