On Mon, Feb 15, 2021 at 01:40:30PM +0200, Sakari Ailus wrote: > Switch DRM drivers from drm_get_format_name() to %p4cc. This gets rid of a > large number of temporary variables at the same time. What a nice clean up! Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> after addressing nit-picks below. Side note (no need to implement esp. right now): it seems often it's coupled with modifier, would be nice to have them together that %p4ccM or so can do it in one go. > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 5 ++-- > drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 5 ++-- > drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 5 ++-- > drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 5 ++-- > .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 5 ++-- > .../arm/display/komeda/komeda_format_caps.h | 11 -------- > .../arm/display/komeda/komeda_framebuffer.c | 4 +-- > .../gpu/drm/arm/display/komeda/komeda_plane.c | 6 ++--- > drivers/gpu/drm/arm/malidp_mw.c | 7 ++---- > drivers/gpu/drm/drm_atomic.c | 8 ++---- > drivers/gpu/drm/drm_crtc.c | 7 ++---- > drivers/gpu/drm/drm_fourcc.c | 25 ------------------- > drivers/gpu/drm/drm_framebuffer.c | 11 +++----- > drivers/gpu/drm/drm_mipi_dbi.c | 5 ++-- > drivers/gpu/drm/drm_plane.c | 8 ++---- > .../gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 5 ++-- > drivers/gpu/drm/i915/display/intel_display.c | 14 +++-------- > .../drm/i915/display/intel_display_debugfs.c | 19 ++++++-------- > drivers/gpu/drm/i915/display/intel_sprite.c | 6 ++--- > drivers/gpu/drm/mcde/mcde_display.c | 6 ++--- > drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 6 ++--- > drivers/gpu/drm/nouveau/nouveau_display.c | 9 +++---- > drivers/gpu/drm/radeon/atombios_crtc.c | 10 +++----- > drivers/gpu/drm/sun4i/sun4i_backend.c | 6 ++--- > drivers/gpu/drm/vkms/vkms_writeback.c | 7 ++---- > drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 15 +++++------ > include/drm/drm_fourcc.h | 1 - > 27 files changed, 64 insertions(+), 157 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c > index 7944781e1086..ea825b4f8ee8 100644 > --- a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c > @@ -1862,7 +1862,6 @@ static int dce_v10_0_crtc_do_set_base(struct drm_crtc *crtc, > u32 tmp, viewport_w, viewport_h; > int r; > bool bypass_lut = false; > - struct drm_format_name_buf format_name; > > /* no fb bound */ > if (!atomic && !crtc->primary->fb) { > @@ -1981,8 +1980,8 @@ static int dce_v10_0_crtc_do_set_base(struct drm_crtc *crtc, > #endif > break; > default: > - DRM_ERROR("Unsupported screen format %s\n", > - drm_get_format_name(target_fb->format->format, &format_name)); > + DRM_ERROR("Unsupported screen format %p4cc\n", > + &target_fb->format->format); > return -EINVAL; > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c > index 1b6ff0470011..a360a6dec198 100644 > --- a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c > @@ -1904,7 +1904,6 @@ static int dce_v11_0_crtc_do_set_base(struct drm_crtc *crtc, > u32 tmp, viewport_w, viewport_h; > int r; > bool bypass_lut = false; > - struct drm_format_name_buf format_name; > > /* no fb bound */ > if (!atomic && !crtc->primary->fb) { > @@ -2023,8 +2022,8 @@ static int dce_v11_0_crtc_do_set_base(struct drm_crtc *crtc, > #endif > break; > default: > - DRM_ERROR("Unsupported screen format %s\n", > - drm_get_format_name(target_fb->format->format, &format_name)); > + DRM_ERROR("Unsupported screen format %p4cc\n", > + &target_fb->format->format); > return -EINVAL; > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c > index 83a88385b762..ef124ac853b6 100644 > --- a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c > @@ -1820,7 +1820,6 @@ static int dce_v6_0_crtc_do_set_base(struct drm_crtc *crtc, > u32 viewport_w, viewport_h; > int r; > bool bypass_lut = false; > - struct drm_format_name_buf format_name; > > /* no fb bound */ > if (!atomic && !crtc->primary->fb) { > @@ -1929,8 +1928,8 @@ static int dce_v6_0_crtc_do_set_base(struct drm_crtc *crtc, > #endif > break; > default: > - DRM_ERROR("Unsupported screen format %s\n", > - drm_get_format_name(target_fb->format->format, &format_name)); > + DRM_ERROR("Unsupported screen format %p4cc\n", > + &target_fb->format->format); > return -EINVAL; > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c > index 224b30214427..c98650183828 100644 > --- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c > @@ -1791,7 +1791,6 @@ static int dce_v8_0_crtc_do_set_base(struct drm_crtc *crtc, > u32 viewport_w, viewport_h; > int r; > bool bypass_lut = false; > - struct drm_format_name_buf format_name; > > /* no fb bound */ > if (!atomic && !crtc->primary->fb) { > @@ -1902,8 +1901,8 @@ static int dce_v8_0_crtc_do_set_base(struct drm_crtc *crtc, > #endif > break; > default: > - DRM_ERROR("Unsupported screen format %s\n", > - drm_get_format_name(target_fb->format->format, &format_name)); > + DRM_ERROR("Unsupported screen format %p4cc\n", > + &target_fb->format->format); > return -EINVAL; > } > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > index c6da89df055d..fcef3bf14952 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > @@ -4465,7 +4465,6 @@ fill_dc_plane_info_and_addr(struct amdgpu_device *adev, > const struct drm_framebuffer *fb = plane_state->fb; > const struct amdgpu_framebuffer *afb = > to_amdgpu_framebuffer(plane_state->fb); > - struct drm_format_name_buf format_name; > int ret; > > memset(plane_info, 0, sizeof(*plane_info)); > @@ -4513,8 +4512,8 @@ fill_dc_plane_info_and_addr(struct amdgpu_device *adev, > break; > default: > DRM_ERROR( > - "Unsupported screen format %s\n", > - drm_get_format_name(fb->format->format, &format_name)); > + "Unsupported screen format %p4cc\n", > + &fb->format->format); > return -EINVAL; > } > > diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_format_caps.h b/drivers/gpu/drm/arm/display/komeda/komeda_format_caps.h > index 32273cf18f7c..cf7a183f773d 100644 > --- a/drivers/gpu/drm/arm/display/komeda/komeda_format_caps.h > +++ b/drivers/gpu/drm/arm/display/komeda/komeda_format_caps.h > @@ -82,17 +82,6 @@ struct komeda_format_caps_table { > > extern u64 komeda_supported_modifiers[]; > > -static inline const char *komeda_get_format_name(u32 fourcc, u64 modifier) > -{ > - struct drm_format_name_buf buf; > - static char name[64]; > - > - snprintf(name, sizeof(name), "%s with modifier: 0x%llx.", > - drm_get_format_name(fourcc, &buf), modifier); > - > - return name; > -} > - > const struct komeda_format_caps * > komeda_get_format_caps(struct komeda_format_caps_table *table, > u32 fourcc, u64 modifier); > diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_framebuffer.c b/drivers/gpu/drm/arm/display/komeda/komeda_framebuffer.c > index 170f9dc8ec19..3c372d2deb0a 100644 > --- a/drivers/gpu/drm/arm/display/komeda/komeda_framebuffer.c > +++ b/drivers/gpu/drm/arm/display/komeda/komeda_framebuffer.c > @@ -276,8 +276,8 @@ bool komeda_fb_is_layer_supported(struct komeda_fb *kfb, u32 layer_type, > supported = komeda_format_mod_supported(&mdev->fmt_tbl, layer_type, > fourcc, modifier, rot); > if (!supported) > - DRM_DEBUG_ATOMIC("Layer TYPE: %d doesn't support fb FMT: %s.\n", > - layer_type, komeda_get_format_name(fourcc, modifier)); > + DRM_DEBUG_ATOMIC("Layer TYPE: %d doesn't support fb FMT: %p4cc with modifier: 0x%llx.\n", > + layer_type, &fourcc, modifier); > > return supported; > } > diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_plane.c b/drivers/gpu/drm/arm/display/komeda/komeda_plane.c > index 98e915e325dd..2d5066ea270c 100644 > --- a/drivers/gpu/drm/arm/display/komeda/komeda_plane.c > +++ b/drivers/gpu/drm/arm/display/komeda/komeda_plane.c > @@ -49,10 +49,8 @@ komeda_plane_init_data_flow(struct drm_plane_state *st, > > dflow->rot = drm_rotation_simplify(st->rotation, caps->supported_rots); > if (!has_bits(dflow->rot, caps->supported_rots)) { > - DRM_DEBUG_ATOMIC("rotation(0x%x) isn't supported by %s.\n", > - dflow->rot, > - komeda_get_format_name(caps->fourcc, > - fb->modifier)); > + DRM_DEBUG_ATOMIC("rotation(0x%x) isn't supported by %p4cc with modifier: 0x%llx.\n", > + dflow->rot, &caps->fourcc, fb->modifier); > return -EINVAL; > } > > diff --git a/drivers/gpu/drm/arm/malidp_mw.c b/drivers/gpu/drm/arm/malidp_mw.c > index 7d0e7b031e44..f5847a79dd7e 100644 > --- a/drivers/gpu/drm/arm/malidp_mw.c > +++ b/drivers/gpu/drm/arm/malidp_mw.c > @@ -151,11 +151,8 @@ malidp_mw_encoder_atomic_check(struct drm_encoder *encoder, > malidp_hw_get_format_id(&malidp->dev->hw->map, SE_MEMWRITE, > fb->format->format, !!fb->modifier); > if (mw_state->format == MALIDP_INVALID_FORMAT_ID) { > - struct drm_format_name_buf format_name; > - > - DRM_DEBUG_KMS("Invalid pixel format %s\n", > - drm_get_format_name(fb->format->format, > - &format_name)); > + DRM_DEBUG_KMS("Invalid pixel format %p4cc\n", > + &fb->format->format); > return -EINVAL; > } > > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index dda60051854b..ce2ee6b8bf34 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -578,13 +578,9 @@ static int drm_atomic_plane_check(const struct drm_plane_state *old_plane_state, > ret = drm_plane_check_pixel_format(plane, fb->format->format, > fb->modifier); > if (ret) { > - struct drm_format_name_buf format_name; > - > - DRM_DEBUG_ATOMIC("[PLANE:%d:%s] invalid pixel format %s, modifier 0x%llx\n", > + DRM_DEBUG_ATOMIC("[PLANE:%d:%s] invalid pixel format %p4cc, modifier 0x%llx\n", > plane->base.id, plane->name, > - drm_get_format_name(fb->format->format, > - &format_name), > - fb->modifier); > + &fb->format->format, fb->modifier); > return ret; > } > > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c > index 74090fc3aa55..9ba2d3640b47 100644 > --- a/drivers/gpu/drm/drm_crtc.c > +++ b/drivers/gpu/drm/drm_crtc.c > @@ -663,11 +663,8 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data, > fb->format->format, > fb->modifier); > if (ret) { > - struct drm_format_name_buf format_name; > - > - DRM_DEBUG_KMS("Invalid pixel format %s, modifier 0x%llx\n", > - drm_get_format_name(fb->format->format, > - &format_name), > + DRM_DEBUG_KMS("Invalid pixel format %p4cc, modifier 0x%llx\n", > + &fb->format->format, > fb->modifier); > goto out; > } > diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c > index 03262472059c..5cf45aa6eedc 100644 > --- a/drivers/gpu/drm/drm_fourcc.c > +++ b/drivers/gpu/drm/drm_fourcc.c > @@ -30,11 +30,6 @@ > #include <drm/drm_device.h> > #include <drm/drm_fourcc.h> > > -static char printable_char(int c) > -{ > - return isascii(c) && isprint(c) ? c : '?'; > -} If it goes as an ABI than your dot is incompatible with this and '?' should be used instead in the patch 1. And I bend towards suggested '?' rather than '.'. Also it means that you probably would need different specifiers for full and short formats. > /** > * drm_mode_legacy_fb_format - compute drm fourcc code from legacy description > * @bpp: bits per pixels > @@ -130,26 +125,6 @@ uint32_t drm_driver_legacy_fb_format(struct drm_device *dev, > } > EXPORT_SYMBOL(drm_driver_legacy_fb_format); > > -/** > - * drm_get_format_name - fill a string with a drm fourcc format's name > - * @format: format to compute name of > - * @buf: caller-supplied buffer > - */ > -const char *drm_get_format_name(uint32_t format, struct drm_format_name_buf *buf) > -{ > - snprintf(buf->str, sizeof(buf->str), > - "%c%c%c%c %s-endian (0x%08x)", > - printable_char(format & 0xff), > - printable_char((format >> 8) & 0xff), > - printable_char((format >> 16) & 0xff), > - printable_char((format >> 24) & 0x7f), > - format & DRM_FORMAT_BIG_ENDIAN ? "big" : "little", > - format); > - > - return buf->str; > -} > -EXPORT_SYMBOL(drm_get_format_name); > - > /* > * Internal function to query information for a given format. See > * drm_format_info() for the public API. > diff --git a/drivers/gpu/drm/drm_framebuffer.c b/drivers/gpu/drm/drm_framebuffer.c > index aca62ed51e82..4d01464b6f95 100644 > --- a/drivers/gpu/drm/drm_framebuffer.c > +++ b/drivers/gpu/drm/drm_framebuffer.c > @@ -177,11 +177,8 @@ static int framebuffer_check(struct drm_device *dev, > > /* check if the format is supported at all */ > if (!__drm_format_info(r->pixel_format)) { > - struct drm_format_name_buf format_name; > - > - DRM_DEBUG_KMS("bad framebuffer format %s\n", > - drm_get_format_name(r->pixel_format, > - &format_name)); > + DRM_DEBUG_KMS("bad framebuffer format %p4cc\n", > + &r->pixel_format); > return -EINVAL; > } > > @@ -1160,14 +1157,12 @@ EXPORT_SYMBOL(drm_framebuffer_plane_height); > void drm_framebuffer_print_info(struct drm_printer *p, unsigned int indent, > const struct drm_framebuffer *fb) > { > - struct drm_format_name_buf format_name; > unsigned int i; > > drm_printf_indent(p, indent, "allocated by = %s\n", fb->comm); > drm_printf_indent(p, indent, "refcount=%u\n", > drm_framebuffer_read_refcount(fb)); > - drm_printf_indent(p, indent, "format=%s\n", > - drm_get_format_name(fb->format->format, &format_name)); > + drm_printf_indent(p, indent, "format=%p4cc\n", &fb->format->format); > drm_printf_indent(p, indent, "modifier=0x%llx\n", fb->modifier); > drm_printf_indent(p, indent, "size=%ux%u\n", fb->width, fb->height); > drm_printf_indent(p, indent, "layers:\n"); > diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c > index 230c4fd7131c..43a9b739bba7 100644 > --- a/drivers/gpu/drm/drm_mipi_dbi.c > +++ b/drivers/gpu/drm/drm_mipi_dbi.c > @@ -203,7 +203,6 @@ int mipi_dbi_buf_copy(void *dst, struct drm_framebuffer *fb, > struct drm_gem_object *gem = drm_gem_fb_get_obj(fb, 0); > struct drm_gem_cma_object *cma_obj = to_drm_gem_cma_obj(gem); > struct dma_buf_attachment *import_attach = gem->import_attach; > - struct drm_format_name_buf format_name; > void *src = cma_obj->vaddr; > int ret = 0; > > @@ -225,8 +224,8 @@ int mipi_dbi_buf_copy(void *dst, struct drm_framebuffer *fb, > drm_fb_xrgb8888_to_rgb565(dst, src, fb, clip, swap); > break; > default: > - drm_err_once(fb->dev, "Format is not supported: %s\n", > - drm_get_format_name(fb->format->format, &format_name)); > + drm_err_once(fb->dev, "Format is not supported: %p4cc\n", > + &fb->format->format); > return -EINVAL; > } > > diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c > index a0cb746bcb0a..4d8429917d7d 100644 > --- a/drivers/gpu/drm/drm_plane.c > +++ b/drivers/gpu/drm/drm_plane.c > @@ -623,12 +623,8 @@ static int __setplane_check(struct drm_plane *plane, > ret = drm_plane_check_pixel_format(plane, fb->format->format, > fb->modifier); > if (ret) { > - struct drm_format_name_buf format_name; > - > - DRM_DEBUG_KMS("Invalid pixel format %s, modifier 0x%llx\n", > - drm_get_format_name(fb->format->format, > - &format_name), > - fb->modifier); > + DRM_DEBUG_KMS("Invalid pixel format %p4cc, modifier 0x%llx\n", > + &fb->format->format, fb->modifier); > return ret; > } > > diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > index aa6c53f88f7c..70aa6c8844c0 100644 > --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > @@ -549,16 +549,15 @@ static void ade_rdma_set(void __iomem *base, struct drm_framebuffer *fb, > u32 ch, u32 y, u32 in_h, u32 fmt) > { > struct drm_gem_cma_object *obj = drm_fb_cma_get_gem_obj(fb, 0); > - struct drm_format_name_buf format_name; > u32 reg_ctrl, reg_addr, reg_size, reg_stride, reg_space, reg_en; > u32 stride = fb->pitches[0]; > u32 addr = (u32)obj->paddr + y * stride; > > DRM_DEBUG_DRIVER("rdma%d: (y=%d, height=%d), stride=%d, paddr=0x%x\n", > ch + 1, y, in_h, stride, (u32)obj->paddr); > - DRM_DEBUG_DRIVER("addr=0x%x, fb:%dx%d, pixel_format=%d(%s)\n", > + DRM_DEBUG_DRIVER("addr=0x%x, fb:%dx%d, pixel_format=%d(%p4cc)\n", > addr, fb->width, fb->height, fmt, > - drm_get_format_name(fb->format->format, &format_name)); > + &fb->format->format); > > /* get reg offset */ > reg_ctrl = RD_CH_CTRL(ch); > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c > index 53a00cf3fa32..7981627390a0 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -13319,7 +13319,6 @@ static void intel_dump_plane_state(const struct intel_plane_state *plane_state) > struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); > struct drm_i915_private *i915 = to_i915(plane->base.dev); > const struct drm_framebuffer *fb = plane_state->hw.fb; > - struct drm_format_name_buf format_name; > > if (!fb) { > drm_dbg_kms(&i915->drm, > @@ -13330,10 +13329,9 @@ static void intel_dump_plane_state(const struct intel_plane_state *plane_state) > } > > drm_dbg_kms(&i915->drm, > - "[PLANE:%d:%s] fb: [FB:%d] %ux%u format = %s modifier = 0x%llx, visible: %s\n", > + "[PLANE:%d:%s] fb: [FB:%d] %ux%u format = %p4cc modifier = 0x%llx, visible: %s\n", > plane->base.base.id, plane->base.name, > - fb->base.id, fb->width, fb->height, > - drm_get_format_name(fb->format->format, &format_name), > + fb->base.id, fb->width, fb->height, &fb->format->format, > fb->modifier, yesno(plane_state->uapi.visible)); > drm_dbg_kms(&i915->drm, "\trotation: 0x%x, scaler: %d\n", > plane_state->hw.rotation, plane_state->scaler_id); > @@ -17927,13 +17925,9 @@ static int intel_framebuffer_init(struct intel_framebuffer *intel_fb, > if (!drm_any_plane_has_format(&dev_priv->drm, > mode_cmd->pixel_format, > mode_cmd->modifier[0])) { > - struct drm_format_name_buf format_name; > - > drm_dbg_kms(&dev_priv->drm, > - "unsupported pixel format %s / modifier 0x%llx\n", > - drm_get_format_name(mode_cmd->pixel_format, > - &format_name), > - mode_cmd->modifier[0]); > + "unsupported pixel format %p4cc / modifier 0x%llx\n", > + &mode_cmd->pixel_format, mode_cmd->modifier[0]); > goto err; > } > > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c > index ca41e8c00ad7..a5c9fe2e56b3 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c > @@ -771,21 +771,21 @@ static void intel_plane_uapi_info(struct seq_file *m, struct intel_plane *plane) > const struct intel_plane_state *plane_state = > to_intel_plane_state(plane->base.state); > const struct drm_framebuffer *fb = plane_state->uapi.fb; > - struct drm_format_name_buf format_name; > struct drm_rect src, dst; > char rot_str[48]; > > src = drm_plane_state_src(&plane_state->uapi); > dst = drm_plane_state_dest(&plane_state->uapi); > > - if (fb) > - drm_get_format_name(fb->format->format, &format_name); > - > plane_rotation(rot_str, sizeof(rot_str), > plane_state->uapi.rotation); > > - seq_printf(m, "\t\tuapi: [FB:%d] %s,0x%llx,%dx%d, visible=%s, src=" DRM_RECT_FP_FMT ", dst=" DRM_RECT_FMT ", rotation=%s\n", > - fb ? fb->base.id : 0, fb ? format_name.str : "n/a", > + seq_printf(m, "\t\tuapi: [FB:%d] ", fb ? fb->base.id : 0); > + if (fb) > + seq_printf(m, "%p4cc", &fb->format->format); > + else > + seq_puts(m, "n/a"); > + seq_printf(m, ",0x%llx,%dx%d, visible=%s, src=" DRM_RECT_FP_FMT ", dst=" DRM_RECT_FMT ", rotation=%s\n", Why not to keep two seq_printf() calls? if (fb) { seq_printf(); } else { seq_printf(); } ? > fb ? fb->modifier : 0, > fb ? fb->width : 0, fb ? fb->height : 0, > plane_visibility(plane_state), > @@ -804,19 +804,16 @@ static void intel_plane_hw_info(struct seq_file *m, struct intel_plane *plane) > const struct intel_plane_state *plane_state = > to_intel_plane_state(plane->base.state); > const struct drm_framebuffer *fb = plane_state->hw.fb; > - struct drm_format_name_buf format_name; > char rot_str[48]; > > if (!fb) > return; > > - drm_get_format_name(fb->format->format, &format_name); > - > plane_rotation(rot_str, sizeof(rot_str), > plane_state->hw.rotation); > > - seq_printf(m, "\t\thw: [FB:%d] %s,0x%llx,%dx%d, visible=%s, src=" DRM_RECT_FP_FMT ", dst=" DRM_RECT_FMT ", rotation=%s\n", > - fb->base.id, format_name.str, > + seq_printf(m, "\t\thw: [FB:%d] %p4cc,0x%llx,%dx%d, visible=%s, src=" DRM_RECT_FP_FMT ", dst=" DRM_RECT_FMT ", rotation=%s\n", > + fb->base.id, &fb->format->format, > fb->modifier, fb->width, fb->height, > yesno(plane_state->uapi.visible), > DRM_RECT_FP_ARG(&plane_state->uapi.src), > diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c > index 019a2d6d807a..e4e55d1aec10 100644 > --- a/drivers/gpu/drm/i915/display/intel_sprite.c > +++ b/drivers/gpu/drm/i915/display/intel_sprite.c > @@ -2285,7 +2285,6 @@ static int skl_plane_check_fb(const struct intel_crtc_state *crtc_state, > struct drm_i915_private *dev_priv = to_i915(plane->base.dev); > const struct drm_framebuffer *fb = plane_state->hw.fb; > unsigned int rotation = plane_state->hw.rotation; > - struct drm_format_name_buf format_name; > > if (!fb) > return 0; > @@ -2333,9 +2332,8 @@ static int skl_plane_check_fb(const struct intel_crtc_state *crtc_state, > case DRM_FORMAT_XVYU12_16161616: > case DRM_FORMAT_XVYU16161616: > drm_dbg_kms(&dev_priv->drm, > - "Unsupported pixel format %s for 90/270!\n", > - drm_get_format_name(fb->format->format, > - &format_name)); > + "Unsupported pixel format %p4cc for 90/270!\n", > + &fb->format->format); > return -EINVAL; > default: > break; > diff --git a/drivers/gpu/drm/mcde/mcde_display.c b/drivers/gpu/drm/mcde/mcde_display.c > index 7c2e0b865441..83ac7493e751 100644 > --- a/drivers/gpu/drm/mcde/mcde_display.c > +++ b/drivers/gpu/drm/mcde/mcde_display.c > @@ -1161,7 +1161,6 @@ static void mcde_display_enable(struct drm_simple_display_pipe *pipe, > int dsi_pkt_size; > int fifo_wtrmrk; > int cpp = fb->format->cpp[0]; > - struct drm_format_name_buf tmp; > u32 dsi_formatter_frame; > u32 val; > int ret; > @@ -1173,9 +1172,8 @@ static void mcde_display_enable(struct drm_simple_display_pipe *pipe, > return; > } > > - dev_info(drm->dev, "enable MCDE, %d x %d format %s\n", > - mode->hdisplay, mode->vdisplay, > - drm_get_format_name(format, &tmp)); > + dev_info(drm->dev, "enable MCDE, %d x %d format %p4cc\n", > + mode->hdisplay, mode->vdisplay, &format); > > > /* Clear any pending interrupts */ > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c > index 56eb22554197..ea9d73983d13 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c > @@ -71,7 +71,6 @@ static void _dpu_crtc_setup_blend_cfg(struct dpu_crtc_mixer *mixer, > { > struct dpu_hw_mixer *lm = mixer->hw_lm; > uint32_t blend_op; > - struct drm_format_name_buf format_name; > > /* default to opaque blending */ > blend_op = DPU_BLEND_FG_ALPHA_FG_CONST | > @@ -87,9 +86,8 @@ static void _dpu_crtc_setup_blend_cfg(struct dpu_crtc_mixer *mixer, > lm->ops.setup_blend_config(lm, pstate->stage, > 0xFF, 0, blend_op); > > - DPU_DEBUG("format:%s, alpha_en:%u blend_op:0x%x\n", > - drm_get_format_name(format->base.pixel_format, &format_name), > - format->alpha_enable, blend_op); > + DPU_DEBUG("format:%p4cc, alpha_en:%u blend_op:0x%x\n", > + &format->base.pixel_format, format->alpha_enable, blend_op); > } > > static void _dpu_crtc_program_lm_output_roi(struct drm_crtc *crtc) > diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c > index bceb48a2dfca..a305b749c321 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_display.c > +++ b/drivers/gpu/drm/nouveau/nouveau_display.c > @@ -322,12 +322,9 @@ nouveau_framebuffer_new(struct drm_device *dev, > mode_cmd->pitches[0] >= 0x10000 || /* at most 64k pitch */ > (mode_cmd->pitches[1] && /* pitches for planes must match */ > mode_cmd->pitches[0] != mode_cmd->pitches[1]))) { > - struct drm_format_name_buf format_name; > - DRM_DEBUG_KMS("Unsuitable framebuffer: format: %s; pitches: 0x%x\n 0x%x\n", > - drm_get_format_name(mode_cmd->pixel_format, > - &format_name), > - mode_cmd->pitches[0], > - mode_cmd->pitches[1]); > + DRM_DEBUG_KMS("Unsuitable framebuffer: format: %p4cc; pitches: 0x%x\n 0x%x\n", > + &mode_cmd->pixel_format, > + mode_cmd->pitches[0], mode_cmd->pitches[1]); > return -EINVAL; > } > > diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c > index 1979ed3d6547..c94e429e75f9 100644 > --- a/drivers/gpu/drm/radeon/atombios_crtc.c > +++ b/drivers/gpu/drm/radeon/atombios_crtc.c > @@ -1157,7 +1157,6 @@ static int dce4_crtc_do_set_base(struct drm_crtc *crtc, > u32 tmp, viewport_w, viewport_h; > int r; > bool bypass_lut = false; > - struct drm_format_name_buf format_name; > > /* no fb bound */ > if (!atomic && !crtc->primary->fb) { > @@ -1267,8 +1266,8 @@ static int dce4_crtc_do_set_base(struct drm_crtc *crtc, > #endif > break; > default: > - DRM_ERROR("Unsupported screen format %s\n", > - drm_get_format_name(target_fb->format->format, &format_name)); > + DRM_ERROR("Unsupported screen format %p4cc\n", > + &target_fb->format->format); > return -EINVAL; > } > > @@ -1478,7 +1477,6 @@ static int avivo_crtc_do_set_base(struct drm_crtc *crtc, > u32 viewport_w, viewport_h; > int r; > bool bypass_lut = false; > - struct drm_format_name_buf format_name; > > /* no fb bound */ > if (!atomic && !crtc->primary->fb) { > @@ -1579,8 +1577,8 @@ static int avivo_crtc_do_set_base(struct drm_crtc *crtc, > #endif > break; > default: > - DRM_ERROR("Unsupported screen format %s\n", > - drm_get_format_name(target_fb->format->format, &format_name)); > + DRM_ERROR("Unsupported screen format %p4cc\n", > + &target_fb->format->format); > return -EINVAL; > } > > diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c b/drivers/gpu/drm/sun4i/sun4i_backend.c > index 522e51a404cc..bf8cfefa0365 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_backend.c > +++ b/drivers/gpu/drm/sun4i/sun4i_backend.c > @@ -510,7 +510,6 @@ static int sun4i_backend_atomic_check(struct sunxi_engine *engine, > struct sun4i_layer_state *layer_state = > state_to_sun4i_layer_state(plane_state); > struct drm_framebuffer *fb = plane_state->fb; > - struct drm_format_name_buf format_name; > > if (!sun4i_backend_plane_is_supported(plane_state, > &layer_state->uses_frontend)) > @@ -527,9 +526,8 @@ static int sun4i_backend_atomic_check(struct sunxi_engine *engine, > } > } > > - DRM_DEBUG_DRIVER("Plane FB format is %s\n", > - drm_get_format_name(fb->format->format, > - &format_name)); > + DRM_DEBUG_DRIVER("Plane FB format is %p4cc\n", > + &fb->format->format); > if (fb->format->has_alpha || (plane_state->alpha != DRM_BLEND_ALPHA_OPAQUE)) > num_alpha_planes++; > > diff --git a/drivers/gpu/drm/vkms/vkms_writeback.c b/drivers/gpu/drm/vkms/vkms_writeback.c > index 78fdc1d59186..0935686475a0 100644 > --- a/drivers/gpu/drm/vkms/vkms_writeback.c > +++ b/drivers/gpu/drm/vkms/vkms_writeback.c > @@ -42,11 +42,8 @@ static int vkms_wb_encoder_atomic_check(struct drm_encoder *encoder, > } > > if (fb->format->format != vkms_wb_formats[0]) { > - struct drm_format_name_buf format_name; > - > - DRM_DEBUG_KMS("Invalid pixel format %s\n", > - drm_get_format_name(fb->format->format, > - &format_name)); > + DRM_DEBUG_KMS("Invalid pixel format %p4cc\n", > + &fb->format->format); > return -EINVAL; > } > > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c > index bc67f2b930e1..0cd2c55036bb 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c > @@ -895,7 +895,6 @@ static int vmw_kms_new_framebuffer_surface(struct vmw_private *dev_priv, > struct vmw_framebuffer_surface *vfbs; > enum SVGA3dSurfaceFormat format; > int ret; > - struct drm_format_name_buf format_name; > > /* 3D is only supported on HWv8 and newer hosts */ > if (dev_priv->active_display_unit == vmw_du_legacy) > @@ -933,8 +932,8 @@ static int vmw_kms_new_framebuffer_surface(struct vmw_private *dev_priv, > format = SVGA3D_A1R5G5B5; > break; > default: > - DRM_ERROR("Invalid pixel format: %s\n", > - drm_get_format_name(mode_cmd->pixel_format, &format_name)); > + DRM_ERROR("Invalid pixel format: %p4cc\n", > + &mode_cmd->pixel_format); > return -EINVAL; > } > > @@ -1149,7 +1148,6 @@ static int vmw_create_bo_proxy(struct drm_device *dev, > uint32_t format; > struct vmw_resource *res; > unsigned int bytes_pp; > - struct drm_format_name_buf format_name; > int ret; > > switch (mode_cmd->pixel_format) { > @@ -1171,8 +1169,8 @@ static int vmw_create_bo_proxy(struct drm_device *dev, > break; > > default: > - DRM_ERROR("Invalid framebuffer format %s\n", > - drm_get_format_name(mode_cmd->pixel_format, &format_name)); > + DRM_ERROR("Invalid framebuffer format %p4cc\n", > + &mode_cmd->pixel_format); > return -EINVAL; > } > > @@ -1216,7 +1214,6 @@ static int vmw_kms_new_framebuffer_bo(struct vmw_private *dev_priv, > struct drm_device *dev = dev_priv->dev; > struct vmw_framebuffer_bo *vfbd; > unsigned int requested_size; > - struct drm_format_name_buf format_name; > int ret; > > requested_size = mode_cmd->height * mode_cmd->pitches[0]; > @@ -1236,8 +1233,8 @@ static int vmw_kms_new_framebuffer_bo(struct vmw_private *dev_priv, > case DRM_FORMAT_RGB565: > break; > default: > - DRM_ERROR("Invalid pixel format: %s\n", > - drm_get_format_name(mode_cmd->pixel_format, &format_name)); > + DRM_ERROR("Invalid pixel format: %p4cc\n", > + &mode_cmd->pixel_format); > return -EINVAL; > } > } > diff --git a/include/drm/drm_fourcc.h b/include/drm/drm_fourcc.h > index 156b122c0ad5..3ea17b8a79d3 100644 > --- a/include/drm/drm_fourcc.h > +++ b/include/drm/drm_fourcc.h > @@ -318,6 +318,5 @@ unsigned int drm_format_info_block_height(const struct drm_format_info *info, > int plane); > uint64_t drm_format_info_min_pitch(const struct drm_format_info *info, > int plane, unsigned int buffer_width); > -const char *drm_get_format_name(uint32_t format, struct drm_format_name_buf *buf); > > #endif /* __DRM_FOURCC_H__ */ > -- > 2.29.2 > -- With Best Regards, Andy Shevchenko