diff options
Diffstat (limited to 'drivers/gpu/drm/drm_atomic.c')
-rw-r--r-- | drivers/gpu/drm/drm_atomic.c | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index c2da5585e201..37445d50816a 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <linux/sync_file.h> | 33 | #include <linux/sync_file.h> |
34 | 34 | ||
35 | #include "drm_crtc_internal.h" | 35 | #include "drm_crtc_internal.h" |
36 | #include "drm_internal.h" | ||
36 | 37 | ||
37 | void __drm_crtc_commit_free(struct kref *kref) | 38 | void __drm_crtc_commit_free(struct kref *kref) |
38 | { | 39 | { |
@@ -907,11 +908,12 @@ static int drm_atomic_plane_check(struct drm_plane *plane, | |||
907 | state->src_h > fb_height || | 908 | state->src_h > fb_height || |
908 | state->src_y > fb_height - state->src_h) { | 909 | state->src_y > fb_height - state->src_h) { |
909 | DRM_DEBUG_ATOMIC("Invalid source coordinates " | 910 | DRM_DEBUG_ATOMIC("Invalid source coordinates " |
910 | "%u.%06ux%u.%06u+%u.%06u+%u.%06u\n", | 911 | "%u.%06ux%u.%06u+%u.%06u+%u.%06u (fb %ux%u)\n", |
911 | state->src_w >> 16, ((state->src_w & 0xffff) * 15625) >> 10, | 912 | state->src_w >> 16, ((state->src_w & 0xffff) * 15625) >> 10, |
912 | state->src_h >> 16, ((state->src_h & 0xffff) * 15625) >> 10, | 913 | state->src_h >> 16, ((state->src_h & 0xffff) * 15625) >> 10, |
913 | state->src_x >> 16, ((state->src_x & 0xffff) * 15625) >> 10, | 914 | state->src_x >> 16, ((state->src_x & 0xffff) * 15625) >> 10, |
914 | state->src_y >> 16, ((state->src_y & 0xffff) * 15625) >> 10); | 915 | state->src_y >> 16, ((state->src_y & 0xffff) * 15625) >> 10, |
916 | state->fb->width, state->fb->height); | ||
915 | return -ENOSPC; | 917 | return -ENOSPC; |
916 | } | 918 | } |
917 | 919 | ||
@@ -934,21 +936,8 @@ static void drm_atomic_plane_print_state(struct drm_printer *p, | |||
934 | drm_printf(p, "plane[%u]: %s\n", plane->base.id, plane->name); | 936 | drm_printf(p, "plane[%u]: %s\n", plane->base.id, plane->name); |
935 | drm_printf(p, "\tcrtc=%s\n", state->crtc ? state->crtc->name : "(null)"); | 937 | drm_printf(p, "\tcrtc=%s\n", state->crtc ? state->crtc->name : "(null)"); |
936 | drm_printf(p, "\tfb=%u\n", state->fb ? state->fb->base.id : 0); | 938 | drm_printf(p, "\tfb=%u\n", state->fb ? state->fb->base.id : 0); |
937 | if (state->fb) { | 939 | if (state->fb) |
938 | struct drm_framebuffer *fb = state->fb; | 940 | drm_framebuffer_print_info(p, 2, state->fb); |
939 | int i, n = fb->format->num_planes; | ||
940 | struct drm_format_name_buf format_name; | ||
941 | |||
942 | drm_printf(p, "\t\tformat=%s\n", | ||
943 | drm_get_format_name(fb->format->format, &format_name)); | ||
944 | drm_printf(p, "\t\t\tmodifier=0x%llx\n", fb->modifier); | ||
945 | drm_printf(p, "\t\tsize=%dx%d\n", fb->width, fb->height); | ||
946 | drm_printf(p, "\t\tlayers:\n"); | ||
947 | for (i = 0; i < n; i++) { | ||
948 | drm_printf(p, "\t\t\tpitch[%d]=%u\n", i, fb->pitches[i]); | ||
949 | drm_printf(p, "\t\t\toffset[%d]=%u\n", i, fb->offsets[i]); | ||
950 | } | ||
951 | } | ||
952 | drm_printf(p, "\tcrtc-pos=" DRM_RECT_FMT "\n", DRM_RECT_ARG(&dest)); | 941 | drm_printf(p, "\tcrtc-pos=" DRM_RECT_FMT "\n", DRM_RECT_ARG(&dest)); |
953 | drm_printf(p, "\tsrc-pos=" DRM_RECT_FP_FMT "\n", DRM_RECT_FP_ARG(&src)); | 942 | drm_printf(p, "\tsrc-pos=" DRM_RECT_FP_FMT "\n", DRM_RECT_FP_ARG(&src)); |
954 | drm_printf(p, "\trotation=%x\n", state->rotation); | 943 | drm_printf(p, "\trotation=%x\n", state->rotation); |
@@ -1808,7 +1797,7 @@ int drm_atomic_debugfs_init(struct drm_minor *minor) | |||
1808 | #endif | 1797 | #endif |
1809 | 1798 | ||
1810 | /* | 1799 | /* |
1811 | * The big monstor ioctl | 1800 | * The big monster ioctl |
1812 | */ | 1801 | */ |
1813 | 1802 | ||
1814 | static struct drm_pending_vblank_event *create_vblank_event( | 1803 | static struct drm_pending_vblank_event *create_vblank_event( |