Skip to content

Commit d233408

Browse files
Andy Yanrkhuangtao
authored andcommitted
drm/rockchip: Add rockchip_drm_dbg_thread_info() function
Support print thread info. Change-Id: I56111c8bb438ad354553276881d74fc7a6186340 Signed-off-by: Andy Yan <[email protected]>
1 parent 5934888 commit d233408

File tree

4 files changed

+76
-40
lines changed

4 files changed

+76
-40
lines changed

drivers/gpu/drm/rockchip/rockchip_drm_drv.c

Lines changed: 44 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,34 @@ static inline bool rockchip_drm_debug_enabled(enum rockchip_drm_debug_category c
8181
return unlikely(drm_debug & category);
8282
}
8383

84+
static void rockchip_drm_dbg_print(const struct device *dev, enum rockchip_drm_debug_category category,
85+
bool show_thread, struct va_format *vaf)
86+
{
87+
if (rockchip_drm_debug_enabled(category)) {
88+
if (dev) {
89+
if (show_thread)
90+
dev_printk(KERN_DEBUG, dev, "%s %pV\n", current->comm, vaf);
91+
else
92+
dev_printk(KERN_DEBUG, dev, "%pV\n", vaf);
93+
} else {
94+
if (show_thread)
95+
printk(KERN_DEBUG "%s %pV\n", current->comm, vaf);
96+
else
97+
printk(KERN_DEBUG "%pV\n", vaf);
98+
}
99+
}
100+
101+
if (category == VOP_DEBUG_VSYNC)
102+
trace_rockchip_drm_dbg_vsync(vaf);
103+
else if (category == VOP_DEBUG_IOMMU_MAP)
104+
trace_rockchip_drm_dbg_iommu(vaf);
105+
else
106+
trace_rockchip_drm_dbg_common(vaf);
107+
}
108+
84109
__printf(3, 4)
85-
void rockchip_drm_dbg(const struct device *dev, enum rockchip_drm_debug_category category,
110+
void rockchip_drm_dbg(const struct device *dev,
111+
enum rockchip_drm_debug_category category,
86112
const char *format, ...)
87113
{
88114
struct va_format vaf;
@@ -92,19 +118,24 @@ void rockchip_drm_dbg(const struct device *dev, enum rockchip_drm_debug_category
92118
vaf.fmt = format;
93119
vaf.va = &args;
94120

95-
if (rockchip_drm_debug_enabled(category)) {
96-
if (dev)
97-
dev_printk(KERN_DEBUG, dev, "%pV\n", &vaf);
98-
else
99-
printk(KERN_DEBUG "%pV\n", &vaf);
100-
}
121+
rockchip_drm_dbg_print(dev, category, false, &vaf);
101122

102-
if (category == VOP_DEBUG_VSYNC)
103-
trace_rockchip_drm_dbg_vsync(&vaf);
104-
else if (category == VOP_DEBUG_IOMMU_MAP)
105-
trace_rockchip_drm_dbg_iommu(&vaf);
106-
else
107-
trace_rockchip_drm_dbg_common(&vaf);
123+
va_end(args);
124+
}
125+
126+
__printf(3, 4)
127+
void rockchip_drm_dbg_thread_info(const struct device *dev,
128+
enum rockchip_drm_debug_category category,
129+
const char *format, ...)
130+
{
131+
struct va_format vaf;
132+
va_list args;
133+
134+
va_start(args, format);
135+
vaf.fmt = format;
136+
vaf.va = &args;
137+
138+
rockchip_drm_dbg_print(dev, category, true, &vaf);
108139

109140
va_end(args);
110141
}

drivers/gpu/drm/rockchip/rockchip_drm_drv.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -649,8 +649,13 @@ bool rockchip_drm_is_rfbc(struct drm_plane *plane, u64 modifier);
649649
const char *rockchip_drm_modifier_to_string(uint64_t modifier);
650650

651651
__printf(3, 4)
652-
void rockchip_drm_dbg(const struct device *dev, enum rockchip_drm_debug_category category,
652+
void rockchip_drm_dbg(const struct device *dev,
653+
enum rockchip_drm_debug_category category,
653654
const char *format, ...);
655+
__printf(3, 4)
656+
void rockchip_drm_dbg_thread_info(const struct device *dev,
657+
enum rockchip_drm_debug_category category,
658+
const char *format, ...);
654659

655660
extern struct platform_driver cdn_dp_driver;
656661
extern struct platform_driver dw_hdmi_rockchip_pltfm_driver;

drivers/gpu/drm/rockchip/rockchip_drm_vop.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1993,8 +1993,8 @@ static void vop_plane_atomic_disable(struct drm_plane *plane,
19931993
if (!old_state->crtc)
19941994
return;
19951995

1996-
rockchip_drm_dbg(vop->dev, VOP_DEBUG_PLANE, "disable win%d-area%d by %s",
1997-
win->win_id, win->area_id, current->comm);
1996+
rockchip_drm_dbg_thread_info(vop->dev, VOP_DEBUG_PLANE, "disable win%d-area%d",
1997+
win->win_id, win->area_id);
19981998

19991999
spin_lock(&vop->reg_lock);
20002000

@@ -2249,12 +2249,12 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
22492249

22502250
if (rockchip_afbc(plane, fb->modifier))
22512251
afbc_en = true;
2252-
rockchip_drm_dbg(vop->dev, VOP_DEBUG_PLANE,
2253-
"update win%d-area%d [%dx%d->%dx%d@(%d, %d)] zpos:%d fmt[%p4cc%s] addr[%pad] by %s",
2254-
win->win_id, win->area_id, actual_w, actual_h,
2255-
dsp_w, dsp_h, dest->x1, dest->y1, vop_plane_state->zpos, &fb->format->format,
2256-
afbc_en ? "[AFBC]" : "",
2257-
&vop_plane_state->yrgb_mst, current->comm);
2252+
rockchip_drm_dbg_thread_info(vop->dev, VOP_DEBUG_PLANE,
2253+
"update win%d-area%d [%dx%d->%dx%d@(%d, %d)] zpos:%d fmt[%p4cc%s] addr[%pad]",
2254+
win->win_id, win->area_id, actual_w, actual_h,
2255+
dsp_w, dsp_h, dest->x1, dest->y1, vop_plane_state->zpos, &fb->format->format,
2256+
afbc_en ? "[AFBC]" : "",
2257+
&vop_plane_state->yrgb_mst);
22582258
/*
22592259
* spi interface(vop_plane_state->yrgb_kvaddr, fb->pixel_format,
22602260
* actual_w, actual_h)

drivers/gpu/drm/rockchip/rockchip_drm_vop2.c

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6112,13 +6112,13 @@ static void vop2_win_atomic_update(struct vop2_win *win, struct drm_rect *src, s
61126112

61136113
vop2_win_enable(win);
61146114
spin_lock(&vop2->reg_lock);
6115-
rockchip_drm_dbg(vop2->dev, VOP_DEBUG_PLANE,
6116-
"vp%d update %s[%dx%d@(%d, %d)->%dx%d@(%d, %d)] zpos[%d] fmt[%p4cc%s] addr[%pad] fb_size[0x%zx] by %s",
6117-
vp->id, win->name,
6118-
actual_w, actual_h, src->x1 >> 16, src->y1 >> 16,
6119-
dsp_w, dsp_h, dsp_stx, dsp_sty, vpstate->zpos,
6120-
&fb->format->format, rockchip_drm_modifier_to_string(fb->modifier),
6121-
&vpstate->yrgb_mst, vpstate->fb_size, current->comm);
6115+
rockchip_drm_dbg_thread_info(vop2->dev, VOP_DEBUG_PLANE,
6116+
"vp%d update %s[%dx%d@(%d, %d)->%dx%d@(%d, %d)] zpos[%d] fmt[%p4cc%s] addr[%pad] fb_size[0x%zx]",
6117+
vp->id, win->name,
6118+
actual_w, actual_h, src->x1 >> 16, src->y1 >> 16,
6119+
dsp_w, dsp_h, dsp_stx, dsp_sty, vpstate->zpos,
6120+
&fb->format->format, rockchip_drm_modifier_to_string(fb->modifier),
6121+
&vpstate->yrgb_mst, vpstate->fb_size);
61226122

61236123
if (vop2->version != VOP_VERSION_RK3568)
61246124
rk3588_vop2_win_cfg_axi(win);
@@ -6362,17 +6362,17 @@ static void vop2_plane_atomic_update(struct drm_plane *plane, struct drm_atomic_
63626362
}
63636363

63646364
if (vcstate->splice_mode) {
6365-
rockchip_drm_dbg(vop2->dev, VOP_DEBUG_PLANE,
6366-
"vp%d update %s[%dx%d@(%d, %d)->%dx%d@(%d, %d)] zpos[%d] fmt[%p4cc%s] addr[%pad] fb_size[0x%zx] by %s",
6367-
vp->id, win->name,
6368-
drm_rect_width(&vpstate->src) >> 16,
6369-
drm_rect_height(&vpstate->src) >> 16,
6370-
vpstate->src.x1 >> 16, vpstate->src.y1 >> 16,
6371-
drm_rect_width(&vpstate->dest), drm_rect_height(&vpstate->dest),
6372-
vpstate->dest.x1, vpstate->dest.y1, vpstate->zpos,
6373-
&fb->format->format,
6374-
rockchip_drm_modifier_to_string(fb->modifier), &vpstate->yrgb_mst,
6375-
vpstate->fb_size, current->comm);
6365+
rockchip_drm_dbg_thread_info(vop2->dev, VOP_DEBUG_PLANE,
6366+
"vp%d update %s[%dx%d@(%d, %d)->%dx%d@(%d, %d)] zpos[%d] fmt[%p4cc%s] addr[%pad] fb_size[0x%zx]",
6367+
vp->id, win->name,
6368+
drm_rect_width(&vpstate->src) >> 16,
6369+
drm_rect_height(&vpstate->src) >> 16,
6370+
vpstate->src.x1 >> 16, vpstate->src.y1 >> 16,
6371+
drm_rect_width(&vpstate->dest), drm_rect_height(&vpstate->dest),
6372+
vpstate->dest.x1, vpstate->dest.y1, vpstate->zpos,
6373+
&fb->format->format,
6374+
rockchip_drm_modifier_to_string(fb->modifier), &vpstate->yrgb_mst,
6375+
vpstate->fb_size);
63766376

63776377
vop2_calc_drm_rect_for_splice(vpstate, &wsrc, &wdst, &right_wsrc, &right_wdst);
63786378
splice_win = win->splice_win;

0 commit comments

Comments
 (0)