From 0f8aea826a81c531f328abbf80dcbfd34799489b Mon Sep 17 00:00:00 2001 From: Mark Yao Date: Fri, 24 Feb 2017 16:58:32 +0800 Subject: [PATCH] drm/rockchip: vop: improve and add more info to vop sysfs cat /sys/kernel/debug/dri/0/summary: VOP [ff900000.vop]: ACTIVE Connector: DSI bus_format[0] output_mode[0] Display mode: 1200x1920p60 clk[159390] real_clk[159390] type[8] flag[a] H: 1200 1280 1281 1341 V: 1920 1955 1956 1981 win0-0: DISABLED win1-0: DISABLED win2-0: ACTIVE format: XB24 little-endian (0x34324258) zpos: 0 src: pos[0x0] rect[1200x1920] dst: pos[0x0] rect[1200x1920] buf[0]: addr: 0x0000000002d3a000 pitch: 4800 offset: 0 win2-0: DISABLED win2-1: DISABLED win2-2: DISABLED win3-0: DISABLED win3-0: DISABLED win3-1: DISABLED win3-2: DISABLED VOP [ff8f0000.vop]: DISABLED Change-Id: I7811b2411bd9d2d52059d15645de399b0de5a49b Signed-off-by: Mark Yao --- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 25 ++++++++++++++------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index 64132449431d..06a643a06867 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -1337,15 +1337,16 @@ static int vop_plane_info_dump(struct seq_file *s, struct drm_plane *plane) struct drm_framebuffer *fb = state->fb; int i; - seq_printf(s, "win%d-%d: status=%s\n", win->win_id, win->area_id, - pstate->enable ? "active" : "disabled"); + seq_printf(s, " win%d-%d: %s\n", win->win_id, win->area_id, + pstate->enable ? "ACTIVE" : "DISABLED"); if (!fb) return 0; src = &pstate->src; dest = &pstate->dest; - seq_printf(s, "\tformat: %s\n", drm_get_format_name(fb->pixel_format)); + seq_printf(s, "\tformat: %s%s\n", drm_get_format_name(fb->pixel_format), + fb->modifier[0] == DRM_FORMAT_MOD_ARM_AFBC ? "[AFBC]" : ""); seq_printf(s, "\tzpos: %d\n", pstate->zpos); seq_printf(s, "\tsrc: pos[%dx%d] rect[%dx%d]\n", src->x1 >> 16, src->y1 >> 16, drm_rect_width(src) >> 16, @@ -1367,18 +1368,26 @@ static int vop_crtc_debugfs_dump(struct drm_crtc *crtc, struct seq_file *s) struct vop *vop = to_vop(crtc); struct drm_crtc_state *crtc_state = crtc->state; struct drm_display_mode *mode = &crtc->state->adjusted_mode; + struct rockchip_crtc_state *state = to_rockchip_crtc_state(crtc->state); + bool interlaced = !!(mode->flags & DRM_MODE_FLAG_INTERLACE); struct drm_plane *plane; int i; - seq_printf(s, "vop name: %s status=%s\n", dev_name(vop->dev), - crtc_state->active ? "active" : "disabled"); + seq_printf(s, "VOP [%s]: %s\n", dev_name(vop->dev), + crtc_state->active ? "ACTIVE" : "DISABLED"); if (!crtc_state->active) return 0; - seq_printf(s, "Display mode: %s fps[%d] clk[%d] type[%d] flag[%x]\n", - mode->name, drm_mode_vrefresh(mode), mode->clock, - mode->type, mode->flags); + seq_printf(s, " Connector: %s\n", + drm_get_connector_name(state->output_type)); + seq_printf(s, "\tbus_format[%x] output_mode[%x]\n", + state->bus_format, state->output_mode); + seq_printf(s, " Display mode: %dx%d%s%d\n", + mode->hdisplay, mode->vdisplay, interlaced ? "i" : "p", + drm_mode_vrefresh(mode)); + seq_printf(s, "\tclk[%d] real_clk[%d] type[%x] flag[%x]\n", + mode->clock, mode->crtc_clock, mode->type, mode->flags); seq_printf(s, "\tH: %d %d %d %d\n", mode->hdisplay, mode->hsync_start, mode->hsync_end, mode->htotal); seq_printf(s, "\tV: %d %d %d %d\n", mode->vdisplay, mode->vsync_start, -- 2.34.1