2021-02-16 16:04:01

by Sakari Ailus

[permalink] [raw]
Subject: [PATCH v9 0/4] Add %p4cc printk modifier for V4L2 and DRM fourcc codes

Hi all,

On merging --- it would seem everyone is happy with merging this
through the drm-misc tree. The last patch should wait until all
users are gone for sure, probably to the next kernel release.
There are no users of drm_get_format_name() in linux-next
currently after the 3rd patch.

This set adds support for %p4cc printk modifier for printing V4L2 and DRM
fourcc codes. The codes are cumbersome to print manually and by adding the
modifier, this task is saved from the V4L2 and DRM frameworks as well as
related drivers. DRM actually had it handled in a way (see 3rd patch) but
the printk modifier makes printing the format easier even there. On V4L2
side it saves quite a few lines of repeating different implementations of
printing the 4cc codes.

Further work will include converting the V4L2 drivers doing the same. I
left these out from this version since individual drivers are easier
changed without dealing with multiple trees.

Since v8:

- Reduce ternary conditionals in intel_plane_uapi_info().

- Wrap a long line in intel_plane_hw_info().

Since v7:

- Add more examples, one with big endian and another with a space.

- Add Y10 test format.

- Use "0123" in the size string for temporary buffer.

- Added acks.

- Split the 3rd patch into two: driver changes and removal of
drm_get_format_name().

Since v6:

- Don't drop spaces in fourcc codes.

- Print unprintable characters as dot ('.') instead of hexadecimal number
in parentheses.

- Convert DRM from drm_get_format_name() to %p4cc. I wonder if this should
be merged through the DRM tree, albeit it's probably unlikely to
conflict with other changes. Further use of the function could be a
problem.

- Make tests more realistic.

Since v5:

- Added V4L2 core conversion to %p4cc, as well as change the DRM
fourcc printing function to use %p4cc.

- Add missing checkpatch.pl checks for %p4cc modifier.

Sakari Ailus (4):
lib/vsprintf: Add support for printing V4L2 and DRM fourccs
v4l: ioctl: Use %p4cc printk modifier to print FourCC codes
drm: Switch to %p4cc format modifier
drm: Remove drm_get_format_name()

Documentation/core-api/printk-formats.rst | 18 ++++
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 ++--
drivers/media/v4l2-core/v4l2-ioctl.c | 85 +++++--------------
include/drm/drm_fourcc.h | 1 -
lib/test_printf.c | 18 ++++
lib/vsprintf.c | 39 +++++++++
scripts/checkpatch.pl | 6 +-
32 files changed, 164 insertions(+), 223 deletions(-)

--
2.29.2

*** BLURB HERE ***

Sakari Ailus (4):
lib/vsprintf: Add support for printing V4L2 and DRM fourccs
v4l: ioctl: Use %p4cc printk modifier to print FourCC codes
drm: Switch to %p4cc format modifier
drm: Remove drm_get_format_name()

Documentation/core-api/printk-formats.rst | 18 ++++
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 | 30 +++----
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 ++--
drivers/media/v4l2-core/v4l2-ioctl.c | 85 +++++--------------
include/drm/drm_fourcc.h | 1 -
lib/test_printf.c | 18 ++++
lib/vsprintf.c | 39 +++++++++
scripts/checkpatch.pl | 6 +-
32 files changed, 169 insertions(+), 229 deletions(-)

--
2.29.2


2021-02-17 12:17:25

by Thomas Zimmermann

[permalink] [raw]
Subject: Re: [PATCH v9 0/4] Add %p4cc printk modifier for V4L2 and DRM fourcc codes

Hi

Am 16.02.21 um 16:57 schrieb Sakari Ailus:
> Hi all,
>
> On merging --- it would seem everyone is happy with merging this
> through the drm-misc tree. The last patch should wait until all
> users are gone for sure, probably to the next kernel release.
> There are no users of drm_get_format_name() in linux-next
> currently after the 3rd patch.

I've merged patches 1 to 3 into drm-misc-next. Patch 4 (and maybe some
final fix-up patch) will land when all DRM trees have catched up the
changes.

Best regards
Thomas

>
> This set adds support for %p4cc printk modifier for printing V4L2 and DRM
> fourcc codes. The codes are cumbersome to print manually and by adding the
> modifier, this task is saved from the V4L2 and DRM frameworks as well as
> related drivers. DRM actually had it handled in a way (see 3rd patch) but
> the printk modifier makes printing the format easier even there. On V4L2
> side it saves quite a few lines of repeating different implementations of
> printing the 4cc codes.
>
> Further work will include converting the V4L2 drivers doing the same. I
> left these out from this version since individual drivers are easier
> changed without dealing with multiple trees.
>
> Since v8:
>
> - Reduce ternary conditionals in intel_plane_uapi_info().
>
> - Wrap a long line in intel_plane_hw_info().
>
> Since v7:
>
> - Add more examples, one with big endian and another with a space.
>
> - Add Y10 test format.
>
> - Use "0123" in the size string for temporary buffer.
>
> - Added acks.
>
> - Split the 3rd patch into two: driver changes and removal of
> drm_get_format_name().
>
> Since v6:
>
> - Don't drop spaces in fourcc codes.
>
> - Print unprintable characters as dot ('.') instead of hexadecimal number
> in parentheses.
>
> - Convert DRM from drm_get_format_name() to %p4cc. I wonder if this should
> be merged through the DRM tree, albeit it's probably unlikely to
> conflict with other changes. Further use of the function could be a
> problem.
>
> - Make tests more realistic.
>
> Since v5:
>
> - Added V4L2 core conversion to %p4cc, as well as change the DRM
> fourcc printing function to use %p4cc.
>
> - Add missing checkpatch.pl checks for %p4cc modifier.
>
> Sakari Ailus (4):
> lib/vsprintf: Add support for printing V4L2 and DRM fourccs
> v4l: ioctl: Use %p4cc printk modifier to print FourCC codes
> drm: Switch to %p4cc format modifier
> drm: Remove drm_get_format_name()
>
> Documentation/core-api/printk-formats.rst | 18 ++++
> 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 ++--
> drivers/media/v4l2-core/v4l2-ioctl.c | 85 +++++--------------
> include/drm/drm_fourcc.h | 1 -
> lib/test_printf.c | 18 ++++
> lib/vsprintf.c | 39 +++++++++
> scripts/checkpatch.pl | 6 +-
> 32 files changed, 164 insertions(+), 223 deletions(-)
>

--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer


Attachments:
OpenPGP_signature (855.00 B)
OpenPGP digital signature

2021-02-18 08:34:54

by Sakari Ailus

[permalink] [raw]
Subject: Re: [PATCH v9 0/4] Add %p4cc printk modifier for V4L2 and DRM fourcc codes

On Wed, Feb 17, 2021 at 01:14:42PM +0100, Thomas Zimmermann wrote:
> Hi
>
> Am 16.02.21 um 16:57 schrieb Sakari Ailus:
> > Hi all,
> >
> > On merging --- it would seem everyone is happy with merging this
> > through the drm-misc tree. The last patch should wait until all
> > users are gone for sure, probably to the next kernel release.
> > There are no users of drm_get_format_name() in linux-next
> > currently after the 3rd patch.
>
> I've merged patches 1 to 3 into drm-misc-next. Patch 4 (and maybe some final
> fix-up patch) will land when all DRM trees have catched up the changes.

Thank you!

--
Sakari Ailus