linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/11] lib/string_helpers: Add a few string helpers
@ 2022-01-26  9:39 Lucas De Marchi
  2022-01-26  9:39 ` [PATCH v2 01/11] lib/string_helpers: Consolidate string helpers implementation Lucas De Marchi
                   ` (11 more replies)
  0 siblings, 12 replies; 24+ messages in thread
From: Lucas De Marchi @ 2022-01-26  9:39 UTC (permalink / raw)
  To: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Alex Deucher, Andrew Morton, Andy Shevchenko, Andy Shevchenko,
	Ben Skeggs, Christian König, Chris Wilson, Daniel Vetter,
	David Airlie, David S. Miller, Emma Anholt, Francis Laniel,
	Greg Kroah-Hartman, Harry Wentland, Jakub Kicinski, Jani Nikula,
	Joonas Lahtinen, Julia Lawall, Kentaro Takeda, Leo Li,
	Petr Mladek, Rahul Lakkireddy, Raju Rangoju, Rasmus Villemoes,
	Rodrigo Vivi, Sakari Ailus, Sergey Senozhatsky, Steven Rostedt,
	Vishal Kulkarni

Add some helpers under lib/string_helpers.h so they can be used
throughout the kernel. When I started doing this there were 2 other
previous attempts I know of, not counting the iterations each of them
had:

1) https://lore.kernel.org/all/20191023131308.9420-1-jani.nikula@intel.com/
2) https://lore.kernel.org/all/20210215142137.64476-1-andriy.shevchenko@linux.intel.com/#t

Now there is also the v1 of this same patch series:
https://lore.kernel.org/all/20220119072450.2890107-1-lucas.demarchi@intel.com/

Going through the comments I tried to find some common ground and
justification for what is in here, addressing some of the concerns
raised.

a. This version should be a drop-in replacement for what is currently in
   the tree, with no change in behavior or binary size. For binary
   size what I checked was that the linked objects in the end have the
   same size (gcc 11). From comments in the previous attempts this seems
   also the case for earlier compiler versions

b. I didn't change the function name to choice_* as suggested by Andrew
   Morton in 20191023155619.43e0013f0c8c673a5c508c1e@linux-foundation.org
   because other people argumented in favor of shorter names for these
   simple helpers - if they are long and people simply not use due to
   that, we failed. However as pointed out in v1 of this patchseries,
   onoff(), yesno(), enabledisable(), enableddisabled() have some
   issues: the last 2 are hard to read and for the first 2 it would not
   be hard to have the symbol to clash with variable names.
   From comments in v1, most people were in favor (or at least not
   opposed) to using str_on_off(), str_yes_no(), str_enable_disable()
   and str_enabled_disabled().

c. Use string_helper.h for these helpers - pulling string.h in the
   compilations units was one of the concerns and I think re-using this
   already existing header is better than creating a new string-choice.h

d. One alternative to all of this suggested by Christian König
   (43456ba7-c372-84cc-4949-dcb817188e21@amd.com) would be to add a
   printk format. But besides the comment, he also seemed to like
   the common function. This brought the argument from others that the
   simple yesno()/enabledisable() already used in the code (or new
   renamed version) is easier to remember and use than e.g. %py[DOY]


Changes in v2:

  - Use str_ prefix and separate other words with underscore: it's a
    little bit longer, but should improve readability

  - Patches we re-split due to the rename: first patch adds all the new
    functions, then additional patches try to do one conversion at a
    time. While doing so, there were some fixes for issues already
    present along the way

  - Style suggestions from v1 were adopted

In v1 it was suggested to apply this in drm-misc. I will leave this to
maintainers to decide: maybe it would be simpler to merge the first
patches on drm-intel-next, wait for the back merge and merge the rest
through drm-misc - my fear is a big conflict with other work going in
drm-intel-next since the bulk of the rename is there.

I tried to figure out acks and reviews from v1 and apply them to how the
patches are now split.

thanks
Lucas De Marchi

Lucas De Marchi (11):
  lib/string_helpers: Consolidate string helpers implementation
  drm/i915: Fix trailing semicolon
  drm/i915: Use str_yes_no()
  drm/i915: Use str_enable_disable()
  drm/i915: Use str_enabled_disabled()
  drm/i915: Use str_on_off()
  drm/amd/display: Use str_yes_no()
  drm/gem: Sort includes alphabetically
  drm: Convert open-coded yes/no strings to yesno()
  tomoyo: Use str_yes_no()
  cxgb4: Use str_yes_no()

 drivers/gpu/drm/amd/amdgpu/atom.c             |   4 +-
 .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c |  14 +-
 drivers/gpu/drm/dp/drm_dp.c                   |   3 +-
 drivers/gpu/drm/drm_client_modeset.c          |   3 +-
 drivers/gpu/drm/drm_gem.c                     |  23 +-
 drivers/gpu/drm/i915/display/g4x_dp.c         |   6 +-
 .../gpu/drm/i915/display/intel_backlight.c    |   3 +-
 drivers/gpu/drm/i915/display/intel_ddi.c      |   4 +-
 drivers/gpu/drm/i915/display/intel_display.c  |  46 ++--
 .../drm/i915/display/intel_display_debugfs.c  |  74 +++---
 .../drm/i915/display/intel_display_power.c    |   4 +-
 .../drm/i915/display/intel_display_trace.h    |   9 +-
 drivers/gpu/drm/i915/display/intel_dp.c       |  20 +-
 drivers/gpu/drm/i915/display/intel_dpll.c     |   3 +-
 drivers/gpu/drm/i915/display/intel_dpll_mgr.c |   7 +-
 drivers/gpu/drm/i915/display/intel_dsi_vbt.c  |   7 +-
 drivers/gpu/drm/i915/display/intel_fbc.c      |   4 +-
 drivers/gpu/drm/i915/display/intel_fdi.c      |   8 +-
 drivers/gpu/drm/i915/display/intel_hdmi.c     |   3 +-
 drivers/gpu/drm/i915/display/intel_sprite.c   |   6 +-
 drivers/gpu/drm/i915/display/vlv_dsi_pll.c    |   3 +-
 .../gpu/drm/i915/gem/selftests/huge_pages.c   |   9 +-
 .../drm/i915/gem/selftests/i915_gem_context.c |   7 +-
 drivers/gpu/drm/i915/gt/intel_breadcrumbs.c   |   3 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c     |  11 +-
 .../drm/i915/gt/intel_execlists_submission.c  |   7 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.c         |   3 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c |  52 ++--
 drivers/gpu/drm/i915/gt/intel_rc6.c           |   5 +-
 drivers/gpu/drm/i915/gt/intel_reset.c         |   3 +-
 drivers/gpu/drm/i915/gt/intel_rps.c           |  13 +-
 drivers/gpu/drm/i915/gt/intel_sseu.c          |   9 +-
 drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c  |  10 +-
 drivers/gpu/drm/i915/gt/selftest_timeline.c   |   3 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c     |   5 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c    |   5 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c     |   6 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c   |   4 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c         |  14 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c |  20 +-
 drivers/gpu/drm/i915/i915_debugfs.c           |  17 +-
 drivers/gpu/drm/i915/i915_driver.c            |   4 +-
 drivers/gpu/drm/i915/i915_gpu_error.c         |   9 +-
 drivers/gpu/drm/i915/i915_params.c            |   5 +-
 drivers/gpu/drm/i915/i915_utils.h             |  21 +-
 drivers/gpu/drm/i915/intel_device_info.c      |   8 +-
 drivers/gpu/drm/i915/intel_dram.c             |  10 +-
 drivers/gpu/drm/i915/intel_pm.c               |  14 +-
 drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c  |   4 +-
 drivers/gpu/drm/i915/selftests/i915_active.c  |   3 +-
 drivers/gpu/drm/i915/vlv_suspend.c            |   3 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c |   5 +-
 drivers/gpu/drm/radeon/atom.c                 |   3 +-
 drivers/gpu/drm/v3d/v3d_debugfs.c             |  11 +-
 drivers/gpu/drm/virtio/virtgpu_debugfs.c      |   4 +-
 .../ethernet/chelsio/cxgb4/cxgb4_debugfs.c    | 249 ++++++++++--------
 include/linux/string_helpers.h                |  20 ++
 security/tomoyo/audit.c                       |   2 +-
 security/tomoyo/common.c                      |  19 +-
 security/tomoyo/common.h                      |   1 -
 60 files changed, 482 insertions(+), 373 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v2 01/11] lib/string_helpers: Consolidate string helpers implementation
  2022-01-26  9:39 [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Lucas De Marchi
@ 2022-01-26  9:39 ` Lucas De Marchi
  2022-01-26  9:39 ` [PATCH v2 02/11] drm/i915: Fix trailing semicolon Lucas De Marchi
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Lucas De Marchi @ 2022-01-26  9:39 UTC (permalink / raw)
  To: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Andy Shevchenko, Jani Nikula, Daniel Vetter, Alex Deucher,
	Andrew Morton, Andy Shevchenko, Ben Skeggs, Christian König,
	Chris Wilson, Daniel Vetter, David Airlie, David S. Miller,
	Emma Anholt, Francis Laniel, Greg Kroah-Hartman, Harry Wentland,
	Jakub Kicinski, Jani Nikula, Joonas Lahtinen, Julia Lawall,
	Kentaro Takeda, Leo Li, Petr Mladek, Rahul Lakkireddy,
	Raju Rangoju, Rasmus Villemoes, Rodrigo Vivi, Sakari Ailus,
	Sergey Senozhatsky, Steven Rostedt, Vishal Kulkarni

There are a few implementations of string helpers in the tree like yesno()
that just returns "yes" or "no" depending on a boolean argument. Those
are helpful to output strings to the user or log.

In order to consolidate them, prefix all of them str_ prefix to make it
clear what they are about and avoid symbol clashes.
Taking the commoon `val ? "yes" : "no"` implementation,  quite a few
users of open coded yesno() could later be converted to the new
function:

$ git grep '?\s*"yes"\s*' | wc -l
286
$ git grep '?\s*"no"\s*' | wc -l
20

The inlined function should keep the const strings local to each
compilation unit, the same way it's now, thus not changing the current
behavior.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 include/linux/string_helpers.h | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/include/linux/string_helpers.h b/include/linux/string_helpers.h
index 7a22921c9db7..4d72258d42fd 100644
--- a/include/linux/string_helpers.h
+++ b/include/linux/string_helpers.h
@@ -106,4 +106,24 @@ void kfree_strarray(char **array, size_t n);
 
 char **devm_kasprintf_strarray(struct device *dev, const char *prefix, size_t n);
 
+static inline const char *str_yes_no(bool v)
+{
+	return v ? "yes" : "no";
+}
+
+static inline const char *str_on_off(bool v)
+{
+	return v ? "on" : "off";
+}
+
+static inline const char *str_enable_disable(bool v)
+{
+	return v ? "enable" : "disable";
+}
+
+static inline const char *str_enabled_disabled(bool v)
+{
+	return v ? "enabled" : "disabled";
+}
+
 #endif
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 02/11] drm/i915: Fix trailing semicolon
  2022-01-26  9:39 [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Lucas De Marchi
  2022-01-26  9:39 ` [PATCH v2 01/11] lib/string_helpers: Consolidate string helpers implementation Lucas De Marchi
@ 2022-01-26  9:39 ` Lucas De Marchi
  2022-01-26 14:52   ` Jani Nikula
  2022-01-26  9:39 ` [PATCH v2 03/11] drm/i915: Use str_yes_no() Lucas De Marchi
                   ` (9 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Lucas De Marchi @ 2022-01-26  9:39 UTC (permalink / raw)
  To: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Alex Deucher, Andrew Morton, Andy Shevchenko, Andy Shevchenko,
	Ben Skeggs, Christian König, Chris Wilson, Daniel Vetter,
	David Airlie, David S. Miller, Emma Anholt, Francis Laniel,
	Greg Kroah-Hartman, Harry Wentland, Jakub Kicinski, Jani Nikula,
	Joonas Lahtinen, Julia Lawall, Kentaro Takeda, Leo Li,
	Petr Mladek, Rahul Lakkireddy, Raju Rangoju, Rasmus Villemoes,
	Rodrigo Vivi, Sakari Ailus, Sergey Senozhatsky, Steven Rostedt,
	Vishal Kulkarni

Remove the trailing semicolon, as correctly warned by checkpatch:

	-:1189: WARNING:TRAILING_SEMICOLON: macros should not use a trailing semicolon
	#1189: FILE: drivers/gpu/drm/i915/intel_device_info.c:119:
	+#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, yesno(info->display.name));

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/i915/intel_device_info.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
index 93b251b25aba..94da5aa37391 100644
--- a/drivers/gpu/drm/i915/intel_device_info.c
+++ b/drivers/gpu/drm/i915/intel_device_info.c
@@ -114,7 +114,7 @@ void intel_device_info_print_static(const struct intel_device_info *info,
 	DEV_INFO_FOR_EACH_FLAG(PRINT_FLAG);
 #undef PRINT_FLAG
 
-#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, yesno(info->display.name));
+#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, yesno(info->display.name))
 	DEV_INFO_DISPLAY_FOR_EACH_FLAG(PRINT_FLAG);
 #undef PRINT_FLAG
 }
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 03/11] drm/i915: Use str_yes_no()
  2022-01-26  9:39 [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Lucas De Marchi
  2022-01-26  9:39 ` [PATCH v2 01/11] lib/string_helpers: Consolidate string helpers implementation Lucas De Marchi
  2022-01-26  9:39 ` [PATCH v2 02/11] drm/i915: Fix trailing semicolon Lucas De Marchi
@ 2022-01-26  9:39 ` Lucas De Marchi
  2022-02-01 21:25   ` [Intel-gfx] " Matt Roper
  2022-01-26  9:39 ` [PATCH v2 04/11] drm/i915: Use str_enable_disable() Lucas De Marchi
                   ` (8 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Lucas De Marchi @ 2022-01-26  9:39 UTC (permalink / raw)
  To: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Daniel Vetter, Jani Nikula, Alex Deucher, Andrew Morton,
	Andy Shevchenko, Andy Shevchenko, Ben Skeggs,
	Christian König, Chris Wilson, Daniel Vetter, David Airlie,
	David S. Miller, Emma Anholt, Francis Laniel, Greg Kroah-Hartman,
	Harry Wentland, Jakub Kicinski, Jani Nikula, Joonas Lahtinen,
	Julia Lawall, Kentaro Takeda, Leo Li, Petr Mladek,
	Rahul Lakkireddy, Raju Rangoju, Rasmus Villemoes, Rodrigo Vivi,
	Sakari Ailus, Sergey Senozhatsky, Steven Rostedt,
	Vishal Kulkarni

Remove the local yesno() implementation and adopt the str_yes_no() from
linux/string_helpers.h.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c  | 23 +++----
 .../drm/i915/display/intel_display_debugfs.c  | 66 +++++++++++--------
 .../drm/i915/display/intel_display_trace.h    |  6 +-
 drivers/gpu/drm/i915/display/intel_dp.c       | 12 ++--
 drivers/gpu/drm/i915/display/intel_fbc.c      |  4 +-
 drivers/gpu/drm/i915/display/intel_hdmi.c     |  3 +-
 drivers/gpu/drm/i915/display/intel_sprite.c   |  6 +-
 .../gpu/drm/i915/gem/selftests/huge_pages.c   |  9 +--
 .../drm/i915/gem/selftests/i915_gem_context.c |  7 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c     |  9 +--
 .../drm/i915/gt/intel_execlists_submission.c  |  7 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.c         |  3 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c | 52 ++++++++-------
 drivers/gpu/drm/i915/gt/intel_reset.c         |  3 +-
 drivers/gpu/drm/i915/gt/intel_rps.c           | 13 ++--
 drivers/gpu/drm/i915/gt/intel_sseu.c          |  9 ++-
 drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c  | 10 +--
 drivers/gpu/drm/i915/gt/selftest_timeline.c   |  3 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c    |  3 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c   |  4 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c         | 10 +--
 drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c | 20 +++---
 drivers/gpu/drm/i915/i915_debugfs.c           | 15 +++--
 drivers/gpu/drm/i915/i915_gpu_error.c         |  9 +--
 drivers/gpu/drm/i915/i915_params.c            |  5 +-
 drivers/gpu/drm/i915/i915_utils.h             |  5 --
 drivers/gpu/drm/i915/intel_device_info.c      |  8 ++-
 drivers/gpu/drm/i915/intel_dram.c             | 10 +--
 drivers/gpu/drm/i915/intel_pm.c               | 10 +--
 drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c  |  4 +-
 drivers/gpu/drm/i915/selftests/i915_active.c  |  3 +-
 31 files changed, 203 insertions(+), 148 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 80bc52425e47..bd453861088e 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -32,6 +32,7 @@
 #include <linux/module.h>
 #include <linux/dma-resv.h>
 #include <linux/slab.h>
+#include <linux/string_helpers.h>
 #include <linux/vga_switcheroo.h>
 
 #include <drm/drm_atomic.h>
@@ -3008,7 +3009,7 @@ static int intel_crtc_compute_config(struct intel_crtc *crtc,
 		drm_dbg_kms(&dev_priv->drm,
 			    "requested pixel clock (%d kHz) too high (max: %d kHz, double wide: %s)\n",
 			    pipe_mode->crtc_clock, clock_limit,
-			    yesno(pipe_config->double_wide));
+			    str_yes_no(pipe_config->double_wide));
 		return -EINVAL;
 	}
 
@@ -5586,7 +5587,7 @@ static void intel_dump_plane_state(const struct intel_plane_state *plane_state)
 		drm_dbg_kms(&i915->drm,
 			    "[PLANE:%d:%s] fb: [NOFB], visible: %s\n",
 			    plane->base.base.id, plane->base.name,
-			    yesno(plane_state->uapi.visible));
+			    str_yes_no(plane_state->uapi.visible));
 		return;
 	}
 
@@ -5594,7 +5595,7 @@ static void intel_dump_plane_state(const struct intel_plane_state *plane_state)
 		    "[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, &fb->format->format,
-		    fb->modifier, yesno(plane_state->uapi.visible));
+		    fb->modifier, str_yes_no(plane_state->uapi.visible));
 	drm_dbg_kms(&i915->drm, "\trotation: 0x%x, scaler: %d\n",
 		    plane_state->hw.rotation, plane_state->scaler_id);
 	if (plane_state->uapi.visible)
@@ -5617,7 +5618,7 @@ static void intel_dump_pipe_config(const struct intel_crtc_state *pipe_config,
 
 	drm_dbg_kms(&dev_priv->drm, "[CRTC:%d:%s] enable: %s %s\n",
 		    crtc->base.base.id, crtc->base.name,
-		    yesno(pipe_config->hw.enable), context);
+		    str_yes_no(pipe_config->hw.enable), context);
 
 	if (!pipe_config->hw.enable)
 		goto dump_planes;
@@ -5625,7 +5626,7 @@ static void intel_dump_pipe_config(const struct intel_crtc_state *pipe_config,
 	snprintf_output_types(buf, sizeof(buf), pipe_config->output_types);
 	drm_dbg_kms(&dev_priv->drm,
 		    "active: %s, output_types: %s (0x%x), output format: %s\n",
-		    yesno(pipe_config->hw.active),
+		    str_yes_no(pipe_config->hw.active),
 		    buf, pipe_config->output_types,
 		    output_formats(pipe_config->output_format));
 
@@ -5694,7 +5695,7 @@ static void intel_dump_pipe_config(const struct intel_crtc_state *pipe_config,
 		intel_dump_dp_vsc_sdp(dev_priv, &pipe_config->infoframes.vsc);
 
 	drm_dbg_kms(&dev_priv->drm, "vrr: %s, vmin: %d, vmax: %d, pipeline full: %d, guardband: %d flipline: %d, vmin vblank: %d, vmax vblank: %d\n",
-		    yesno(pipe_config->vrr.enable),
+		    str_yes_no(pipe_config->vrr.enable),
 		    pipe_config->vrr.vmin, pipe_config->vrr.vmax,
 		    pipe_config->vrr.pipeline_full, pipe_config->vrr.guardband,
 		    pipe_config->vrr.flipline,
@@ -5736,7 +5737,7 @@ static void intel_dump_pipe_config(const struct intel_crtc_state *pipe_config,
 			    "pch pfit: " DRM_RECT_FMT ", %s, force thru: %s\n",
 			    DRM_RECT_ARG(&pipe_config->pch_pfit.dst),
 			    enableddisabled(pipe_config->pch_pfit.enabled),
-			    yesno(pipe_config->pch_pfit.force_thru));
+			    str_yes_no(pipe_config->pch_pfit.force_thru));
 
 	drm_dbg_kms(&dev_priv->drm, "ips: %i, double wide: %i\n",
 		    pipe_config->ips_enabled, pipe_config->double_wide);
@@ -6351,8 +6352,8 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 	if (current_config->name != pipe_config->name) { \
 		pipe_config_mismatch(fastset, crtc,  __stringify(name), \
 				     "(expected %s, found %s)", \
-				     yesno(current_config->name), \
-				     yesno(pipe_config->name)); \
+				     str_yes_no(current_config->name), \
+				     str_yes_no(pipe_config->name)); \
 		ret = false; \
 	} \
 } while (0)
@@ -6368,8 +6369,8 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 	} else { \
 		pipe_config_mismatch(fastset, crtc, __stringify(name), \
 				     "unable to verify whether state matches exactly, forcing modeset (expected %s, found %s)", \
-				     yesno(current_config->name), \
-				     yesno(pipe_config->name)); \
+				     str_yes_no(current_config->name), \
+				     str_yes_no(pipe_config->name)); \
 		ret = false; \
 	} \
 } while (0)
diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index f4de004d470f..a9ba998e0659 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -3,6 +3,8 @@
  * Copyright © 2020 Intel Corporation
  */
 
+#include <linux/string_helpers.h>
+
 #include <drm/drm_debugfs.h>
 #include <drm/drm_fourcc.h>
 
@@ -51,7 +53,7 @@ static int i915_ips_status(struct seq_file *m, void *unused)
 	wakeref = intel_runtime_pm_get(&dev_priv->runtime_pm);
 
 	seq_printf(m, "Enabled by kernel parameter: %s\n",
-		   yesno(dev_priv->params.enable_ips));
+		   str_yes_no(dev_priv->params.enable_ips));
 
 	if (DISPLAY_VER(dev_priv) >= 8) {
 		seq_puts(m, "Currently: unknown\n");
@@ -260,7 +262,7 @@ static int intel_psr_status(struct seq_file *m, struct intel_dp *intel_dp)
 	bool enabled;
 	u32 val;
 
-	seq_printf(m, "Sink support: %s", yesno(psr->sink_support));
+	seq_printf(m, "Sink support: %s", str_yes_no(psr->sink_support));
 	if (psr->sink_support)
 		seq_printf(m, " [0x%02x]", intel_dp->psr_dpcd[0]);
 	seq_puts(m, "\n");
@@ -279,7 +281,7 @@ static int intel_psr_status(struct seq_file *m, struct intel_dp *intel_dp)
 
 	if (!psr->enabled) {
 		seq_printf(m, "PSR sink not reliable: %s\n",
-			   yesno(psr->sink_not_reliable));
+			   str_yes_no(psr->sink_not_reliable));
 
 		goto unlock;
 	}
@@ -446,13 +448,17 @@ static int i915_dmc_info(struct seq_file *m, void *unused)
 
 	wakeref = intel_runtime_pm_get(&dev_priv->runtime_pm);
 
-	seq_printf(m, "fw loaded: %s\n", yesno(intel_dmc_has_payload(dev_priv)));
+	seq_printf(m, "fw loaded: %s\n",
+		   str_yes_no(intel_dmc_has_payload(dev_priv)));
 	seq_printf(m, "path: %s\n", dmc->fw_path);
 	seq_printf(m, "Pipe A fw support: %s\n",
-		   yesno(GRAPHICS_VER(dev_priv) >= 12));
-	seq_printf(m, "Pipe A fw loaded: %s\n", yesno(dmc->dmc_info[DMC_FW_PIPEA].payload));
-	seq_printf(m, "Pipe B fw support: %s\n", yesno(IS_ALDERLAKE_P(dev_priv)));
-	seq_printf(m, "Pipe B fw loaded: %s\n", yesno(dmc->dmc_info[DMC_FW_PIPEB].payload));
+		   str_yes_no(GRAPHICS_VER(dev_priv) >= 12));
+	seq_printf(m, "Pipe A fw loaded: %s\n",
+		   str_yes_no(dmc->dmc_info[DMC_FW_PIPEA].payload));
+	seq_printf(m, "Pipe B fw support: %s\n",
+		   str_yes_no(IS_ALDERLAKE_P(dev_priv)));
+	seq_printf(m, "Pipe B fw loaded: %s\n",
+		   str_yes_no(dmc->dmc_info[DMC_FW_PIPEB].payload));
 
 	if (!intel_dmc_has_payload(dev_priv))
 		goto out;
@@ -577,7 +583,8 @@ static void intel_dp_info(struct seq_file *m,
 	const struct drm_property_blob *edid = intel_connector->base.edid_blob_ptr;
 
 	seq_printf(m, "\tDPCD rev: %x\n", intel_dp->dpcd[DP_DPCD_REV]);
-	seq_printf(m, "\taudio support: %s\n", yesno(intel_dp->has_audio));
+	seq_printf(m, "\taudio support: %s\n",
+		   str_yes_no(intel_dp->has_audio));
 	if (intel_connector->base.connector_type == DRM_MODE_CONNECTOR_eDP)
 		intel_panel_info(m, &intel_connector->panel);
 
@@ -590,7 +597,7 @@ static void intel_dp_mst_info(struct seq_file *m,
 {
 	bool has_audio = intel_connector->port->has_audio;
 
-	seq_printf(m, "\taudio support: %s\n", yesno(has_audio));
+	seq_printf(m, "\taudio support: %s\n", str_yes_no(has_audio));
 }
 
 static void intel_hdmi_info(struct seq_file *m,
@@ -599,7 +606,8 @@ static void intel_hdmi_info(struct seq_file *m,
 	struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
 	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(intel_encoder);
 
-	seq_printf(m, "\taudio support: %s\n", yesno(intel_hdmi->has_audio));
+	seq_printf(m, "\taudio support: %s\n",
+		   str_yes_no(intel_hdmi->has_audio));
 }
 
 static void intel_lvds_info(struct seq_file *m,
@@ -757,7 +765,7 @@ static void intel_plane_hw_info(struct seq_file *m, struct intel_plane *plane)
 		   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),
+		   str_yes_no(plane_state->uapi.visible),
 		   DRM_RECT_FP_ARG(&plane_state->uapi.src),
 		   DRM_RECT_ARG(&plane_state->uapi.dst),
 		   rot_str);
@@ -796,7 +804,7 @@ static void intel_scaler_info(struct seq_file *m, struct intel_crtc *crtc)
 				&crtc_state->scaler_state.scalers[i];
 
 			seq_printf(m, ", scalers[%d]: use=%s, mode=%x",
-				   i, yesno(sc->in_use), sc->mode);
+				   i, str_yes_no(sc->in_use), sc->mode);
 		}
 		seq_puts(m, "\n");
 	} else {
@@ -919,18 +927,19 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc)
 		   crtc->base.base.id, crtc->base.name);
 
 	seq_printf(m, "\tuapi: enable=%s, active=%s, mode=" DRM_MODE_FMT "\n",
-		   yesno(crtc_state->uapi.enable),
-		   yesno(crtc_state->uapi.active),
+		   str_yes_no(crtc_state->uapi.enable),
+		   str_yes_no(crtc_state->uapi.active),
 		   DRM_MODE_ARG(&crtc_state->uapi.mode));
 
 	if (crtc_state->hw.enable) {
 		seq_printf(m, "\thw: active=%s, adjusted_mode=" DRM_MODE_FMT "\n",
-			   yesno(crtc_state->hw.active),
+			   str_yes_no(crtc_state->hw.active),
 			   DRM_MODE_ARG(&crtc_state->hw.adjusted_mode));
 
 		seq_printf(m, "\tpipe src size=%dx%d, dither=%s, bpp=%d\n",
 			   crtc_state->pipe_src_w, crtc_state->pipe_src_h,
-			   yesno(crtc_state->dither), crtc_state->pipe_bpp);
+			   str_yes_no(crtc_state->dither),
+			   crtc_state->pipe_bpp);
 
 		intel_scaler_info(m, crtc);
 	}
@@ -948,8 +957,8 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc)
 	intel_plane_info(m, crtc);
 
 	seq_printf(m, "\tunderrun reporting: cpu=%s pch=%s\n",
-		   yesno(!crtc->cpu_fifo_underrun_disabled),
-		   yesno(!crtc->pch_fifo_underrun_disabled));
+		   str_yes_no(!crtc->cpu_fifo_underrun_disabled),
+		   str_yes_no(!crtc->pch_fifo_underrun_disabled));
 
 	crtc_updates_info(m, crtc, "\t");
 }
@@ -1005,7 +1014,8 @@ static int i915_shared_dplls_info(struct seq_file *m, void *unused)
 		seq_printf(m, "DPLL%i: %s, id: %i\n", i, pll->info->name,
 			   pll->info->id);
 		seq_printf(m, " pipe_mask: 0x%x, active: 0x%x, on: %s\n",
-			   pll->state.pipe_mask, pll->active_mask, yesno(pll->on));
+			   pll->state.pipe_mask, pll->active_mask,
+			   str_yes_no(pll->on));
 		seq_printf(m, " tracked hardware state:\n");
 		seq_printf(m, " dpll:    0x%08x\n", pll->state.hw_state.dpll);
 		seq_printf(m, " dpll_md: 0x%08x\n",
@@ -1046,7 +1056,7 @@ static int i915_ipc_status_show(struct seq_file *m, void *data)
 	struct drm_i915_private *dev_priv = m->private;
 
 	seq_printf(m, "Isochronous Priority Control: %s\n",
-			yesno(dev_priv->ipc_enabled));
+			str_yes_no(dev_priv->ipc_enabled));
 	return 0;
 }
 
@@ -1155,7 +1165,7 @@ static void drrs_status_per_crtc(struct seq_file *m,
 		    drrs->type == SEAMLESS_DRRS_SUPPORT)
 			supported = true;
 
-		seq_printf(m, "\tDRRS Supported: %s\n", yesno(supported));
+		seq_printf(m, "\tDRRS Supported: %s\n", str_yes_no(supported));
 	}
 	drm_connector_list_iter_end(&conn_iter);
 
@@ -1739,7 +1749,7 @@ static int i915_hpd_storm_ctl_show(struct seq_file *m, void *data)
 
 	seq_printf(m, "Threshold: %d\n", hotplug->hpd_storm_threshold);
 	seq_printf(m, "Detected: %s\n",
-		   yesno(delayed_work_pending(&hotplug->reenable_work)));
+		   str_yes_no(delayed_work_pending(&hotplug->reenable_work)));
 
 	return 0;
 }
@@ -1813,7 +1823,7 @@ static int i915_hpd_short_storm_ctl_show(struct seq_file *m, void *data)
 	struct drm_i915_private *dev_priv = m->private;
 
 	seq_printf(m, "Enabled: %s\n",
-		   yesno(dev_priv->hotplug.hpd_short_storm_enabled));
+		   str_yes_no(dev_priv->hotplug.hpd_short_storm_enabled));
 
 	return 0;
 }
@@ -2208,14 +2218,14 @@ static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
 		intel_dp = intel_attached_dp(to_intel_connector(connector));
 		crtc_state = to_intel_crtc_state(crtc->state);
 		seq_printf(m, "DSC_Enabled: %s\n",
-			   yesno(crtc_state->dsc.compression_enable));
+			   str_yes_no(crtc_state->dsc.compression_enable));
 		seq_printf(m, "DSC_Sink_Support: %s\n",
-			   yesno(drm_dp_sink_supports_dsc(intel_dp->dsc_dpcd)));
+			   str_yes_no(drm_dp_sink_supports_dsc(intel_dp->dsc_dpcd)));
 		seq_printf(m, "Force_DSC_Enable: %s\n",
-			   yesno(intel_dp->force_dsc_en));
+			   str_yes_no(intel_dp->force_dsc_en));
 		if (!intel_dp_is_edp(intel_dp))
 			seq_printf(m, "FEC_Sink_Support: %s\n",
-				   yesno(drm_dp_sink_supports_fec(intel_dp->fec_capable)));
+				   str_yes_no(drm_dp_sink_supports_fec(intel_dp->fec_capable)));
 	} while (try_again);
 
 	drm_modeset_drop_locks(&ctx);
diff --git a/drivers/gpu/drm/i915/display/intel_display_trace.h b/drivers/gpu/drm/i915/display/intel_display_trace.h
index f05f0f9b5103..dcdd242fffd9 100644
--- a/drivers/gpu/drm/i915/display/intel_display_trace.h
+++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
@@ -210,9 +210,9 @@ TRACE_EVENT(g4x_wm,
 	    TP_printk("pipe %c, frame=%u, scanline=%u, wm %d/%d/%d, sr %s/%d/%d/%d, hpll %s/%d/%d/%d, fbc %s",
 		      pipe_name(__entry->pipe), __entry->frame, __entry->scanline,
 		      __entry->primary, __entry->sprite, __entry->cursor,
-		      yesno(__entry->cxsr), __entry->sr_plane, __entry->sr_cursor, __entry->sr_fbc,
-		      yesno(__entry->hpll), __entry->hpll_plane, __entry->hpll_cursor, __entry->hpll_fbc,
-		      yesno(__entry->fbc))
+		      str_yes_no(__entry->cxsr), __entry->sr_plane, __entry->sr_cursor, __entry->sr_fbc,
+		      str_yes_no(__entry->hpll), __entry->hpll_plane, __entry->hpll_cursor, __entry->hpll_fbc,
+		      str_yes_no(__entry->fbc))
 );
 
 TRACE_EVENT(vlv_wm,
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 4d4579a301f6..62c1535d696d 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -29,6 +29,7 @@
 #include <linux/i2c.h>
 #include <linux/notifier.h>
 #include <linux/slab.h>
+#include <linux/string_helpers.h>
 #include <linux/timekeeping.h>
 #include <linux/types.h>
 
@@ -2797,8 +2798,9 @@ intel_dp_configure_mst(struct intel_dp *intel_dp)
 	drm_dbg_kms(&i915->drm,
 		    "[ENCODER:%d:%s] MST support: port: %s, sink: %s, modparam: %s\n",
 		    encoder->base.base.id, encoder->base.name,
-		    yesno(intel_dp_mst_source_support(intel_dp)), yesno(sink_can_mst),
-		    yesno(i915->params.enable_dp_mst));
+		    str_yes_no(intel_dp_mst_source_support(intel_dp)),
+		    str_yes_no(sink_can_mst),
+		    str_yes_no(i915->params.enable_dp_mst));
 
 	if (!intel_dp_mst_source_support(intel_dp))
 		return;
@@ -4366,9 +4368,9 @@ intel_dp_update_420(struct intel_dp *intel_dp)
 	drm_dbg_kms(&i915->drm,
 		    "[CONNECTOR:%d:%s] RGB->YcbCr conversion? %s, YCbCr 4:2:0 allowed? %s, YCbCr 4:4:4->4:2:0 conversion? %s\n",
 		    connector->base.base.id, connector->base.name,
-		    yesno(intel_dp->dfp.rgb_to_ycbcr),
-		    yesno(connector->base.ycbcr_420_allowed),
-		    yesno(intel_dp->dfp.ycbcr_444_to_420));
+		    str_yes_no(intel_dp->dfp.rgb_to_ycbcr),
+		    str_yes_no(connector->base.ycbcr_420_allowed),
+		    str_yes_no(intel_dp->dfp.ycbcr_444_to_420));
 }
 
 static void
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index bcdffe62f3cb..f3d7d8dde7ed 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -38,6 +38,8 @@
  * forcibly disable it to allow proper screen updates.
  */
 
+#include <linux/string_helpers.h>
+
 #include <drm/drm_fourcc.h>
 
 #include "i915_drv.h"
@@ -1742,7 +1744,7 @@ static int intel_fbc_debugfs_status_show(struct seq_file *m, void *unused)
 	if (fbc->active) {
 		seq_puts(m, "FBC enabled\n");
 		seq_printf(m, "Compressing: %s\n",
-			   yesno(intel_fbc_is_compressing(fbc)));
+			   str_yes_no(intel_fbc_is_compressing(fbc)));
 	} else {
 		seq_printf(m, "FBC disabled: %s\n", fbc->no_fbc_reason);
 	}
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index 6c72f8587240..02ead400069f 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -30,6 +30,7 @@
 #include <linux/hdmi.h>
 #include <linux/i2c.h>
 #include <linux/slab.h>
+#include <linux/string_helpers.h>
 
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc.h>
@@ -2623,7 +2624,7 @@ bool intel_hdmi_handle_sink_scrambling(struct intel_encoder *encoder,
 	drm_dbg_kms(&dev_priv->drm,
 		    "[CONNECTOR:%d:%s] scrambling=%s, TMDS bit clock ratio=1/%d\n",
 		    connector->base.id, connector->name,
-		    yesno(scrambling), high_tmds_clock_ratio ? 40 : 10);
+		    str_yes_no(scrambling), high_tmds_clock_ratio ? 40 : 10);
 
 	/* Set TMDS bit clock ratio to 1/40 or 1/10, and enable/disable scrambling */
 	return drm_scdc_set_high_tmds_clock_ratio(adapter,
diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c
index 2d71294aaceb..ad999075c233 100644
--- a/drivers/gpu/drm/i915/display/intel_sprite.c
+++ b/drivers/gpu/drm/i915/display/intel_sprite.c
@@ -30,6 +30,8 @@
  * support.
  */
 
+#include <linux/string_helpers.h>
+
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_color_mgmt.h>
@@ -96,13 +98,13 @@ int intel_plane_check_src_coordinates(struct intel_plane_state *plane_state)
 
 	if (src_x % hsub || src_w % hsub) {
 		drm_dbg_kms(&i915->drm, "src x/w (%u, %u) must be a multiple of %u (rotated: %s)\n",
-			    src_x, src_w, hsub, yesno(rotated));
+			    src_x, src_w, hsub, str_yes_no(rotated));
 		return -EINVAL;
 	}
 
 	if (src_y % vsub || src_h % vsub) {
 		drm_dbg_kms(&i915->drm, "src y/h (%u, %u) must be a multiple of %u (rotated: %s)\n",
-			    src_y, src_h, vsub, yesno(rotated));
+			    src_y, src_h, vsub, str_yes_no(rotated));
 		return -EINVAL;
 	}
 
diff --git a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
index f36191ebf964..c8d816a1cd86 100644
--- a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
+++ b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
@@ -5,6 +5,7 @@
  */
 
 #include <linux/prime_numbers.h>
+#include <linux/string_helpers.h>
 
 #include "i915_selftest.h"
 
@@ -803,7 +804,7 @@ static int igt_mock_ppgtt_huge_fill(void *arg)
 		if (vma->resource->page_sizes_gtt != expected_gtt) {
 			pr_err("gtt=%u, expected=%u, size=%zd, single=%s\n",
 			       vma->resource->page_sizes_gtt, expected_gtt,
-			       obj->base.size, yesno(!!single));
+			       obj->base.size, str_yes_no(!!single));
 			err = -EINVAL;
 			break;
 		}
@@ -959,7 +960,7 @@ static int igt_mock_ppgtt_64K(void *arg)
 			if (vma->resource->page_sizes_gtt != expected_gtt) {
 				pr_err("gtt=%u, expected=%u, i=%d, single=%s\n",
 				       vma->resource->page_sizes_gtt,
-				       expected_gtt, i, yesno(!!single));
+				       expected_gtt, i, str_yes_no(!!single));
 				err = -EINVAL;
 				goto out_vma_unpin;
 			}
@@ -1646,14 +1647,14 @@ static int igt_shrink_thp(void *arg)
 			I915_SHRINK_WRITEBACK);
 	if (should_swap == i915_gem_object_has_pages(obj)) {
 		pr_err("unexpected pages mismatch, should_swap=%s\n",
-		       yesno(should_swap));
+		       str_yes_no(should_swap));
 		err = -EINVAL;
 		goto out_put;
 	}
 
 	if (should_swap == (obj->mm.page_sizes.sg || obj->mm.page_sizes.phys)) {
 		pr_err("unexpected residual page-size bits, should_swap=%s\n",
-		       yesno(should_swap));
+		       str_yes_no(should_swap));
 		err = -EINVAL;
 		goto out_put;
 	}
diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
index 80d99b9c694f..4f6707e8808d 100644
--- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
@@ -5,6 +5,7 @@
  */
 
 #include <linux/prime_numbers.h>
+#include <linux/string_helpers.h>
 
 #include "gem/i915_gem_pm.h"
 #include "gt/intel_engine_pm.h"
@@ -698,7 +699,7 @@ static int igt_ctx_exec(void *arg)
 				pr_err("Failed to fill dword %lu [%lu/%lu] with gpu (%s) [full-ppgtt? %s], err=%d\n",
 				       ndwords, dw, max_dwords(obj),
 				       engine->name,
-				       yesno(i915_gem_context_has_full_ppgtt(ctx)),
+				       str_yes_no(i915_gem_context_has_full_ppgtt(ctx)),
 				       err);
 				intel_context_put(ce);
 				kernel_context_close(ctx);
@@ -832,7 +833,7 @@ static int igt_shared_ctx_exec(void *arg)
 				pr_err("Failed to fill dword %lu [%lu/%lu] with gpu (%s) [full-ppgtt? %s], err=%d\n",
 				       ndwords, dw, max_dwords(obj),
 				       engine->name,
-				       yesno(i915_gem_context_has_full_ppgtt(ctx)),
+				       str_yes_no(i915_gem_context_has_full_ppgtt(ctx)),
 				       err);
 				intel_context_put(ce);
 				kernel_context_close(ctx);
@@ -1411,7 +1412,7 @@ static int igt_ctx_readonly(void *arg)
 				pr_err("Failed to fill dword %lu [%lu/%lu] with gpu (%s) [full-ppgtt? %s], err=%d\n",
 				       ndwords, dw, max_dwords(obj),
 				       ce->engine->name,
-				       yesno(i915_gem_context_has_full_ppgtt(ctx)),
+				       str_yes_no(i915_gem_context_has_full_ppgtt(ctx)),
 				       err);
 				i915_gem_context_unlock_engines(ctx);
 				goto out_file;
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 4317ae5e525b..07de0fb56f51 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -3,6 +3,8 @@
  * Copyright © 2016 Intel Corporation
  */
 
+#include <linux/string_helpers.h>
+
 #include <drm/drm_print.h>
 
 #include "gem/i915_gem_context.h"
@@ -1639,8 +1641,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
 		u8 read, write;
 
 		drm_printf(m, "\tExeclist tasklet queued? %s (%s), preempt? %s, timeslice? %s\n",
-			   yesno(test_bit(TASKLET_STATE_SCHED,
-					  &engine->sched_engine->tasklet.state)),
+			   str_yes_no(test_bit(TASKLET_STATE_SCHED, &engine->sched_engine->tasklet.state)),
 			   enableddisabled(!atomic_read(&engine->sched_engine->tasklet.count)),
 			   repr_timer(&engine->execlists.preempt),
 			   repr_timer(&engine->execlists.timer));
@@ -1902,7 +1903,7 @@ void intel_engine_dump(struct intel_engine_cs *engine,
 
 	drm_printf(m, "\tAwake? %d\n", atomic_read(&engine->wakeref.count));
 	drm_printf(m, "\tBarriers?: %s\n",
-		   yesno(!llist_empty(&engine->barrier_tasks)));
+		   str_yes_no(!llist_empty(&engine->barrier_tasks)));
 	drm_printf(m, "\tLatency: %luus\n",
 		   ewma__engine_latency_read(&engine->latency));
 	if (intel_engine_supports_stats(engine))
@@ -1944,7 +1945,7 @@ void intel_engine_dump(struct intel_engine_cs *engine,
 	drm_printf(m, "HWSP:\n");
 	hexdump(m, engine->status_page.addr, PAGE_SIZE);
 
-	drm_printf(m, "Idle? %s\n", yesno(intel_engine_is_idle(engine)));
+	drm_printf(m, "Idle? %s\n", str_yes_no(intel_engine_is_idle(engine)));
 
 	intel_engine_print_breadcrumbs(engine, m);
 }
diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
index 960a9aaf4f3a..95898e3752a7 100644
--- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
+++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
@@ -107,6 +107,7 @@
  *
  */
 #include <linux/interrupt.h>
+#include <linux/string_helpers.h>
 
 #include "i915_drv.h"
 #include "i915_trace.h"
@@ -1330,11 +1331,11 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
 		} else if (timeslice_expired(engine, last)) {
 			ENGINE_TRACE(engine,
 				     "expired:%s last=%llx:%lld, prio=%d, hint=%d, yield?=%s\n",
-				     yesno(timer_expired(&execlists->timer)),
+				     str_yes_no(timer_expired(&execlists->timer)),
 				     last->fence.context, last->fence.seqno,
 				     rq_prio(last),
 				     sched_engine->queue_priority_hint,
-				     yesno(timeslice_yield(execlists, last)));
+				     str_yes_no(timeslice_yield(execlists, last)));
 
 			/*
 			 * Consume this timeslice; ensure we start a new one.
@@ -1422,7 +1423,7 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
 			     __i915_request_is_complete(rq) ? "!" :
 			     __i915_request_has_started(rq) ? "*" :
 			     "",
-			     yesno(engine != ve->siblings[0]));
+			     str_yes_no(engine != ve->siblings[0]));
 
 		WRITE_ONCE(ve->request, NULL);
 		WRITE_ONCE(ve->base.sched_engine->queue_priority_hint, INT_MIN);
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_pm.c
index c0fa41e4c803..e4ecc17889d3 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt_pm.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt_pm.c
@@ -3,6 +3,7 @@
  * Copyright © 2019 Intel Corporation
  */
 
+#include <linux/string_helpers.h>
 #include <linux/suspend.h>
 
 #include "i915_drv.h"
@@ -157,7 +158,7 @@ static void gt_sanitize(struct intel_gt *gt, bool force)
 	enum intel_engine_id id;
 	intel_wakeref_t wakeref;
 
-	GT_TRACE(gt, "force:%s", yesno(force));
+	GT_TRACE(gt, "force:%s", str_yes_no(force));
 
 	/* Use a raw wakeref to avoid calling intel_display_power_get early */
 	wakeref = intel_runtime_pm_get(gt->uncore->rpm);
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c b/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c
index 6c5c1d0363bf..7390c1527107 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c
@@ -5,6 +5,7 @@
  */
 
 #include <linux/seq_file.h>
+#include <linux/string_helpers.h>
 
 #include "i915_drv.h"
 #include "intel_gt.h"
@@ -102,7 +103,7 @@ static int vlv_drpc(struct seq_file *m)
 	rcctl1 = intel_uncore_read(uncore, GEN6_RC_CONTROL);
 
 	seq_printf(m, "RC6 Enabled: %s\n",
-		   yesno(rcctl1 & (GEN7_RC_CTL_TO_MODE |
+		   str_yes_no(rcctl1 & (GEN7_RC_CTL_TO_MODE |
 					GEN6_RC_CTL_EI_MODE(1))));
 	seq_printf(m, "Render Power Well: %s\n",
 		   (pw_status & VLV_GTLC_PW_RENDER_STATUS_MASK) ? "Up" : "Down");
@@ -137,19 +138,19 @@ static int gen6_drpc(struct seq_file *m)
 		snb_pcode_read(i915, GEN6_PCODE_READ_RC6VIDS, &rc6vids, NULL);
 
 	seq_printf(m, "RC1e Enabled: %s\n",
-		   yesno(rcctl1 & GEN6_RC_CTL_RC1e_ENABLE));
+		   str_yes_no(rcctl1 & GEN6_RC_CTL_RC1e_ENABLE));
 	seq_printf(m, "RC6 Enabled: %s\n",
-		   yesno(rcctl1 & GEN6_RC_CTL_RC6_ENABLE));
+		   str_yes_no(rcctl1 & GEN6_RC_CTL_RC6_ENABLE));
 	if (GRAPHICS_VER(i915) >= 9) {
 		seq_printf(m, "Render Well Gating Enabled: %s\n",
-			   yesno(gen9_powergate_enable & GEN9_RENDER_PG_ENABLE));
+			   str_yes_no(gen9_powergate_enable & GEN9_RENDER_PG_ENABLE));
 		seq_printf(m, "Media Well Gating Enabled: %s\n",
-			   yesno(gen9_powergate_enable & GEN9_MEDIA_PG_ENABLE));
+			   str_yes_no(gen9_powergate_enable & GEN9_MEDIA_PG_ENABLE));
 	}
 	seq_printf(m, "Deep RC6 Enabled: %s\n",
-		   yesno(rcctl1 & GEN6_RC_CTL_RC6p_ENABLE));
+		   str_yes_no(rcctl1 & GEN6_RC_CTL_RC6p_ENABLE));
 	seq_printf(m, "Deepest RC6 Enabled: %s\n",
-		   yesno(rcctl1 & GEN6_RC_CTL_RC6pp_ENABLE));
+		   str_yes_no(rcctl1 & GEN6_RC_CTL_RC6pp_ENABLE));
 	seq_puts(m, "Current RC state: ");
 	switch (gt_core_status & GEN6_RCn_MASK) {
 	case GEN6_RC0:
@@ -173,7 +174,7 @@ static int gen6_drpc(struct seq_file *m)
 	}
 
 	seq_printf(m, "Core Power Down: %s\n",
-		   yesno(gt_core_status & GEN6_CORE_CPD_STATE_MASK));
+		   str_yes_no(gt_core_status & GEN6_CORE_CPD_STATE_MASK));
 	if (GRAPHICS_VER(i915) >= 9) {
 		seq_printf(m, "Render Power Well: %s\n",
 			   (gen9_powergate_status &
@@ -213,16 +214,17 @@ static int ilk_drpc(struct seq_file *m)
 	rstdbyctl = intel_uncore_read(uncore, RSTDBYCTL);
 	crstandvid = intel_uncore_read16(uncore, CRSTANDVID);
 
-	seq_printf(m, "HD boost: %s\n", yesno(rgvmodectl & MEMMODE_BOOST_EN));
+	seq_printf(m, "HD boost: %s\n",
+		   str_yes_no(rgvmodectl & MEMMODE_BOOST_EN));
 	seq_printf(m, "Boost freq: %d\n",
 		   (rgvmodectl & MEMMODE_BOOST_FREQ_MASK) >>
 		   MEMMODE_BOOST_FREQ_SHIFT);
 	seq_printf(m, "HW control enabled: %s\n",
-		   yesno(rgvmodectl & MEMMODE_HWIDLE_EN));
+		   str_yes_no(rgvmodectl & MEMMODE_HWIDLE_EN));
 	seq_printf(m, "SW control enabled: %s\n",
-		   yesno(rgvmodectl & MEMMODE_SWMODE_EN));
+		   str_yes_no(rgvmodectl & MEMMODE_SWMODE_EN));
 	seq_printf(m, "Gated voltage change: %s\n",
-		   yesno(rgvmodectl & MEMMODE_RCLK_GATE));
+		   str_yes_no(rgvmodectl & MEMMODE_RCLK_GATE));
 	seq_printf(m, "Starting frequency: P%d\n",
 		   (rgvmodectl & MEMMODE_FSTART_MASK) >> MEMMODE_FSTART_SHIFT);
 	seq_printf(m, "Max P-state: P%d\n",
@@ -231,7 +233,7 @@ static int ilk_drpc(struct seq_file *m)
 	seq_printf(m, "RS1 VID: %d\n", (crstandvid & 0x3f));
 	seq_printf(m, "RS2 VID: %d\n", ((crstandvid >> 8) & 0x3f));
 	seq_printf(m, "Render standby enabled: %s\n",
-		   yesno(!(rstdbyctl & RCX_SW_EXIT)));
+		   str_yes_no(!(rstdbyctl & RCX_SW_EXIT)));
 	seq_puts(m, "Current RS state: ");
 	switch (rstdbyctl & RSX_STATUS_MASK) {
 	case RSX_STATUS_ON:
@@ -304,12 +306,11 @@ void intel_gt_pm_frequency_dump(struct intel_gt *gt, struct drm_printer *p)
 
 		rpmodectl = intel_uncore_read(uncore, GEN6_RP_CONTROL);
 		drm_printf(p, "Video Turbo Mode: %s\n",
-			   yesno(rpmodectl & GEN6_RP_MEDIA_TURBO));
+			   str_yes_no(rpmodectl & GEN6_RP_MEDIA_TURBO));
 		drm_printf(p, "HW control enabled: %s\n",
-			   yesno(rpmodectl & GEN6_RP_ENABLE));
+			   str_yes_no(rpmodectl & GEN6_RP_ENABLE));
 		drm_printf(p, "SW control enabled: %s\n",
-			   yesno((rpmodectl & GEN6_RP_MEDIA_MODE_MASK) ==
-				 GEN6_RP_MEDIA_SW_MODE));
+			   str_yes_no((rpmodectl & GEN6_RP_MEDIA_MODE_MASK) == GEN6_RP_MEDIA_SW_MODE));
 
 		vlv_punit_get(i915);
 		freq_sts = vlv_punit_read(i915, PUNIT_REG_GPU_FREQ_STS);
@@ -414,12 +415,11 @@ void intel_gt_pm_frequency_dump(struct intel_gt *gt, struct drm_printer *p)
 		pm_mask = intel_uncore_read(uncore, GEN6_PMINTRMSK);
 
 		drm_printf(p, "Video Turbo Mode: %s\n",
-			   yesno(rpmodectl & GEN6_RP_MEDIA_TURBO));
+			   str_yes_no(rpmodectl & GEN6_RP_MEDIA_TURBO));
 		drm_printf(p, "HW control enabled: %s\n",
-			   yesno(rpmodectl & GEN6_RP_ENABLE));
+			   str_yes_no(rpmodectl & GEN6_RP_ENABLE));
 		drm_printf(p, "SW control enabled: %s\n",
-			   yesno((rpmodectl & GEN6_RP_MEDIA_MODE_MASK) ==
-				 GEN6_RP_MEDIA_SW_MODE));
+			   str_yes_no((rpmodectl & GEN6_RP_MEDIA_MODE_MASK) == GEN6_RP_MEDIA_SW_MODE));
 
 		drm_printf(p, "PM IER=0x%08x IMR=0x%08x, MASK=0x%08x\n",
 			   pm_ier, pm_imr, pm_mask);
@@ -539,7 +539,7 @@ static int llc_show(struct seq_file *m, void *data)
 	intel_wakeref_t wakeref;
 	int gpu_freq, ia_freq;
 
-	seq_printf(m, "LLC: %s\n", yesno(HAS_LLC(i915)));
+	seq_printf(m, "LLC: %s\n", str_yes_no(HAS_LLC(i915)));
 	seq_printf(m, "%s: %uMB\n", edram ? "eDRAM" : "eLLC",
 		   i915->edram_size_mb);
 
@@ -601,10 +601,12 @@ static int rps_boost_show(struct seq_file *m, void *data)
 	struct drm_i915_private *i915 = gt->i915;
 	struct intel_rps *rps = &gt->rps;
 
-	seq_printf(m, "RPS enabled? %s\n", yesno(intel_rps_is_enabled(rps)));
-	seq_printf(m, "RPS active? %s\n", yesno(intel_rps_is_active(rps)));
+	seq_printf(m, "RPS enabled? %s\n",
+		   str_yes_no(intel_rps_is_enabled(rps)));
+	seq_printf(m, "RPS active? %s\n",
+		   str_yes_no(intel_rps_is_active(rps)));
 	seq_printf(m, "GPU busy? %s, %llums\n",
-		   yesno(gt->awake),
+		   str_yes_no(gt->awake),
 		   ktime_to_ms(intel_gt_get_awake_time(gt)));
 	seq_printf(m, "Boosts outstanding? %d\n",
 		   atomic_read(&rps->num_waiters));
diff --git a/drivers/gpu/drm/i915/gt/intel_reset.c b/drivers/gpu/drm/i915/gt/intel_reset.c
index 6f2821cca409..d1cf0f73df3f 100644
--- a/drivers/gpu/drm/i915/gt/intel_reset.c
+++ b/drivers/gpu/drm/i915/gt/intel_reset.c
@@ -5,6 +5,7 @@
 
 #include <linux/sched/mm.h>
 #include <linux/stop_machine.h>
+#include <linux/string_helpers.h>
 
 #include "display/intel_display.h"
 #include "display/intel_overlay.h"
@@ -133,7 +134,7 @@ void __i915_request_reset(struct i915_request *rq, bool guilty)
 {
 	bool banned = false;
 
-	RQ_TRACE(rq, "guilty? %s\n", yesno(guilty));
+	RQ_TRACE(rq, "guilty? %s\n", str_yes_no(guilty));
 	GEM_BUG_ON(__i915_request_is_complete(rq));
 
 	rcu_read_lock(); /* protect the GEM context */
diff --git a/drivers/gpu/drm/i915/gt/intel_rps.c b/drivers/gpu/drm/i915/gt/intel_rps.c
index 8a13bc005b45..e9f9874d1e5b 100644
--- a/drivers/gpu/drm/i915/gt/intel_rps.c
+++ b/drivers/gpu/drm/i915/gt/intel_rps.c
@@ -3,6 +3,8 @@
  * Copyright © 2019 Intel Corporation
  */
 
+#include <linux/string_helpers.h>
+
 #include <drm/i915_drm.h>
 
 #include "i915_drv.h"
@@ -770,7 +772,8 @@ static void gen6_rps_set_thresholds(struct intel_rps *rps, u8 val)
 
 void intel_rps_mark_interactive(struct intel_rps *rps, bool interactive)
 {
-	GT_TRACE(rps_to_gt(rps), "mark interactive: %s\n", yesno(interactive));
+	GT_TRACE(rps_to_gt(rps), "mark interactive: %s\n",
+		 str_yes_no(interactive));
 
 	mutex_lock(&rps->power.mutex);
 	if (interactive) {
@@ -1277,7 +1280,8 @@ static bool chv_rps_enable(struct intel_rps *rps)
 	drm_WARN_ONCE(&i915->drm, (val & GPLLENABLE) == 0,
 		      "GPLL not enabled\n");
 
-	drm_dbg(&i915->drm, "GPLL enabled? %s\n", yesno(val & GPLLENABLE));
+	drm_dbg(&i915->drm, "GPLL enabled? %s\n",
+		str_yes_no(val & GPLLENABLE));
 	drm_dbg(&i915->drm, "GPU status: 0x%08x\n", val);
 
 	return rps_reset(rps);
@@ -1378,7 +1382,8 @@ static bool vlv_rps_enable(struct intel_rps *rps)
 	drm_WARN_ONCE(&i915->drm, (val & GPLLENABLE) == 0,
 		      "GPLL not enabled\n");
 
-	drm_dbg(&i915->drm, "GPLL enabled? %s\n", yesno(val & GPLLENABLE));
+	drm_dbg(&i915->drm, "GPLL enabled? %s\n",
+		str_yes_no(val & GPLLENABLE));
 	drm_dbg(&i915->drm, "GPU status: 0x%08x\n", val);
 
 	return rps_reset(rps);
@@ -1770,7 +1775,7 @@ static void rps_work(struct work_struct *work)
 
 	GT_TRACE(gt,
 		 "pm_iir:%x, client_boost:%s, last:%d, cur:%x, min:%x, max:%x\n",
-		 pm_iir, yesno(client_boost),
+		 pm_iir, str_yes_no(client_boost),
 		 adj, new_freq, min, max);
 
 	if (client_boost && new_freq < rps->boost_freq) {
diff --git a/drivers/gpu/drm/i915/gt/intel_sseu.c b/drivers/gpu/drm/i915/gt/intel_sseu.c
index bdf09051b8a0..5168e5d27ae9 100644
--- a/drivers/gpu/drm/i915/gt/intel_sseu.c
+++ b/drivers/gpu/drm/i915/gt/intel_sseu.c
@@ -3,6 +3,8 @@
  * Copyright © 2019 Intel Corporation
  */
 
+#include <linux/string_helpers.h>
+
 #include "i915_drv.h"
 #include "intel_lrc_reg.h"
 #include "intel_sseu.h"
@@ -699,10 +701,11 @@ void intel_sseu_dump(const struct sseu_dev_info *sseu, struct drm_printer *p)
 	drm_printf(p, "EU total: %u\n", sseu->eu_total);
 	drm_printf(p, "EU per subslice: %u\n", sseu->eu_per_subslice);
 	drm_printf(p, "has slice power gating: %s\n",
-		   yesno(sseu->has_slice_pg));
+		   str_yes_no(sseu->has_slice_pg));
 	drm_printf(p, "has subslice power gating: %s\n",
-		   yesno(sseu->has_subslice_pg));
-	drm_printf(p, "has EU power gating: %s\n", yesno(sseu->has_eu_pg));
+		   str_yes_no(sseu->has_subslice_pg));
+	drm_printf(p, "has EU power gating: %s\n",
+		   str_yes_no(sseu->has_eu_pg));
 }
 
 void intel_sseu_print_topology(const struct sseu_dev_info *sseu,
diff --git a/drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c b/drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c
index 8bb3a91dad82..d4bfbde63e60 100644
--- a/drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c
+++ b/drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c
@@ -4,6 +4,8 @@
  * Copyright © 2020 Intel Corporation
  */
 
+#include <linux/string_helpers.h>
+
 #include "i915_drv.h"
 #include "intel_gt_debugfs.h"
 #include "intel_sseu_debugfs.h"
@@ -225,16 +227,16 @@ static void i915_print_sseu_info(struct seq_file *m,
 	if (!is_available_info)
 		return;
 
-	seq_printf(m, "  Has Pooled EU: %s\n", yesno(has_pooled_eu));
+	seq_printf(m, "  Has Pooled EU: %s\n", str_yes_no(has_pooled_eu));
 	if (has_pooled_eu)
 		seq_printf(m, "  Min EU in pool: %u\n", sseu->min_eu_in_pool);
 
 	seq_printf(m, "  Has Slice Power Gating: %s\n",
-		   yesno(sseu->has_slice_pg));
+		   str_yes_no(sseu->has_slice_pg));
 	seq_printf(m, "  Has Subslice Power Gating: %s\n",
-		   yesno(sseu->has_subslice_pg));
+		   str_yes_no(sseu->has_subslice_pg));
 	seq_printf(m, "  Has EU Power Gating: %s\n",
-		   yesno(sseu->has_eu_pg));
+		   str_yes_no(sseu->has_eu_pg));
 }
 
 /*
diff --git a/drivers/gpu/drm/i915/gt/selftest_timeline.c b/drivers/gpu/drm/i915/gt/selftest_timeline.c
index 0410c402f2a3..522d0190509c 100644
--- a/drivers/gpu/drm/i915/gt/selftest_timeline.c
+++ b/drivers/gpu/drm/i915/gt/selftest_timeline.c
@@ -4,6 +4,7 @@
  */
 
 #include <linux/prime_numbers.h>
+#include <linux/string_helpers.h>
 
 #include "intel_context.h"
 #include "intel_engine_heartbeat.h"
@@ -209,7 +210,7 @@ static int __igt_sync(struct intel_timeline *tl,
 
 	if (__intel_timeline_sync_is_later(tl, ctx, p->seqno) != p->expected) {
 		pr_err("%s: %s(ctx=%llu, seqno=%u) expected passed %s but failed\n",
-		       name, p->name, ctx, p->seqno, yesno(p->expected));
+		       name, p->name, ctx, p->seqno, str_yes_no(p->expected));
 		return -EINVAL;
 	}
 
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
index b53f61f3101f..8a99c2e624c2 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
@@ -4,6 +4,7 @@
  */
 
 #include <linux/debugfs.h>
+#include <linux/string_helpers.h>
 
 #include "gt/intel_gt.h"
 #include "i915_drv.h"
@@ -477,7 +478,7 @@ int intel_guc_log_create(struct intel_guc_log *log)
 	log->level = __get_default_log_level(log);
 	DRM_DEBUG_DRIVER("guc_log_level=%d (%s, verbose:%s, verbosity:%d)\n",
 			 log->level, enableddisabled(log->level),
-			 yesno(GUC_LOG_LEVEL_IS_VERBOSE(log->level)),
+			 str_yes_no(GUC_LOG_LEVEL_IS_VERBOSE(log->level)),
 			 GUC_LOG_LEVEL_TO_VERBOSITY(log->level));
 
 	return 0;
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c
index 13b27b8ff74e..742bfb9a0a57 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c
@@ -3,6 +3,8 @@
  * Copyright © 2021 Intel Corporation
  */
 
+#include <linux/string_helpers.h>
+
 #include "i915_drv.h"
 #include "intel_guc_slpc.h"
 #include "gt/intel_gt.h"
@@ -713,7 +715,7 @@ int intel_guc_slpc_print_info(struct intel_guc_slpc *slpc, struct drm_printer *p
 
 			drm_printf(p, "\tSLPC state: %s\n", slpc_get_state_string(slpc));
 			drm_printf(p, "\tGTPERF task active: %s\n",
-				   yesno(slpc_tasks->status & SLPC_GTPERF_TASK_ENABLED));
+				   str_yes_no(slpc_tasks->status & SLPC_GTPERF_TASK_ENABLED));
 			drm_printf(p, "\tMax freq: %u MHz\n",
 				   slpc_decode_max_freq(slpc));
 			drm_printf(p, "\tMin freq: %u MHz\n",
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index da199aa6989f..8e756d4c2c16 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -3,6 +3,8 @@
  * Copyright © 2016-2019 Intel Corporation
  */
 
+#include <linux/string_helpers.h>
+
 #include "gt/intel_gt.h"
 #include "gt/intel_reset.h"
 #include "intel_guc.h"
@@ -78,10 +80,10 @@ static void __confirm_options(struct intel_uc *uc)
 	drm_dbg(&i915->drm,
 		"enable_guc=%d (guc:%s submission:%s huc:%s slpc:%s)\n",
 		i915->params.enable_guc,
-		yesno(intel_uc_wants_guc(uc)),
-		yesno(intel_uc_wants_guc_submission(uc)),
-		yesno(intel_uc_wants_huc(uc)),
-		yesno(intel_uc_wants_guc_slpc(uc)));
+		str_yes_no(intel_uc_wants_guc(uc)),
+		str_yes_no(intel_uc_wants_guc_submission(uc)),
+		str_yes_no(intel_uc_wants_huc(uc)),
+		str_yes_no(intel_uc_wants_guc_slpc(uc)));
 
 	if (i915->params.enable_guc == 0) {
 		GEM_BUG_ON(intel_uc_wants_guc(uc));
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c
index c2f7924295e7..284d6fbc2d08 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c
@@ -4,6 +4,8 @@
  */
 
 #include <linux/debugfs.h>
+#include <linux/string_helpers.h>
+
 #include <drm/drm_print.h>
 
 #include "gt/intel_gt_debugfs.h"
@@ -18,17 +20,17 @@ static int uc_usage_show(struct seq_file *m, void *data)
 	struct drm_printer p = drm_seq_file_printer(m);
 
 	drm_printf(&p, "[guc] supported:%s wanted:%s used:%s\n",
-		   yesno(intel_uc_supports_guc(uc)),
-		   yesno(intel_uc_wants_guc(uc)),
-		   yesno(intel_uc_uses_guc(uc)));
+		   str_yes_no(intel_uc_supports_guc(uc)),
+		   str_yes_no(intel_uc_wants_guc(uc)),
+		   str_yes_no(intel_uc_uses_guc(uc)));
 	drm_printf(&p, "[huc] supported:%s wanted:%s used:%s\n",
-		   yesno(intel_uc_supports_huc(uc)),
-		   yesno(intel_uc_wants_huc(uc)),
-		   yesno(intel_uc_uses_huc(uc)));
+		   str_yes_no(intel_uc_supports_huc(uc)),
+		   str_yes_no(intel_uc_wants_huc(uc)),
+		   str_yes_no(intel_uc_uses_huc(uc)));
 	drm_printf(&p, "[submission] supported:%s wanted:%s used:%s\n",
-		   yesno(intel_uc_supports_guc_submission(uc)),
-		   yesno(intel_uc_wants_guc_submission(uc)),
-		   yesno(intel_uc_uses_guc_submission(uc)));
+		   str_yes_no(intel_uc_supports_guc_submission(uc)),
+		   str_yes_no(intel_uc_wants_guc_submission(uc)),
+		   str_yes_no(intel_uc_uses_guc_submission(uc)));
 
 	return 0;
 }
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index f3141b58d912..8e70c404bcc5 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -28,6 +28,7 @@
 
 #include <linux/sched/mm.h>
 #include <linux/sort.h>
+#include <linux/string_helpers.h>
 
 #include <drm/drm_debugfs.h>
 
@@ -442,9 +443,11 @@ static int i915_rps_boost_info(struct seq_file *m, void *data)
 	struct drm_i915_private *dev_priv = node_to_i915(m->private);
 	struct intel_rps *rps = &to_gt(dev_priv)->rps;
 
-	seq_printf(m, "RPS enabled? %s\n", yesno(intel_rps_is_enabled(rps)));
-	seq_printf(m, "RPS active? %s\n", yesno(intel_rps_is_active(rps)));
-	seq_printf(m, "GPU busy? %s\n", yesno(to_gt(dev_priv)->awake));
+	seq_printf(m, "RPS enabled? %s\n",
+		   str_yes_no(intel_rps_is_enabled(rps)));
+	seq_printf(m, "RPS active? %s\n",
+		   str_yes_no(intel_rps_is_active(rps)));
+	seq_printf(m, "GPU busy? %s\n", str_yes_no(to_gt(dev_priv)->awake));
 	seq_printf(m, "Boosts outstanding? %d\n",
 		   atomic_read(&rps->num_waiters));
 	seq_printf(m, "Interactive? %d\n", READ_ONCE(rps->power.interactive));
@@ -477,9 +480,9 @@ static int i915_runtime_pm_status(struct seq_file *m, void *unused)
 	seq_printf(m, "Runtime power status: %s\n",
 		   enableddisabled(!dev_priv->power_domains.init_wakeref));
 
-	seq_printf(m, "GPU idle: %s\n", yesno(!to_gt(dev_priv)->awake));
+	seq_printf(m, "GPU idle: %s\n", str_yes_no(!to_gt(dev_priv)->awake));
 	seq_printf(m, "IRQs disabled: %s\n",
-		   yesno(!intel_irqs_enabled(dev_priv)));
+		   str_yes_no(!intel_irqs_enabled(dev_priv)));
 #ifdef CONFIG_PM
 	seq_printf(m, "Usage count: %d\n",
 		   atomic_read(&dev_priv->drm.dev->power.usage_count));
@@ -509,7 +512,7 @@ static int i915_engine_info(struct seq_file *m, void *unused)
 	wakeref = intel_runtime_pm_get(&i915->runtime_pm);
 
 	seq_printf(m, "GT awake? %s [%d], %llums\n",
-		   yesno(to_gt(i915)->awake),
+		   str_yes_no(to_gt(i915)->awake),
 		   atomic_read(&to_gt(i915)->wakeref.count),
 		   ktime_to_ms(intel_gt_get_awake_time(to_gt(i915))));
 	seq_printf(m, "CS timestamp frequency: %u Hz, %d ns\n",
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
index aee42eae4729..e18a8c18d4fa 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -31,6 +31,7 @@
 #include <linux/nmi.h>
 #include <linux/pagevec.h>
 #include <linux/scatterlist.h>
+#include <linux/string_helpers.h>
 #include <linux/utsname.h>
 #include <linux/zlib.h>
 
@@ -716,7 +717,7 @@ static void err_print_gt(struct drm_i915_error_state_buf *m,
 	const struct intel_engine_coredump *ee;
 	int i;
 
-	err_printf(m, "GT awake: %s\n", yesno(gt->awake));
+	err_printf(m, "GT awake: %s\n", str_yes_no(gt->awake));
 	err_printf(m, "EIR: 0x%08x\n", gt->eir);
 	err_printf(m, "IER: 0x%08x\n", gt->ier);
 	for (i = 0; i < gt->ngtier; i++)
@@ -824,14 +825,14 @@ static void __err_print_to_sgl(struct drm_i915_error_state_buf *m,
 		struct intel_dmc *dmc = &m->i915->dmc;
 
 		err_printf(m, "DMC loaded: %s\n",
-			   yesno(intel_dmc_has_payload(m->i915) != 0));
+			   str_yes_no(intel_dmc_has_payload(m->i915) != 0));
 		err_printf(m, "DMC fw version: %d.%d\n",
 			   DMC_VERSION_MAJOR(dmc->version),
 			   DMC_VERSION_MINOR(dmc->version));
 	}
 
-	err_printf(m, "RPM wakelock: %s\n", yesno(error->wakelock));
-	err_printf(m, "PM suspended: %s\n", yesno(error->suspended));
+	err_printf(m, "RPM wakelock: %s\n", str_yes_no(error->wakelock));
+	err_printf(m, "PM suspended: %s\n", str_yes_no(error->suspended));
 
 	if (error->gt)
 		err_print_gt(m, error->gt);
diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
index 525ae832aa9a..a28b10bc20ad 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -22,6 +22,8 @@
  * IN THE SOFTWARE.
  */
 
+#include <linux/string_helpers.h>
+
 #include <drm/drm_print.h>
 
 #include "i915_params.h"
@@ -211,7 +213,8 @@ static __always_inline void _print_param(struct drm_printer *p,
 					 const void *x)
 {
 	if (!__builtin_strcmp(type, "bool"))
-		drm_printf(p, "i915.%s=%s\n", name, yesno(*(const bool *)x));
+		drm_printf(p, "i915.%s=%s\n", name,
+			   str_yes_no(*(const bool *)x));
 	else if (!__builtin_strcmp(type, "int"))
 		drm_printf(p, "i915.%s=%d\n", name, *(const int *)x);
 	else if (!__builtin_strcmp(type, "unsigned int"))
diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
index bfafd0afd117..c62b64012369 100644
--- a/drivers/gpu/drm/i915/i915_utils.h
+++ b/drivers/gpu/drm/i915/i915_utils.h
@@ -399,11 +399,6 @@ wait_remaining_ms_from_jiffies(unsigned long timestamp_jiffies, int to_wait_ms)
 #define MBps(x) KBps(1000 * (x))
 #define GBps(x) ((u64)1000 * MBps((x)))
 
-static inline const char *yesno(bool v)
-{
-	return v ? "yes" : "no";
-}
-
 static inline const char *onoff(bool v)
 {
 	return v ? "on" : "off";
diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
index 94da5aa37391..88f29ac11ddd 100644
--- a/drivers/gpu/drm/i915/intel_device_info.c
+++ b/drivers/gpu/drm/i915/intel_device_info.c
@@ -22,6 +22,8 @@
  *
  */
 
+#include <linux/string_helpers.h>
+
 #include <drm/drm_print.h>
 #include <drm/i915_pciids.h>
 
@@ -110,11 +112,11 @@ void intel_device_info_print_static(const struct intel_device_info *info,
 	drm_printf(p, "ppgtt-type: %d\n", info->ppgtt_type);
 	drm_printf(p, "dma_mask_size: %u\n", info->dma_mask_size);
 
-#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, yesno(info->name))
+#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, str_yes_no(info->name))
 	DEV_INFO_FOR_EACH_FLAG(PRINT_FLAG);
 #undef PRINT_FLAG
 
-#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, yesno(info->display.name))
+#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, str_yes_no(info->display.name))
 	DEV_INFO_DISPLAY_FOR_EACH_FLAG(PRINT_FLAG);
 #undef PRINT_FLAG
 }
@@ -400,6 +402,6 @@ void intel_driver_caps_print(const struct intel_driver_caps *caps,
 			     struct drm_printer *p)
 {
 	drm_printf(p, "Has logical contexts? %s\n",
-		   yesno(caps->has_logical_contexts));
+		   str_yes_no(caps->has_logical_contexts));
 	drm_printf(p, "scheduler: %x\n", caps->scheduler);
 }
diff --git a/drivers/gpu/drm/i915/intel_dram.c b/drivers/gpu/drm/i915/intel_dram.c
index 3e26ccabf7f9..f8087f061e0b 100644
--- a/drivers/gpu/drm/i915/intel_dram.c
+++ b/drivers/gpu/drm/i915/intel_dram.c
@@ -3,6 +3,8 @@
  * Copyright © 2020 Intel Corporation
  */
 
+#include <linux/string_helpers.h>
+
 #include "i915_drv.h"
 #include "intel_dram.h"
 #include "intel_pcode.h"
@@ -134,7 +136,7 @@ skl_dram_get_dimm_info(struct drm_i915_private *i915,
 	drm_dbg_kms(&i915->drm,
 		    "CH%u DIMM %c size: %u Gb, width: X%u, ranks: %u, 16Gb DIMMs: %s\n",
 		    channel, dimm_name, dimm->size, dimm->width, dimm->ranks,
-		    yesno(skl_is_16gb_dimm(dimm)));
+		    str_yes_no(skl_is_16gb_dimm(dimm)));
 }
 
 static int
@@ -163,7 +165,7 @@ skl_dram_get_channel_info(struct drm_i915_private *i915,
 		skl_is_16gb_dimm(&ch->dimm_s);
 
 	drm_dbg_kms(&i915->drm, "CH%u ranks: %u, 16Gb DIMMs: %s\n",
-		    channel, ch->ranks, yesno(ch->is_16gb_dimm));
+		    channel, ch->ranks, str_yes_no(ch->is_16gb_dimm));
 
 	return 0;
 }
@@ -212,7 +214,7 @@ skl_dram_get_channels_info(struct drm_i915_private *i915)
 	dram_info->symmetric_memory = intel_is_dram_symmetric(&ch0, &ch1);
 
 	drm_dbg_kms(&i915->drm, "Memory configuration is symmetric? %s\n",
-		    yesno(dram_info->symmetric_memory));
+		    str_yes_no(dram_info->symmetric_memory));
 
 	return 0;
 }
@@ -490,7 +492,7 @@ void intel_dram_detect(struct drm_i915_private *i915)
 	drm_dbg_kms(&i915->drm, "DRAM channels: %u\n", dram_info->num_channels);
 
 	drm_dbg_kms(&i915->drm, "Watermark level 0 adjustment needed: %s\n",
-		    yesno(dram_info->wm_lv_0_adjust_needed));
+		    str_yes_no(dram_info->wm_lv_0_adjust_needed));
 }
 
 static u32 gen9_edram_size_mb(struct drm_i915_private *i915, u32 cap)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index c2bb9945f7be..c538a66687bd 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -26,6 +26,7 @@
  */
 
 #include <linux/module.h>
+#include <linux/string_helpers.h>
 #include <linux/pm_runtime.h>
 
 #include <drm/drm_atomic_helper.h>
@@ -6152,8 +6153,8 @@ skl_compute_ddb(struct intel_atomic_state *state)
 			    old_dbuf_state->enabled_slices,
 			    new_dbuf_state->enabled_slices,
 			    INTEL_INFO(dev_priv)->dbuf.slice_mask,
-			    yesno(old_dbuf_state->joined_mbus),
-			    yesno(new_dbuf_state->joined_mbus));
+			    str_yes_no(old_dbuf_state->joined_mbus),
+			    str_yes_no(new_dbuf_state->joined_mbus));
 	}
 
 	for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i) {
@@ -6651,7 +6652,7 @@ void skl_wm_get_hw_state(struct drm_i915_private *dev_priv)
 			    crtc->base.base.id, crtc->base.name,
 			    dbuf_state->slices[pipe], dbuf_state->ddb[pipe].start,
 			    dbuf_state->ddb[pipe].end, dbuf_state->active_pipes,
-			    yesno(dbuf_state->joined_mbus));
+			    str_yes_no(dbuf_state->joined_mbus));
 	}
 
 	dbuf_state->enabled_slices = dev_priv->dbuf.enabled_slices;
@@ -6894,7 +6895,8 @@ void g4x_wm_get_hw_state(struct drm_i915_private *dev_priv)
 		    "Initial HPLL watermarks: plane=%d, SR cursor=%d fbc=%d\n",
 		    wm->hpll.plane, wm->hpll.cursor, wm->hpll.fbc);
 	drm_dbg_kms(&dev_priv->drm, "Initial SR=%s HPLL=%s FBC=%s\n",
-		    yesno(wm->cxsr), yesno(wm->hpll_en), yesno(wm->fbc_en));
+		    str_yes_no(wm->cxsr), str_yes_no(wm->hpll_en),
+		    str_yes_no(wm->fbc_en));
 }
 
 void g4x_wm_sanitize(struct drm_i915_private *dev_priv)
diff --git a/drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c b/drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c
index 10e1e45471f1..c9da1015eb42 100644
--- a/drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c
+++ b/drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c
@@ -4,6 +4,8 @@
  */
 
 #include <linux/debugfs.h>
+#include <linux/string_helpers.h>
+
 #include <drm/drm_print.h>
 
 #include "gt/intel_gt_debugfs.h"
@@ -22,7 +24,7 @@ static int pxp_info_show(struct seq_file *m, void *data)
 		return 0;
 	}
 
-	drm_printf(&p, "active: %s\n", yesno(intel_pxp_is_active(pxp)));
+	drm_printf(&p, "active: %s\n", str_yes_no(intel_pxp_is_active(pxp)));
 	drm_printf(&p, "instance counter: %u\n", pxp->key_instance);
 
 	return 0;
diff --git a/drivers/gpu/drm/i915/selftests/i915_active.c b/drivers/gpu/drm/i915/selftests/i915_active.c
index 2dac9be1de58..b61fe850e924 100644
--- a/drivers/gpu/drm/i915/selftests/i915_active.c
+++ b/drivers/gpu/drm/i915/selftests/i915_active.c
@@ -5,6 +5,7 @@
  */
 
 #include <linux/kref.h>
+#include <linux/string_helpers.h>
 
 #include "gem/i915_gem_pm.h"
 #include "gt/intel_gt.h"
@@ -280,7 +281,7 @@ void i915_active_print(struct i915_active *ref, struct drm_printer *m)
 	drm_printf(m, "active %ps:%ps\n", ref->active, ref->retire);
 	drm_printf(m, "\tcount: %d\n", atomic_read(&ref->count));
 	drm_printf(m, "\tpreallocated barriers? %s\n",
-		   yesno(!llist_empty(&ref->preallocated_barriers)));
+		   str_yes_no(!llist_empty(&ref->preallocated_barriers)));
 
 	if (i915_active_acquire_if_busy(ref)) {
 		struct active_node *it, *n;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 04/11] drm/i915: Use str_enable_disable()
  2022-01-26  9:39 [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Lucas De Marchi
                   ` (2 preceding siblings ...)
  2022-01-26  9:39 ` [PATCH v2 03/11] drm/i915: Use str_yes_no() Lucas De Marchi
@ 2022-01-26  9:39 ` Lucas De Marchi
  2022-02-01 21:23   ` [Intel-gfx] " Matt Roper
  2022-01-26  9:39 ` [PATCH v2 05/11] drm/i915: Use str_enabled_disabled() Lucas De Marchi
                   ` (7 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Lucas De Marchi @ 2022-01-26  9:39 UTC (permalink / raw)
  To: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Daniel Vetter, Jani Nikula, Alex Deucher, Andrew Morton,
	Andy Shevchenko, Andy Shevchenko, Ben Skeggs,
	Christian König, Chris Wilson, Daniel Vetter, David Airlie,
	David S. Miller, Emma Anholt, Francis Laniel, Greg Kroah-Hartman,
	Harry Wentland, Jakub Kicinski, Jani Nikula, Joonas Lahtinen,
	Julia Lawall, Kentaro Takeda, Leo Li, Petr Mladek,
	Rahul Lakkireddy, Raju Rangoju, Rasmus Villemoes, Rodrigo Vivi,
	Sakari Ailus, Sergey Senozhatsky, Steven Rostedt,
	Vishal Kulkarni

Remove the local enabledisable() implementation and adopt the
str_enable_disable() from linux/string_helpers.h.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_ddi.c           | 4 +++-
 drivers/gpu/drm/i915/display/intel_display_power.c | 4 +++-
 drivers/gpu/drm/i915/display/intel_dp.c            | 8 ++++----
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          | 3 ++-
 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c          | 4 +++-
 drivers/gpu/drm/i915/i915_utils.h                  | 5 -----
 6 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 2f20abc5122d..4b35a8597632 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -25,6 +25,8 @@
  *
  */
 
+#include <linux/string_helpers.h>
+
 #include <drm/drm_privacy_screen_consumer.h>
 #include <drm/drm_scdc_helper.h>
 
@@ -2152,7 +2154,7 @@ static void intel_dp_sink_set_msa_timing_par_ignore_state(struct intel_dp *intel
 			       enable ? DP_MSA_TIMING_PAR_IGNORE_EN : 0) <= 0)
 		drm_dbg_kms(&i915->drm,
 			    "Failed to %s MSA_TIMING_PAR_IGNORE in the sink\n",
-			    enabledisable(enable));
+			    str_enable_disable(enable));
 }
 
 static void intel_dp_sink_set_fec_ready(struct intel_dp *intel_dp,
diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
index 369317805d24..1f77cb9edddf 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -3,6 +3,8 @@
  * Copyright © 2019 Intel Corporation
  */
 
+#include <linux/string_helpers.h>
+
 #include "i915_drv.h"
 #include "i915_irq.h"
 #include "intel_cdclk.h"
@@ -5302,7 +5304,7 @@ static void gen9_dbuf_slice_set(struct drm_i915_private *dev_priv,
 	state = intel_de_read(dev_priv, reg) & DBUF_POWER_STATE;
 	drm_WARN(&dev_priv->drm, enable != state,
 		 "DBuf slice %d power %s timeout!\n",
-		 slice, enabledisable(enable));
+		 slice, str_enable_disable(enable));
 }
 
 void gen9_dbuf_slices_update(struct drm_i915_private *dev_priv,
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 62c1535d696d..933fc316ea53 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1987,7 +1987,7 @@ void intel_dp_sink_set_decompression_state(struct intel_dp *intel_dp,
 	if (ret < 0)
 		drm_dbg_kms(&i915->drm,
 			    "Failed to %s sink decompression state\n",
-			    enabledisable(enable));
+			    str_enable_disable(enable));
 }
 
 static void
@@ -2463,7 +2463,7 @@ void intel_dp_configure_protocol_converter(struct intel_dp *intel_dp,
 	if (drm_dp_dpcd_writeb(&intel_dp->aux,
 			       DP_PROTOCOL_CONVERTER_CONTROL_0, tmp) != 1)
 		drm_dbg_kms(&i915->drm, "Failed to %s protocol converter HDMI mode\n",
-			    enabledisable(intel_dp->has_hdmi_sink));
+			    str_enable_disable(intel_dp->has_hdmi_sink));
 
 	tmp = crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR444 &&
 		intel_dp->dfp.ycbcr_444_to_420 ? DP_CONVERSION_TO_YCBCR420_ENABLE : 0;
@@ -2472,7 +2472,7 @@ void intel_dp_configure_protocol_converter(struct intel_dp *intel_dp,
 			       DP_PROTOCOL_CONVERTER_CONTROL_1, tmp) != 1)
 		drm_dbg_kms(&i915->drm,
 			    "Failed to %s protocol converter YCbCr 4:2:0 conversion mode\n",
-			    enabledisable(intel_dp->dfp.ycbcr_444_to_420));
+			    str_enable_disable(intel_dp->dfp.ycbcr_444_to_420));
 
 	tmp = 0;
 	if (intel_dp->dfp.rgb_to_ycbcr) {
@@ -2510,7 +2510,7 @@ void intel_dp_configure_protocol_converter(struct intel_dp *intel_dp,
 	if (drm_dp_pcon_convert_rgb_to_ycbcr(&intel_dp->aux, tmp) < 0)
 		drm_dbg_kms(&i915->drm,
 			   "Failed to %s protocol converter RGB->YCbCr conversion mode\n",
-			   enabledisable(tmp));
+			   str_enable_disable(tmp));
 }
 
 
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
index de89d40abd38..31c3c3bceb95 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
@@ -6,6 +6,7 @@
 #include <linux/circ_buf.h>
 #include <linux/ktime.h>
 #include <linux/time64.h>
+#include <linux/string_helpers.h>
 #include <linux/timekeeping.h>
 
 #include "i915_drv.h"
@@ -170,7 +171,7 @@ static int ct_control_enable(struct intel_guc_ct *ct, bool enable)
 				     GUC_CTB_CONTROL_ENABLE : GUC_CTB_CONTROL_DISABLE);
 	if (unlikely(err))
 		CT_PROBE_ERROR(ct, "Failed to control/%s CTB (%pe)\n",
-			       enabledisable(enable), ERR_PTR(err));
+			       str_enable_disable(enable), ERR_PTR(err));
 
 	return err;
 }
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
index fc805d466d99..f8fc90ea71e7 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
@@ -3,6 +3,8 @@
  * Copyright © 2021 Intel Corporation
  */
 
+#include <linux/string_helpers.h>
+
 #include "intel_guc_rc.h"
 #include "gt/intel_gt.h"
 #include "i915_drv.h"
@@ -59,7 +61,7 @@ static int __guc_rc_control(struct intel_guc *guc, bool enable)
 	ret = guc_action_control_gucrc(guc, enable);
 	if (ret) {
 		drm_err(drm, "Failed to %s GuC RC (%pe)\n",
-			enabledisable(enable), ERR_PTR(ret));
+			str_enable_disable(enable), ERR_PTR(ret));
 		return ret;
 	}
 
diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
index c62b64012369..06aac2be49ee 100644
--- a/drivers/gpu/drm/i915/i915_utils.h
+++ b/drivers/gpu/drm/i915/i915_utils.h
@@ -404,11 +404,6 @@ static inline const char *onoff(bool v)
 	return v ? "on" : "off";
 }
 
-static inline const char *enabledisable(bool v)
-{
-	return v ? "enable" : "disable";
-}
-
 static inline const char *enableddisabled(bool v)
 {
 	return v ? "enabled" : "disabled";
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 05/11] drm/i915: Use str_enabled_disabled()
  2022-01-26  9:39 [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Lucas De Marchi
                   ` (3 preceding siblings ...)
  2022-01-26  9:39 ` [PATCH v2 04/11] drm/i915: Use str_enable_disable() Lucas De Marchi
@ 2022-01-26  9:39 ` Lucas De Marchi
  2022-02-01 21:21   ` [Intel-gfx] " Matt Roper
  2022-01-26  9:39 ` [PATCH v2 06/11] drm/i915: Use str_on_off() Lucas De Marchi
                   ` (6 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Lucas De Marchi @ 2022-01-26  9:39 UTC (permalink / raw)
  To: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Daniel Vetter, Jani Nikula, Alex Deucher, Andrew Morton,
	Andy Shevchenko, Andy Shevchenko, Ben Skeggs,
	Christian König, Chris Wilson, Daniel Vetter, David Airlie,
	David S. Miller, Emma Anholt, Francis Laniel, Greg Kroah-Hartman,
	Harry Wentland, Jakub Kicinski, Jani Nikula, Joonas Lahtinen,
	Julia Lawall, Kentaro Takeda, Leo Li, Petr Mladek,
	Rahul Lakkireddy, Raju Rangoju, Rasmus Villemoes, Rodrigo Vivi,
	Sakari Ailus, Sergey Senozhatsky, Steven Rostedt,
	Vishal Kulkarni

Remove the local enableddisabled() implementation and adopt the
str_enabled_disabled() from linux/string_helpers.h.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_backlight.c   |  3 ++-
 drivers/gpu/drm/i915/display/intel_display.c     | 16 ++++++++--------
 .../gpu/drm/i915/display/intel_display_debugfs.c |  8 ++++----
 drivers/gpu/drm/i915/display/intel_dsi_vbt.c     |  7 ++++---
 drivers/gpu/drm/i915/gt/intel_breadcrumbs.c      |  3 ++-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c        |  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c        |  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c       |  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c        |  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c            |  4 ++--
 drivers/gpu/drm/i915/i915_debugfs.c              |  2 +-
 drivers/gpu/drm/i915/i915_driver.c               |  4 +++-
 drivers/gpu/drm/i915/i915_utils.h                |  6 +-----
 drivers/gpu/drm/i915/intel_pm.c                  |  4 ++--
 14 files changed, 33 insertions(+), 32 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_backlight.c b/drivers/gpu/drm/i915/display/intel_backlight.c
index 98f7ea44042f..c8e1fc53a881 100644
--- a/drivers/gpu/drm/i915/display/intel_backlight.c
+++ b/drivers/gpu/drm/i915/display/intel_backlight.c
@@ -5,6 +5,7 @@
 
 #include <linux/kernel.h>
 #include <linux/pwm.h>
+#include <linux/string_helpers.h>
 
 #include "intel_backlight.h"
 #include "intel_connector.h"
@@ -1633,7 +1634,7 @@ int intel_backlight_setup(struct intel_connector *connector, enum pipe pipe)
 	drm_dbg_kms(&dev_priv->drm,
 		    "Connector %s backlight initialized, %s, brightness %u/%u\n",
 		    connector->base.name,
-		    enableddisabled(panel->backlight.enabled),
+		    str_enabled_disabled(panel->backlight.enabled),
 		    panel->backlight.level, panel->backlight.max);
 
 	return 0;
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index bd453861088e..8920bdb53b7b 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -3110,8 +3110,8 @@ static void intel_panel_sanitize_ssc(struct drm_i915_private *dev_priv)
 		if (dev_priv->vbt.lvds_use_ssc != bios_lvds_use_ssc) {
 			drm_dbg_kms(&dev_priv->drm,
 				    "SSC %s by BIOS, overriding VBT which says %s\n",
-				    enableddisabled(bios_lvds_use_ssc),
-				    enableddisabled(dev_priv->vbt.lvds_use_ssc));
+				    str_enabled_disabled(bios_lvds_use_ssc),
+				    str_enabled_disabled(dev_priv->vbt.lvds_use_ssc));
 			dev_priv->vbt.lvds_use_ssc = bios_lvds_use_ssc;
 		}
 	}
@@ -5648,7 +5648,7 @@ static void intel_dump_pipe_config(const struct intel_crtc_state *pipe_config,
 		    pipe_config->bigjoiner ? "master" : "no");
 
 	drm_dbg_kms(&dev_priv->drm, "splitter: %s, link count %d, overlap %d\n",
-		    enableddisabled(pipe_config->splitter.enable),
+		    str_enabled_disabled(pipe_config->splitter.enable),
 		    pipe_config->splitter.link_count,
 		    pipe_config->splitter.pixel_overlap);
 
@@ -5736,7 +5736,7 @@ static void intel_dump_pipe_config(const struct intel_crtc_state *pipe_config,
 		drm_dbg_kms(&dev_priv->drm,
 			    "pch pfit: " DRM_RECT_FMT ", %s, force thru: %s\n",
 			    DRM_RECT_ARG(&pipe_config->pch_pfit.dst),
-			    enableddisabled(pipe_config->pch_pfit.enabled),
+			    str_enabled_disabled(pipe_config->pch_pfit.enabled),
 			    str_yes_no(pipe_config->pch_pfit.force_thru));
 
 	drm_dbg_kms(&dev_priv->drm, "ips: %i, double wide: %i\n",
@@ -10300,7 +10300,7 @@ static void readout_plane_state(struct drm_i915_private *dev_priv)
 		drm_dbg_kms(&dev_priv->drm,
 			    "[PLANE:%d:%s] hw state readout: %s, pipe %c\n",
 			    plane->base.base.id, plane->base.name,
-			    enableddisabled(visible), pipe_name(pipe));
+			    str_enabled_disabled(visible), pipe_name(pipe));
 	}
 
 	for_each_intel_crtc(&dev_priv->drm, crtc) {
@@ -10346,7 +10346,7 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
 		drm_dbg_kms(&dev_priv->drm,
 			    "[CRTC:%d:%s] hw state readout: %s\n",
 			    crtc->base.base.id, crtc->base.name,
-			    enableddisabled(crtc_state->hw.active));
+			    str_enabled_disabled(crtc_state->hw.active));
 	}
 
 	cdclk_state->active_pipes = dbuf_state->active_pipes = active_pipes;
@@ -10384,7 +10384,7 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
 		drm_dbg_kms(&dev_priv->drm,
 			    "[ENCODER:%d:%s] hw state readout: %s, pipe %c\n",
 			    encoder->base.base.id, encoder->base.name,
-			    enableddisabled(encoder->base.crtc),
+			    str_enabled_disabled(encoder->base.crtc),
 			    pipe_name(pipe));
 	}
 
@@ -10422,7 +10422,7 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
 		drm_dbg_kms(&dev_priv->drm,
 			    "[CONNECTOR:%d:%s] hw state readout: %s\n",
 			    connector->base.base.id, connector->base.name,
-			    enableddisabled(connector->base.encoder));
+			    str_enabled_disabled(connector->base.encoder));
 	}
 	drm_connector_list_iter_end(&conn_iter);
 
diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index a9ba998e0659..6bc820c3f00e 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -93,7 +93,7 @@ static int i915_sr_status(struct seq_file *m, void *unused)
 
 	intel_display_power_put(dev_priv, POWER_DOMAIN_INIT, wakeref);
 
-	seq_printf(m, "self-refresh: %s\n", enableddisabled(sr_enabled));
+	seq_printf(m, "self-refresh: %s\n", str_enabled_disabled(sr_enabled));
 
 	return 0;
 }
@@ -296,7 +296,7 @@ static int intel_psr_status(struct seq_file *m, struct intel_dp *intel_dp)
 		enabled = val & EDP_PSR_ENABLE;
 	}
 	seq_printf(m, "Source PSR ctl: %s [0x%08x]\n",
-		   enableddisabled(enabled), val);
+		   str_enabled_disabled(enabled), val);
 	psr_source_status(intel_dp, m);
 	seq_printf(m, "Busy frontbuffer bits: 0x%08x\n",
 		   psr->busy_frontbuffer_bits);
@@ -343,7 +343,7 @@ static int intel_psr_status(struct seq_file *m, struct intel_dp *intel_dp)
 		}
 
 		seq_printf(m, "PSR2 selective fetch: %s\n",
-			   enableddisabled(psr->psr2_sel_fetch_enabled));
+			   str_enabled_disabled(psr->psr2_sel_fetch_enabled));
 	}
 
 unlock:
@@ -1268,7 +1268,7 @@ static int i915_lpsp_status(struct seq_file *m, void *unused)
 		return 0;
 	}
 
-	seq_printf(m, "LPSP: %s\n", enableddisabled(lpsp_enabled));
+	seq_printf(m, "LPSP: %s\n", str_enabled_disabled(lpsp_enabled));
 
 	return 0;
 }
diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c
index da0bd056f3d3..5e1e2e7fe382 100644
--- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c
+++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c
@@ -30,6 +30,7 @@
 #include <linux/pinctrl/consumer.h>
 #include <linux/pinctrl/machine.h>
 #include <linux/slab.h>
+#include <linux/string_helpers.h>
 
 #include <asm/unaligned.h>
 
@@ -684,9 +685,9 @@ void intel_dsi_log_params(struct intel_dsi *intel_dsi)
 		    intel_dsi->burst_mode_ratio);
 	drm_dbg_kms(&i915->drm, "Reset timer %d\n", intel_dsi->rst_timer_val);
 	drm_dbg_kms(&i915->drm, "Eot %s\n",
-		    enableddisabled(intel_dsi->eotp_pkt));
+		    str_enabled_disabled(intel_dsi->eotp_pkt));
 	drm_dbg_kms(&i915->drm, "Clockstop %s\n",
-		    enableddisabled(!intel_dsi->clock_stop));
+		    str_enabled_disabled(!intel_dsi->clock_stop));
 	drm_dbg_kms(&i915->drm, "Mode %s\n",
 		    intel_dsi->operation_mode ? "command" : "video");
 	if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK)
@@ -713,7 +714,7 @@ void intel_dsi_log_params(struct intel_dsi *intel_dsi)
 	drm_dbg_kms(&i915->drm, "HS to LP Clock Count 0x%x\n",
 		    intel_dsi->clk_hs_to_lp_count);
 	drm_dbg_kms(&i915->drm, "BTA %s\n",
-		    enableddisabled(!(intel_dsi->video_frmt_cfg_bits & DISABLE_VIDEO_BTA)));
+		    str_enabled_disabled(!(intel_dsi->video_frmt_cfg_bits & DISABLE_VIDEO_BTA)));
 }
 
 bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id)
diff --git a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
index 209cf265bf74..9dc9dccf7b09 100644
--- a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
+++ b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
@@ -4,6 +4,7 @@
  */
 
 #include <linux/kthread.h>
+#include <linux/string_helpers.h>
 #include <trace/events/dma_fence.h>
 #include <uapi/linux/sched/types.h>
 
@@ -512,7 +513,7 @@ void intel_engine_print_breadcrumbs(struct intel_engine_cs *engine,
 	if (!b)
 		return;
 
-	drm_printf(p, "IRQ: %s\n", enableddisabled(b->irq_armed));
+	drm_printf(p, "IRQ: %s\n", str_enabled_disabled(b->irq_armed));
 	if (!list_empty(&b->signalers))
 		print_signals(b, p);
 }
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 07de0fb56f51..6f4a39a3b44f 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -1642,7 +1642,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
 
 		drm_printf(m, "\tExeclist tasklet queued? %s (%s), preempt? %s, timeslice? %s\n",
 			   str_yes_no(test_bit(TASKLET_STATE_SCHED, &engine->sched_engine->tasklet.state)),
-			   enableddisabled(!atomic_read(&engine->sched_engine->tasklet.count)),
+			   str_enabled_disabled(!atomic_read(&engine->sched_engine->tasklet.count)),
 			   repr_timer(&engine->execlists.preempt),
 			   repr_timer(&engine->execlists.timer));
 
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
index 31c3c3bceb95..0cfb29440c47 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
@@ -1203,7 +1203,7 @@ void intel_guc_ct_event_handler(struct intel_guc_ct *ct)
 void intel_guc_ct_print_info(struct intel_guc_ct *ct,
 			     struct drm_printer *p)
 {
-	drm_printf(p, "CT %s\n", enableddisabled(ct->enabled));
+	drm_printf(p, "CT %s\n", str_enabled_disabled(ct->enabled));
 
 	if (!ct->enabled)
 		return;
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
index 8a99c2e624c2..a24dc6441872 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
@@ -477,7 +477,7 @@ int intel_guc_log_create(struct intel_guc_log *log)
 
 	log->level = __get_default_log_level(log);
 	DRM_DEBUG_DRIVER("guc_log_level=%d (%s, verbose:%s, verbosity:%d)\n",
-			 log->level, enableddisabled(log->level),
+			 log->level, str_enabled_disabled(log->level),
 			 str_yes_no(GUC_LOG_LEVEL_IS_VERBOSE(log->level)),
 			 GUC_LOG_LEVEL_TO_VERBOSITY(log->level));
 
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
index f8fc90ea71e7..e00661fb0853 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
@@ -66,7 +66,7 @@ static int __guc_rc_control(struct intel_guc *guc, bool enable)
 	}
 
 	drm_info(&gt->i915->drm, "GuC RC: %s\n",
-		 enableddisabled(enable));
+		 str_enabled_disabled(enable));
 
 	return 0;
 }
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index 8e756d4c2c16..8c9ef690ac9d 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -524,9 +524,9 @@ static int __uc_init_hw(struct intel_uc *uc)
 	}
 
 	drm_info(&i915->drm, "GuC submission %s\n",
-		 enableddisabled(intel_uc_uses_guc_submission(uc)));
+		 str_enabled_disabled(intel_uc_uses_guc_submission(uc)));
 	drm_info(&i915->drm, "GuC SLPC %s\n",
-		 enableddisabled(intel_uc_uses_guc_slpc(uc)));
+		 str_enabled_disabled(intel_uc_uses_guc_slpc(uc)));
 
 	return 0;
 
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 8e70c404bcc5..b98ea01af075 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -478,7 +478,7 @@ static int i915_runtime_pm_status(struct seq_file *m, void *unused)
 		seq_puts(m, "Runtime power management not supported\n");
 
 	seq_printf(m, "Runtime power status: %s\n",
-		   enableddisabled(!dev_priv->power_domains.init_wakeref));
+		   str_enabled_disabled(!dev_priv->power_domains.init_wakeref));
 
 	seq_printf(m, "GPU idle: %s\n", str_yes_no(!to_gt(dev_priv)->awake));
 	seq_printf(m, "IRQs disabled: %s\n",
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index 3d41f532a5d6..e89afce4c576 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -36,6 +36,7 @@
 #include <linux/pm_runtime.h>
 #include <linux/pnp.h>
 #include <linux/slab.h>
+#include <linux/string_helpers.h>
 #include <linux/vga_switcheroo.h>
 #include <linux/vt.h>
 
@@ -749,7 +750,8 @@ static void i915_driver_unregister(struct drm_i915_private *dev_priv)
 void
 i915_print_iommu_status(struct drm_i915_private *i915, struct drm_printer *p)
 {
-	drm_printf(p, "iommu: %s\n", enableddisabled(intel_vtd_active(i915)));
+	drm_printf(p, "iommu: %s\n",
+		   str_enabled_disabled(intel_vtd_active(i915)));
 }
 
 static void i915_welcome_messages(struct drm_i915_private *dev_priv)
diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
index 06aac2be49ee..6d26920d0632 100644
--- a/drivers/gpu/drm/i915/i915_utils.h
+++ b/drivers/gpu/drm/i915/i915_utils.h
@@ -28,6 +28,7 @@
 #include <linux/list.h>
 #include <linux/overflow.h>
 #include <linux/sched.h>
+#include <linux/string_helpers.h>
 #include <linux/types.h>
 #include <linux/workqueue.h>
 #include <linux/sched/clock.h>
@@ -404,11 +405,6 @@ static inline const char *onoff(bool v)
 	return v ? "on" : "off";
 }
 
-static inline const char *enableddisabled(bool v)
-{
-	return v ? "enabled" : "disabled";
-}
-
 void add_taint_for_CI(struct drm_i915_private *i915, unsigned int taint);
 static inline void __add_taint_for_CI(unsigned int taint)
 {
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index c538a66687bd..69f442200784 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -413,8 +413,8 @@ static bool _intel_set_memory_cxsr(struct drm_i915_private *dev_priv, bool enabl
 	trace_intel_memory_cxsr(dev_priv, was_enabled, enable);
 
 	drm_dbg_kms(&dev_priv->drm, "memory self-refresh is %s (was %s)\n",
-		    enableddisabled(enable),
-		    enableddisabled(was_enabled));
+		    str_enabled_disabled(enable),
+		    str_enabled_disabled(was_enabled));
 
 	return was_enabled;
 }
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 06/11] drm/i915: Use str_on_off()
  2022-01-26  9:39 [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Lucas De Marchi
                   ` (4 preceding siblings ...)
  2022-01-26  9:39 ` [PATCH v2 05/11] drm/i915: Use str_enabled_disabled() Lucas De Marchi
@ 2022-01-26  9:39 ` Lucas De Marchi
  2022-02-01 21:15   ` [Intel-gfx] " Matt Roper
  2022-01-26  9:39 ` [PATCH v2 07/11] drm/amd/display: Use str_yes_no() Lucas De Marchi
                   ` (5 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Lucas De Marchi @ 2022-01-26  9:39 UTC (permalink / raw)
  To: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Daniel Vetter, Jani Nikula, Alex Deucher, Andrew Morton,
	Andy Shevchenko, Andy Shevchenko, Ben Skeggs,
	Christian König, Chris Wilson, Daniel Vetter, David Airlie,
	David S. Miller, Emma Anholt, Francis Laniel, Greg Kroah-Hartman,
	Harry Wentland, Jakub Kicinski, Jani Nikula, Joonas Lahtinen,
	Julia Lawall, Kentaro Takeda, Leo Li, Petr Mladek,
	Rahul Lakkireddy, Raju Rangoju, Rasmus Villemoes, Rodrigo Vivi,
	Sakari Ailus, Sergey Senozhatsky, Steven Rostedt,
	Vishal Kulkarni

Remove the local onoff() implementation and adopt the
str_on_off() from linux/string_helpers.h.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/g4x_dp.c              | 6 ++++--
 drivers/gpu/drm/i915/display/intel_display.c       | 7 ++++---
 drivers/gpu/drm/i915/display/intel_display_trace.h | 3 ++-
 drivers/gpu/drm/i915/display/intel_dpll.c          | 3 ++-
 drivers/gpu/drm/i915/display/intel_dpll_mgr.c      | 7 +++++--
 drivers/gpu/drm/i915/display/intel_fdi.c           | 8 +++++---
 drivers/gpu/drm/i915/display/vlv_dsi_pll.c         | 3 ++-
 drivers/gpu/drm/i915/gt/intel_rc6.c                | 5 +++--
 drivers/gpu/drm/i915/i915_utils.h                  | 5 -----
 drivers/gpu/drm/i915/vlv_suspend.c                 | 3 ++-
 10 files changed, 29 insertions(+), 21 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/g4x_dp.c b/drivers/gpu/drm/i915/display/g4x_dp.c
index f37677df6ebf..3e729bff1232 100644
--- a/drivers/gpu/drm/i915/display/g4x_dp.c
+++ b/drivers/gpu/drm/i915/display/g4x_dp.c
@@ -5,6 +5,8 @@
  * DisplayPort support for G4x,ILK,SNB,IVB,VLV,CHV (HSW+ handled by the DDI code).
  */
 
+#include <linux/string_helpers.h>
+
 #include "g4x_dp.h"
 #include "intel_audio.h"
 #include "intel_backlight.h"
@@ -191,7 +193,7 @@ static void assert_dp_port(struct intel_dp *intel_dp, bool state)
 	I915_STATE_WARN(cur_state != state,
 			"[ENCODER:%d:%s] state assertion failure (expected %s, current %s)\n",
 			dig_port->base.base.base.id, dig_port->base.base.name,
-			onoff(state), onoff(cur_state));
+			str_on_off(state), str_on_off(cur_state));
 }
 #define assert_dp_port_disabled(d) assert_dp_port((d), false)
 
@@ -201,7 +203,7 @@ static void assert_edp_pll(struct drm_i915_private *dev_priv, bool state)
 
 	I915_STATE_WARN(cur_state != state,
 			"eDP PLL state assertion failure (expected %s, current %s)\n",
-			onoff(state), onoff(cur_state));
+			str_on_off(state), str_on_off(cur_state));
 }
 #define assert_edp_pll_enabled(d) assert_edp_pll((d), true)
 #define assert_edp_pll_disabled(d) assert_edp_pll((d), false)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 8920bdb53b7b..49f994f36fce 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -377,7 +377,7 @@ static void wait_for_pipe_scanline_moving(struct intel_crtc *crtc, bool state)
 	if (wait_for(pipe_scanline_is_moving(dev_priv, pipe) == state, 100))
 		drm_err(&dev_priv->drm,
 			"pipe %c scanline %s wait timed out\n",
-			pipe_name(pipe), onoff(state));
+			pipe_name(pipe), str_on_off(state));
 }
 
 static void intel_wait_for_pipe_scanline_stopped(struct intel_crtc *crtc)
@@ -435,7 +435,7 @@ void assert_transcoder(struct drm_i915_private *dev_priv,
 	I915_STATE_WARN(cur_state != state,
 			"transcoder %s assertion failure (expected %s, current %s)\n",
 			transcoder_name(cpu_transcoder),
-			onoff(state), onoff(cur_state));
+			str_on_off(state), str_on_off(cur_state));
 }
 
 static void assert_plane(struct intel_plane *plane, bool state)
@@ -447,7 +447,8 @@ static void assert_plane(struct intel_plane *plane, bool state)
 
 	I915_STATE_WARN(cur_state != state,
 			"%s assertion failure (expected %s, current %s)\n",
-			plane->base.name, onoff(state), onoff(cur_state));
+			plane->base.name, str_on_off(state),
+			str_on_off(cur_state));
 }
 
 #define assert_plane_enabled(p) assert_plane(p, true)
diff --git a/drivers/gpu/drm/i915/display/intel_display_trace.h b/drivers/gpu/drm/i915/display/intel_display_trace.h
index dcdd242fffd9..2dd5a4b7f5d8 100644
--- a/drivers/gpu/drm/i915/display/intel_display_trace.h
+++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
@@ -9,6 +9,7 @@
 #if !defined(__INTEL_DISPLAY_TRACE_H__) || defined(TRACE_HEADER_MULTI_READ)
 #define __INTEL_DISPLAY_TRACE_H__
 
+#include <linux/string_helpers.h>
 #include <linux/types.h>
 #include <linux/tracepoint.h>
 
@@ -161,7 +162,7 @@ TRACE_EVENT(intel_memory_cxsr,
 			   ),
 
 	    TP_printk("%s->%s, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
-		      onoff(__entry->old), onoff(__entry->new),
+		      str_on_off(__entry->old), str_on_off(__entry->new),
 		      __entry->frame[PIPE_A], __entry->scanline[PIPE_A],
 		      __entry->frame[PIPE_B], __entry->scanline[PIPE_B],
 		      __entry->frame[PIPE_C], __entry->scanline[PIPE_C])
diff --git a/drivers/gpu/drm/i915/display/intel_dpll.c b/drivers/gpu/drm/i915/display/intel_dpll.c
index 1ce0c171f4fb..1c401fd09eef 100644
--- a/drivers/gpu/drm/i915/display/intel_dpll.c
+++ b/drivers/gpu/drm/i915/display/intel_dpll.c
@@ -4,6 +4,7 @@
  */
 
 #include <linux/kernel.h>
+#include <linux/string_helpers.h>
 
 #include "intel_crtc.h"
 #include "intel_de.h"
@@ -1933,7 +1934,7 @@ static void assert_pll(struct drm_i915_private *dev_priv,
 	cur_state = intel_de_read(dev_priv, DPLL(pipe)) & DPLL_VCO_ENABLE;
 	I915_STATE_WARN(cur_state != state,
 			"PLL state assertion failure (expected %s, current %s)\n",
-			onoff(state), onoff(cur_state));
+			str_on_off(state), str_on_off(cur_state));
 }
 
 void assert_pll_enabled(struct drm_i915_private *i915, enum pipe pipe)
diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
index 6723c3de5a80..a787995c0f79 100644
--- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
+++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
@@ -21,6 +21,8 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+#include <linux/string_helpers.h>
+
 #include "intel_de.h"
 #include "intel_display_types.h"
 #include "intel_dpio_phy.h"
@@ -178,13 +180,14 @@ void assert_shared_dpll(struct drm_i915_private *dev_priv,
 	struct intel_dpll_hw_state hw_state;
 
 	if (drm_WARN(&dev_priv->drm, !pll,
-		     "asserting DPLL %s with no DPLL\n", onoff(state)))
+		     "asserting DPLL %s with no DPLL\n", str_on_off(state)))
 		return;
 
 	cur_state = intel_dpll_get_hw_state(dev_priv, pll, &hw_state);
 	I915_STATE_WARN(cur_state != state,
 	     "%s assertion failure (expected %s, current %s)\n",
-			pll->info->name, onoff(state), onoff(cur_state));
+			pll->info->name, str_on_off(state),
+			str_on_off(cur_state));
 }
 
 static enum tc_port icl_pll_id_to_tc_port(enum intel_dpll_id id)
diff --git a/drivers/gpu/drm/i915/display/intel_fdi.c b/drivers/gpu/drm/i915/display/intel_fdi.c
index 3d6e22923601..0fd2941313aa 100644
--- a/drivers/gpu/drm/i915/display/intel_fdi.c
+++ b/drivers/gpu/drm/i915/display/intel_fdi.c
@@ -3,6 +3,8 @@
  * Copyright © 2020 Intel Corporation
  */
 
+#include <linux/string_helpers.h>
+
 #include "intel_atomic.h"
 #include "intel_crtc.h"
 #include "intel_ddi.h"
@@ -29,7 +31,7 @@ static void assert_fdi_tx(struct drm_i915_private *dev_priv,
 	}
 	I915_STATE_WARN(cur_state != state,
 			"FDI TX state assertion failure (expected %s, current %s)\n",
-			onoff(state), onoff(cur_state));
+			str_on_off(state), str_on_off(cur_state));
 }
 
 void assert_fdi_tx_enabled(struct drm_i915_private *i915, enum pipe pipe)
@@ -50,7 +52,7 @@ static void assert_fdi_rx(struct drm_i915_private *dev_priv,
 	cur_state = intel_de_read(dev_priv, FDI_RX_CTL(pipe)) & FDI_RX_ENABLE;
 	I915_STATE_WARN(cur_state != state,
 			"FDI RX state assertion failure (expected %s, current %s)\n",
-			onoff(state), onoff(cur_state));
+			str_on_off(state), str_on_off(cur_state));
 }
 
 void assert_fdi_rx_enabled(struct drm_i915_private *i915, enum pipe pipe)
@@ -88,7 +90,7 @@ static void assert_fdi_rx_pll(struct drm_i915_private *i915,
 	cur_state = intel_de_read(i915, FDI_RX_CTL(pipe)) & FDI_RX_PLL_ENABLE;
 	I915_STATE_WARN(cur_state != state,
 			"FDI RX PLL assertion failure (expected %s, current %s)\n",
-			onoff(state), onoff(cur_state));
+			str_on_off(state), str_on_off(cur_state));
 }
 
 void assert_fdi_rx_pll_enabled(struct drm_i915_private *i915, enum pipe pipe)
diff --git a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
index 1b81797dd02e..7f9c0a7c3446 100644
--- a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
+++ b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
@@ -26,6 +26,7 @@
  */
 
 #include <linux/kernel.h>
+#include <linux/string_helpers.h>
 
 #include "i915_drv.h"
 #include "intel_de.h"
@@ -580,7 +581,7 @@ static void assert_dsi_pll(struct drm_i915_private *i915, bool state)
 
 	I915_STATE_WARN(cur_state != state,
 			"DSI PLL state assertion failure (expected %s, current %s)\n",
-			onoff(state), onoff(cur_state));
+			str_on_off(state), str_on_off(cur_state));
 }
 
 void assert_dsi_pll_enabled(struct drm_i915_private *i915)
diff --git a/drivers/gpu/drm/i915/gt/intel_rc6.c b/drivers/gpu/drm/i915/gt/intel_rc6.c
index bb0d6e363f5d..cde83e382ebe 100644
--- a/drivers/gpu/drm/i915/gt/intel_rc6.c
+++ b/drivers/gpu/drm/i915/gt/intel_rc6.c
@@ -4,6 +4,7 @@
  */
 
 #include <linux/pm_runtime.h>
+#include <linux/string_helpers.h>
 
 #include "i915_drv.h"
 #include "i915_vgpu.h"
@@ -428,8 +429,8 @@ static bool bxt_check_bios_rc6_setup(struct intel_rc6 *rc6)
 	rc_sw_target >>= RC_SW_TARGET_STATE_SHIFT;
 	drm_dbg(&i915->drm, "BIOS enabled RC states: "
 			 "HW_CTRL %s HW_RC6 %s SW_TARGET_STATE %x\n",
-			 onoff(rc_ctl & GEN6_RC_CTL_HW_ENABLE),
-			 onoff(rc_ctl & GEN6_RC_CTL_RC6_ENABLE),
+			 str_on_off(rc_ctl & GEN6_RC_CTL_HW_ENABLE),
+			 str_on_off(rc_ctl & GEN6_RC_CTL_RC6_ENABLE),
 			 rc_sw_target);
 
 	if (!(intel_uncore_read(uncore, RC6_LOCATION) & RC6_CTX_IN_DRAM)) {
diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
index 6d26920d0632..3ff9611ff81c 100644
--- a/drivers/gpu/drm/i915/i915_utils.h
+++ b/drivers/gpu/drm/i915/i915_utils.h
@@ -400,11 +400,6 @@ wait_remaining_ms_from_jiffies(unsigned long timestamp_jiffies, int to_wait_ms)
 #define MBps(x) KBps(1000 * (x))
 #define GBps(x) ((u64)1000 * MBps((x)))
 
-static inline const char *onoff(bool v)
-{
-	return v ? "on" : "off";
-}
-
 void add_taint_for_CI(struct drm_i915_private *i915, unsigned int taint);
 static inline void __add_taint_for_CI(unsigned int taint)
 {
diff --git a/drivers/gpu/drm/i915/vlv_suspend.c b/drivers/gpu/drm/i915/vlv_suspend.c
index 23adb64d640a..a49a7da57d5a 100644
--- a/drivers/gpu/drm/i915/vlv_suspend.c
+++ b/drivers/gpu/drm/i915/vlv_suspend.c
@@ -3,6 +3,7 @@
  * Copyright © 2020 Intel Corporation
  */
 
+#include <linux/string_helpers.h>
 #include <linux/kernel.h>
 
 #include <drm/drm_print.h>
@@ -373,7 +374,7 @@ static void vlv_wait_for_gt_wells(struct drm_i915_private *dev_priv,
 	if (vlv_wait_for_pw_status(dev_priv, mask, val))
 		drm_dbg(&dev_priv->drm,
 			"timeout waiting for GT wells to go %s\n",
-			onoff(wait_for_on));
+			str_on_off(wait_for_on));
 }
 
 static void vlv_check_no_gt_access(struct drm_i915_private *i915)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 07/11] drm/amd/display: Use str_yes_no()
  2022-01-26  9:39 [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Lucas De Marchi
                   ` (5 preceding siblings ...)
  2022-01-26  9:39 ` [PATCH v2 06/11] drm/i915: Use str_on_off() Lucas De Marchi
@ 2022-01-26  9:39 ` Lucas De Marchi
  2022-01-26 14:35   ` Harry Wentland
  2022-01-26  9:39 ` [PATCH v2 08/11] drm/gem: Sort includes alphabetically Lucas De Marchi
                   ` (4 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Lucas De Marchi @ 2022-01-26  9:39 UTC (permalink / raw)
  To: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Alex Deucher, Andrew Morton, Andy Shevchenko, Andy Shevchenko,
	Ben Skeggs, Christian König, Chris Wilson, Daniel Vetter,
	David Airlie, David S. Miller, Emma Anholt, Francis Laniel,
	Greg Kroah-Hartman, Harry Wentland, Jakub Kicinski, Jani Nikula,
	Joonas Lahtinen, Julia Lawall, Kentaro Takeda, Leo Li,
	Petr Mladek, Rahul Lakkireddy, Raju Rangoju, Rasmus Villemoes,
	Rodrigo Vivi, Sakari Ailus, Sergey Senozhatsky, Steven Rostedt,
	Vishal Kulkarni

Remove the local yesno() implementation and adopt the str_yes_no() from
linux/string_helpers.h.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 .../drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c  | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
index 26719efa5396..5ff1076b9130 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
@@ -23,6 +23,7 @@
  *
  */
 
+#include <linux/string_helpers.h>
 #include <linux/uaccess.h>
 
 #include "dc.h"
@@ -49,11 +50,6 @@ struct dmub_debugfs_trace_entry {
 	uint32_t param1;
 };
 
-static inline const char *yesno(bool v)
-{
-	return v ? "yes" : "no";
-}
-
 /* parse_write_buffer_into_params - Helper function to parse debugfs write buffer into an array
  *
  * Function takes in attributes passed to debugfs write entry
@@ -853,12 +849,12 @@ static int psr_capability_show(struct seq_file *m, void *data)
 	if (!(link->connector_signal & SIGNAL_TYPE_EDP))
 		return -ENODEV;
 
-	seq_printf(m, "Sink support: %s", yesno(link->dpcd_caps.psr_caps.psr_version != 0));
+	seq_printf(m, "Sink support: %s", str_yes_no(link->dpcd_caps.psr_caps.psr_version != 0));
 	if (link->dpcd_caps.psr_caps.psr_version)
 		seq_printf(m, " [0x%02x]", link->dpcd_caps.psr_caps.psr_version);
 	seq_puts(m, "\n");
 
-	seq_printf(m, "Driver support: %s", yesno(link->psr_settings.psr_feature_enabled));
+	seq_printf(m, "Driver support: %s", str_yes_no(link->psr_settings.psr_feature_enabled));
 	if (link->psr_settings.psr_version)
 		seq_printf(m, " [0x%02x]", link->psr_settings.psr_version);
 	seq_puts(m, "\n");
@@ -1207,8 +1203,8 @@ static int dp_dsc_fec_support_show(struct seq_file *m, void *data)
 	drm_modeset_drop_locks(&ctx);
 	drm_modeset_acquire_fini(&ctx);
 
-	seq_printf(m, "FEC_Sink_Support: %s\n", yesno(is_fec_supported));
-	seq_printf(m, "DSC_Sink_Support: %s\n", yesno(is_dsc_supported));
+	seq_printf(m, "FEC_Sink_Support: %s\n", str_yes_no(is_fec_supported));
+	seq_printf(m, "DSC_Sink_Support: %s\n", str_yes_no(is_dsc_supported));
 
 	return ret;
 }
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 08/11] drm/gem: Sort includes alphabetically
  2022-01-26  9:39 [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Lucas De Marchi
                   ` (6 preceding siblings ...)
  2022-01-26  9:39 ` [PATCH v2 07/11] drm/amd/display: Use str_yes_no() Lucas De Marchi
@ 2022-01-26  9:39 ` Lucas De Marchi
  2022-01-26 14:54   ` Jani Nikula
  2022-01-26  9:39 ` [PATCH v2 09/11] drm: Convert open-coded yes/no strings to yesno() Lucas De Marchi
                   ` (3 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Lucas De Marchi @ 2022-01-26  9:39 UTC (permalink / raw)
  To: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Alex Deucher, Andrew Morton, Andy Shevchenko, Andy Shevchenko,
	Ben Skeggs, Christian König, Chris Wilson, Daniel Vetter,
	David Airlie, David S. Miller, Emma Anholt, Francis Laniel,
	Greg Kroah-Hartman, Harry Wentland, Jakub Kicinski, Jani Nikula,
	Joonas Lahtinen, Julia Lawall, Kentaro Takeda, Leo Li,
	Petr Mladek, Rahul Lakkireddy, Raju Rangoju, Rasmus Villemoes,
	Rodrigo Vivi, Sakari Ailus, Sergey Senozhatsky, Steven Rostedt,
	Vishal Kulkarni

Sort includes alphabetically so it's easier to add/remove includes and
know when that is needed.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/drm_gem.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index 4dcdec6487bb..21631c22b374 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -25,20 +25,20 @@
  *
  */
 
-#include <linux/types.h>
-#include <linux/slab.h>
-#include <linux/mm.h>
-#include <linux/uaccess.h>
-#include <linux/fs.h>
+#include <linux/dma-buf-map.h>
+#include <linux/dma-buf.h>
 #include <linux/file.h>
-#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/mem_encrypt.h>
+#include <linux/mm.h>
 #include <linux/mman.h>
+#include <linux/module.h>
 #include <linux/pagemap.h>
-#include <linux/shmem_fs.h>
-#include <linux/dma-buf.h>
-#include <linux/dma-buf-map.h>
-#include <linux/mem_encrypt.h>
 #include <linux/pagevec.h>
+#include <linux/shmem_fs.h>
+#include <linux/slab.h>
+#include <linux/types.h>
+#include <linux/uaccess.h>
 
 #include <drm/drm.h>
 #include <drm/drm_device.h>
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 09/11] drm: Convert open-coded yes/no strings to yesno()
  2022-01-26  9:39 [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Lucas De Marchi
                   ` (7 preceding siblings ...)
  2022-01-26  9:39 ` [PATCH v2 08/11] drm/gem: Sort includes alphabetically Lucas De Marchi
@ 2022-01-26  9:39 ` Lucas De Marchi
  2022-01-26 10:12   ` Andy Shevchenko
  2022-01-26 14:57   ` Jani Nikula
  2022-01-26  9:39 ` [PATCH v2 10/11] tomoyo: Use str_yes_no() Lucas De Marchi
                   ` (2 subsequent siblings)
  11 siblings, 2 replies; 24+ messages in thread
From: Lucas De Marchi @ 2022-01-26  9:39 UTC (permalink / raw)
  To: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Alex Deucher, Andrew Morton, Andy Shevchenko, Andy Shevchenko,
	Ben Skeggs, Christian König, Chris Wilson, Daniel Vetter,
	David Airlie, David S. Miller, Emma Anholt, Francis Laniel,
	Greg Kroah-Hartman, Harry Wentland, Jakub Kicinski, Jani Nikula,
	Joonas Lahtinen, Julia Lawall, Kentaro Takeda, Leo Li,
	Petr Mladek, Rahul Lakkireddy, Raju Rangoju, Rasmus Villemoes,
	Rodrigo Vivi, Sakari Ailus, Sergey Senozhatsky, Steven Rostedt,
	Vishal Kulkarni

linux/string_helpers.h provides a helper to return "yes"/"no" strings.
Replace the open coded versions with str_yes_no(). The places were
identified with the following semantic patch:

	@@
	expression b;
	@@

	- b ? "yes" : "no"
	+ str_yes_no(b)

Then the includes were added, so we include-what-we-use, and parenthesis
adjusted in drivers/gpu/drm/v3d/v3d_debugfs.c. After the conversion we
still see the same binary sizes:

   text    data     bss     dec     hex filename
  51149    3295     212   54656    d580 virtio/virtio-gpu.ko.old
  51149    3295     212   54656    d580 virtio/virtio-gpu.ko
1441491   60340     800 1502631  16eda7 radeon/radeon.ko.old
1441491   60340     800 1502631  16eda7 radeon/radeon.ko
6125369  328538   34000 6487907  62ff63 amd/amdgpu/amdgpu.ko.old
6125369  328538   34000 6487907  62ff63 amd/amdgpu/amdgpu.ko
 411986   10490    6176  428652   68a6c drm.ko.old
 411986   10490    6176  428652   68a6c drm.ko
  98129    1636     264  100029   186bd dp/drm_dp_helper.ko.old
  98129    1636     264  100029   186bd dp/drm_dp_helper.ko
1973432  109640    2352 2085424  1fd230 nouveau/nouveau.ko.old
1973432  109640    2352 2085424  1fd230 nouveau/nouveau.ko

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/amd/amdgpu/atom.c             |  4 +++-
 drivers/gpu/drm/dp/drm_dp.c                   |  3 ++-
 drivers/gpu/drm/drm_client_modeset.c          |  3 ++-
 drivers/gpu/drm/drm_gem.c                     |  3 ++-
 drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c |  5 ++++-
 drivers/gpu/drm/radeon/atom.c                 |  3 ++-
 drivers/gpu/drm/v3d/v3d_debugfs.c             | 11 ++++++-----
 drivers/gpu/drm/virtio/virtgpu_debugfs.c      |  4 +++-
 8 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/atom.c b/drivers/gpu/drm/amd/amdgpu/atom.c
index 6fa2229b7229..1c5d9388ad0b 100644
--- a/drivers/gpu/drm/amd/amdgpu/atom.c
+++ b/drivers/gpu/drm/amd/amdgpu/atom.c
@@ -25,6 +25,8 @@
 #include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/slab.h>
+#include <linux/string_helpers.h>
+
 #include <asm/unaligned.h>
 
 #include <drm/drm_util.h>
@@ -740,7 +742,7 @@ static void atom_op_jump(atom_exec_context *ctx, int *ptr, int arg)
 		break;
 	}
 	if (arg != ATOM_COND_ALWAYS)
-		SDEBUG("   taken: %s\n", execute ? "yes" : "no");
+		SDEBUG("   taken: %s\n", str_yes_no(execute));
 	SDEBUG("   target: 0x%04X\n", target);
 	if (execute) {
 		if (ctx->last_jump == (ctx->start + target)) {
diff --git a/drivers/gpu/drm/dp/drm_dp.c b/drivers/gpu/drm/dp/drm_dp.c
index 6d43325acca5..c43577c8ac4d 100644
--- a/drivers/gpu/drm/dp/drm_dp.c
+++ b/drivers/gpu/drm/dp/drm_dp.c
@@ -28,6 +28,7 @@
 #include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/seq_file.h>
+#include <linux/string_helpers.h>
 
 #include <drm/dp/drm_dp_helper.h>
 #include <drm/drm_print.h>
@@ -1239,7 +1240,7 @@ void drm_dp_downstream_debug(struct seq_file *m,
 	bool branch_device = drm_dp_is_branch(dpcd);
 
 	seq_printf(m, "\tDP branch device present: %s\n",
-		   branch_device ? "yes" : "no");
+		   str_yes_no(branch_device));
 
 	if (!branch_device)
 		return;
diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
index ced09c7c06f9..e6346a67cd98 100644
--- a/drivers/gpu/drm/drm_client_modeset.c
+++ b/drivers/gpu/drm/drm_client_modeset.c
@@ -11,6 +11,7 @@
 #include <linux/module.h>
 #include <linux/mutex.h>
 #include <linux/slab.h>
+#include <linux/string_helpers.h>
 
 #include <drm/drm_atomic.h>
 #include <drm/drm_client.h>
@@ -241,7 +242,7 @@ static void drm_client_connectors_enabled(struct drm_connector **connectors,
 		connector = connectors[i];
 		enabled[i] = drm_connector_enabled(connector, true);
 		DRM_DEBUG_KMS("connector %d enabled? %s\n", connector->base.id,
-			      connector->display_info.non_desktop ? "non desktop" : enabled[i] ? "yes" : "no");
+			      connector->display_info.non_desktop ? "non desktop" : str_yes_no(enabled[i]));
 
 		any_enabled |= enabled[i];
 	}
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index 21631c22b374..3c888db59ea4 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -37,6 +37,7 @@
 #include <linux/pagevec.h>
 #include <linux/shmem_fs.h>
 #include <linux/slab.h>
+#include <linux/string_helpers.h>
 #include <linux/types.h>
 #include <linux/uaccess.h>
 
@@ -1145,7 +1146,7 @@ void drm_gem_print_info(struct drm_printer *p, unsigned int indent,
 			  drm_vma_node_start(&obj->vma_node));
 	drm_printf_indent(p, indent, "size=%zu\n", obj->size);
 	drm_printf_indent(p, indent, "imported=%s\n",
-			  obj->import_attach ? "yes" : "no");
+			  str_yes_no(obj->import_attach));
 
 	if (obj->funcs->print_info)
 		obj->funcs->print_info(p, indent, obj);
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c
index a11637b0f6cc..d063d0dc13c5 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c
@@ -21,6 +21,9 @@
  *
  * Authors: Ben Skeggs
  */
+
+#include <linux/string_helpers.h>
+
 #include "aux.h"
 #include "pad.h"
 
@@ -94,7 +97,7 @@ void
 nvkm_i2c_aux_monitor(struct nvkm_i2c_aux *aux, bool monitor)
 {
 	struct nvkm_i2c_pad *pad = aux->pad;
-	AUX_TRACE(aux, "monitor: %s", monitor ? "yes" : "no");
+	AUX_TRACE(aux, "monitor: %s", str_yes_no(monitor));
 	if (monitor)
 		nvkm_i2c_pad_mode(pad, NVKM_I2C_PAD_AUX);
 	else
diff --git a/drivers/gpu/drm/radeon/atom.c b/drivers/gpu/drm/radeon/atom.c
index f15b20da5315..c1bbfbe28bda 100644
--- a/drivers/gpu/drm/radeon/atom.c
+++ b/drivers/gpu/drm/radeon/atom.c
@@ -25,6 +25,7 @@
 #include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/slab.h>
+#include <linux/string_helpers.h>
 
 #include <asm/unaligned.h>
 
@@ -722,7 +723,7 @@ static void atom_op_jump(atom_exec_context *ctx, int *ptr, int arg)
 		break;
 	}
 	if (arg != ATOM_COND_ALWAYS)
-		SDEBUG("   taken: %s\n", execute ? "yes" : "no");
+		SDEBUG("   taken: %s\n", str_yes_no(execute));
 	SDEBUG("   target: 0x%04X\n", target);
 	if (execute) {
 		if (ctx->last_jump == (ctx->start + target)) {
diff --git a/drivers/gpu/drm/v3d/v3d_debugfs.c b/drivers/gpu/drm/v3d/v3d_debugfs.c
index e76b24bb8828..29fd13109e43 100644
--- a/drivers/gpu/drm/v3d/v3d_debugfs.c
+++ b/drivers/gpu/drm/v3d/v3d_debugfs.c
@@ -6,6 +6,7 @@
 #include <linux/debugfs.h>
 #include <linux/pm_runtime.h>
 #include <linux/seq_file.h>
+#include <linux/string_helpers.h>
 
 #include <drm/drm_debugfs.h>
 
@@ -148,15 +149,15 @@ static int v3d_v3d_debugfs_ident(struct seq_file *m, void *unused)
 		   V3D_GET_FIELD(ident3, V3D_HUB_IDENT3_IPREV),
 		   V3D_GET_FIELD(ident3, V3D_HUB_IDENT3_IPIDX));
 	seq_printf(m, "MMU:        %s\n",
-		   (ident2 & V3D_HUB_IDENT2_WITH_MMU) ? "yes" : "no");
+		   str_yes_no(ident2 & V3D_HUB_IDENT2_WITH_MMU));
 	seq_printf(m, "TFU:        %s\n",
-		   (ident1 & V3D_HUB_IDENT1_WITH_TFU) ? "yes" : "no");
+		   str_yes_no(ident1 & V3D_HUB_IDENT1_WITH_TFU));
 	seq_printf(m, "TSY:        %s\n",
-		   (ident1 & V3D_HUB_IDENT1_WITH_TSY) ? "yes" : "no");
+		   str_yes_no(ident1 & V3D_HUB_IDENT1_WITH_TSY));
 	seq_printf(m, "MSO:        %s\n",
-		   (ident1 & V3D_HUB_IDENT1_WITH_MSO) ? "yes" : "no");
+		   str_yes_no(ident1 & V3D_HUB_IDENT1_WITH_MSO));
 	seq_printf(m, "L3C:        %s (%dkb)\n",
-		   (ident1 & V3D_HUB_IDENT1_WITH_L3C) ? "yes" : "no",
+		   str_yes_no(ident1 & V3D_HUB_IDENT1_WITH_L3C),
 		   V3D_GET_FIELD(ident2, V3D_HUB_IDENT2_L3C_NKB));
 
 	for (core = 0; core < cores; core++) {
diff --git a/drivers/gpu/drm/virtio/virtgpu_debugfs.c b/drivers/gpu/drm/virtio/virtgpu_debugfs.c
index b6954e2f75e6..853dd9aa397e 100644
--- a/drivers/gpu/drm/virtio/virtgpu_debugfs.c
+++ b/drivers/gpu/drm/virtio/virtgpu_debugfs.c
@@ -23,6 +23,8 @@
  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
+#include <linux/string_helpers.h>
+
 #include <drm/drm_debugfs.h>
 #include <drm/drm_file.h>
 
@@ -31,7 +33,7 @@
 static void virtio_gpu_add_bool(struct seq_file *m, const char *name,
 				bool value)
 {
-	seq_printf(m, "%-16s : %s\n", name, value ? "yes" : "no");
+	seq_printf(m, "%-16s : %s\n", name, str_yes_no(value));
 }
 
 static void virtio_gpu_add_int(struct seq_file *m, const char *name, int value)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 10/11] tomoyo: Use str_yes_no()
  2022-01-26  9:39 [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Lucas De Marchi
                   ` (8 preceding siblings ...)
  2022-01-26  9:39 ` [PATCH v2 09/11] drm: Convert open-coded yes/no strings to yesno() Lucas De Marchi
@ 2022-01-26  9:39 ` Lucas De Marchi
  2022-01-26  9:39 ` [PATCH v2 11/11] cxgb4: " Lucas De Marchi
  2022-01-26 10:22 ` [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Andy Shevchenko
  11 siblings, 0 replies; 24+ messages in thread
From: Lucas De Marchi @ 2022-01-26  9:39 UTC (permalink / raw)
  To: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Sakari Ailus, Alex Deucher, Andrew Morton, Andy Shevchenko,
	Andy Shevchenko, Ben Skeggs, Christian König, Chris Wilson,
	Daniel Vetter, David Airlie, David S. Miller, Emma Anholt,
	Francis Laniel, Greg Kroah-Hartman, Harry Wentland,
	Jakub Kicinski, Jani Nikula, Joonas Lahtinen, Julia Lawall,
	Kentaro Takeda, Leo Li, Petr Mladek, Rahul Lakkireddy,
	Raju Rangoju, Rasmus Villemoes, Rodrigo Vivi, Sergey Senozhatsky,
	Steven Rostedt, Vishal Kulkarni

Remove the local yesno() implementation and adopt the str_yes_no() from
linux/string_helpers.h.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 security/tomoyo/audit.c  |  2 +-
 security/tomoyo/common.c | 19 +++++--------------
 security/tomoyo/common.h |  1 -
 3 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/security/tomoyo/audit.c b/security/tomoyo/audit.c
index d79bf07e16be..023bedd9dfa3 100644
--- a/security/tomoyo/audit.c
+++ b/security/tomoyo/audit.c
@@ -166,7 +166,7 @@ static char *tomoyo_print_header(struct tomoyo_request_info *r)
 		       "#%04u/%02u/%02u %02u:%02u:%02u# profile=%u mode=%s granted=%s (global-pid=%u) task={ pid=%u ppid=%u uid=%u gid=%u euid=%u egid=%u suid=%u sgid=%u fsuid=%u fsgid=%u }",
 		       stamp.year, stamp.month, stamp.day, stamp.hour,
 		       stamp.min, stamp.sec, r->profile, tomoyo_mode[r->mode],
-		       tomoyo_yesno(r->granted), gpid, tomoyo_sys_getpid(),
+		       str_yes_no(r->granted), gpid, tomoyo_sys_getpid(),
 		       tomoyo_sys_getppid(),
 		       from_kuid(&init_user_ns, current_uid()),
 		       from_kgid(&init_user_ns, current_gid()),
diff --git a/security/tomoyo/common.c b/security/tomoyo/common.c
index 5c64927bf2b3..ff17abc96e5c 100644
--- a/security/tomoyo/common.c
+++ b/security/tomoyo/common.c
@@ -8,6 +8,7 @@
 #include <linux/uaccess.h>
 #include <linux/slab.h>
 #include <linux/security.h>
+#include <linux/string_helpers.h>
 #include "common.h"
 
 /* String table for operation mode. */
@@ -174,16 +175,6 @@ static bool tomoyo_manage_by_non_root;
 
 /* Utility functions. */
 
-/**
- * tomoyo_yesno - Return "yes" or "no".
- *
- * @value: Bool value.
- */
-const char *tomoyo_yesno(const unsigned int value)
-{
-	return value ? "yes" : "no";
-}
-
 /**
  * tomoyo_addprintf - strncat()-like-snprintf().
  *
@@ -730,8 +721,8 @@ static void tomoyo_print_config(struct tomoyo_io_buffer *head, const u8 config)
 {
 	tomoyo_io_printf(head, "={ mode=%s grant_log=%s reject_log=%s }\n",
 			 tomoyo_mode[config & 3],
-			 tomoyo_yesno(config & TOMOYO_CONFIG_WANT_GRANT_LOG),
-			 tomoyo_yesno(config & TOMOYO_CONFIG_WANT_REJECT_LOG));
+			 str_yes_no(config & TOMOYO_CONFIG_WANT_GRANT_LOG),
+			 str_yes_no(config & TOMOYO_CONFIG_WANT_REJECT_LOG));
 }
 
 /**
@@ -1354,8 +1345,8 @@ static bool tomoyo_print_condition(struct tomoyo_io_buffer *head,
 	case 3:
 		if (cond->grant_log != TOMOYO_GRANTLOG_AUTO)
 			tomoyo_io_printf(head, " grant_log=%s",
-					 tomoyo_yesno(cond->grant_log ==
-						      TOMOYO_GRANTLOG_YES));
+					 str_yes_no(cond->grant_log ==
+						    TOMOYO_GRANTLOG_YES));
 		tomoyo_set_lf(head);
 		return true;
 	}
diff --git a/security/tomoyo/common.h b/security/tomoyo/common.h
index 85246b9df7ca..ca285f362705 100644
--- a/security/tomoyo/common.h
+++ b/security/tomoyo/common.h
@@ -959,7 +959,6 @@ char *tomoyo_read_token(struct tomoyo_acl_param *param);
 char *tomoyo_realpath_from_path(const struct path *path);
 char *tomoyo_realpath_nofollow(const char *pathname);
 const char *tomoyo_get_exe(void);
-const char *tomoyo_yesno(const unsigned int value);
 const struct tomoyo_path_info *tomoyo_compare_name_union
 (const struct tomoyo_path_info *name, const struct tomoyo_name_union *ptr);
 const struct tomoyo_path_info *tomoyo_get_domainname
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v2 11/11] cxgb4: Use str_yes_no()
  2022-01-26  9:39 [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Lucas De Marchi
                   ` (9 preceding siblings ...)
  2022-01-26  9:39 ` [PATCH v2 10/11] tomoyo: Use str_yes_no() Lucas De Marchi
@ 2022-01-26  9:39 ` Lucas De Marchi
  2022-01-26 10:22 ` [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Andy Shevchenko
  11 siblings, 0 replies; 24+ messages in thread
From: Lucas De Marchi @ 2022-01-26  9:39 UTC (permalink / raw)
  To: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Alex Deucher, Andrew Morton, Andy Shevchenko, Andy Shevchenko,
	Ben Skeggs, Christian König, Chris Wilson, Daniel Vetter,
	David Airlie, David S. Miller, Emma Anholt, Francis Laniel,
	Greg Kroah-Hartman, Harry Wentland, Jakub Kicinski, Jani Nikula,
	Joonas Lahtinen, Julia Lawall, Kentaro Takeda, Leo Li,
	Petr Mladek, Rahul Lakkireddy, Raju Rangoju, Rasmus Villemoes,
	Rodrigo Vivi, Sakari Ailus, Sergey Senozhatsky, Steven Rostedt,
	Vishal Kulkarni

Remove the local yesno() implementation and adopt the str_yes_no() from
linux/string_helpers.h.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 .../ethernet/chelsio/cxgb4/cxgb4_debugfs.c    | 249 ++++++++++--------
 1 file changed, 137 insertions(+), 112 deletions(-)

diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
index 7d49fd4edc9e..f0d9842962ab 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
@@ -2015,17 +2015,6 @@ static const struct file_operations rss_debugfs_fops = {
 /* RSS Configuration.
  */
 
-/* Small utility function to return the strings "yes" or "no" if the supplied
- * argument is non-zero.
- */
-static const char *yesno(int x)
-{
-	static const char *yes = "yes";
-	static const char *no = "no";
-
-	return x ? yes : no;
-}
-
 static int rss_config_show(struct seq_file *seq, void *v)
 {
 	struct adapter *adapter = seq->private;
@@ -2039,51 +2028,64 @@ static int rss_config_show(struct seq_file *seq, void *v)
 
 	rssconf = t4_read_reg(adapter, TP_RSS_CONFIG_A);
 	seq_printf(seq, "TP_RSS_CONFIG: %#x\n", rssconf);
-	seq_printf(seq, "  Tnl4TupEnIpv6: %3s\n", yesno(rssconf &
-							TNL4TUPENIPV6_F));
-	seq_printf(seq, "  Tnl2TupEnIpv6: %3s\n", yesno(rssconf &
-							TNL2TUPENIPV6_F));
-	seq_printf(seq, "  Tnl4TupEnIpv4: %3s\n", yesno(rssconf &
-							TNL4TUPENIPV4_F));
-	seq_printf(seq, "  Tnl2TupEnIpv4: %3s\n", yesno(rssconf &
-							TNL2TUPENIPV4_F));
-	seq_printf(seq, "  TnlTcpSel:     %3s\n", yesno(rssconf & TNLTCPSEL_F));
-	seq_printf(seq, "  TnlIp6Sel:     %3s\n", yesno(rssconf & TNLIP6SEL_F));
-	seq_printf(seq, "  TnlVrtSel:     %3s\n", yesno(rssconf & TNLVRTSEL_F));
-	seq_printf(seq, "  TnlMapEn:      %3s\n", yesno(rssconf & TNLMAPEN_F));
-	seq_printf(seq, "  OfdHashSave:   %3s\n", yesno(rssconf &
-							OFDHASHSAVE_F));
-	seq_printf(seq, "  OfdVrtSel:     %3s\n", yesno(rssconf & OFDVRTSEL_F));
-	seq_printf(seq, "  OfdMapEn:      %3s\n", yesno(rssconf & OFDMAPEN_F));
-	seq_printf(seq, "  OfdLkpEn:      %3s\n", yesno(rssconf & OFDLKPEN_F));
-	seq_printf(seq, "  Syn4TupEnIpv6: %3s\n", yesno(rssconf &
-							SYN4TUPENIPV6_F));
-	seq_printf(seq, "  Syn2TupEnIpv6: %3s\n", yesno(rssconf &
-							SYN2TUPENIPV6_F));
-	seq_printf(seq, "  Syn4TupEnIpv4: %3s\n", yesno(rssconf &
-							SYN4TUPENIPV4_F));
-	seq_printf(seq, "  Syn2TupEnIpv4: %3s\n", yesno(rssconf &
-							SYN2TUPENIPV4_F));
-	seq_printf(seq, "  Syn4TupEnIpv6: %3s\n", yesno(rssconf &
-							SYN4TUPENIPV6_F));
-	seq_printf(seq, "  SynIp6Sel:     %3s\n", yesno(rssconf & SYNIP6SEL_F));
-	seq_printf(seq, "  SynVrt6Sel:    %3s\n", yesno(rssconf & SYNVRTSEL_F));
-	seq_printf(seq, "  SynMapEn:      %3s\n", yesno(rssconf & SYNMAPEN_F));
-	seq_printf(seq, "  SynLkpEn:      %3s\n", yesno(rssconf & SYNLKPEN_F));
-	seq_printf(seq, "  ChnEn:         %3s\n", yesno(rssconf &
-							CHANNELENABLE_F));
-	seq_printf(seq, "  PrtEn:         %3s\n", yesno(rssconf &
-							PORTENABLE_F));
-	seq_printf(seq, "  TnlAllLkp:     %3s\n", yesno(rssconf &
-							TNLALLLOOKUP_F));
-	seq_printf(seq, "  VrtEn:         %3s\n", yesno(rssconf &
-							VIRTENABLE_F));
-	seq_printf(seq, "  CngEn:         %3s\n", yesno(rssconf &
-							CONGESTIONENABLE_F));
-	seq_printf(seq, "  HashToeplitz:  %3s\n", yesno(rssconf &
-							HASHTOEPLITZ_F));
-	seq_printf(seq, "  Udp4En:        %3s\n", yesno(rssconf & UDPENABLE_F));
-	seq_printf(seq, "  Disable:       %3s\n", yesno(rssconf & DISABLE_F));
+	seq_printf(seq, "  Tnl4TupEnIpv6: %3s\n",
+		   str_yes_no(rssconf & TNL4TUPENIPV6_F));
+	seq_printf(seq, "  Tnl2TupEnIpv6: %3s\n",
+		   str_yes_no(rssconf & TNL2TUPENIPV6_F));
+	seq_printf(seq, "  Tnl4TupEnIpv4: %3s\n",
+		   str_yes_no(rssconf & TNL4TUPENIPV4_F));
+	seq_printf(seq, "  Tnl2TupEnIpv4: %3s\n",
+		   str_yes_no(rssconf & TNL2TUPENIPV4_F));
+	seq_printf(seq, "  TnlTcpSel:     %3s\n",
+		   str_yes_no(rssconf & TNLTCPSEL_F));
+	seq_printf(seq, "  TnlIp6Sel:     %3s\n",
+		   str_yes_no(rssconf & TNLIP6SEL_F));
+	seq_printf(seq, "  TnlVrtSel:     %3s\n",
+		   str_yes_no(rssconf & TNLVRTSEL_F));
+	seq_printf(seq, "  TnlMapEn:      %3s\n",
+		   str_yes_no(rssconf & TNLMAPEN_F));
+	seq_printf(seq, "  OfdHashSave:   %3s\n",
+		   str_yes_no(rssconf & OFDHASHSAVE_F));
+	seq_printf(seq, "  OfdVrtSel:     %3s\n",
+		   str_yes_no(rssconf & OFDVRTSEL_F));
+	seq_printf(seq, "  OfdMapEn:      %3s\n",
+		   str_yes_no(rssconf & OFDMAPEN_F));
+	seq_printf(seq, "  OfdLkpEn:      %3s\n",
+		   str_yes_no(rssconf & OFDLKPEN_F));
+	seq_printf(seq, "  Syn4TupEnIpv6: %3s\n",
+		   str_yes_no(rssconf & SYN4TUPENIPV6_F));
+	seq_printf(seq, "  Syn2TupEnIpv6: %3s\n",
+		   str_yes_no(rssconf & SYN2TUPENIPV6_F));
+	seq_printf(seq, "  Syn4TupEnIpv4: %3s\n",
+		   str_yes_no(rssconf & SYN4TUPENIPV4_F));
+	seq_printf(seq, "  Syn2TupEnIpv4: %3s\n",
+		   str_yes_no(rssconf & SYN2TUPENIPV4_F));
+	seq_printf(seq, "  Syn4TupEnIpv6: %3s\n",
+		   str_yes_no(rssconf & SYN4TUPENIPV6_F));
+	seq_printf(seq, "  SynIp6Sel:     %3s\n",
+		   str_yes_no(rssconf & SYNIP6SEL_F));
+	seq_printf(seq, "  SynVrt6Sel:    %3s\n",
+		   str_yes_no(rssconf & SYNVRTSEL_F));
+	seq_printf(seq, "  SynMapEn:      %3s\n",
+		   str_yes_no(rssconf & SYNMAPEN_F));
+	seq_printf(seq, "  SynLkpEn:      %3s\n",
+		   str_yes_no(rssconf & SYNLKPEN_F));
+	seq_printf(seq, "  ChnEn:         %3s\n",
+		   str_yes_no(rssconf & CHANNELENABLE_F));
+	seq_printf(seq, "  PrtEn:         %3s\n",
+		   str_yes_no(rssconf & PORTENABLE_F));
+	seq_printf(seq, "  TnlAllLkp:     %3s\n",
+		   str_yes_no(rssconf & TNLALLLOOKUP_F));
+	seq_printf(seq, "  VrtEn:         %3s\n",
+		   str_yes_no(rssconf & VIRTENABLE_F));
+	seq_printf(seq, "  CngEn:         %3s\n",
+		   str_yes_no(rssconf & CONGESTIONENABLE_F));
+	seq_printf(seq, "  HashToeplitz:  %3s\n",
+		   str_yes_no(rssconf & HASHTOEPLITZ_F));
+	seq_printf(seq, "  Udp4En:        %3s\n",
+		   str_yes_no(rssconf & UDPENABLE_F));
+	seq_printf(seq, "  Disable:       %3s\n",
+		   str_yes_no(rssconf & DISABLE_F));
 
 	seq_puts(seq, "\n");
 
@@ -2093,19 +2095,20 @@ static int rss_config_show(struct seq_file *seq, void *v)
 	seq_printf(seq, "  MaskFilter:    %3d\n", MASKFILTER_G(rssconf));
 	if (CHELSIO_CHIP_VERSION(adapter->params.chip) > CHELSIO_T5) {
 		seq_printf(seq, "  HashAll:     %3s\n",
-			   yesno(rssconf & HASHALL_F));
+			   str_yes_no(rssconf & HASHALL_F));
 		seq_printf(seq, "  HashEth:     %3s\n",
-			   yesno(rssconf & HASHETH_F));
+			   str_yes_no(rssconf & HASHETH_F));
 	}
-	seq_printf(seq, "  UseWireCh:     %3s\n", yesno(rssconf & USEWIRECH_F));
+	seq_printf(seq, "  UseWireCh:     %3s\n",
+		   str_yes_no(rssconf & USEWIRECH_F));
 
 	seq_puts(seq, "\n");
 
 	rssconf = t4_read_reg(adapter, TP_RSS_CONFIG_OFD_A);
 	seq_printf(seq, "TP_RSS_CONFIG_OFD: %#x\n", rssconf);
 	seq_printf(seq, "  MaskSize:      %3d\n", MASKSIZE_G(rssconf));
-	seq_printf(seq, "  RRCplMapEn:    %3s\n", yesno(rssconf &
-							RRCPLMAPEN_F));
+	seq_printf(seq, "  RRCplMapEn:    %3s\n",
+		   str_yes_no(rssconf & RRCPLMAPEN_F));
 	seq_printf(seq, "  RRCplQueWidth: %3d\n", RRCPLQUEWIDTH_G(rssconf));
 
 	seq_puts(seq, "\n");
@@ -2113,7 +2116,8 @@ static int rss_config_show(struct seq_file *seq, void *v)
 	rssconf = t4_read_reg(adapter, TP_RSS_CONFIG_SYN_A);
 	seq_printf(seq, "TP_RSS_CONFIG_SYN: %#x\n", rssconf);
 	seq_printf(seq, "  MaskSize:      %3d\n", MASKSIZE_G(rssconf));
-	seq_printf(seq, "  UseWireCh:     %3s\n", yesno(rssconf & USEWIRECH_F));
+	seq_printf(seq, "  UseWireCh:     %3s\n",
+		   str_yes_no(rssconf & USEWIRECH_F));
 
 	seq_puts(seq, "\n");
 
@@ -2123,15 +2127,20 @@ static int rss_config_show(struct seq_file *seq, void *v)
 		seq_printf(seq, "  KeyWrAddrX:     %3d\n",
 			   KEYWRADDRX_G(rssconf));
 		seq_printf(seq, "  KeyExtend:      %3s\n",
-			   yesno(rssconf & KEYEXTEND_F));
-	}
-	seq_printf(seq, "  VfRdRg:        %3s\n", yesno(rssconf & VFRDRG_F));
-	seq_printf(seq, "  VfRdEn:        %3s\n", yesno(rssconf & VFRDEN_F));
-	seq_printf(seq, "  VfPerrEn:      %3s\n", yesno(rssconf & VFPERREN_F));
-	seq_printf(seq, "  KeyPerrEn:     %3s\n", yesno(rssconf & KEYPERREN_F));
-	seq_printf(seq, "  DisVfVlan:     %3s\n", yesno(rssconf &
-							DISABLEVLAN_F));
-	seq_printf(seq, "  EnUpSwt:       %3s\n", yesno(rssconf & ENABLEUP0_F));
+			   str_yes_no(rssconf & KEYEXTEND_F));
+	}
+	seq_printf(seq, "  VfRdRg:        %3s\n",
+		   str_yes_no(rssconf & VFRDRG_F));
+	seq_printf(seq, "  VfRdEn:        %3s\n",
+		   str_yes_no(rssconf & VFRDEN_F));
+	seq_printf(seq, "  VfPerrEn:      %3s\n",
+		   str_yes_no(rssconf & VFPERREN_F));
+	seq_printf(seq, "  KeyPerrEn:     %3s\n",
+		   str_yes_no(rssconf & KEYPERREN_F));
+	seq_printf(seq, "  DisVfVlan:     %3s\n",
+		   str_yes_no(rssconf & DISABLEVLAN_F));
+	seq_printf(seq, "  EnUpSwt:       %3s\n",
+		   str_yes_no(rssconf & ENABLEUP0_F));
 	seq_printf(seq, "  HashDelay:     %3d\n", HASHDELAY_G(rssconf));
 	if (CHELSIO_CHIP_VERSION(adapter->params.chip) <= CHELSIO_T5)
 		seq_printf(seq, "  VfWrAddr:      %3d\n", VFWRADDR_G(rssconf));
@@ -2139,36 +2148,52 @@ static int rss_config_show(struct seq_file *seq, void *v)
 		seq_printf(seq, "  VfWrAddr:      %3d\n",
 			   T6_VFWRADDR_G(rssconf));
 	seq_printf(seq, "  KeyMode:       %s\n", keymode[KEYMODE_G(rssconf)]);
-	seq_printf(seq, "  VfWrEn:        %3s\n", yesno(rssconf & VFWREN_F));
-	seq_printf(seq, "  KeyWrEn:       %3s\n", yesno(rssconf & KEYWREN_F));
+	seq_printf(seq, "  VfWrEn:        %3s\n",
+		   str_yes_no(rssconf & VFWREN_F));
+	seq_printf(seq, "  KeyWrEn:       %3s\n",
+		   str_yes_no(rssconf & KEYWREN_F));
 	seq_printf(seq, "  KeyWrAddr:     %3d\n", KEYWRADDR_G(rssconf));
 
 	seq_puts(seq, "\n");
 
 	rssconf = t4_read_reg(adapter, TP_RSS_CONFIG_CNG_A);
 	seq_printf(seq, "TP_RSS_CONFIG_CNG: %#x\n", rssconf);
-	seq_printf(seq, "  ChnCount3:     %3s\n", yesno(rssconf & CHNCOUNT3_F));
-	seq_printf(seq, "  ChnCount2:     %3s\n", yesno(rssconf & CHNCOUNT2_F));
-	seq_printf(seq, "  ChnCount1:     %3s\n", yesno(rssconf & CHNCOUNT1_F));
-	seq_printf(seq, "  ChnCount0:     %3s\n", yesno(rssconf & CHNCOUNT0_F));
-	seq_printf(seq, "  ChnUndFlow3:   %3s\n", yesno(rssconf &
-							CHNUNDFLOW3_F));
-	seq_printf(seq, "  ChnUndFlow2:   %3s\n", yesno(rssconf &
-							CHNUNDFLOW2_F));
-	seq_printf(seq, "  ChnUndFlow1:   %3s\n", yesno(rssconf &
-							CHNUNDFLOW1_F));
-	seq_printf(seq, "  ChnUndFlow0:   %3s\n", yesno(rssconf &
-							CHNUNDFLOW0_F));
-	seq_printf(seq, "  RstChn3:       %3s\n", yesno(rssconf & RSTCHN3_F));
-	seq_printf(seq, "  RstChn2:       %3s\n", yesno(rssconf & RSTCHN2_F));
-	seq_printf(seq, "  RstChn1:       %3s\n", yesno(rssconf & RSTCHN1_F));
-	seq_printf(seq, "  RstChn0:       %3s\n", yesno(rssconf & RSTCHN0_F));
-	seq_printf(seq, "  UpdVld:        %3s\n", yesno(rssconf & UPDVLD_F));
-	seq_printf(seq, "  Xoff:          %3s\n", yesno(rssconf & XOFF_F));
-	seq_printf(seq, "  UpdChn3:       %3s\n", yesno(rssconf & UPDCHN3_F));
-	seq_printf(seq, "  UpdChn2:       %3s\n", yesno(rssconf & UPDCHN2_F));
-	seq_printf(seq, "  UpdChn1:       %3s\n", yesno(rssconf & UPDCHN1_F));
-	seq_printf(seq, "  UpdChn0:       %3s\n", yesno(rssconf & UPDCHN0_F));
+	seq_printf(seq, "  ChnCount3:     %3s\n",
+		   str_yes_no(rssconf & CHNCOUNT3_F));
+	seq_printf(seq, "  ChnCount2:     %3s\n",
+		   str_yes_no(rssconf & CHNCOUNT2_F));
+	seq_printf(seq, "  ChnCount1:     %3s\n",
+		   str_yes_no(rssconf & CHNCOUNT1_F));
+	seq_printf(seq, "  ChnCount0:     %3s\n",
+		   str_yes_no(rssconf & CHNCOUNT0_F));
+	seq_printf(seq, "  ChnUndFlow3:   %3s\n",
+		   str_yes_no(rssconf & CHNUNDFLOW3_F));
+	seq_printf(seq, "  ChnUndFlow2:   %3s\n",
+		   str_yes_no(rssconf & CHNUNDFLOW2_F));
+	seq_printf(seq, "  ChnUndFlow1:   %3s\n",
+		   str_yes_no(rssconf & CHNUNDFLOW1_F));
+	seq_printf(seq, "  ChnUndFlow0:   %3s\n",
+		   str_yes_no(rssconf & CHNUNDFLOW0_F));
+	seq_printf(seq, "  RstChn3:       %3s\n",
+		   str_yes_no(rssconf & RSTCHN3_F));
+	seq_printf(seq, "  RstChn2:       %3s\n",
+		   str_yes_no(rssconf & RSTCHN2_F));
+	seq_printf(seq, "  RstChn1:       %3s\n",
+		   str_yes_no(rssconf & RSTCHN1_F));
+	seq_printf(seq, "  RstChn0:       %3s\n",
+		   str_yes_no(rssconf & RSTCHN0_F));
+	seq_printf(seq, "  UpdVld:        %3s\n",
+		   str_yes_no(rssconf & UPDVLD_F));
+	seq_printf(seq, "  Xoff:          %3s\n",
+		   str_yes_no(rssconf & XOFF_F));
+	seq_printf(seq, "  UpdChn3:       %3s\n",
+		   str_yes_no(rssconf & UPDCHN3_F));
+	seq_printf(seq, "  UpdChn2:       %3s\n",
+		   str_yes_no(rssconf & UPDCHN2_F));
+	seq_printf(seq, "  UpdChn1:       %3s\n",
+		   str_yes_no(rssconf & UPDCHN1_F));
+	seq_printf(seq, "  UpdChn0:       %3s\n",
+		   str_yes_no(rssconf & UPDCHN0_F));
 	seq_printf(seq, "  Queue:         %3d\n", QUEUE_G(rssconf));
 
 	return 0;
@@ -2263,17 +2288,17 @@ static int rss_pf_config_show(struct seq_file *seq, void *v, int idx)
 		pfconf = v;
 		seq_printf(seq, "%3d  %3s %3s %3s  %3d  %3d  %3d   %3s %3s   %3s %3s   %3s  %3d  %3d\n",
 			   idx,
-			   yesno(pfconf->rss_pf_config & MAPENABLE_F),
-			   yesno(pfconf->rss_pf_config & CHNENABLE_F),
-			   yesno(pfconf->rss_pf_config & PRTENABLE_F),
+			   str_yes_no(pfconf->rss_pf_config & MAPENABLE_F),
+			   str_yes_no(pfconf->rss_pf_config & CHNENABLE_F),
+			   str_yes_no(pfconf->rss_pf_config & PRTENABLE_F),
 			   G_PFnLKPIDX(pfconf->rss_pf_map, idx),
 			   G_PFnMSKSIZE(pfconf->rss_pf_mask, idx),
 			   IVFWIDTH_G(pfconf->rss_pf_config),
-			   yesno(pfconf->rss_pf_config & IP6FOURTUPEN_F),
-			   yesno(pfconf->rss_pf_config & IP6TWOTUPEN_F),
-			   yesno(pfconf->rss_pf_config & IP4FOURTUPEN_F),
-			   yesno(pfconf->rss_pf_config & IP4TWOTUPEN_F),
-			   yesno(pfconf->rss_pf_config & UDPFOURTUPEN_F),
+			   str_yes_no(pfconf->rss_pf_config & IP6FOURTUPEN_F),
+			   str_yes_no(pfconf->rss_pf_config & IP6TWOTUPEN_F),
+			   str_yes_no(pfconf->rss_pf_config & IP4FOURTUPEN_F),
+			   str_yes_no(pfconf->rss_pf_config & IP4TWOTUPEN_F),
+			   str_yes_no(pfconf->rss_pf_config & UDPFOURTUPEN_F),
 			   CH1DEFAULTQUEUE_G(pfconf->rss_pf_config),
 			   CH0DEFAULTQUEUE_G(pfconf->rss_pf_config));
 
@@ -2334,16 +2359,16 @@ static int rss_vf_config_show(struct seq_file *seq, void *v, int idx)
 
 		seq_printf(seq, "%3d  %3s %3s  %3d   %3s %3s   %3s %3s   %3s  %3s   %3s  %4d  %3d %#10x\n",
 			   idx,
-			   yesno(vfconf->rss_vf_vfh & VFCHNEN_F),
-			   yesno(vfconf->rss_vf_vfh & VFPRTEN_F),
+			   str_yes_no(vfconf->rss_vf_vfh & VFCHNEN_F),
+			   str_yes_no(vfconf->rss_vf_vfh & VFPRTEN_F),
 			   VFLKPIDX_G(vfconf->rss_vf_vfh),
-			   yesno(vfconf->rss_vf_vfh & VFVLNEX_F),
-			   yesno(vfconf->rss_vf_vfh & VFUPEN_F),
-			   yesno(vfconf->rss_vf_vfh & VFIP4FOURTUPEN_F),
-			   yesno(vfconf->rss_vf_vfh & VFIP6TWOTUPEN_F),
-			   yesno(vfconf->rss_vf_vfh & VFIP4FOURTUPEN_F),
-			   yesno(vfconf->rss_vf_vfh & VFIP4TWOTUPEN_F),
-			   yesno(vfconf->rss_vf_vfh & ENABLEUDPHASH_F),
+			   str_yes_no(vfconf->rss_vf_vfh & VFVLNEX_F),
+			   str_yes_no(vfconf->rss_vf_vfh & VFUPEN_F),
+			   str_yes_no(vfconf->rss_vf_vfh & VFIP4FOURTUPEN_F),
+			   str_yes_no(vfconf->rss_vf_vfh & VFIP6TWOTUPEN_F),
+			   str_yes_no(vfconf->rss_vf_vfh & VFIP4FOURTUPEN_F),
+			   str_yes_no(vfconf->rss_vf_vfh & VFIP4TWOTUPEN_F),
+			   str_yes_no(vfconf->rss_vf_vfh & ENABLEUDPHASH_F),
 			   DEFAULTQUEUE_G(vfconf->rss_vf_vfh),
 			   KEYINDEX_G(vfconf->rss_vf_vfh),
 			   vfconf->rss_vf_vfl);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 09/11] drm: Convert open-coded yes/no strings to yesno()
  2022-01-26  9:39 ` [PATCH v2 09/11] drm: Convert open-coded yes/no strings to yesno() Lucas De Marchi
@ 2022-01-26 10:12   ` Andy Shevchenko
  2022-01-26 10:43     ` [Intel-gfx] " Lucas De Marchi
  2022-01-26 14:57   ` Jani Nikula
  1 sibling, 1 reply; 24+ messages in thread
From: Andy Shevchenko @ 2022-01-26 10:12 UTC (permalink / raw)
  To: Lucas De Marchi
  Cc: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev, Alex Deucher,
	Andrew Morton, Andy Shevchenko, Ben Skeggs, Christian König,
	Chris Wilson, Daniel Vetter, David Airlie, David S. Miller,
	Emma Anholt, Francis Laniel, Greg Kroah-Hartman, Harry Wentland,
	Jakub Kicinski, Jani Nikula, Joonas Lahtinen, Julia Lawall,
	Kentaro Takeda, Leo Li, Petr Mladek, Rahul Lakkireddy,
	Raju Rangoju, Rasmus Villemoes, Rodrigo Vivi, Sakari Ailus,
	Sergey Senozhatsky, Steven Rostedt, Vishal Kulkarni

On Wed, Jan 26, 2022 at 11:39 AM Lucas De Marchi
<lucas.demarchi@intel.com> wrote:
>
> linux/string_helpers.h provides a helper to return "yes"/"no" strings.
> Replace the open coded versions with str_yes_no(). The places were
> identified with the following semantic patch:
>
>         @@
>         expression b;
>         @@
>
>         - b ? "yes" : "no"
>         + str_yes_no(b)
>
> Then the includes were added, so we include-what-we-use, and parenthesis
> adjusted in drivers/gpu/drm/v3d/v3d_debugfs.c. After the conversion we
> still see the same binary sizes:
>
>    text    data     bss     dec     hex filename
>   51149    3295     212   54656    d580 virtio/virtio-gpu.ko.old
>   51149    3295     212   54656    d580 virtio/virtio-gpu.ko
> 1441491   60340     800 1502631  16eda7 radeon/radeon.ko.old
> 1441491   60340     800 1502631  16eda7 radeon/radeon.ko
> 6125369  328538   34000 6487907  62ff63 amd/amdgpu/amdgpu.ko.old
> 6125369  328538   34000 6487907  62ff63 amd/amdgpu/amdgpu.ko
>  411986   10490    6176  428652   68a6c drm.ko.old
>  411986   10490    6176  428652   68a6c drm.ko
>   98129    1636     264  100029   186bd dp/drm_dp_helper.ko.old
>   98129    1636     264  100029   186bd dp/drm_dp_helper.ko
> 1973432  109640    2352 2085424  1fd230 nouveau/nouveau.ko.old
> 1973432  109640    2352 2085424  1fd230 nouveau/nouveau.ko

This probably won't change for modules, but if you compile in the
linker may try to optimize it. Would be nice to see the old-new for
`make allyesconfig` or equivalent.

...

>         seq_printf(m, "\tDP branch device present: %s\n",
> -                  branch_device ? "yes" : "no");
> +                  str_yes_no(branch_device));

Can it be now on one line? Same Q for all similar cases in the entire series.

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 00/11] lib/string_helpers: Add a few string helpers
  2022-01-26  9:39 [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Lucas De Marchi
                   ` (10 preceding siblings ...)
  2022-01-26  9:39 ` [PATCH v2 11/11] cxgb4: " Lucas De Marchi
@ 2022-01-26 10:22 ` Andy Shevchenko
  11 siblings, 0 replies; 24+ messages in thread
From: Andy Shevchenko @ 2022-01-26 10:22 UTC (permalink / raw)
  To: Lucas De Marchi
  Cc: Linux Kernel Mailing List, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev, Alex Deucher,
	Andrew Morton, Andy Shevchenko, Ben Skeggs, Christian König,
	Chris Wilson, Daniel Vetter, David Airlie, David S. Miller,
	Emma Anholt, Francis Laniel, Greg Kroah-Hartman, Harry Wentland,
	Jakub Kicinski, Jani Nikula, Joonas Lahtinen, Julia Lawall,
	Kentaro Takeda, Leo Li, Petr Mladek, Rahul Lakkireddy,
	Raju Rangoju, Rasmus Villemoes, Rodrigo Vivi, Sakari Ailus,
	Sergey Senozhatsky, Steven Rostedt, Vishal Kulkarni

On Wed, Jan 26, 2022 at 11:39 AM Lucas De Marchi
<lucas.demarchi@intel.com> wrote:
>
> Add some helpers under lib/string_helpers.h so they can be used
> throughout the kernel. When I started doing this there were 2 other
> previous attempts I know of, not counting the iterations each of them
> had:
>
> 1) https://lore.kernel.org/all/20191023131308.9420-1-jani.nikula@intel.com/
> 2) https://lore.kernel.org/all/20210215142137.64476-1-andriy.shevchenko@linux.intel.com/#t
>
> Now there is also the v1 of this same patch series:
> https://lore.kernel.org/all/20220119072450.2890107-1-lucas.demarchi@intel.com/
>
> Going through the comments I tried to find some common ground and
> justification for what is in here, addressing some of the concerns
> raised.
>
> a. This version should be a drop-in replacement for what is currently in
>    the tree, with no change in behavior or binary size. For binary
>    size what I checked was that the linked objects in the end have the
>    same size (gcc 11). From comments in the previous attempts this seems
>    also the case for earlier compiler versions
>
> b. I didn't change the function name to choice_* as suggested by Andrew
>    Morton in 20191023155619.43e0013f0c8c673a5c508c1e@linux-foundation.org
>    because other people argumented in favor of shorter names for these
>    simple helpers - if they are long and people simply not use due to
>    that, we failed. However as pointed out in v1 of this patchseries,
>    onoff(), yesno(), enabledisable(), enableddisabled() have some
>    issues: the last 2 are hard to read and for the first 2 it would not
>    be hard to have the symbol to clash with variable names.
>    From comments in v1, most people were in favor (or at least not
>    opposed) to using str_on_off(), str_yes_no(), str_enable_disable()
>    and str_enabled_disabled().
>
> c. Use string_helper.h for these helpers - pulling string.h in the
>    compilations units was one of the concerns and I think re-using this
>    already existing header is better than creating a new string-choice.h
>
> d. One alternative to all of this suggested by Christian König
>    (43456ba7-c372-84cc-4949-dcb817188e21@amd.com) would be to add a
>    printk format. But besides the comment, he also seemed to like
>    the common function. This brought the argument from others that the
>    simple yesno()/enabledisable() already used in the code (or new
>    renamed version) is easier to remember and use than e.g. %py[DOY]

I do not see any impediments to this series to be pulled.
Thanks for the work you've done!

> Changes in v2:
>
>   - Use str_ prefix and separate other words with underscore: it's a
>     little bit longer, but should improve readability
>
>   - Patches we re-split due to the rename: first patch adds all the new
>     functions, then additional patches try to do one conversion at a
>     time. While doing so, there were some fixes for issues already
>     present along the way
>
>   - Style suggestions from v1 were adopted
>
> In v1 it was suggested to apply this in drm-misc. I will leave this to
> maintainers to decide: maybe it would be simpler to merge the first
> patches on drm-intel-next, wait for the back merge and merge the rest
> through drm-misc - my fear is a big conflict with other work going in
> drm-intel-next since the bulk of the rename is there.
>
> I tried to figure out acks and reviews from v1 and apply them to how the
> patches are now split.
>
> thanks
> Lucas De Marchi
>
> Lucas De Marchi (11):
>   lib/string_helpers: Consolidate string helpers implementation
>   drm/i915: Fix trailing semicolon
>   drm/i915: Use str_yes_no()
>   drm/i915: Use str_enable_disable()
>   drm/i915: Use str_enabled_disabled()
>   drm/i915: Use str_on_off()
>   drm/amd/display: Use str_yes_no()
>   drm/gem: Sort includes alphabetically
>   drm: Convert open-coded yes/no strings to yesno()
>   tomoyo: Use str_yes_no()
>   cxgb4: Use str_yes_no()
>
>  drivers/gpu/drm/amd/amdgpu/atom.c             |   4 +-
>  .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c |  14 +-
>  drivers/gpu/drm/dp/drm_dp.c                   |   3 +-
>  drivers/gpu/drm/drm_client_modeset.c          |   3 +-
>  drivers/gpu/drm/drm_gem.c                     |  23 +-
>  drivers/gpu/drm/i915/display/g4x_dp.c         |   6 +-
>  .../gpu/drm/i915/display/intel_backlight.c    |   3 +-
>  drivers/gpu/drm/i915/display/intel_ddi.c      |   4 +-
>  drivers/gpu/drm/i915/display/intel_display.c  |  46 ++--
>  .../drm/i915/display/intel_display_debugfs.c  |  74 +++---
>  .../drm/i915/display/intel_display_power.c    |   4 +-
>  .../drm/i915/display/intel_display_trace.h    |   9 +-
>  drivers/gpu/drm/i915/display/intel_dp.c       |  20 +-
>  drivers/gpu/drm/i915/display/intel_dpll.c     |   3 +-
>  drivers/gpu/drm/i915/display/intel_dpll_mgr.c |   7 +-
>  drivers/gpu/drm/i915/display/intel_dsi_vbt.c  |   7 +-
>  drivers/gpu/drm/i915/display/intel_fbc.c      |   4 +-
>  drivers/gpu/drm/i915/display/intel_fdi.c      |   8 +-
>  drivers/gpu/drm/i915/display/intel_hdmi.c     |   3 +-
>  drivers/gpu/drm/i915/display/intel_sprite.c   |   6 +-
>  drivers/gpu/drm/i915/display/vlv_dsi_pll.c    |   3 +-
>  .../gpu/drm/i915/gem/selftests/huge_pages.c   |   9 +-
>  .../drm/i915/gem/selftests/i915_gem_context.c |   7 +-
>  drivers/gpu/drm/i915/gt/intel_breadcrumbs.c   |   3 +-
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c     |  11 +-
>  .../drm/i915/gt/intel_execlists_submission.c  |   7 +-
>  drivers/gpu/drm/i915/gt/intel_gt_pm.c         |   3 +-
>  drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c |  52 ++--
>  drivers/gpu/drm/i915/gt/intel_rc6.c           |   5 +-
>  drivers/gpu/drm/i915/gt/intel_reset.c         |   3 +-
>  drivers/gpu/drm/i915/gt/intel_rps.c           |  13 +-
>  drivers/gpu/drm/i915/gt/intel_sseu.c          |   9 +-
>  drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c  |  10 +-
>  drivers/gpu/drm/i915/gt/selftest_timeline.c   |   3 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c     |   5 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.c    |   5 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c     |   6 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c   |   4 +-
>  drivers/gpu/drm/i915/gt/uc/intel_uc.c         |  14 +-
>  drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c |  20 +-
>  drivers/gpu/drm/i915/i915_debugfs.c           |  17 +-
>  drivers/gpu/drm/i915/i915_driver.c            |   4 +-
>  drivers/gpu/drm/i915/i915_gpu_error.c         |   9 +-
>  drivers/gpu/drm/i915/i915_params.c            |   5 +-
>  drivers/gpu/drm/i915/i915_utils.h             |  21 +-
>  drivers/gpu/drm/i915/intel_device_info.c      |   8 +-
>  drivers/gpu/drm/i915/intel_dram.c             |  10 +-
>  drivers/gpu/drm/i915/intel_pm.c               |  14 +-
>  drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c  |   4 +-
>  drivers/gpu/drm/i915/selftests/i915_active.c  |   3 +-
>  drivers/gpu/drm/i915/vlv_suspend.c            |   3 +-
>  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c |   5 +-
>  drivers/gpu/drm/radeon/atom.c                 |   3 +-
>  drivers/gpu/drm/v3d/v3d_debugfs.c             |  11 +-
>  drivers/gpu/drm/virtio/virtgpu_debugfs.c      |   4 +-
>  .../ethernet/chelsio/cxgb4/cxgb4_debugfs.c    | 249 ++++++++++--------
>  include/linux/string_helpers.h                |  20 ++
>  security/tomoyo/audit.c                       |   2 +-
>  security/tomoyo/common.c                      |  19 +-
>  security/tomoyo/common.h                      |   1 -
>  60 files changed, 482 insertions(+), 373 deletions(-)
>
> --
> 2.34.1
>


-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Intel-gfx] [PATCH v2 09/11] drm: Convert open-coded yes/no strings to yesno()
  2022-01-26 10:12   ` Andy Shevchenko
@ 2022-01-26 10:43     ` Lucas De Marchi
  2022-01-26 12:15       ` Andy Shevchenko
  0 siblings, 1 reply; 24+ messages in thread
From: Lucas De Marchi @ 2022-01-26 10:43 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Emma Anholt, David Airlie, nouveau, Rasmus Villemoes, dri-devel,
	Chris Wilson, Vishal Kulkarni, Francis Laniel, Kentaro Takeda,
	amd-gfx, Ben Skeggs, Jakub Kicinski, Harry Wentland, Petr Mladek,
	Sakari Ailus, Leo Li, intel-gfx, Raju Rangoju, Julia Lawall,
	Rahul Lakkireddy, Steven Rostedt, Andy Shevchenko,
	Greg Kroah-Hartman, linux-kernel, Christian König,
	Sergey Senozhatsky, linux-security-module, netdev, Alex Deucher,
	Andrew Morton, David S. Miller

On Wed, Jan 26, 2022 at 12:12:50PM +0200, Andy Shevchenko wrote:
>On Wed, Jan 26, 2022 at 11:39 AM Lucas De Marchi
><lucas.demarchi@intel.com> wrote:
>>
>> linux/string_helpers.h provides a helper to return "yes"/"no" strings.
>> Replace the open coded versions with str_yes_no(). The places were

oops, I replaced yesno() here but forgot to do so in the title

>> identified with the following semantic patch:
>>
>>         @@
>>         expression b;
>>         @@
>>
>>         - b ? "yes" : "no"
>>         + str_yes_no(b)
>>
>> Then the includes were added, so we include-what-we-use, and parenthesis
>> adjusted in drivers/gpu/drm/v3d/v3d_debugfs.c. After the conversion we
>> still see the same binary sizes:
>>
>>    text    data     bss     dec     hex filename
>>   51149    3295     212   54656    d580 virtio/virtio-gpu.ko.old
>>   51149    3295     212   54656    d580 virtio/virtio-gpu.ko
>> 1441491   60340     800 1502631  16eda7 radeon/radeon.ko.old
>> 1441491   60340     800 1502631  16eda7 radeon/radeon.ko
>> 6125369  328538   34000 6487907  62ff63 amd/amdgpu/amdgpu.ko.old
>> 6125369  328538   34000 6487907  62ff63 amd/amdgpu/amdgpu.ko
>>  411986   10490    6176  428652   68a6c drm.ko.old
>>  411986   10490    6176  428652   68a6c drm.ko
>>   98129    1636     264  100029   186bd dp/drm_dp_helper.ko.old
>>   98129    1636     264  100029   186bd dp/drm_dp_helper.ko
>> 1973432  109640    2352 2085424  1fd230 nouveau/nouveau.ko.old
>> 1973432  109640    2352 2085424  1fd230 nouveau/nouveau.ko
>
>This probably won't change for modules, but if you compile in the
>linker may try to optimize it. Would be nice to see the old-new for
>`make allyesconfig` or equivalent.

just like it would already do, no? I can try and see what happens, but
my feeling is that we won't have any change.

>
>...
>
>>         seq_printf(m, "\tDP branch device present: %s\n",
>> -                  branch_device ? "yes" : "no");
>> +                  str_yes_no(branch_device));
>
>Can it be now on one line? Same Q for all similar cases in the entire series.

I saw that question in the previous version. I think those are very
subjective is they all go a little bit over 80 chars. Some maintainers
may prefer one way or the other.

Here we are reducing just 3 chars so I assumed that is the preferred
style here.  Also keeping it as is helps with the mass conversion since
it's easily repeatable if another iteration is needed.

thanks
Lucas De Marchi

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Intel-gfx] [PATCH v2 09/11] drm: Convert open-coded yes/no strings to yesno()
  2022-01-26 10:43     ` [Intel-gfx] " Lucas De Marchi
@ 2022-01-26 12:15       ` Andy Shevchenko
  0 siblings, 0 replies; 24+ messages in thread
From: Andy Shevchenko @ 2022-01-26 12:15 UTC (permalink / raw)
  To: Lucas De Marchi
  Cc: Emma Anholt, David Airlie, nouveau, Rasmus Villemoes, dri-devel,
	Chris Wilson, Vishal Kulkarni, Francis Laniel, Kentaro Takeda,
	amd-gfx, Ben Skeggs, Jakub Kicinski, Harry Wentland, Petr Mladek,
	Sakari Ailus, Leo Li, intel-gfx, Raju Rangoju, Julia Lawall,
	Rahul Lakkireddy, Steven Rostedt, Greg Kroah-Hartman,
	linux-kernel, Christian König, Sergey Senozhatsky,
	linux-security-module, netdev, Alex Deucher, Andrew Morton,
	David S. Miller

On Wed, Jan 26, 2022 at 02:43:45AM -0800, Lucas De Marchi wrote:
> On Wed, Jan 26, 2022 at 12:12:50PM +0200, Andy Shevchenko wrote:
> > On Wed, Jan 26, 2022 at 11:39 AM Lucas De Marchi
> > <lucas.demarchi@intel.com> wrote:

...

> > >  411986   10490    6176  428652   68a6c drm.ko.old
> > >  411986   10490    6176  428652   68a6c drm.ko
> > >   98129    1636     264  100029   186bd dp/drm_dp_helper.ko.old
> > >   98129    1636     264  100029   186bd dp/drm_dp_helper.ko
> > > 1973432  109640    2352 2085424  1fd230 nouveau/nouveau.ko.old
> > > 1973432  109640    2352 2085424  1fd230 nouveau/nouveau.ko
> > 
> > This probably won't change for modules, but if you compile in the
> > linker may try to optimize it. Would be nice to see the old-new for
> > `make allyesconfig` or equivalent.
> 
> just like it would already do, no? I can try and see what happens, but
> my feeling is that we won't have any change.

Maybe not or maybe a small win. Depends how compiler puts / linker sees
that in two cases. (Yeah, likely it should be no differences if all
instances are already caught by linker)

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 07/11] drm/amd/display: Use str_yes_no()
  2022-01-26  9:39 ` [PATCH v2 07/11] drm/amd/display: Use str_yes_no() Lucas De Marchi
@ 2022-01-26 14:35   ` Harry Wentland
  0 siblings, 0 replies; 24+ messages in thread
From: Harry Wentland @ 2022-01-26 14:35 UTC (permalink / raw)
  To: Lucas De Marchi, linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Alex Deucher, Andrew Morton, Andy Shevchenko, Andy Shevchenko,
	Ben Skeggs, Christian König, Chris Wilson, Daniel Vetter,
	David Airlie, David S. Miller, Emma Anholt, Francis Laniel,
	Greg Kroah-Hartman, Jakub Kicinski, Jani Nikula, Joonas Lahtinen,
	Julia Lawall, Kentaro Takeda, Leo Li, Petr Mladek,
	Rahul Lakkireddy, Raju Rangoju, Rasmus Villemoes, Rodrigo Vivi,
	Sakari Ailus, Sergey Senozhatsky, Steven Rostedt,
	Vishal Kulkarni

On 2022-01-26 04:39, Lucas De Marchi wrote:
> Remove the local yesno() implementation and adopt the str_yes_no() from
> linux/string_helpers.h.
> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>

Reviewed-by: Harry Wentland <harry.wentland@amd.com>

Harry

> ---
>  .../drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c  | 14 +++++---------
>  1 file changed, 5 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
> index 26719efa5396..5ff1076b9130 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
> @@ -23,6 +23,7 @@
>   *
>   */
>  
> +#include <linux/string_helpers.h>
>  #include <linux/uaccess.h>
>  
>  #include "dc.h"
> @@ -49,11 +50,6 @@ struct dmub_debugfs_trace_entry {
>  	uint32_t param1;
>  };
>  
> -static inline const char *yesno(bool v)
> -{
> -	return v ? "yes" : "no";
> -}
> -
>  /* parse_write_buffer_into_params - Helper function to parse debugfs write buffer into an array
>   *
>   * Function takes in attributes passed to debugfs write entry
> @@ -853,12 +849,12 @@ static int psr_capability_show(struct seq_file *m, void *data)
>  	if (!(link->connector_signal & SIGNAL_TYPE_EDP))
>  		return -ENODEV;
>  
> -	seq_printf(m, "Sink support: %s", yesno(link->dpcd_caps.psr_caps.psr_version != 0));
> +	seq_printf(m, "Sink support: %s", str_yes_no(link->dpcd_caps.psr_caps.psr_version != 0));
>  	if (link->dpcd_caps.psr_caps.psr_version)
>  		seq_printf(m, " [0x%02x]", link->dpcd_caps.psr_caps.psr_version);
>  	seq_puts(m, "\n");
>  
> -	seq_printf(m, "Driver support: %s", yesno(link->psr_settings.psr_feature_enabled));
> +	seq_printf(m, "Driver support: %s", str_yes_no(link->psr_settings.psr_feature_enabled));
>  	if (link->psr_settings.psr_version)
>  		seq_printf(m, " [0x%02x]", link->psr_settings.psr_version);
>  	seq_puts(m, "\n");
> @@ -1207,8 +1203,8 @@ static int dp_dsc_fec_support_show(struct seq_file *m, void *data)
>  	drm_modeset_drop_locks(&ctx);
>  	drm_modeset_acquire_fini(&ctx);
>  
> -	seq_printf(m, "FEC_Sink_Support: %s\n", yesno(is_fec_supported));
> -	seq_printf(m, "DSC_Sink_Support: %s\n", yesno(is_dsc_supported));
> +	seq_printf(m, "FEC_Sink_Support: %s\n", str_yes_no(is_fec_supported));
> +	seq_printf(m, "DSC_Sink_Support: %s\n", str_yes_no(is_dsc_supported));
>  
>  	return ret;
>  }


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 02/11] drm/i915: Fix trailing semicolon
  2022-01-26  9:39 ` [PATCH v2 02/11] drm/i915: Fix trailing semicolon Lucas De Marchi
@ 2022-01-26 14:52   ` Jani Nikula
  0 siblings, 0 replies; 24+ messages in thread
From: Jani Nikula @ 2022-01-26 14:52 UTC (permalink / raw)
  To: Lucas De Marchi, linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Alex Deucher, Andrew Morton, Andy Shevchenko, Andy Shevchenko,
	Ben Skeggs, Christian König, Chris Wilson, Daniel Vetter,
	David Airlie, David S. Miller, Emma Anholt, Francis Laniel,
	Greg Kroah-Hartman, Harry Wentland, Jakub Kicinski,
	Joonas Lahtinen, Julia Lawall, Kentaro Takeda, Leo Li,
	Petr Mladek, Rahul Lakkireddy, Raju Rangoju, Rasmus Villemoes,
	Rodrigo Vivi, Sakari Ailus, Sergey Senozhatsky, Steven Rostedt,
	Vishal Kulkarni

On Wed, 26 Jan 2022, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> Remove the trailing semicolon, as correctly warned by checkpatch:
>
> 	-:1189: WARNING:TRAILING_SEMICOLON: macros should not use a trailing semicolon
> 	#1189: FILE: drivers/gpu/drm/i915/intel_device_info.c:119:
> 	+#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, yesno(info->display.name));
>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  drivers/gpu/drm/i915/intel_device_info.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
> index 93b251b25aba..94da5aa37391 100644
> --- a/drivers/gpu/drm/i915/intel_device_info.c
> +++ b/drivers/gpu/drm/i915/intel_device_info.c
> @@ -114,7 +114,7 @@ void intel_device_info_print_static(const struct intel_device_info *info,
>  	DEV_INFO_FOR_EACH_FLAG(PRINT_FLAG);
>  #undef PRINT_FLAG
>  
> -#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, yesno(info->display.name));
> +#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, yesno(info->display.name))
>  	DEV_INFO_DISPLAY_FOR_EACH_FLAG(PRINT_FLAG);
>  #undef PRINT_FLAG
>  }

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 08/11] drm/gem: Sort includes alphabetically
  2022-01-26  9:39 ` [PATCH v2 08/11] drm/gem: Sort includes alphabetically Lucas De Marchi
@ 2022-01-26 14:54   ` Jani Nikula
  0 siblings, 0 replies; 24+ messages in thread
From: Jani Nikula @ 2022-01-26 14:54 UTC (permalink / raw)
  To: Lucas De Marchi, linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Alex Deucher, Andrew Morton, Andy Shevchenko, Andy Shevchenko,
	Ben Skeggs, Christian König, Chris Wilson, Daniel Vetter,
	David Airlie, David S. Miller, Emma Anholt, Francis Laniel,
	Greg Kroah-Hartman, Harry Wentland, Jakub Kicinski,
	Joonas Lahtinen, Julia Lawall, Kentaro Takeda, Leo Li,
	Petr Mladek, Rahul Lakkireddy, Raju Rangoju, Rasmus Villemoes,
	Rodrigo Vivi, Sakari Ailus, Sergey Senozhatsky, Steven Rostedt,
	Vishal Kulkarni

On Wed, 26 Jan 2022, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> Sort includes alphabetically so it's easier to add/remove includes and
> know when that is needed.
>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  drivers/gpu/drm/drm_gem.c | 20 ++++++++++----------
>  1 file changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
> index 4dcdec6487bb..21631c22b374 100644
> --- a/drivers/gpu/drm/drm_gem.c
> +++ b/drivers/gpu/drm/drm_gem.c
> @@ -25,20 +25,20 @@
>   *
>   */
>  
> -#include <linux/types.h>
> -#include <linux/slab.h>
> -#include <linux/mm.h>
> -#include <linux/uaccess.h>
> -#include <linux/fs.h>
> +#include <linux/dma-buf-map.h>
> +#include <linux/dma-buf.h>
>  #include <linux/file.h>
> -#include <linux/module.h>
> +#include <linux/fs.h>
> +#include <linux/mem_encrypt.h>
> +#include <linux/mm.h>
>  #include <linux/mman.h>
> +#include <linux/module.h>
>  #include <linux/pagemap.h>
> -#include <linux/shmem_fs.h>
> -#include <linux/dma-buf.h>
> -#include <linux/dma-buf-map.h>
> -#include <linux/mem_encrypt.h>
>  #include <linux/pagevec.h>
> +#include <linux/shmem_fs.h>
> +#include <linux/slab.h>
> +#include <linux/types.h>
> +#include <linux/uaccess.h>
>  
>  #include <drm/drm.h>
>  #include <drm/drm_device.h>

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v2 09/11] drm: Convert open-coded yes/no strings to yesno()
  2022-01-26  9:39 ` [PATCH v2 09/11] drm: Convert open-coded yes/no strings to yesno() Lucas De Marchi
  2022-01-26 10:12   ` Andy Shevchenko
@ 2022-01-26 14:57   ` Jani Nikula
  1 sibling, 0 replies; 24+ messages in thread
From: Jani Nikula @ 2022-01-26 14:57 UTC (permalink / raw)
  To: Lucas De Marchi, linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev
  Cc: Alex Deucher, Andrew Morton, Andy Shevchenko, Andy Shevchenko,
	Ben Skeggs, Christian König, Chris Wilson, Daniel Vetter,
	David Airlie, David S. Miller, Emma Anholt, Francis Laniel,
	Greg Kroah-Hartman, Harry Wentland, Jakub Kicinski,
	Joonas Lahtinen, Julia Lawall, Kentaro Takeda, Leo Li,
	Petr Mladek, Rahul Lakkireddy, Raju Rangoju, Rasmus Villemoes,
	Rodrigo Vivi, Sakari Ailus, Sergey Senozhatsky, Steven Rostedt,
	Vishal Kulkarni

On Wed, 26 Jan 2022, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> linux/string_helpers.h provides a helper to return "yes"/"no" strings.
> Replace the open coded versions with str_yes_no(). The places were
> identified with the following semantic patch:
>
> 	@@
> 	expression b;
> 	@@
>
> 	- b ? "yes" : "no"
> 	+ str_yes_no(b)
>
> Then the includes were added, so we include-what-we-use, and parenthesis
> adjusted in drivers/gpu/drm/v3d/v3d_debugfs.c. After the conversion we
> still see the same binary sizes:
>
>    text    data     bss     dec     hex filename
>   51149    3295     212   54656    d580 virtio/virtio-gpu.ko.old
>   51149    3295     212   54656    d580 virtio/virtio-gpu.ko
> 1441491   60340     800 1502631  16eda7 radeon/radeon.ko.old
> 1441491   60340     800 1502631  16eda7 radeon/radeon.ko
> 6125369  328538   34000 6487907  62ff63 amd/amdgpu/amdgpu.ko.old
> 6125369  328538   34000 6487907  62ff63 amd/amdgpu/amdgpu.ko
>  411986   10490    6176  428652   68a6c drm.ko.old
>  411986   10490    6176  428652   68a6c drm.ko
>   98129    1636     264  100029   186bd dp/drm_dp_helper.ko.old
>   98129    1636     264  100029   186bd dp/drm_dp_helper.ko
> 1973432  109640    2352 2085424  1fd230 nouveau/nouveau.ko.old
> 1973432  109640    2352 2085424  1fd230 nouveau/nouveau.ko
>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/atom.c             |  4 +++-
>  drivers/gpu/drm/dp/drm_dp.c                   |  3 ++-
>  drivers/gpu/drm/drm_client_modeset.c          |  3 ++-
>  drivers/gpu/drm/drm_gem.c                     |  3 ++-
>  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c |  5 ++++-
>  drivers/gpu/drm/radeon/atom.c                 |  3 ++-
>  drivers/gpu/drm/v3d/v3d_debugfs.c             | 11 ++++++-----
>  drivers/gpu/drm/virtio/virtgpu_debugfs.c      |  4 +++-
>  8 files changed, 24 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/atom.c b/drivers/gpu/drm/amd/amdgpu/atom.c
> index 6fa2229b7229..1c5d9388ad0b 100644
> --- a/drivers/gpu/drm/amd/amdgpu/atom.c
> +++ b/drivers/gpu/drm/amd/amdgpu/atom.c
> @@ -25,6 +25,8 @@
>  #include <linux/module.h>
>  #include <linux/sched.h>
>  #include <linux/slab.h>
> +#include <linux/string_helpers.h>
> +
>  #include <asm/unaligned.h>
>  
>  #include <drm/drm_util.h>
> @@ -740,7 +742,7 @@ static void atom_op_jump(atom_exec_context *ctx, int *ptr, int arg)
>  		break;
>  	}
>  	if (arg != ATOM_COND_ALWAYS)
> -		SDEBUG("   taken: %s\n", execute ? "yes" : "no");
> +		SDEBUG("   taken: %s\n", str_yes_no(execute));
>  	SDEBUG("   target: 0x%04X\n", target);
>  	if (execute) {
>  		if (ctx->last_jump == (ctx->start + target)) {
> diff --git a/drivers/gpu/drm/dp/drm_dp.c b/drivers/gpu/drm/dp/drm_dp.c
> index 6d43325acca5..c43577c8ac4d 100644
> --- a/drivers/gpu/drm/dp/drm_dp.c
> +++ b/drivers/gpu/drm/dp/drm_dp.c
> @@ -28,6 +28,7 @@
>  #include <linux/module.h>
>  #include <linux/sched.h>
>  #include <linux/seq_file.h>
> +#include <linux/string_helpers.h>
>  
>  #include <drm/dp/drm_dp_helper.h>
>  #include <drm/drm_print.h>
> @@ -1239,7 +1240,7 @@ void drm_dp_downstream_debug(struct seq_file *m,
>  	bool branch_device = drm_dp_is_branch(dpcd);
>  
>  	seq_printf(m, "\tDP branch device present: %s\n",
> -		   branch_device ? "yes" : "no");
> +		   str_yes_no(branch_device));
>  
>  	if (!branch_device)
>  		return;
> diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
> index ced09c7c06f9..e6346a67cd98 100644
> --- a/drivers/gpu/drm/drm_client_modeset.c
> +++ b/drivers/gpu/drm/drm_client_modeset.c
> @@ -11,6 +11,7 @@
>  #include <linux/module.h>
>  #include <linux/mutex.h>
>  #include <linux/slab.h>
> +#include <linux/string_helpers.h>
>  
>  #include <drm/drm_atomic.h>
>  #include <drm/drm_client.h>
> @@ -241,7 +242,7 @@ static void drm_client_connectors_enabled(struct drm_connector **connectors,
>  		connector = connectors[i];
>  		enabled[i] = drm_connector_enabled(connector, true);
>  		DRM_DEBUG_KMS("connector %d enabled? %s\n", connector->base.id,
> -			      connector->display_info.non_desktop ? "non desktop" : enabled[i] ? "yes" : "no");
> +			      connector->display_info.non_desktop ? "non desktop" : str_yes_no(enabled[i]));
>  
>  		any_enabled |= enabled[i];
>  	}
> diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
> index 21631c22b374..3c888db59ea4 100644
> --- a/drivers/gpu/drm/drm_gem.c
> +++ b/drivers/gpu/drm/drm_gem.c
> @@ -37,6 +37,7 @@
>  #include <linux/pagevec.h>
>  #include <linux/shmem_fs.h>
>  #include <linux/slab.h>
> +#include <linux/string_helpers.h>
>  #include <linux/types.h>
>  #include <linux/uaccess.h>
>  
> @@ -1145,7 +1146,7 @@ void drm_gem_print_info(struct drm_printer *p, unsigned int indent,
>  			  drm_vma_node_start(&obj->vma_node));
>  	drm_printf_indent(p, indent, "size=%zu\n", obj->size);
>  	drm_printf_indent(p, indent, "imported=%s\n",
> -			  obj->import_attach ? "yes" : "no");
> +			  str_yes_no(obj->import_attach));
>  
>  	if (obj->funcs->print_info)
>  		obj->funcs->print_info(p, indent, obj);
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c
> index a11637b0f6cc..d063d0dc13c5 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c
> @@ -21,6 +21,9 @@
>   *
>   * Authors: Ben Skeggs
>   */
> +
> +#include <linux/string_helpers.h>
> +
>  #include "aux.h"
>  #include "pad.h"
>  
> @@ -94,7 +97,7 @@ void
>  nvkm_i2c_aux_monitor(struct nvkm_i2c_aux *aux, bool monitor)
>  {
>  	struct nvkm_i2c_pad *pad = aux->pad;
> -	AUX_TRACE(aux, "monitor: %s", monitor ? "yes" : "no");
> +	AUX_TRACE(aux, "monitor: %s", str_yes_no(monitor));
>  	if (monitor)
>  		nvkm_i2c_pad_mode(pad, NVKM_I2C_PAD_AUX);
>  	else
> diff --git a/drivers/gpu/drm/radeon/atom.c b/drivers/gpu/drm/radeon/atom.c
> index f15b20da5315..c1bbfbe28bda 100644
> --- a/drivers/gpu/drm/radeon/atom.c
> +++ b/drivers/gpu/drm/radeon/atom.c
> @@ -25,6 +25,7 @@
>  #include <linux/module.h>
>  #include <linux/sched.h>
>  #include <linux/slab.h>
> +#include <linux/string_helpers.h>
>  
>  #include <asm/unaligned.h>
>  
> @@ -722,7 +723,7 @@ static void atom_op_jump(atom_exec_context *ctx, int *ptr, int arg)
>  		break;
>  	}
>  	if (arg != ATOM_COND_ALWAYS)
> -		SDEBUG("   taken: %s\n", execute ? "yes" : "no");
> +		SDEBUG("   taken: %s\n", str_yes_no(execute));
>  	SDEBUG("   target: 0x%04X\n", target);
>  	if (execute) {
>  		if (ctx->last_jump == (ctx->start + target)) {
> diff --git a/drivers/gpu/drm/v3d/v3d_debugfs.c b/drivers/gpu/drm/v3d/v3d_debugfs.c
> index e76b24bb8828..29fd13109e43 100644
> --- a/drivers/gpu/drm/v3d/v3d_debugfs.c
> +++ b/drivers/gpu/drm/v3d/v3d_debugfs.c
> @@ -6,6 +6,7 @@
>  #include <linux/debugfs.h>
>  #include <linux/pm_runtime.h>
>  #include <linux/seq_file.h>
> +#include <linux/string_helpers.h>
>  
>  #include <drm/drm_debugfs.h>
>  
> @@ -148,15 +149,15 @@ static int v3d_v3d_debugfs_ident(struct seq_file *m, void *unused)
>  		   V3D_GET_FIELD(ident3, V3D_HUB_IDENT3_IPREV),
>  		   V3D_GET_FIELD(ident3, V3D_HUB_IDENT3_IPIDX));
>  	seq_printf(m, "MMU:        %s\n",
> -		   (ident2 & V3D_HUB_IDENT2_WITH_MMU) ? "yes" : "no");
> +		   str_yes_no(ident2 & V3D_HUB_IDENT2_WITH_MMU));
>  	seq_printf(m, "TFU:        %s\n",
> -		   (ident1 & V3D_HUB_IDENT1_WITH_TFU) ? "yes" : "no");
> +		   str_yes_no(ident1 & V3D_HUB_IDENT1_WITH_TFU));
>  	seq_printf(m, "TSY:        %s\n",
> -		   (ident1 & V3D_HUB_IDENT1_WITH_TSY) ? "yes" : "no");
> +		   str_yes_no(ident1 & V3D_HUB_IDENT1_WITH_TSY));
>  	seq_printf(m, "MSO:        %s\n",
> -		   (ident1 & V3D_HUB_IDENT1_WITH_MSO) ? "yes" : "no");
> +		   str_yes_no(ident1 & V3D_HUB_IDENT1_WITH_MSO));
>  	seq_printf(m, "L3C:        %s (%dkb)\n",
> -		   (ident1 & V3D_HUB_IDENT1_WITH_L3C) ? "yes" : "no",
> +		   str_yes_no(ident1 & V3D_HUB_IDENT1_WITH_L3C),
>  		   V3D_GET_FIELD(ident2, V3D_HUB_IDENT2_L3C_NKB));
>  
>  	for (core = 0; core < cores; core++) {
> diff --git a/drivers/gpu/drm/virtio/virtgpu_debugfs.c b/drivers/gpu/drm/virtio/virtgpu_debugfs.c
> index b6954e2f75e6..853dd9aa397e 100644
> --- a/drivers/gpu/drm/virtio/virtgpu_debugfs.c
> +++ b/drivers/gpu/drm/virtio/virtgpu_debugfs.c
> @@ -23,6 +23,8 @@
>   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include <drm/drm_debugfs.h>
>  #include <drm/drm_file.h>
>  
> @@ -31,7 +33,7 @@
>  static void virtio_gpu_add_bool(struct seq_file *m, const char *name,
>  				bool value)
>  {
> -	seq_printf(m, "%-16s : %s\n", name, value ? "yes" : "no");
> +	seq_printf(m, "%-16s : %s\n", name, str_yes_no(value));
>  }
>  
>  static void virtio_gpu_add_int(struct seq_file *m, const char *name, int value)

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Intel-gfx] [PATCH v2 06/11] drm/i915: Use str_on_off()
  2022-01-26  9:39 ` [PATCH v2 06/11] drm/i915: Use str_on_off() Lucas De Marchi
@ 2022-02-01 21:15   ` Matt Roper
  0 siblings, 0 replies; 24+ messages in thread
From: Matt Roper @ 2022-02-01 21:15 UTC (permalink / raw)
  To: Lucas De Marchi
  Cc: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev, Emma Anholt,
	David Airlie, Daniel Vetter, Rasmus Villemoes, Chris Wilson,
	Vishal Kulkarni, Francis Laniel, Kentaro Takeda, Leo Li,
	Andy Shevchenko, Ben Skeggs, Jakub Kicinski, Harry Wentland,
	Petr Mladek, Sakari Ailus, Jani Nikula, Julia Lawall,
	Rahul Lakkireddy, Steven Rostedt, Andy Shevchenko,
	Greg Kroah-Hartman, Christian König, Sergey Senozhatsky,
	Raju Rangoju, Alex Deucher, Andrew Morton, David S. Miller

On Wed, Jan 26, 2022 at 01:39:46AM -0800, Lucas De Marchi wrote:
> Remove the local onoff() implementation and adopt the
> str_on_off() from linux/string_helpers.h.
> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> Acked-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>

> ---
>  drivers/gpu/drm/i915/display/g4x_dp.c              | 6 ++++--
>  drivers/gpu/drm/i915/display/intel_display.c       | 7 ++++---
>  drivers/gpu/drm/i915/display/intel_display_trace.h | 3 ++-
>  drivers/gpu/drm/i915/display/intel_dpll.c          | 3 ++-
>  drivers/gpu/drm/i915/display/intel_dpll_mgr.c      | 7 +++++--
>  drivers/gpu/drm/i915/display/intel_fdi.c           | 8 +++++---
>  drivers/gpu/drm/i915/display/vlv_dsi_pll.c         | 3 ++-
>  drivers/gpu/drm/i915/gt/intel_rc6.c                | 5 +++--
>  drivers/gpu/drm/i915/i915_utils.h                  | 5 -----
>  drivers/gpu/drm/i915/vlv_suspend.c                 | 3 ++-
>  10 files changed, 29 insertions(+), 21 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/g4x_dp.c b/drivers/gpu/drm/i915/display/g4x_dp.c
> index f37677df6ebf..3e729bff1232 100644
> --- a/drivers/gpu/drm/i915/display/g4x_dp.c
> +++ b/drivers/gpu/drm/i915/display/g4x_dp.c
> @@ -5,6 +5,8 @@
>   * DisplayPort support for G4x,ILK,SNB,IVB,VLV,CHV (HSW+ handled by the DDI code).
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include "g4x_dp.h"
>  #include "intel_audio.h"
>  #include "intel_backlight.h"
> @@ -191,7 +193,7 @@ static void assert_dp_port(struct intel_dp *intel_dp, bool state)
>  	I915_STATE_WARN(cur_state != state,
>  			"[ENCODER:%d:%s] state assertion failure (expected %s, current %s)\n",
>  			dig_port->base.base.base.id, dig_port->base.base.name,
> -			onoff(state), onoff(cur_state));
> +			str_on_off(state), str_on_off(cur_state));
>  }
>  #define assert_dp_port_disabled(d) assert_dp_port((d), false)
>  
> @@ -201,7 +203,7 @@ static void assert_edp_pll(struct drm_i915_private *dev_priv, bool state)
>  
>  	I915_STATE_WARN(cur_state != state,
>  			"eDP PLL state assertion failure (expected %s, current %s)\n",
> -			onoff(state), onoff(cur_state));
> +			str_on_off(state), str_on_off(cur_state));
>  }
>  #define assert_edp_pll_enabled(d) assert_edp_pll((d), true)
>  #define assert_edp_pll_disabled(d) assert_edp_pll((d), false)
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 8920bdb53b7b..49f994f36fce 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -377,7 +377,7 @@ static void wait_for_pipe_scanline_moving(struct intel_crtc *crtc, bool state)
>  	if (wait_for(pipe_scanline_is_moving(dev_priv, pipe) == state, 100))
>  		drm_err(&dev_priv->drm,
>  			"pipe %c scanline %s wait timed out\n",
> -			pipe_name(pipe), onoff(state));
> +			pipe_name(pipe), str_on_off(state));
>  }
>  
>  static void intel_wait_for_pipe_scanline_stopped(struct intel_crtc *crtc)
> @@ -435,7 +435,7 @@ void assert_transcoder(struct drm_i915_private *dev_priv,
>  	I915_STATE_WARN(cur_state != state,
>  			"transcoder %s assertion failure (expected %s, current %s)\n",
>  			transcoder_name(cpu_transcoder),
> -			onoff(state), onoff(cur_state));
> +			str_on_off(state), str_on_off(cur_state));
>  }
>  
>  static void assert_plane(struct intel_plane *plane, bool state)
> @@ -447,7 +447,8 @@ static void assert_plane(struct intel_plane *plane, bool state)
>  
>  	I915_STATE_WARN(cur_state != state,
>  			"%s assertion failure (expected %s, current %s)\n",
> -			plane->base.name, onoff(state), onoff(cur_state));
> +			plane->base.name, str_on_off(state),
> +			str_on_off(cur_state));
>  }
>  
>  #define assert_plane_enabled(p) assert_plane(p, true)
> diff --git a/drivers/gpu/drm/i915/display/intel_display_trace.h b/drivers/gpu/drm/i915/display/intel_display_trace.h
> index dcdd242fffd9..2dd5a4b7f5d8 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_trace.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
> @@ -9,6 +9,7 @@
>  #if !defined(__INTEL_DISPLAY_TRACE_H__) || defined(TRACE_HEADER_MULTI_READ)
>  #define __INTEL_DISPLAY_TRACE_H__
>  
> +#include <linux/string_helpers.h>
>  #include <linux/types.h>
>  #include <linux/tracepoint.h>
>  
> @@ -161,7 +162,7 @@ TRACE_EVENT(intel_memory_cxsr,
>  			   ),
>  
>  	    TP_printk("%s->%s, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
> -		      onoff(__entry->old), onoff(__entry->new),
> +		      str_on_off(__entry->old), str_on_off(__entry->new),
>  		      __entry->frame[PIPE_A], __entry->scanline[PIPE_A],
>  		      __entry->frame[PIPE_B], __entry->scanline[PIPE_B],
>  		      __entry->frame[PIPE_C], __entry->scanline[PIPE_C])
> diff --git a/drivers/gpu/drm/i915/display/intel_dpll.c b/drivers/gpu/drm/i915/display/intel_dpll.c
> index 1ce0c171f4fb..1c401fd09eef 100644
> --- a/drivers/gpu/drm/i915/display/intel_dpll.c
> +++ b/drivers/gpu/drm/i915/display/intel_dpll.c
> @@ -4,6 +4,7 @@
>   */
>  
>  #include <linux/kernel.h>
> +#include <linux/string_helpers.h>
>  
>  #include "intel_crtc.h"
>  #include "intel_de.h"
> @@ -1933,7 +1934,7 @@ static void assert_pll(struct drm_i915_private *dev_priv,
>  	cur_state = intel_de_read(dev_priv, DPLL(pipe)) & DPLL_VCO_ENABLE;
>  	I915_STATE_WARN(cur_state != state,
>  			"PLL state assertion failure (expected %s, current %s)\n",
> -			onoff(state), onoff(cur_state));
> +			str_on_off(state), str_on_off(cur_state));
>  }
>  
>  void assert_pll_enabled(struct drm_i915_private *i915, enum pipe pipe)
> diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> index 6723c3de5a80..a787995c0f79 100644
> --- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> +++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> @@ -21,6 +21,8 @@
>   * DEALINGS IN THE SOFTWARE.
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include "intel_de.h"
>  #include "intel_display_types.h"
>  #include "intel_dpio_phy.h"
> @@ -178,13 +180,14 @@ void assert_shared_dpll(struct drm_i915_private *dev_priv,
>  	struct intel_dpll_hw_state hw_state;
>  
>  	if (drm_WARN(&dev_priv->drm, !pll,
> -		     "asserting DPLL %s with no DPLL\n", onoff(state)))
> +		     "asserting DPLL %s with no DPLL\n", str_on_off(state)))
>  		return;
>  
>  	cur_state = intel_dpll_get_hw_state(dev_priv, pll, &hw_state);
>  	I915_STATE_WARN(cur_state != state,
>  	     "%s assertion failure (expected %s, current %s)\n",
> -			pll->info->name, onoff(state), onoff(cur_state));
> +			pll->info->name, str_on_off(state),
> +			str_on_off(cur_state));
>  }
>  
>  static enum tc_port icl_pll_id_to_tc_port(enum intel_dpll_id id)
> diff --git a/drivers/gpu/drm/i915/display/intel_fdi.c b/drivers/gpu/drm/i915/display/intel_fdi.c
> index 3d6e22923601..0fd2941313aa 100644
> --- a/drivers/gpu/drm/i915/display/intel_fdi.c
> +++ b/drivers/gpu/drm/i915/display/intel_fdi.c
> @@ -3,6 +3,8 @@
>   * Copyright © 2020 Intel Corporation
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include "intel_atomic.h"
>  #include "intel_crtc.h"
>  #include "intel_ddi.h"
> @@ -29,7 +31,7 @@ static void assert_fdi_tx(struct drm_i915_private *dev_priv,
>  	}
>  	I915_STATE_WARN(cur_state != state,
>  			"FDI TX state assertion failure (expected %s, current %s)\n",
> -			onoff(state), onoff(cur_state));
> +			str_on_off(state), str_on_off(cur_state));
>  }
>  
>  void assert_fdi_tx_enabled(struct drm_i915_private *i915, enum pipe pipe)
> @@ -50,7 +52,7 @@ static void assert_fdi_rx(struct drm_i915_private *dev_priv,
>  	cur_state = intel_de_read(dev_priv, FDI_RX_CTL(pipe)) & FDI_RX_ENABLE;
>  	I915_STATE_WARN(cur_state != state,
>  			"FDI RX state assertion failure (expected %s, current %s)\n",
> -			onoff(state), onoff(cur_state));
> +			str_on_off(state), str_on_off(cur_state));
>  }
>  
>  void assert_fdi_rx_enabled(struct drm_i915_private *i915, enum pipe pipe)
> @@ -88,7 +90,7 @@ static void assert_fdi_rx_pll(struct drm_i915_private *i915,
>  	cur_state = intel_de_read(i915, FDI_RX_CTL(pipe)) & FDI_RX_PLL_ENABLE;
>  	I915_STATE_WARN(cur_state != state,
>  			"FDI RX PLL assertion failure (expected %s, current %s)\n",
> -			onoff(state), onoff(cur_state));
> +			str_on_off(state), str_on_off(cur_state));
>  }
>  
>  void assert_fdi_rx_pll_enabled(struct drm_i915_private *i915, enum pipe pipe)
> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
> index 1b81797dd02e..7f9c0a7c3446 100644
> --- a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
> +++ b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
> @@ -26,6 +26,7 @@
>   */
>  
>  #include <linux/kernel.h>
> +#include <linux/string_helpers.h>
>  
>  #include "i915_drv.h"
>  #include "intel_de.h"
> @@ -580,7 +581,7 @@ static void assert_dsi_pll(struct drm_i915_private *i915, bool state)
>  
>  	I915_STATE_WARN(cur_state != state,
>  			"DSI PLL state assertion failure (expected %s, current %s)\n",
> -			onoff(state), onoff(cur_state));
> +			str_on_off(state), str_on_off(cur_state));
>  }
>  
>  void assert_dsi_pll_enabled(struct drm_i915_private *i915)
> diff --git a/drivers/gpu/drm/i915/gt/intel_rc6.c b/drivers/gpu/drm/i915/gt/intel_rc6.c
> index bb0d6e363f5d..cde83e382ebe 100644
> --- a/drivers/gpu/drm/i915/gt/intel_rc6.c
> +++ b/drivers/gpu/drm/i915/gt/intel_rc6.c
> @@ -4,6 +4,7 @@
>   */
>  
>  #include <linux/pm_runtime.h>
> +#include <linux/string_helpers.h>
>  
>  #include "i915_drv.h"
>  #include "i915_vgpu.h"
> @@ -428,8 +429,8 @@ static bool bxt_check_bios_rc6_setup(struct intel_rc6 *rc6)
>  	rc_sw_target >>= RC_SW_TARGET_STATE_SHIFT;
>  	drm_dbg(&i915->drm, "BIOS enabled RC states: "
>  			 "HW_CTRL %s HW_RC6 %s SW_TARGET_STATE %x\n",
> -			 onoff(rc_ctl & GEN6_RC_CTL_HW_ENABLE),
> -			 onoff(rc_ctl & GEN6_RC_CTL_RC6_ENABLE),
> +			 str_on_off(rc_ctl & GEN6_RC_CTL_HW_ENABLE),
> +			 str_on_off(rc_ctl & GEN6_RC_CTL_RC6_ENABLE),
>  			 rc_sw_target);
>  
>  	if (!(intel_uncore_read(uncore, RC6_LOCATION) & RC6_CTX_IN_DRAM)) {
> diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
> index 6d26920d0632..3ff9611ff81c 100644
> --- a/drivers/gpu/drm/i915/i915_utils.h
> +++ b/drivers/gpu/drm/i915/i915_utils.h
> @@ -400,11 +400,6 @@ wait_remaining_ms_from_jiffies(unsigned long timestamp_jiffies, int to_wait_ms)
>  #define MBps(x) KBps(1000 * (x))
>  #define GBps(x) ((u64)1000 * MBps((x)))
>  
> -static inline const char *onoff(bool v)
> -{
> -	return v ? "on" : "off";
> -}
> -
>  void add_taint_for_CI(struct drm_i915_private *i915, unsigned int taint);
>  static inline void __add_taint_for_CI(unsigned int taint)
>  {
> diff --git a/drivers/gpu/drm/i915/vlv_suspend.c b/drivers/gpu/drm/i915/vlv_suspend.c
> index 23adb64d640a..a49a7da57d5a 100644
> --- a/drivers/gpu/drm/i915/vlv_suspend.c
> +++ b/drivers/gpu/drm/i915/vlv_suspend.c
> @@ -3,6 +3,7 @@
>   * Copyright © 2020 Intel Corporation
>   */
>  
> +#include <linux/string_helpers.h>
>  #include <linux/kernel.h>
>  
>  #include <drm/drm_print.h>
> @@ -373,7 +374,7 @@ static void vlv_wait_for_gt_wells(struct drm_i915_private *dev_priv,
>  	if (vlv_wait_for_pw_status(dev_priv, mask, val))
>  		drm_dbg(&dev_priv->drm,
>  			"timeout waiting for GT wells to go %s\n",
> -			onoff(wait_for_on));
> +			str_on_off(wait_for_on));
>  }
>  
>  static void vlv_check_no_gt_access(struct drm_i915_private *i915)
> -- 
> 2.34.1
> 

-- 
Matt Roper
Graphics Software Engineer
VTT-OSGC Platform Enablement
Intel Corporation
(916) 356-2795

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Intel-gfx] [PATCH v2 05/11] drm/i915: Use str_enabled_disabled()
  2022-01-26  9:39 ` [PATCH v2 05/11] drm/i915: Use str_enabled_disabled() Lucas De Marchi
@ 2022-02-01 21:21   ` Matt Roper
  0 siblings, 0 replies; 24+ messages in thread
From: Matt Roper @ 2022-02-01 21:21 UTC (permalink / raw)
  To: Lucas De Marchi
  Cc: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev, Emma Anholt,
	David Airlie, Daniel Vetter, Rasmus Villemoes, Chris Wilson,
	Vishal Kulkarni, Francis Laniel, Kentaro Takeda, Leo Li,
	Andy Shevchenko, Ben Skeggs, Jakub Kicinski, Harry Wentland,
	Petr Mladek, Sakari Ailus, Jani Nikula, Julia Lawall,
	Rahul Lakkireddy, Steven Rostedt, Andy Shevchenko,
	Greg Kroah-Hartman, Christian König, Sergey Senozhatsky,
	Raju Rangoju, Alex Deucher, Andrew Morton, David S. Miller

On Wed, Jan 26, 2022 at 01:39:45AM -0800, Lucas De Marchi wrote:
> Remove the local enableddisabled() implementation and adopt the
> str_enabled_disabled() from linux/string_helpers.h.
> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> Acked-by: Jani Nikula <jani.nikula@intel.com>

There's two open-coded versions of this in intel_dp_hdcp.c
(intel_dp_mst_hdcp_stream_encryption() and
intel_dp_mst_hdcp2_stream_encryption()) that you might want to convert
as well.  Up to you whether you squash them into this patch or convert
them as a separate patch.  Either way,

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>


> ---
>  drivers/gpu/drm/i915/display/intel_backlight.c   |  3 ++-
>  drivers/gpu/drm/i915/display/intel_display.c     | 16 ++++++++--------
>  .../gpu/drm/i915/display/intel_display_debugfs.c |  8 ++++----
>  drivers/gpu/drm/i915/display/intel_dsi_vbt.c     |  7 ++++---
>  drivers/gpu/drm/i915/gt/intel_breadcrumbs.c      |  3 ++-
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c        |  2 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c        |  2 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.c       |  2 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c        |  2 +-
>  drivers/gpu/drm/i915/gt/uc/intel_uc.c            |  4 ++--
>  drivers/gpu/drm/i915/i915_debugfs.c              |  2 +-
>  drivers/gpu/drm/i915/i915_driver.c               |  4 +++-
>  drivers/gpu/drm/i915/i915_utils.h                |  6 +-----
>  drivers/gpu/drm/i915/intel_pm.c                  |  4 ++--
>  14 files changed, 33 insertions(+), 32 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_backlight.c b/drivers/gpu/drm/i915/display/intel_backlight.c
> index 98f7ea44042f..c8e1fc53a881 100644
> --- a/drivers/gpu/drm/i915/display/intel_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_backlight.c
> @@ -5,6 +5,7 @@
>  
>  #include <linux/kernel.h>
>  #include <linux/pwm.h>
> +#include <linux/string_helpers.h>
>  
>  #include "intel_backlight.h"
>  #include "intel_connector.h"
> @@ -1633,7 +1634,7 @@ int intel_backlight_setup(struct intel_connector *connector, enum pipe pipe)
>  	drm_dbg_kms(&dev_priv->drm,
>  		    "Connector %s backlight initialized, %s, brightness %u/%u\n",
>  		    connector->base.name,
> -		    enableddisabled(panel->backlight.enabled),
> +		    str_enabled_disabled(panel->backlight.enabled),
>  		    panel->backlight.level, panel->backlight.max);
>  
>  	return 0;
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index bd453861088e..8920bdb53b7b 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -3110,8 +3110,8 @@ static void intel_panel_sanitize_ssc(struct drm_i915_private *dev_priv)
>  		if (dev_priv->vbt.lvds_use_ssc != bios_lvds_use_ssc) {
>  			drm_dbg_kms(&dev_priv->drm,
>  				    "SSC %s by BIOS, overriding VBT which says %s\n",
> -				    enableddisabled(bios_lvds_use_ssc),
> -				    enableddisabled(dev_priv->vbt.lvds_use_ssc));
> +				    str_enabled_disabled(bios_lvds_use_ssc),
> +				    str_enabled_disabled(dev_priv->vbt.lvds_use_ssc));
>  			dev_priv->vbt.lvds_use_ssc = bios_lvds_use_ssc;
>  		}
>  	}
> @@ -5648,7 +5648,7 @@ static void intel_dump_pipe_config(const struct intel_crtc_state *pipe_config,
>  		    pipe_config->bigjoiner ? "master" : "no");
>  
>  	drm_dbg_kms(&dev_priv->drm, "splitter: %s, link count %d, overlap %d\n",
> -		    enableddisabled(pipe_config->splitter.enable),
> +		    str_enabled_disabled(pipe_config->splitter.enable),
>  		    pipe_config->splitter.link_count,
>  		    pipe_config->splitter.pixel_overlap);
>  
> @@ -5736,7 +5736,7 @@ static void intel_dump_pipe_config(const struct intel_crtc_state *pipe_config,
>  		drm_dbg_kms(&dev_priv->drm,
>  			    "pch pfit: " DRM_RECT_FMT ", %s, force thru: %s\n",
>  			    DRM_RECT_ARG(&pipe_config->pch_pfit.dst),
> -			    enableddisabled(pipe_config->pch_pfit.enabled),
> +			    str_enabled_disabled(pipe_config->pch_pfit.enabled),
>  			    str_yes_no(pipe_config->pch_pfit.force_thru));
>  
>  	drm_dbg_kms(&dev_priv->drm, "ips: %i, double wide: %i\n",
> @@ -10300,7 +10300,7 @@ static void readout_plane_state(struct drm_i915_private *dev_priv)
>  		drm_dbg_kms(&dev_priv->drm,
>  			    "[PLANE:%d:%s] hw state readout: %s, pipe %c\n",
>  			    plane->base.base.id, plane->base.name,
> -			    enableddisabled(visible), pipe_name(pipe));
> +			    str_enabled_disabled(visible), pipe_name(pipe));
>  	}
>  
>  	for_each_intel_crtc(&dev_priv->drm, crtc) {
> @@ -10346,7 +10346,7 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
>  		drm_dbg_kms(&dev_priv->drm,
>  			    "[CRTC:%d:%s] hw state readout: %s\n",
>  			    crtc->base.base.id, crtc->base.name,
> -			    enableddisabled(crtc_state->hw.active));
> +			    str_enabled_disabled(crtc_state->hw.active));
>  	}
>  
>  	cdclk_state->active_pipes = dbuf_state->active_pipes = active_pipes;
> @@ -10384,7 +10384,7 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
>  		drm_dbg_kms(&dev_priv->drm,
>  			    "[ENCODER:%d:%s] hw state readout: %s, pipe %c\n",
>  			    encoder->base.base.id, encoder->base.name,
> -			    enableddisabled(encoder->base.crtc),
> +			    str_enabled_disabled(encoder->base.crtc),
>  			    pipe_name(pipe));
>  	}
>  
> @@ -10422,7 +10422,7 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
>  		drm_dbg_kms(&dev_priv->drm,
>  			    "[CONNECTOR:%d:%s] hw state readout: %s\n",
>  			    connector->base.base.id, connector->base.name,
> -			    enableddisabled(connector->base.encoder));
> +			    str_enabled_disabled(connector->base.encoder));
>  	}
>  	drm_connector_list_iter_end(&conn_iter);
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index a9ba998e0659..6bc820c3f00e 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -93,7 +93,7 @@ static int i915_sr_status(struct seq_file *m, void *unused)
>  
>  	intel_display_power_put(dev_priv, POWER_DOMAIN_INIT, wakeref);
>  
> -	seq_printf(m, "self-refresh: %s\n", enableddisabled(sr_enabled));
> +	seq_printf(m, "self-refresh: %s\n", str_enabled_disabled(sr_enabled));
>  
>  	return 0;
>  }
> @@ -296,7 +296,7 @@ static int intel_psr_status(struct seq_file *m, struct intel_dp *intel_dp)
>  		enabled = val & EDP_PSR_ENABLE;
>  	}
>  	seq_printf(m, "Source PSR ctl: %s [0x%08x]\n",
> -		   enableddisabled(enabled), val);
> +		   str_enabled_disabled(enabled), val);
>  	psr_source_status(intel_dp, m);
>  	seq_printf(m, "Busy frontbuffer bits: 0x%08x\n",
>  		   psr->busy_frontbuffer_bits);
> @@ -343,7 +343,7 @@ static int intel_psr_status(struct seq_file *m, struct intel_dp *intel_dp)
>  		}
>  
>  		seq_printf(m, "PSR2 selective fetch: %s\n",
> -			   enableddisabled(psr->psr2_sel_fetch_enabled));
> +			   str_enabled_disabled(psr->psr2_sel_fetch_enabled));
>  	}
>  
>  unlock:
> @@ -1268,7 +1268,7 @@ static int i915_lpsp_status(struct seq_file *m, void *unused)
>  		return 0;
>  	}
>  
> -	seq_printf(m, "LPSP: %s\n", enableddisabled(lpsp_enabled));
> +	seq_printf(m, "LPSP: %s\n", str_enabled_disabled(lpsp_enabled));
>  
>  	return 0;
>  }
> diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c
> index da0bd056f3d3..5e1e2e7fe382 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c
> +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c
> @@ -30,6 +30,7 @@
>  #include <linux/pinctrl/consumer.h>
>  #include <linux/pinctrl/machine.h>
>  #include <linux/slab.h>
> +#include <linux/string_helpers.h>
>  
>  #include <asm/unaligned.h>
>  
> @@ -684,9 +685,9 @@ void intel_dsi_log_params(struct intel_dsi *intel_dsi)
>  		    intel_dsi->burst_mode_ratio);
>  	drm_dbg_kms(&i915->drm, "Reset timer %d\n", intel_dsi->rst_timer_val);
>  	drm_dbg_kms(&i915->drm, "Eot %s\n",
> -		    enableddisabled(intel_dsi->eotp_pkt));
> +		    str_enabled_disabled(intel_dsi->eotp_pkt));
>  	drm_dbg_kms(&i915->drm, "Clockstop %s\n",
> -		    enableddisabled(!intel_dsi->clock_stop));
> +		    str_enabled_disabled(!intel_dsi->clock_stop));
>  	drm_dbg_kms(&i915->drm, "Mode %s\n",
>  		    intel_dsi->operation_mode ? "command" : "video");
>  	if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK)
> @@ -713,7 +714,7 @@ void intel_dsi_log_params(struct intel_dsi *intel_dsi)
>  	drm_dbg_kms(&i915->drm, "HS to LP Clock Count 0x%x\n",
>  		    intel_dsi->clk_hs_to_lp_count);
>  	drm_dbg_kms(&i915->drm, "BTA %s\n",
> -		    enableddisabled(!(intel_dsi->video_frmt_cfg_bits & DISABLE_VIDEO_BTA)));
> +		    str_enabled_disabled(!(intel_dsi->video_frmt_cfg_bits & DISABLE_VIDEO_BTA)));
>  }
>  
>  bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id)
> diff --git a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
> index 209cf265bf74..9dc9dccf7b09 100644
> --- a/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
> @@ -4,6 +4,7 @@
>   */
>  
>  #include <linux/kthread.h>
> +#include <linux/string_helpers.h>
>  #include <trace/events/dma_fence.h>
>  #include <uapi/linux/sched/types.h>
>  
> @@ -512,7 +513,7 @@ void intel_engine_print_breadcrumbs(struct intel_engine_cs *engine,
>  	if (!b)
>  		return;
>  
> -	drm_printf(p, "IRQ: %s\n", enableddisabled(b->irq_armed));
> +	drm_printf(p, "IRQ: %s\n", str_enabled_disabled(b->irq_armed));
>  	if (!list_empty(&b->signalers))
>  		print_signals(b, p);
>  }
> diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> index 07de0fb56f51..6f4a39a3b44f 100644
> --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> @@ -1642,7 +1642,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
>  
>  		drm_printf(m, "\tExeclist tasklet queued? %s (%s), preempt? %s, timeslice? %s\n",
>  			   str_yes_no(test_bit(TASKLET_STATE_SCHED, &engine->sched_engine->tasklet.state)),
> -			   enableddisabled(!atomic_read(&engine->sched_engine->tasklet.count)),
> +			   str_enabled_disabled(!atomic_read(&engine->sched_engine->tasklet.count)),
>  			   repr_timer(&engine->execlists.preempt),
>  			   repr_timer(&engine->execlists.timer));
>  
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> index 31c3c3bceb95..0cfb29440c47 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> @@ -1203,7 +1203,7 @@ void intel_guc_ct_event_handler(struct intel_guc_ct *ct)
>  void intel_guc_ct_print_info(struct intel_guc_ct *ct,
>  			     struct drm_printer *p)
>  {
> -	drm_printf(p, "CT %s\n", enableddisabled(ct->enabled));
> +	drm_printf(p, "CT %s\n", str_enabled_disabled(ct->enabled));
>  
>  	if (!ct->enabled)
>  		return;
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> index 8a99c2e624c2..a24dc6441872 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> @@ -477,7 +477,7 @@ int intel_guc_log_create(struct intel_guc_log *log)
>  
>  	log->level = __get_default_log_level(log);
>  	DRM_DEBUG_DRIVER("guc_log_level=%d (%s, verbose:%s, verbosity:%d)\n",
> -			 log->level, enableddisabled(log->level),
> +			 log->level, str_enabled_disabled(log->level),
>  			 str_yes_no(GUC_LOG_LEVEL_IS_VERBOSE(log->level)),
>  			 GUC_LOG_LEVEL_TO_VERBOSITY(log->level));
>  
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
> index f8fc90ea71e7..e00661fb0853 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
> @@ -66,7 +66,7 @@ static int __guc_rc_control(struct intel_guc *guc, bool enable)
>  	}
>  
>  	drm_info(&gt->i915->drm, "GuC RC: %s\n",
> -		 enableddisabled(enable));
> +		 str_enabled_disabled(enable));
>  
>  	return 0;
>  }
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> index 8e756d4c2c16..8c9ef690ac9d 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> @@ -524,9 +524,9 @@ static int __uc_init_hw(struct intel_uc *uc)
>  	}
>  
>  	drm_info(&i915->drm, "GuC submission %s\n",
> -		 enableddisabled(intel_uc_uses_guc_submission(uc)));
> +		 str_enabled_disabled(intel_uc_uses_guc_submission(uc)));
>  	drm_info(&i915->drm, "GuC SLPC %s\n",
> -		 enableddisabled(intel_uc_uses_guc_slpc(uc)));
> +		 str_enabled_disabled(intel_uc_uses_guc_slpc(uc)));
>  
>  	return 0;
>  
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 8e70c404bcc5..b98ea01af075 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -478,7 +478,7 @@ static int i915_runtime_pm_status(struct seq_file *m, void *unused)
>  		seq_puts(m, "Runtime power management not supported\n");
>  
>  	seq_printf(m, "Runtime power status: %s\n",
> -		   enableddisabled(!dev_priv->power_domains.init_wakeref));
> +		   str_enabled_disabled(!dev_priv->power_domains.init_wakeref));
>  
>  	seq_printf(m, "GPU idle: %s\n", str_yes_no(!to_gt(dev_priv)->awake));
>  	seq_printf(m, "IRQs disabled: %s\n",
> diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
> index 3d41f532a5d6..e89afce4c576 100644
> --- a/drivers/gpu/drm/i915/i915_driver.c
> +++ b/drivers/gpu/drm/i915/i915_driver.c
> @@ -36,6 +36,7 @@
>  #include <linux/pm_runtime.h>
>  #include <linux/pnp.h>
>  #include <linux/slab.h>
> +#include <linux/string_helpers.h>
>  #include <linux/vga_switcheroo.h>
>  #include <linux/vt.h>
>  
> @@ -749,7 +750,8 @@ static void i915_driver_unregister(struct drm_i915_private *dev_priv)
>  void
>  i915_print_iommu_status(struct drm_i915_private *i915, struct drm_printer *p)
>  {
> -	drm_printf(p, "iommu: %s\n", enableddisabled(intel_vtd_active(i915)));
> +	drm_printf(p, "iommu: %s\n",
> +		   str_enabled_disabled(intel_vtd_active(i915)));
>  }
>  
>  static void i915_welcome_messages(struct drm_i915_private *dev_priv)
> diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
> index 06aac2be49ee..6d26920d0632 100644
> --- a/drivers/gpu/drm/i915/i915_utils.h
> +++ b/drivers/gpu/drm/i915/i915_utils.h
> @@ -28,6 +28,7 @@
>  #include <linux/list.h>
>  #include <linux/overflow.h>
>  #include <linux/sched.h>
> +#include <linux/string_helpers.h>
>  #include <linux/types.h>
>  #include <linux/workqueue.h>
>  #include <linux/sched/clock.h>
> @@ -404,11 +405,6 @@ static inline const char *onoff(bool v)
>  	return v ? "on" : "off";
>  }
>  
> -static inline const char *enableddisabled(bool v)
> -{
> -	return v ? "enabled" : "disabled";
> -}
> -
>  void add_taint_for_CI(struct drm_i915_private *i915, unsigned int taint);
>  static inline void __add_taint_for_CI(unsigned int taint)
>  {
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index c538a66687bd..69f442200784 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -413,8 +413,8 @@ static bool _intel_set_memory_cxsr(struct drm_i915_private *dev_priv, bool enabl
>  	trace_intel_memory_cxsr(dev_priv, was_enabled, enable);
>  
>  	drm_dbg_kms(&dev_priv->drm, "memory self-refresh is %s (was %s)\n",
> -		    enableddisabled(enable),
> -		    enableddisabled(was_enabled));
> +		    str_enabled_disabled(enable),
> +		    str_enabled_disabled(was_enabled));
>  
>  	return was_enabled;
>  }
> -- 
> 2.34.1
> 

-- 
Matt Roper
Graphics Software Engineer
VTT-OSGC Platform Enablement
Intel Corporation
(916) 356-2795

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Intel-gfx] [PATCH v2 04/11] drm/i915: Use str_enable_disable()
  2022-01-26  9:39 ` [PATCH v2 04/11] drm/i915: Use str_enable_disable() Lucas De Marchi
@ 2022-02-01 21:23   ` Matt Roper
  0 siblings, 0 replies; 24+ messages in thread
From: Matt Roper @ 2022-02-01 21:23 UTC (permalink / raw)
  To: Lucas De Marchi
  Cc: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev, Emma Anholt,
	David Airlie, Daniel Vetter, Rasmus Villemoes, Chris Wilson,
	Vishal Kulkarni, Francis Laniel, Kentaro Takeda, Leo Li,
	Andy Shevchenko, Ben Skeggs, Jakub Kicinski, Harry Wentland,
	Petr Mladek, Sakari Ailus, Jani Nikula, Julia Lawall,
	Rahul Lakkireddy, Steven Rostedt, Andy Shevchenko,
	Greg Kroah-Hartman, Christian König, Sergey Senozhatsky,
	Raju Rangoju, Alex Deucher, Andrew Morton, David S. Miller

On Wed, Jan 26, 2022 at 01:39:44AM -0800, Lucas De Marchi wrote:
> Remove the local enabledisable() implementation and adopt the
> str_enable_disable() from linux/string_helpers.h.
> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> Acked-by: Jani Nikula <jani.nikula@intel.com>

There's an open-coded version of this in display/intel_pps.c,
intel_pps_backlight_power().  Up to you whether you squash it into this
patch or convert it as a follow-up.  Either way.

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>


> ---
>  drivers/gpu/drm/i915/display/intel_ddi.c           | 4 +++-
>  drivers/gpu/drm/i915/display/intel_display_power.c | 4 +++-
>  drivers/gpu/drm/i915/display/intel_dp.c            | 8 ++++----
>  drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c          | 3 ++-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c          | 4 +++-
>  drivers/gpu/drm/i915/i915_utils.h                  | 5 -----
>  6 files changed, 15 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 2f20abc5122d..4b35a8597632 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -25,6 +25,8 @@
>   *
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include <drm/drm_privacy_screen_consumer.h>
>  #include <drm/drm_scdc_helper.h>
>  
> @@ -2152,7 +2154,7 @@ static void intel_dp_sink_set_msa_timing_par_ignore_state(struct intel_dp *intel
>  			       enable ? DP_MSA_TIMING_PAR_IGNORE_EN : 0) <= 0)
>  		drm_dbg_kms(&i915->drm,
>  			    "Failed to %s MSA_TIMING_PAR_IGNORE in the sink\n",
> -			    enabledisable(enable));
> +			    str_enable_disable(enable));
>  }
>  
>  static void intel_dp_sink_set_fec_ready(struct intel_dp *intel_dp,
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
> index 369317805d24..1f77cb9edddf 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> @@ -3,6 +3,8 @@
>   * Copyright © 2019 Intel Corporation
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include "i915_drv.h"
>  #include "i915_irq.h"
>  #include "intel_cdclk.h"
> @@ -5302,7 +5304,7 @@ static void gen9_dbuf_slice_set(struct drm_i915_private *dev_priv,
>  	state = intel_de_read(dev_priv, reg) & DBUF_POWER_STATE;
>  	drm_WARN(&dev_priv->drm, enable != state,
>  		 "DBuf slice %d power %s timeout!\n",
> -		 slice, enabledisable(enable));
> +		 slice, str_enable_disable(enable));
>  }
>  
>  void gen9_dbuf_slices_update(struct drm_i915_private *dev_priv,
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 62c1535d696d..933fc316ea53 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -1987,7 +1987,7 @@ void intel_dp_sink_set_decompression_state(struct intel_dp *intel_dp,
>  	if (ret < 0)
>  		drm_dbg_kms(&i915->drm,
>  			    "Failed to %s sink decompression state\n",
> -			    enabledisable(enable));
> +			    str_enable_disable(enable));
>  }
>  
>  static void
> @@ -2463,7 +2463,7 @@ void intel_dp_configure_protocol_converter(struct intel_dp *intel_dp,
>  	if (drm_dp_dpcd_writeb(&intel_dp->aux,
>  			       DP_PROTOCOL_CONVERTER_CONTROL_0, tmp) != 1)
>  		drm_dbg_kms(&i915->drm, "Failed to %s protocol converter HDMI mode\n",
> -			    enabledisable(intel_dp->has_hdmi_sink));
> +			    str_enable_disable(intel_dp->has_hdmi_sink));
>  
>  	tmp = crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR444 &&
>  		intel_dp->dfp.ycbcr_444_to_420 ? DP_CONVERSION_TO_YCBCR420_ENABLE : 0;
> @@ -2472,7 +2472,7 @@ void intel_dp_configure_protocol_converter(struct intel_dp *intel_dp,
>  			       DP_PROTOCOL_CONVERTER_CONTROL_1, tmp) != 1)
>  		drm_dbg_kms(&i915->drm,
>  			    "Failed to %s protocol converter YCbCr 4:2:0 conversion mode\n",
> -			    enabledisable(intel_dp->dfp.ycbcr_444_to_420));
> +			    str_enable_disable(intel_dp->dfp.ycbcr_444_to_420));
>  
>  	tmp = 0;
>  	if (intel_dp->dfp.rgb_to_ycbcr) {
> @@ -2510,7 +2510,7 @@ void intel_dp_configure_protocol_converter(struct intel_dp *intel_dp,
>  	if (drm_dp_pcon_convert_rgb_to_ycbcr(&intel_dp->aux, tmp) < 0)
>  		drm_dbg_kms(&i915->drm,
>  			   "Failed to %s protocol converter RGB->YCbCr conversion mode\n",
> -			   enabledisable(tmp));
> +			   str_enable_disable(tmp));
>  }
>  
>  
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> index de89d40abd38..31c3c3bceb95 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
> @@ -6,6 +6,7 @@
>  #include <linux/circ_buf.h>
>  #include <linux/ktime.h>
>  #include <linux/time64.h>
> +#include <linux/string_helpers.h>
>  #include <linux/timekeeping.h>
>  
>  #include "i915_drv.h"
> @@ -170,7 +171,7 @@ static int ct_control_enable(struct intel_guc_ct *ct, bool enable)
>  				     GUC_CTB_CONTROL_ENABLE : GUC_CTB_CONTROL_DISABLE);
>  	if (unlikely(err))
>  		CT_PROBE_ERROR(ct, "Failed to control/%s CTB (%pe)\n",
> -			       enabledisable(enable), ERR_PTR(err));
> +			       str_enable_disable(enable), ERR_PTR(err));
>  
>  	return err;
>  }
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
> index fc805d466d99..f8fc90ea71e7 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
> @@ -3,6 +3,8 @@
>   * Copyright © 2021 Intel Corporation
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include "intel_guc_rc.h"
>  #include "gt/intel_gt.h"
>  #include "i915_drv.h"
> @@ -59,7 +61,7 @@ static int __guc_rc_control(struct intel_guc *guc, bool enable)
>  	ret = guc_action_control_gucrc(guc, enable);
>  	if (ret) {
>  		drm_err(drm, "Failed to %s GuC RC (%pe)\n",
> -			enabledisable(enable), ERR_PTR(ret));
> +			str_enable_disable(enable), ERR_PTR(ret));
>  		return ret;
>  	}
>  
> diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
> index c62b64012369..06aac2be49ee 100644
> --- a/drivers/gpu/drm/i915/i915_utils.h
> +++ b/drivers/gpu/drm/i915/i915_utils.h
> @@ -404,11 +404,6 @@ static inline const char *onoff(bool v)
>  	return v ? "on" : "off";
>  }
>  
> -static inline const char *enabledisable(bool v)
> -{
> -	return v ? "enable" : "disable";
> -}
> -
>  static inline const char *enableddisabled(bool v)
>  {
>  	return v ? "enabled" : "disabled";
> -- 
> 2.34.1
> 

-- 
Matt Roper
Graphics Software Engineer
VTT-OSGC Platform Enablement
Intel Corporation
(916) 356-2795

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [Intel-gfx] [PATCH v2 03/11] drm/i915: Use str_yes_no()
  2022-01-26  9:39 ` [PATCH v2 03/11] drm/i915: Use str_yes_no() Lucas De Marchi
@ 2022-02-01 21:25   ` Matt Roper
  0 siblings, 0 replies; 24+ messages in thread
From: Matt Roper @ 2022-02-01 21:25 UTC (permalink / raw)
  To: Lucas De Marchi
  Cc: linux-kernel, intel-gfx, dri-devel, amd-gfx,
	linux-security-module, nouveau, netdev, Emma Anholt,
	David Airlie, Daniel Vetter, Rasmus Villemoes, Chris Wilson,
	Vishal Kulkarni, Francis Laniel, Kentaro Takeda, Leo Li,
	Andy Shevchenko, Ben Skeggs, Jakub Kicinski, Harry Wentland,
	Petr Mladek, Sakari Ailus, Jani Nikula, Julia Lawall,
	Rahul Lakkireddy, Steven Rostedt, Andy Shevchenko,
	Greg Kroah-Hartman, Christian König, Sergey Senozhatsky,
	Raju Rangoju, Alex Deucher, Andrew Morton, David S. Miller

On Wed, Jan 26, 2022 at 01:39:43AM -0800, Lucas De Marchi wrote:
> Remove the local yesno() implementation and adopt the str_yes_no() from
> linux/string_helpers.h.
> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> Acked-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_display.c  | 23 +++----
>  .../drm/i915/display/intel_display_debugfs.c  | 66 +++++++++++--------
>  .../drm/i915/display/intel_display_trace.h    |  6 +-
>  drivers/gpu/drm/i915/display/intel_dp.c       | 12 ++--
>  drivers/gpu/drm/i915/display/intel_fbc.c      |  4 +-
>  drivers/gpu/drm/i915/display/intel_hdmi.c     |  3 +-
>  drivers/gpu/drm/i915/display/intel_sprite.c   |  6 +-
>  .../gpu/drm/i915/gem/selftests/huge_pages.c   |  9 +--
>  .../drm/i915/gem/selftests/i915_gem_context.c |  7 +-
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c     |  9 +--
>  .../drm/i915/gt/intel_execlists_submission.c  |  7 +-
>  drivers/gpu/drm/i915/gt/intel_gt_pm.c         |  3 +-
>  drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c | 52 ++++++++-------
>  drivers/gpu/drm/i915/gt/intel_reset.c         |  3 +-
>  drivers/gpu/drm/i915/gt/intel_rps.c           | 13 ++--
>  drivers/gpu/drm/i915/gt/intel_sseu.c          |  9 ++-
>  drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c  | 10 +--
>  drivers/gpu/drm/i915/gt/selftest_timeline.c   |  3 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.c    |  3 +-
>  drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c   |  4 +-
>  drivers/gpu/drm/i915/gt/uc/intel_uc.c         | 10 +--
>  drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c | 20 +++---
>  drivers/gpu/drm/i915/i915_debugfs.c           | 15 +++--
>  drivers/gpu/drm/i915/i915_gpu_error.c         |  9 +--
>  drivers/gpu/drm/i915/i915_params.c            |  5 +-
>  drivers/gpu/drm/i915/i915_utils.h             |  5 --
>  drivers/gpu/drm/i915/intel_device_info.c      |  8 ++-
>  drivers/gpu/drm/i915/intel_dram.c             | 10 +--
>  drivers/gpu/drm/i915/intel_pm.c               | 10 +--
>  drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c  |  4 +-
>  drivers/gpu/drm/i915/selftests/i915_active.c  |  3 +-
>  31 files changed, 203 insertions(+), 148 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 80bc52425e47..bd453861088e 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -32,6 +32,7 @@
>  #include <linux/module.h>
>  #include <linux/dma-resv.h>
>  #include <linux/slab.h>
> +#include <linux/string_helpers.h>
>  #include <linux/vga_switcheroo.h>
>  
>  #include <drm/drm_atomic.h>
> @@ -3008,7 +3009,7 @@ static int intel_crtc_compute_config(struct intel_crtc *crtc,
>  		drm_dbg_kms(&dev_priv->drm,
>  			    "requested pixel clock (%d kHz) too high (max: %d kHz, double wide: %s)\n",
>  			    pipe_mode->crtc_clock, clock_limit,
> -			    yesno(pipe_config->double_wide));
> +			    str_yes_no(pipe_config->double_wide));
>  		return -EINVAL;
>  	}
>  
> @@ -5586,7 +5587,7 @@ static void intel_dump_plane_state(const struct intel_plane_state *plane_state)
>  		drm_dbg_kms(&i915->drm,
>  			    "[PLANE:%d:%s] fb: [NOFB], visible: %s\n",
>  			    plane->base.base.id, plane->base.name,
> -			    yesno(plane_state->uapi.visible));
> +			    str_yes_no(plane_state->uapi.visible));
>  		return;
>  	}
>  
> @@ -5594,7 +5595,7 @@ static void intel_dump_plane_state(const struct intel_plane_state *plane_state)
>  		    "[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, &fb->format->format,
> -		    fb->modifier, yesno(plane_state->uapi.visible));
> +		    fb->modifier, str_yes_no(plane_state->uapi.visible));
>  	drm_dbg_kms(&i915->drm, "\trotation: 0x%x, scaler: %d\n",
>  		    plane_state->hw.rotation, plane_state->scaler_id);
>  	if (plane_state->uapi.visible)
> @@ -5617,7 +5618,7 @@ static void intel_dump_pipe_config(const struct intel_crtc_state *pipe_config,
>  
>  	drm_dbg_kms(&dev_priv->drm, "[CRTC:%d:%s] enable: %s %s\n",
>  		    crtc->base.base.id, crtc->base.name,
> -		    yesno(pipe_config->hw.enable), context);
> +		    str_yes_no(pipe_config->hw.enable), context);
>  
>  	if (!pipe_config->hw.enable)
>  		goto dump_planes;
> @@ -5625,7 +5626,7 @@ static void intel_dump_pipe_config(const struct intel_crtc_state *pipe_config,
>  	snprintf_output_types(buf, sizeof(buf), pipe_config->output_types);
>  	drm_dbg_kms(&dev_priv->drm,
>  		    "active: %s, output_types: %s (0x%x), output format: %s\n",
> -		    yesno(pipe_config->hw.active),
> +		    str_yes_no(pipe_config->hw.active),
>  		    buf, pipe_config->output_types,
>  		    output_formats(pipe_config->output_format));
>  
> @@ -5694,7 +5695,7 @@ static void intel_dump_pipe_config(const struct intel_crtc_state *pipe_config,
>  		intel_dump_dp_vsc_sdp(dev_priv, &pipe_config->infoframes.vsc);
>  
>  	drm_dbg_kms(&dev_priv->drm, "vrr: %s, vmin: %d, vmax: %d, pipeline full: %d, guardband: %d flipline: %d, vmin vblank: %d, vmax vblank: %d\n",
> -		    yesno(pipe_config->vrr.enable),
> +		    str_yes_no(pipe_config->vrr.enable),
>  		    pipe_config->vrr.vmin, pipe_config->vrr.vmax,
>  		    pipe_config->vrr.pipeline_full, pipe_config->vrr.guardband,
>  		    pipe_config->vrr.flipline,
> @@ -5736,7 +5737,7 @@ static void intel_dump_pipe_config(const struct intel_crtc_state *pipe_config,
>  			    "pch pfit: " DRM_RECT_FMT ", %s, force thru: %s\n",
>  			    DRM_RECT_ARG(&pipe_config->pch_pfit.dst),
>  			    enableddisabled(pipe_config->pch_pfit.enabled),
> -			    yesno(pipe_config->pch_pfit.force_thru));
> +			    str_yes_no(pipe_config->pch_pfit.force_thru));
>  
>  	drm_dbg_kms(&dev_priv->drm, "ips: %i, double wide: %i\n",
>  		    pipe_config->ips_enabled, pipe_config->double_wide);
> @@ -6351,8 +6352,8 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  	if (current_config->name != pipe_config->name) { \
>  		pipe_config_mismatch(fastset, crtc,  __stringify(name), \
>  				     "(expected %s, found %s)", \
> -				     yesno(current_config->name), \
> -				     yesno(pipe_config->name)); \
> +				     str_yes_no(current_config->name), \
> +				     str_yes_no(pipe_config->name)); \
>  		ret = false; \
>  	} \
>  } while (0)
> @@ -6368,8 +6369,8 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  	} else { \
>  		pipe_config_mismatch(fastset, crtc, __stringify(name), \
>  				     "unable to verify whether state matches exactly, forcing modeset (expected %s, found %s)", \
> -				     yesno(current_config->name), \
> -				     yesno(pipe_config->name)); \
> +				     str_yes_no(current_config->name), \
> +				     str_yes_no(pipe_config->name)); \
>  		ret = false; \
>  	} \
>  } while (0)
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index f4de004d470f..a9ba998e0659 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -3,6 +3,8 @@
>   * Copyright © 2020 Intel Corporation
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include <drm/drm_debugfs.h>
>  #include <drm/drm_fourcc.h>
>  
> @@ -51,7 +53,7 @@ static int i915_ips_status(struct seq_file *m, void *unused)
>  	wakeref = intel_runtime_pm_get(&dev_priv->runtime_pm);
>  
>  	seq_printf(m, "Enabled by kernel parameter: %s\n",
> -		   yesno(dev_priv->params.enable_ips));
> +		   str_yes_no(dev_priv->params.enable_ips));
>  
>  	if (DISPLAY_VER(dev_priv) >= 8) {
>  		seq_puts(m, "Currently: unknown\n");
> @@ -260,7 +262,7 @@ static int intel_psr_status(struct seq_file *m, struct intel_dp *intel_dp)
>  	bool enabled;
>  	u32 val;
>  
> -	seq_printf(m, "Sink support: %s", yesno(psr->sink_support));
> +	seq_printf(m, "Sink support: %s", str_yes_no(psr->sink_support));
>  	if (psr->sink_support)
>  		seq_printf(m, " [0x%02x]", intel_dp->psr_dpcd[0]);
>  	seq_puts(m, "\n");
> @@ -279,7 +281,7 @@ static int intel_psr_status(struct seq_file *m, struct intel_dp *intel_dp)
>  
>  	if (!psr->enabled) {
>  		seq_printf(m, "PSR sink not reliable: %s\n",
> -			   yesno(psr->sink_not_reliable));
> +			   str_yes_no(psr->sink_not_reliable));
>  
>  		goto unlock;
>  	}
> @@ -446,13 +448,17 @@ static int i915_dmc_info(struct seq_file *m, void *unused)
>  
>  	wakeref = intel_runtime_pm_get(&dev_priv->runtime_pm);
>  
> -	seq_printf(m, "fw loaded: %s\n", yesno(intel_dmc_has_payload(dev_priv)));
> +	seq_printf(m, "fw loaded: %s\n",
> +		   str_yes_no(intel_dmc_has_payload(dev_priv)));
>  	seq_printf(m, "path: %s\n", dmc->fw_path);
>  	seq_printf(m, "Pipe A fw support: %s\n",
> -		   yesno(GRAPHICS_VER(dev_priv) >= 12));
> -	seq_printf(m, "Pipe A fw loaded: %s\n", yesno(dmc->dmc_info[DMC_FW_PIPEA].payload));
> -	seq_printf(m, "Pipe B fw support: %s\n", yesno(IS_ALDERLAKE_P(dev_priv)));
> -	seq_printf(m, "Pipe B fw loaded: %s\n", yesno(dmc->dmc_info[DMC_FW_PIPEB].payload));
> +		   str_yes_no(GRAPHICS_VER(dev_priv) >= 12));
> +	seq_printf(m, "Pipe A fw loaded: %s\n",
> +		   str_yes_no(dmc->dmc_info[DMC_FW_PIPEA].payload));
> +	seq_printf(m, "Pipe B fw support: %s\n",
> +		   str_yes_no(IS_ALDERLAKE_P(dev_priv)));
> +	seq_printf(m, "Pipe B fw loaded: %s\n",
> +		   str_yes_no(dmc->dmc_info[DMC_FW_PIPEB].payload));
>  
>  	if (!intel_dmc_has_payload(dev_priv))
>  		goto out;
> @@ -577,7 +583,8 @@ static void intel_dp_info(struct seq_file *m,
>  	const struct drm_property_blob *edid = intel_connector->base.edid_blob_ptr;
>  
>  	seq_printf(m, "\tDPCD rev: %x\n", intel_dp->dpcd[DP_DPCD_REV]);
> -	seq_printf(m, "\taudio support: %s\n", yesno(intel_dp->has_audio));
> +	seq_printf(m, "\taudio support: %s\n",
> +		   str_yes_no(intel_dp->has_audio));
>  	if (intel_connector->base.connector_type == DRM_MODE_CONNECTOR_eDP)
>  		intel_panel_info(m, &intel_connector->panel);
>  
> @@ -590,7 +597,7 @@ static void intel_dp_mst_info(struct seq_file *m,
>  {
>  	bool has_audio = intel_connector->port->has_audio;
>  
> -	seq_printf(m, "\taudio support: %s\n", yesno(has_audio));
> +	seq_printf(m, "\taudio support: %s\n", str_yes_no(has_audio));
>  }
>  
>  static void intel_hdmi_info(struct seq_file *m,
> @@ -599,7 +606,8 @@ static void intel_hdmi_info(struct seq_file *m,
>  	struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
>  	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(intel_encoder);
>  
> -	seq_printf(m, "\taudio support: %s\n", yesno(intel_hdmi->has_audio));
> +	seq_printf(m, "\taudio support: %s\n",
> +		   str_yes_no(intel_hdmi->has_audio));
>  }
>  
>  static void intel_lvds_info(struct seq_file *m,
> @@ -757,7 +765,7 @@ static void intel_plane_hw_info(struct seq_file *m, struct intel_plane *plane)
>  		   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),
> +		   str_yes_no(plane_state->uapi.visible),
>  		   DRM_RECT_FP_ARG(&plane_state->uapi.src),
>  		   DRM_RECT_ARG(&plane_state->uapi.dst),
>  		   rot_str);
> @@ -796,7 +804,7 @@ static void intel_scaler_info(struct seq_file *m, struct intel_crtc *crtc)
>  				&crtc_state->scaler_state.scalers[i];
>  
>  			seq_printf(m, ", scalers[%d]: use=%s, mode=%x",
> -				   i, yesno(sc->in_use), sc->mode);
> +				   i, str_yes_no(sc->in_use), sc->mode);
>  		}
>  		seq_puts(m, "\n");
>  	} else {
> @@ -919,18 +927,19 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc)
>  		   crtc->base.base.id, crtc->base.name);
>  
>  	seq_printf(m, "\tuapi: enable=%s, active=%s, mode=" DRM_MODE_FMT "\n",
> -		   yesno(crtc_state->uapi.enable),
> -		   yesno(crtc_state->uapi.active),
> +		   str_yes_no(crtc_state->uapi.enable),
> +		   str_yes_no(crtc_state->uapi.active),
>  		   DRM_MODE_ARG(&crtc_state->uapi.mode));
>  
>  	if (crtc_state->hw.enable) {
>  		seq_printf(m, "\thw: active=%s, adjusted_mode=" DRM_MODE_FMT "\n",
> -			   yesno(crtc_state->hw.active),
> +			   str_yes_no(crtc_state->hw.active),
>  			   DRM_MODE_ARG(&crtc_state->hw.adjusted_mode));
>  
>  		seq_printf(m, "\tpipe src size=%dx%d, dither=%s, bpp=%d\n",
>  			   crtc_state->pipe_src_w, crtc_state->pipe_src_h,
> -			   yesno(crtc_state->dither), crtc_state->pipe_bpp);
> +			   str_yes_no(crtc_state->dither),
> +			   crtc_state->pipe_bpp);
>  
>  		intel_scaler_info(m, crtc);
>  	}
> @@ -948,8 +957,8 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc)
>  	intel_plane_info(m, crtc);
>  
>  	seq_printf(m, "\tunderrun reporting: cpu=%s pch=%s\n",
> -		   yesno(!crtc->cpu_fifo_underrun_disabled),
> -		   yesno(!crtc->pch_fifo_underrun_disabled));
> +		   str_yes_no(!crtc->cpu_fifo_underrun_disabled),
> +		   str_yes_no(!crtc->pch_fifo_underrun_disabled));
>  
>  	crtc_updates_info(m, crtc, "\t");
>  }
> @@ -1005,7 +1014,8 @@ static int i915_shared_dplls_info(struct seq_file *m, void *unused)
>  		seq_printf(m, "DPLL%i: %s, id: %i\n", i, pll->info->name,
>  			   pll->info->id);
>  		seq_printf(m, " pipe_mask: 0x%x, active: 0x%x, on: %s\n",
> -			   pll->state.pipe_mask, pll->active_mask, yesno(pll->on));
> +			   pll->state.pipe_mask, pll->active_mask,
> +			   str_yes_no(pll->on));
>  		seq_printf(m, " tracked hardware state:\n");
>  		seq_printf(m, " dpll:    0x%08x\n", pll->state.hw_state.dpll);
>  		seq_printf(m, " dpll_md: 0x%08x\n",
> @@ -1046,7 +1056,7 @@ static int i915_ipc_status_show(struct seq_file *m, void *data)
>  	struct drm_i915_private *dev_priv = m->private;
>  
>  	seq_printf(m, "Isochronous Priority Control: %s\n",
> -			yesno(dev_priv->ipc_enabled));
> +			str_yes_no(dev_priv->ipc_enabled));
>  	return 0;
>  }
>  
> @@ -1155,7 +1165,7 @@ static void drrs_status_per_crtc(struct seq_file *m,
>  		    drrs->type == SEAMLESS_DRRS_SUPPORT)
>  			supported = true;
>  
> -		seq_printf(m, "\tDRRS Supported: %s\n", yesno(supported));
> +		seq_printf(m, "\tDRRS Supported: %s\n", str_yes_no(supported));
>  	}
>  	drm_connector_list_iter_end(&conn_iter);
>  
> @@ -1739,7 +1749,7 @@ static int i915_hpd_storm_ctl_show(struct seq_file *m, void *data)
>  
>  	seq_printf(m, "Threshold: %d\n", hotplug->hpd_storm_threshold);
>  	seq_printf(m, "Detected: %s\n",
> -		   yesno(delayed_work_pending(&hotplug->reenable_work)));
> +		   str_yes_no(delayed_work_pending(&hotplug->reenable_work)));
>  
>  	return 0;
>  }
> @@ -1813,7 +1823,7 @@ static int i915_hpd_short_storm_ctl_show(struct seq_file *m, void *data)
>  	struct drm_i915_private *dev_priv = m->private;
>  
>  	seq_printf(m, "Enabled: %s\n",
> -		   yesno(dev_priv->hotplug.hpd_short_storm_enabled));
> +		   str_yes_no(dev_priv->hotplug.hpd_short_storm_enabled));
>  
>  	return 0;
>  }
> @@ -2208,14 +2218,14 @@ static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
>  		intel_dp = intel_attached_dp(to_intel_connector(connector));
>  		crtc_state = to_intel_crtc_state(crtc->state);
>  		seq_printf(m, "DSC_Enabled: %s\n",
> -			   yesno(crtc_state->dsc.compression_enable));
> +			   str_yes_no(crtc_state->dsc.compression_enable));
>  		seq_printf(m, "DSC_Sink_Support: %s\n",
> -			   yesno(drm_dp_sink_supports_dsc(intel_dp->dsc_dpcd)));
> +			   str_yes_no(drm_dp_sink_supports_dsc(intel_dp->dsc_dpcd)));
>  		seq_printf(m, "Force_DSC_Enable: %s\n",
> -			   yesno(intel_dp->force_dsc_en));
> +			   str_yes_no(intel_dp->force_dsc_en));
>  		if (!intel_dp_is_edp(intel_dp))
>  			seq_printf(m, "FEC_Sink_Support: %s\n",
> -				   yesno(drm_dp_sink_supports_fec(intel_dp->fec_capable)));
> +				   str_yes_no(drm_dp_sink_supports_fec(intel_dp->fec_capable)));
>  	} while (try_again);
>  
>  	drm_modeset_drop_locks(&ctx);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_trace.h b/drivers/gpu/drm/i915/display/intel_display_trace.h
> index f05f0f9b5103..dcdd242fffd9 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_trace.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
> @@ -210,9 +210,9 @@ TRACE_EVENT(g4x_wm,
>  	    TP_printk("pipe %c, frame=%u, scanline=%u, wm %d/%d/%d, sr %s/%d/%d/%d, hpll %s/%d/%d/%d, fbc %s",
>  		      pipe_name(__entry->pipe), __entry->frame, __entry->scanline,
>  		      __entry->primary, __entry->sprite, __entry->cursor,
> -		      yesno(__entry->cxsr), __entry->sr_plane, __entry->sr_cursor, __entry->sr_fbc,
> -		      yesno(__entry->hpll), __entry->hpll_plane, __entry->hpll_cursor, __entry->hpll_fbc,
> -		      yesno(__entry->fbc))
> +		      str_yes_no(__entry->cxsr), __entry->sr_plane, __entry->sr_cursor, __entry->sr_fbc,
> +		      str_yes_no(__entry->hpll), __entry->hpll_plane, __entry->hpll_cursor, __entry->hpll_fbc,
> +		      str_yes_no(__entry->fbc))
>  );
>  
>  TRACE_EVENT(vlv_wm,
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 4d4579a301f6..62c1535d696d 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -29,6 +29,7 @@
>  #include <linux/i2c.h>
>  #include <linux/notifier.h>
>  #include <linux/slab.h>
> +#include <linux/string_helpers.h>
>  #include <linux/timekeeping.h>
>  #include <linux/types.h>
>  
> @@ -2797,8 +2798,9 @@ intel_dp_configure_mst(struct intel_dp *intel_dp)
>  	drm_dbg_kms(&i915->drm,
>  		    "[ENCODER:%d:%s] MST support: port: %s, sink: %s, modparam: %s\n",
>  		    encoder->base.base.id, encoder->base.name,
> -		    yesno(intel_dp_mst_source_support(intel_dp)), yesno(sink_can_mst),
> -		    yesno(i915->params.enable_dp_mst));
> +		    str_yes_no(intel_dp_mst_source_support(intel_dp)),
> +		    str_yes_no(sink_can_mst),
> +		    str_yes_no(i915->params.enable_dp_mst));
>  
>  	if (!intel_dp_mst_source_support(intel_dp))
>  		return;
> @@ -4366,9 +4368,9 @@ intel_dp_update_420(struct intel_dp *intel_dp)
>  	drm_dbg_kms(&i915->drm,
>  		    "[CONNECTOR:%d:%s] RGB->YcbCr conversion? %s, YCbCr 4:2:0 allowed? %s, YCbCr 4:4:4->4:2:0 conversion? %s\n",
>  		    connector->base.base.id, connector->base.name,
> -		    yesno(intel_dp->dfp.rgb_to_ycbcr),
> -		    yesno(connector->base.ycbcr_420_allowed),
> -		    yesno(intel_dp->dfp.ycbcr_444_to_420));
> +		    str_yes_no(intel_dp->dfp.rgb_to_ycbcr),
> +		    str_yes_no(connector->base.ycbcr_420_allowed),
> +		    str_yes_no(intel_dp->dfp.ycbcr_444_to_420));
>  }
>  
>  static void
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
> index bcdffe62f3cb..f3d7d8dde7ed 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -38,6 +38,8 @@
>   * forcibly disable it to allow proper screen updates.
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include <drm/drm_fourcc.h>
>  
>  #include "i915_drv.h"
> @@ -1742,7 +1744,7 @@ static int intel_fbc_debugfs_status_show(struct seq_file *m, void *unused)
>  	if (fbc->active) {
>  		seq_puts(m, "FBC enabled\n");
>  		seq_printf(m, "Compressing: %s\n",
> -			   yesno(intel_fbc_is_compressing(fbc)));
> +			   str_yes_no(intel_fbc_is_compressing(fbc)));
>  	} else {
>  		seq_printf(m, "FBC disabled: %s\n", fbc->no_fbc_reason);
>  	}
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index 6c72f8587240..02ead400069f 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -30,6 +30,7 @@
>  #include <linux/hdmi.h>
>  #include <linux/i2c.h>
>  #include <linux/slab.h>
> +#include <linux/string_helpers.h>
>  
>  #include <drm/drm_atomic_helper.h>
>  #include <drm/drm_crtc.h>
> @@ -2623,7 +2624,7 @@ bool intel_hdmi_handle_sink_scrambling(struct intel_encoder *encoder,
>  	drm_dbg_kms(&dev_priv->drm,
>  		    "[CONNECTOR:%d:%s] scrambling=%s, TMDS bit clock ratio=1/%d\n",
>  		    connector->base.id, connector->name,
> -		    yesno(scrambling), high_tmds_clock_ratio ? 40 : 10);
> +		    str_yes_no(scrambling), high_tmds_clock_ratio ? 40 : 10);
>  
>  	/* Set TMDS bit clock ratio to 1/40 or 1/10, and enable/disable scrambling */
>  	return drm_scdc_set_high_tmds_clock_ratio(adapter,
> diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c
> index 2d71294aaceb..ad999075c233 100644
> --- a/drivers/gpu/drm/i915/display/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/display/intel_sprite.c
> @@ -30,6 +30,8 @@
>   * support.
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include <drm/drm_atomic.h>
>  #include <drm/drm_atomic_helper.h>
>  #include <drm/drm_color_mgmt.h>
> @@ -96,13 +98,13 @@ int intel_plane_check_src_coordinates(struct intel_plane_state *plane_state)
>  
>  	if (src_x % hsub || src_w % hsub) {
>  		drm_dbg_kms(&i915->drm, "src x/w (%u, %u) must be a multiple of %u (rotated: %s)\n",
> -			    src_x, src_w, hsub, yesno(rotated));
> +			    src_x, src_w, hsub, str_yes_no(rotated));
>  		return -EINVAL;
>  	}
>  
>  	if (src_y % vsub || src_h % vsub) {
>  		drm_dbg_kms(&i915->drm, "src y/h (%u, %u) must be a multiple of %u (rotated: %s)\n",
> -			    src_y, src_h, vsub, yesno(rotated));
> +			    src_y, src_h, vsub, str_yes_no(rotated));
>  		return -EINVAL;
>  	}
>  
> diff --git a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
> index f36191ebf964..c8d816a1cd86 100644
> --- a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
> +++ b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
> @@ -5,6 +5,7 @@
>   */
>  
>  #include <linux/prime_numbers.h>
> +#include <linux/string_helpers.h>
>  
>  #include "i915_selftest.h"
>  
> @@ -803,7 +804,7 @@ static int igt_mock_ppgtt_huge_fill(void *arg)
>  		if (vma->resource->page_sizes_gtt != expected_gtt) {
>  			pr_err("gtt=%u, expected=%u, size=%zd, single=%s\n",
>  			       vma->resource->page_sizes_gtt, expected_gtt,
> -			       obj->base.size, yesno(!!single));
> +			       obj->base.size, str_yes_no(!!single));
>  			err = -EINVAL;
>  			break;
>  		}
> @@ -959,7 +960,7 @@ static int igt_mock_ppgtt_64K(void *arg)
>  			if (vma->resource->page_sizes_gtt != expected_gtt) {
>  				pr_err("gtt=%u, expected=%u, i=%d, single=%s\n",
>  				       vma->resource->page_sizes_gtt,
> -				       expected_gtt, i, yesno(!!single));
> +				       expected_gtt, i, str_yes_no(!!single));
>  				err = -EINVAL;
>  				goto out_vma_unpin;
>  			}
> @@ -1646,14 +1647,14 @@ static int igt_shrink_thp(void *arg)
>  			I915_SHRINK_WRITEBACK);
>  	if (should_swap == i915_gem_object_has_pages(obj)) {
>  		pr_err("unexpected pages mismatch, should_swap=%s\n",
> -		       yesno(should_swap));
> +		       str_yes_no(should_swap));
>  		err = -EINVAL;
>  		goto out_put;
>  	}
>  
>  	if (should_swap == (obj->mm.page_sizes.sg || obj->mm.page_sizes.phys)) {
>  		pr_err("unexpected residual page-size bits, should_swap=%s\n",
> -		       yesno(should_swap));
> +		       str_yes_no(should_swap));
>  		err = -EINVAL;
>  		goto out_put;
>  	}
> diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
> index 80d99b9c694f..4f6707e8808d 100644
> --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
> @@ -5,6 +5,7 @@
>   */
>  
>  #include <linux/prime_numbers.h>
> +#include <linux/string_helpers.h>
>  
>  #include "gem/i915_gem_pm.h"
>  #include "gt/intel_engine_pm.h"
> @@ -698,7 +699,7 @@ static int igt_ctx_exec(void *arg)
>  				pr_err("Failed to fill dword %lu [%lu/%lu] with gpu (%s) [full-ppgtt? %s], err=%d\n",
>  				       ndwords, dw, max_dwords(obj),
>  				       engine->name,
> -				       yesno(i915_gem_context_has_full_ppgtt(ctx)),
> +				       str_yes_no(i915_gem_context_has_full_ppgtt(ctx)),
>  				       err);
>  				intel_context_put(ce);
>  				kernel_context_close(ctx);
> @@ -832,7 +833,7 @@ static int igt_shared_ctx_exec(void *arg)
>  				pr_err("Failed to fill dword %lu [%lu/%lu] with gpu (%s) [full-ppgtt? %s], err=%d\n",
>  				       ndwords, dw, max_dwords(obj),
>  				       engine->name,
> -				       yesno(i915_gem_context_has_full_ppgtt(ctx)),
> +				       str_yes_no(i915_gem_context_has_full_ppgtt(ctx)),
>  				       err);
>  				intel_context_put(ce);
>  				kernel_context_close(ctx);
> @@ -1411,7 +1412,7 @@ static int igt_ctx_readonly(void *arg)
>  				pr_err("Failed to fill dword %lu [%lu/%lu] with gpu (%s) [full-ppgtt? %s], err=%d\n",
>  				       ndwords, dw, max_dwords(obj),
>  				       ce->engine->name,
> -				       yesno(i915_gem_context_has_full_ppgtt(ctx)),
> +				       str_yes_no(i915_gem_context_has_full_ppgtt(ctx)),
>  				       err);
>  				i915_gem_context_unlock_engines(ctx);
>  				goto out_file;
> diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> index 4317ae5e525b..07de0fb56f51 100644
> --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> @@ -3,6 +3,8 @@
>   * Copyright © 2016 Intel Corporation
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include <drm/drm_print.h>
>  
>  #include "gem/i915_gem_context.h"
> @@ -1639,8 +1641,7 @@ static void intel_engine_print_registers(struct intel_engine_cs *engine,
>  		u8 read, write;
>  
>  		drm_printf(m, "\tExeclist tasklet queued? %s (%s), preempt? %s, timeslice? %s\n",
> -			   yesno(test_bit(TASKLET_STATE_SCHED,
> -					  &engine->sched_engine->tasklet.state)),
> +			   str_yes_no(test_bit(TASKLET_STATE_SCHED, &engine->sched_engine->tasklet.state)),
>  			   enableddisabled(!atomic_read(&engine->sched_engine->tasklet.count)),
>  			   repr_timer(&engine->execlists.preempt),
>  			   repr_timer(&engine->execlists.timer));
> @@ -1902,7 +1903,7 @@ void intel_engine_dump(struct intel_engine_cs *engine,
>  
>  	drm_printf(m, "\tAwake? %d\n", atomic_read(&engine->wakeref.count));
>  	drm_printf(m, "\tBarriers?: %s\n",
> -		   yesno(!llist_empty(&engine->barrier_tasks)));
> +		   str_yes_no(!llist_empty(&engine->barrier_tasks)));
>  	drm_printf(m, "\tLatency: %luus\n",
>  		   ewma__engine_latency_read(&engine->latency));
>  	if (intel_engine_supports_stats(engine))
> @@ -1944,7 +1945,7 @@ void intel_engine_dump(struct intel_engine_cs *engine,
>  	drm_printf(m, "HWSP:\n");
>  	hexdump(m, engine->status_page.addr, PAGE_SIZE);
>  
> -	drm_printf(m, "Idle? %s\n", yesno(intel_engine_is_idle(engine)));
> +	drm_printf(m, "Idle? %s\n", str_yes_no(intel_engine_is_idle(engine)));
>  
>  	intel_engine_print_breadcrumbs(engine, m);
>  }
> diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
> index 960a9aaf4f3a..95898e3752a7 100644
> --- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
> +++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
> @@ -107,6 +107,7 @@
>   *
>   */
>  #include <linux/interrupt.h>
> +#include <linux/string_helpers.h>
>  
>  #include "i915_drv.h"
>  #include "i915_trace.h"
> @@ -1330,11 +1331,11 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
>  		} else if (timeslice_expired(engine, last)) {
>  			ENGINE_TRACE(engine,
>  				     "expired:%s last=%llx:%lld, prio=%d, hint=%d, yield?=%s\n",
> -				     yesno(timer_expired(&execlists->timer)),
> +				     str_yes_no(timer_expired(&execlists->timer)),
>  				     last->fence.context, last->fence.seqno,
>  				     rq_prio(last),
>  				     sched_engine->queue_priority_hint,
> -				     yesno(timeslice_yield(execlists, last)));
> +				     str_yes_no(timeslice_yield(execlists, last)));
>  
>  			/*
>  			 * Consume this timeslice; ensure we start a new one.
> @@ -1422,7 +1423,7 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
>  			     __i915_request_is_complete(rq) ? "!" :
>  			     __i915_request_has_started(rq) ? "*" :
>  			     "",
> -			     yesno(engine != ve->siblings[0]));
> +			     str_yes_no(engine != ve->siblings[0]));
>  
>  		WRITE_ONCE(ve->request, NULL);
>  		WRITE_ONCE(ve->base.sched_engine->queue_priority_hint, INT_MIN);
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_pm.c
> index c0fa41e4c803..e4ecc17889d3 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_pm.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_pm.c
> @@ -3,6 +3,7 @@
>   * Copyright © 2019 Intel Corporation
>   */
>  
> +#include <linux/string_helpers.h>
>  #include <linux/suspend.h>
>  
>  #include "i915_drv.h"
> @@ -157,7 +158,7 @@ static void gt_sanitize(struct intel_gt *gt, bool force)
>  	enum intel_engine_id id;
>  	intel_wakeref_t wakeref;
>  
> -	GT_TRACE(gt, "force:%s", yesno(force));
> +	GT_TRACE(gt, "force:%s", str_yes_no(force));
>  
>  	/* Use a raw wakeref to avoid calling intel_display_power_get early */
>  	wakeref = intel_runtime_pm_get(gt->uncore->rpm);
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c b/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c
> index 6c5c1d0363bf..7390c1527107 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c
> @@ -5,6 +5,7 @@
>   */
>  
>  #include <linux/seq_file.h>
> +#include <linux/string_helpers.h>
>  
>  #include "i915_drv.h"
>  #include "intel_gt.h"
> @@ -102,7 +103,7 @@ static int vlv_drpc(struct seq_file *m)
>  	rcctl1 = intel_uncore_read(uncore, GEN6_RC_CONTROL);
>  
>  	seq_printf(m, "RC6 Enabled: %s\n",
> -		   yesno(rcctl1 & (GEN7_RC_CTL_TO_MODE |
> +		   str_yes_no(rcctl1 & (GEN7_RC_CTL_TO_MODE |
>  					GEN6_RC_CTL_EI_MODE(1))));
>  	seq_printf(m, "Render Power Well: %s\n",
>  		   (pw_status & VLV_GTLC_PW_RENDER_STATUS_MASK) ? "Up" : "Down");
> @@ -137,19 +138,19 @@ static int gen6_drpc(struct seq_file *m)
>  		snb_pcode_read(i915, GEN6_PCODE_READ_RC6VIDS, &rc6vids, NULL);
>  
>  	seq_printf(m, "RC1e Enabled: %s\n",
> -		   yesno(rcctl1 & GEN6_RC_CTL_RC1e_ENABLE));
> +		   str_yes_no(rcctl1 & GEN6_RC_CTL_RC1e_ENABLE));
>  	seq_printf(m, "RC6 Enabled: %s\n",
> -		   yesno(rcctl1 & GEN6_RC_CTL_RC6_ENABLE));
> +		   str_yes_no(rcctl1 & GEN6_RC_CTL_RC6_ENABLE));
>  	if (GRAPHICS_VER(i915) >= 9) {
>  		seq_printf(m, "Render Well Gating Enabled: %s\n",
> -			   yesno(gen9_powergate_enable & GEN9_RENDER_PG_ENABLE));
> +			   str_yes_no(gen9_powergate_enable & GEN9_RENDER_PG_ENABLE));
>  		seq_printf(m, "Media Well Gating Enabled: %s\n",
> -			   yesno(gen9_powergate_enable & GEN9_MEDIA_PG_ENABLE));
> +			   str_yes_no(gen9_powergate_enable & GEN9_MEDIA_PG_ENABLE));
>  	}
>  	seq_printf(m, "Deep RC6 Enabled: %s\n",
> -		   yesno(rcctl1 & GEN6_RC_CTL_RC6p_ENABLE));
> +		   str_yes_no(rcctl1 & GEN6_RC_CTL_RC6p_ENABLE));
>  	seq_printf(m, "Deepest RC6 Enabled: %s\n",
> -		   yesno(rcctl1 & GEN6_RC_CTL_RC6pp_ENABLE));
> +		   str_yes_no(rcctl1 & GEN6_RC_CTL_RC6pp_ENABLE));
>  	seq_puts(m, "Current RC state: ");
>  	switch (gt_core_status & GEN6_RCn_MASK) {
>  	case GEN6_RC0:
> @@ -173,7 +174,7 @@ static int gen6_drpc(struct seq_file *m)
>  	}
>  
>  	seq_printf(m, "Core Power Down: %s\n",
> -		   yesno(gt_core_status & GEN6_CORE_CPD_STATE_MASK));
> +		   str_yes_no(gt_core_status & GEN6_CORE_CPD_STATE_MASK));
>  	if (GRAPHICS_VER(i915) >= 9) {
>  		seq_printf(m, "Render Power Well: %s\n",
>  			   (gen9_powergate_status &
> @@ -213,16 +214,17 @@ static int ilk_drpc(struct seq_file *m)
>  	rstdbyctl = intel_uncore_read(uncore, RSTDBYCTL);
>  	crstandvid = intel_uncore_read16(uncore, CRSTANDVID);
>  
> -	seq_printf(m, "HD boost: %s\n", yesno(rgvmodectl & MEMMODE_BOOST_EN));
> +	seq_printf(m, "HD boost: %s\n",
> +		   str_yes_no(rgvmodectl & MEMMODE_BOOST_EN));
>  	seq_printf(m, "Boost freq: %d\n",
>  		   (rgvmodectl & MEMMODE_BOOST_FREQ_MASK) >>
>  		   MEMMODE_BOOST_FREQ_SHIFT);
>  	seq_printf(m, "HW control enabled: %s\n",
> -		   yesno(rgvmodectl & MEMMODE_HWIDLE_EN));
> +		   str_yes_no(rgvmodectl & MEMMODE_HWIDLE_EN));
>  	seq_printf(m, "SW control enabled: %s\n",
> -		   yesno(rgvmodectl & MEMMODE_SWMODE_EN));
> +		   str_yes_no(rgvmodectl & MEMMODE_SWMODE_EN));
>  	seq_printf(m, "Gated voltage change: %s\n",
> -		   yesno(rgvmodectl & MEMMODE_RCLK_GATE));
> +		   str_yes_no(rgvmodectl & MEMMODE_RCLK_GATE));
>  	seq_printf(m, "Starting frequency: P%d\n",
>  		   (rgvmodectl & MEMMODE_FSTART_MASK) >> MEMMODE_FSTART_SHIFT);
>  	seq_printf(m, "Max P-state: P%d\n",
> @@ -231,7 +233,7 @@ static int ilk_drpc(struct seq_file *m)
>  	seq_printf(m, "RS1 VID: %d\n", (crstandvid & 0x3f));
>  	seq_printf(m, "RS2 VID: %d\n", ((crstandvid >> 8) & 0x3f));
>  	seq_printf(m, "Render standby enabled: %s\n",
> -		   yesno(!(rstdbyctl & RCX_SW_EXIT)));
> +		   str_yes_no(!(rstdbyctl & RCX_SW_EXIT)));
>  	seq_puts(m, "Current RS state: ");
>  	switch (rstdbyctl & RSX_STATUS_MASK) {
>  	case RSX_STATUS_ON:
> @@ -304,12 +306,11 @@ void intel_gt_pm_frequency_dump(struct intel_gt *gt, struct drm_printer *p)
>  
>  		rpmodectl = intel_uncore_read(uncore, GEN6_RP_CONTROL);
>  		drm_printf(p, "Video Turbo Mode: %s\n",
> -			   yesno(rpmodectl & GEN6_RP_MEDIA_TURBO));
> +			   str_yes_no(rpmodectl & GEN6_RP_MEDIA_TURBO));
>  		drm_printf(p, "HW control enabled: %s\n",
> -			   yesno(rpmodectl & GEN6_RP_ENABLE));
> +			   str_yes_no(rpmodectl & GEN6_RP_ENABLE));
>  		drm_printf(p, "SW control enabled: %s\n",
> -			   yesno((rpmodectl & GEN6_RP_MEDIA_MODE_MASK) ==
> -				 GEN6_RP_MEDIA_SW_MODE));
> +			   str_yes_no((rpmodectl & GEN6_RP_MEDIA_MODE_MASK) == GEN6_RP_MEDIA_SW_MODE));
>  
>  		vlv_punit_get(i915);
>  		freq_sts = vlv_punit_read(i915, PUNIT_REG_GPU_FREQ_STS);
> @@ -414,12 +415,11 @@ void intel_gt_pm_frequency_dump(struct intel_gt *gt, struct drm_printer *p)
>  		pm_mask = intel_uncore_read(uncore, GEN6_PMINTRMSK);
>  
>  		drm_printf(p, "Video Turbo Mode: %s\n",
> -			   yesno(rpmodectl & GEN6_RP_MEDIA_TURBO));
> +			   str_yes_no(rpmodectl & GEN6_RP_MEDIA_TURBO));
>  		drm_printf(p, "HW control enabled: %s\n",
> -			   yesno(rpmodectl & GEN6_RP_ENABLE));
> +			   str_yes_no(rpmodectl & GEN6_RP_ENABLE));
>  		drm_printf(p, "SW control enabled: %s\n",
> -			   yesno((rpmodectl & GEN6_RP_MEDIA_MODE_MASK) ==
> -				 GEN6_RP_MEDIA_SW_MODE));
> +			   str_yes_no((rpmodectl & GEN6_RP_MEDIA_MODE_MASK) == GEN6_RP_MEDIA_SW_MODE));
>  
>  		drm_printf(p, "PM IER=0x%08x IMR=0x%08x, MASK=0x%08x\n",
>  			   pm_ier, pm_imr, pm_mask);
> @@ -539,7 +539,7 @@ static int llc_show(struct seq_file *m, void *data)
>  	intel_wakeref_t wakeref;
>  	int gpu_freq, ia_freq;
>  
> -	seq_printf(m, "LLC: %s\n", yesno(HAS_LLC(i915)));
> +	seq_printf(m, "LLC: %s\n", str_yes_no(HAS_LLC(i915)));
>  	seq_printf(m, "%s: %uMB\n", edram ? "eDRAM" : "eLLC",
>  		   i915->edram_size_mb);
>  
> @@ -601,10 +601,12 @@ static int rps_boost_show(struct seq_file *m, void *data)
>  	struct drm_i915_private *i915 = gt->i915;
>  	struct intel_rps *rps = &gt->rps;
>  
> -	seq_printf(m, "RPS enabled? %s\n", yesno(intel_rps_is_enabled(rps)));
> -	seq_printf(m, "RPS active? %s\n", yesno(intel_rps_is_active(rps)));
> +	seq_printf(m, "RPS enabled? %s\n",
> +		   str_yes_no(intel_rps_is_enabled(rps)));
> +	seq_printf(m, "RPS active? %s\n",
> +		   str_yes_no(intel_rps_is_active(rps)));
>  	seq_printf(m, "GPU busy? %s, %llums\n",
> -		   yesno(gt->awake),
> +		   str_yes_no(gt->awake),
>  		   ktime_to_ms(intel_gt_get_awake_time(gt)));
>  	seq_printf(m, "Boosts outstanding? %d\n",
>  		   atomic_read(&rps->num_waiters));
> diff --git a/drivers/gpu/drm/i915/gt/intel_reset.c b/drivers/gpu/drm/i915/gt/intel_reset.c
> index 6f2821cca409..d1cf0f73df3f 100644
> --- a/drivers/gpu/drm/i915/gt/intel_reset.c
> +++ b/drivers/gpu/drm/i915/gt/intel_reset.c
> @@ -5,6 +5,7 @@
>  
>  #include <linux/sched/mm.h>
>  #include <linux/stop_machine.h>
> +#include <linux/string_helpers.h>
>  
>  #include "display/intel_display.h"
>  #include "display/intel_overlay.h"
> @@ -133,7 +134,7 @@ void __i915_request_reset(struct i915_request *rq, bool guilty)
>  {
>  	bool banned = false;
>  
> -	RQ_TRACE(rq, "guilty? %s\n", yesno(guilty));
> +	RQ_TRACE(rq, "guilty? %s\n", str_yes_no(guilty));
>  	GEM_BUG_ON(__i915_request_is_complete(rq));
>  
>  	rcu_read_lock(); /* protect the GEM context */
> diff --git a/drivers/gpu/drm/i915/gt/intel_rps.c b/drivers/gpu/drm/i915/gt/intel_rps.c
> index 8a13bc005b45..e9f9874d1e5b 100644
> --- a/drivers/gpu/drm/i915/gt/intel_rps.c
> +++ b/drivers/gpu/drm/i915/gt/intel_rps.c
> @@ -3,6 +3,8 @@
>   * Copyright © 2019 Intel Corporation
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include <drm/i915_drm.h>
>  
>  #include "i915_drv.h"
> @@ -770,7 +772,8 @@ static void gen6_rps_set_thresholds(struct intel_rps *rps, u8 val)
>  
>  void intel_rps_mark_interactive(struct intel_rps *rps, bool interactive)
>  {
> -	GT_TRACE(rps_to_gt(rps), "mark interactive: %s\n", yesno(interactive));
> +	GT_TRACE(rps_to_gt(rps), "mark interactive: %s\n",
> +		 str_yes_no(interactive));
>  
>  	mutex_lock(&rps->power.mutex);
>  	if (interactive) {
> @@ -1277,7 +1280,8 @@ static bool chv_rps_enable(struct intel_rps *rps)
>  	drm_WARN_ONCE(&i915->drm, (val & GPLLENABLE) == 0,
>  		      "GPLL not enabled\n");
>  
> -	drm_dbg(&i915->drm, "GPLL enabled? %s\n", yesno(val & GPLLENABLE));
> +	drm_dbg(&i915->drm, "GPLL enabled? %s\n",
> +		str_yes_no(val & GPLLENABLE));
>  	drm_dbg(&i915->drm, "GPU status: 0x%08x\n", val);
>  
>  	return rps_reset(rps);
> @@ -1378,7 +1382,8 @@ static bool vlv_rps_enable(struct intel_rps *rps)
>  	drm_WARN_ONCE(&i915->drm, (val & GPLLENABLE) == 0,
>  		      "GPLL not enabled\n");
>  
> -	drm_dbg(&i915->drm, "GPLL enabled? %s\n", yesno(val & GPLLENABLE));
> +	drm_dbg(&i915->drm, "GPLL enabled? %s\n",
> +		str_yes_no(val & GPLLENABLE));
>  	drm_dbg(&i915->drm, "GPU status: 0x%08x\n", val);
>  
>  	return rps_reset(rps);
> @@ -1770,7 +1775,7 @@ static void rps_work(struct work_struct *work)
>  
>  	GT_TRACE(gt,
>  		 "pm_iir:%x, client_boost:%s, last:%d, cur:%x, min:%x, max:%x\n",
> -		 pm_iir, yesno(client_boost),
> +		 pm_iir, str_yes_no(client_boost),
>  		 adj, new_freq, min, max);
>  
>  	if (client_boost && new_freq < rps->boost_freq) {
> diff --git a/drivers/gpu/drm/i915/gt/intel_sseu.c b/drivers/gpu/drm/i915/gt/intel_sseu.c
> index bdf09051b8a0..5168e5d27ae9 100644
> --- a/drivers/gpu/drm/i915/gt/intel_sseu.c
> +++ b/drivers/gpu/drm/i915/gt/intel_sseu.c
> @@ -3,6 +3,8 @@
>   * Copyright © 2019 Intel Corporation
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include "i915_drv.h"
>  #include "intel_lrc_reg.h"
>  #include "intel_sseu.h"
> @@ -699,10 +701,11 @@ void intel_sseu_dump(const struct sseu_dev_info *sseu, struct drm_printer *p)
>  	drm_printf(p, "EU total: %u\n", sseu->eu_total);
>  	drm_printf(p, "EU per subslice: %u\n", sseu->eu_per_subslice);
>  	drm_printf(p, "has slice power gating: %s\n",
> -		   yesno(sseu->has_slice_pg));
> +		   str_yes_no(sseu->has_slice_pg));
>  	drm_printf(p, "has subslice power gating: %s\n",
> -		   yesno(sseu->has_subslice_pg));
> -	drm_printf(p, "has EU power gating: %s\n", yesno(sseu->has_eu_pg));
> +		   str_yes_no(sseu->has_subslice_pg));
> +	drm_printf(p, "has EU power gating: %s\n",
> +		   str_yes_no(sseu->has_eu_pg));
>  }
>  
>  void intel_sseu_print_topology(const struct sseu_dev_info *sseu,
> diff --git a/drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c b/drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c
> index 8bb3a91dad82..d4bfbde63e60 100644
> --- a/drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c
> @@ -4,6 +4,8 @@
>   * Copyright © 2020 Intel Corporation
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include "i915_drv.h"
>  #include "intel_gt_debugfs.h"
>  #include "intel_sseu_debugfs.h"
> @@ -225,16 +227,16 @@ static void i915_print_sseu_info(struct seq_file *m,
>  	if (!is_available_info)
>  		return;
>  
> -	seq_printf(m, "  Has Pooled EU: %s\n", yesno(has_pooled_eu));
> +	seq_printf(m, "  Has Pooled EU: %s\n", str_yes_no(has_pooled_eu));
>  	if (has_pooled_eu)
>  		seq_printf(m, "  Min EU in pool: %u\n", sseu->min_eu_in_pool);
>  
>  	seq_printf(m, "  Has Slice Power Gating: %s\n",
> -		   yesno(sseu->has_slice_pg));
> +		   str_yes_no(sseu->has_slice_pg));
>  	seq_printf(m, "  Has Subslice Power Gating: %s\n",
> -		   yesno(sseu->has_subslice_pg));
> +		   str_yes_no(sseu->has_subslice_pg));
>  	seq_printf(m, "  Has EU Power Gating: %s\n",
> -		   yesno(sseu->has_eu_pg));
> +		   str_yes_no(sseu->has_eu_pg));
>  }
>  
>  /*
> diff --git a/drivers/gpu/drm/i915/gt/selftest_timeline.c b/drivers/gpu/drm/i915/gt/selftest_timeline.c
> index 0410c402f2a3..522d0190509c 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_timeline.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_timeline.c
> @@ -4,6 +4,7 @@
>   */
>  
>  #include <linux/prime_numbers.h>
> +#include <linux/string_helpers.h>
>  
>  #include "intel_context.h"
>  #include "intel_engine_heartbeat.h"
> @@ -209,7 +210,7 @@ static int __igt_sync(struct intel_timeline *tl,
>  
>  	if (__intel_timeline_sync_is_later(tl, ctx, p->seqno) != p->expected) {
>  		pr_err("%s: %s(ctx=%llu, seqno=%u) expected passed %s but failed\n",
> -		       name, p->name, ctx, p->seqno, yesno(p->expected));
> +		       name, p->name, ctx, p->seqno, str_yes_no(p->expected));
>  		return -EINVAL;
>  	}
>  
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> index b53f61f3101f..8a99c2e624c2 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> @@ -4,6 +4,7 @@
>   */
>  
>  #include <linux/debugfs.h>
> +#include <linux/string_helpers.h>
>  
>  #include "gt/intel_gt.h"
>  #include "i915_drv.h"
> @@ -477,7 +478,7 @@ int intel_guc_log_create(struct intel_guc_log *log)
>  	log->level = __get_default_log_level(log);
>  	DRM_DEBUG_DRIVER("guc_log_level=%d (%s, verbose:%s, verbosity:%d)\n",
>  			 log->level, enableddisabled(log->level),
> -			 yesno(GUC_LOG_LEVEL_IS_VERBOSE(log->level)),
> +			 str_yes_no(GUC_LOG_LEVEL_IS_VERBOSE(log->level)),
>  			 GUC_LOG_LEVEL_TO_VERBOSITY(log->level));
>  
>  	return 0;
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c
> index 13b27b8ff74e..742bfb9a0a57 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c
> @@ -3,6 +3,8 @@
>   * Copyright © 2021 Intel Corporation
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include "i915_drv.h"
>  #include "intel_guc_slpc.h"
>  #include "gt/intel_gt.h"
> @@ -713,7 +715,7 @@ int intel_guc_slpc_print_info(struct intel_guc_slpc *slpc, struct drm_printer *p
>  
>  			drm_printf(p, "\tSLPC state: %s\n", slpc_get_state_string(slpc));
>  			drm_printf(p, "\tGTPERF task active: %s\n",
> -				   yesno(slpc_tasks->status & SLPC_GTPERF_TASK_ENABLED));
> +				   str_yes_no(slpc_tasks->status & SLPC_GTPERF_TASK_ENABLED));
>  			drm_printf(p, "\tMax freq: %u MHz\n",
>  				   slpc_decode_max_freq(slpc));
>  			drm_printf(p, "\tMin freq: %u MHz\n",
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> index da199aa6989f..8e756d4c2c16 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> @@ -3,6 +3,8 @@
>   * Copyright © 2016-2019 Intel Corporation
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include "gt/intel_gt.h"
>  #include "gt/intel_reset.h"
>  #include "intel_guc.h"
> @@ -78,10 +80,10 @@ static void __confirm_options(struct intel_uc *uc)
>  	drm_dbg(&i915->drm,
>  		"enable_guc=%d (guc:%s submission:%s huc:%s slpc:%s)\n",
>  		i915->params.enable_guc,
> -		yesno(intel_uc_wants_guc(uc)),
> -		yesno(intel_uc_wants_guc_submission(uc)),
> -		yesno(intel_uc_wants_huc(uc)),
> -		yesno(intel_uc_wants_guc_slpc(uc)));
> +		str_yes_no(intel_uc_wants_guc(uc)),
> +		str_yes_no(intel_uc_wants_guc_submission(uc)),
> +		str_yes_no(intel_uc_wants_huc(uc)),
> +		str_yes_no(intel_uc_wants_guc_slpc(uc)));
>  
>  	if (i915->params.enable_guc == 0) {
>  		GEM_BUG_ON(intel_uc_wants_guc(uc));
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c
> index c2f7924295e7..284d6fbc2d08 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c
> @@ -4,6 +4,8 @@
>   */
>  
>  #include <linux/debugfs.h>
> +#include <linux/string_helpers.h>
> +
>  #include <drm/drm_print.h>
>  
>  #include "gt/intel_gt_debugfs.h"
> @@ -18,17 +20,17 @@ static int uc_usage_show(struct seq_file *m, void *data)
>  	struct drm_printer p = drm_seq_file_printer(m);
>  
>  	drm_printf(&p, "[guc] supported:%s wanted:%s used:%s\n",
> -		   yesno(intel_uc_supports_guc(uc)),
> -		   yesno(intel_uc_wants_guc(uc)),
> -		   yesno(intel_uc_uses_guc(uc)));
> +		   str_yes_no(intel_uc_supports_guc(uc)),
> +		   str_yes_no(intel_uc_wants_guc(uc)),
> +		   str_yes_no(intel_uc_uses_guc(uc)));
>  	drm_printf(&p, "[huc] supported:%s wanted:%s used:%s\n",
> -		   yesno(intel_uc_supports_huc(uc)),
> -		   yesno(intel_uc_wants_huc(uc)),
> -		   yesno(intel_uc_uses_huc(uc)));
> +		   str_yes_no(intel_uc_supports_huc(uc)),
> +		   str_yes_no(intel_uc_wants_huc(uc)),
> +		   str_yes_no(intel_uc_uses_huc(uc)));
>  	drm_printf(&p, "[submission] supported:%s wanted:%s used:%s\n",
> -		   yesno(intel_uc_supports_guc_submission(uc)),
> -		   yesno(intel_uc_wants_guc_submission(uc)),
> -		   yesno(intel_uc_uses_guc_submission(uc)));
> +		   str_yes_no(intel_uc_supports_guc_submission(uc)),
> +		   str_yes_no(intel_uc_wants_guc_submission(uc)),
> +		   str_yes_no(intel_uc_uses_guc_submission(uc)));
>  
>  	return 0;
>  }
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index f3141b58d912..8e70c404bcc5 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -28,6 +28,7 @@
>  
>  #include <linux/sched/mm.h>
>  #include <linux/sort.h>
> +#include <linux/string_helpers.h>
>  
>  #include <drm/drm_debugfs.h>
>  
> @@ -442,9 +443,11 @@ static int i915_rps_boost_info(struct seq_file *m, void *data)
>  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>  	struct intel_rps *rps = &to_gt(dev_priv)->rps;
>  
> -	seq_printf(m, "RPS enabled? %s\n", yesno(intel_rps_is_enabled(rps)));
> -	seq_printf(m, "RPS active? %s\n", yesno(intel_rps_is_active(rps)));
> -	seq_printf(m, "GPU busy? %s\n", yesno(to_gt(dev_priv)->awake));
> +	seq_printf(m, "RPS enabled? %s\n",
> +		   str_yes_no(intel_rps_is_enabled(rps)));
> +	seq_printf(m, "RPS active? %s\n",
> +		   str_yes_no(intel_rps_is_active(rps)));
> +	seq_printf(m, "GPU busy? %s\n", str_yes_no(to_gt(dev_priv)->awake));
>  	seq_printf(m, "Boosts outstanding? %d\n",
>  		   atomic_read(&rps->num_waiters));
>  	seq_printf(m, "Interactive? %d\n", READ_ONCE(rps->power.interactive));
> @@ -477,9 +480,9 @@ static int i915_runtime_pm_status(struct seq_file *m, void *unused)
>  	seq_printf(m, "Runtime power status: %s\n",
>  		   enableddisabled(!dev_priv->power_domains.init_wakeref));
>  
> -	seq_printf(m, "GPU idle: %s\n", yesno(!to_gt(dev_priv)->awake));
> +	seq_printf(m, "GPU idle: %s\n", str_yes_no(!to_gt(dev_priv)->awake));
>  	seq_printf(m, "IRQs disabled: %s\n",
> -		   yesno(!intel_irqs_enabled(dev_priv)));
> +		   str_yes_no(!intel_irqs_enabled(dev_priv)));
>  #ifdef CONFIG_PM
>  	seq_printf(m, "Usage count: %d\n",
>  		   atomic_read(&dev_priv->drm.dev->power.usage_count));
> @@ -509,7 +512,7 @@ static int i915_engine_info(struct seq_file *m, void *unused)
>  	wakeref = intel_runtime_pm_get(&i915->runtime_pm);
>  
>  	seq_printf(m, "GT awake? %s [%d], %llums\n",
> -		   yesno(to_gt(i915)->awake),
> +		   str_yes_no(to_gt(i915)->awake),
>  		   atomic_read(&to_gt(i915)->wakeref.count),
>  		   ktime_to_ms(intel_gt_get_awake_time(to_gt(i915))));
>  	seq_printf(m, "CS timestamp frequency: %u Hz, %d ns\n",
> diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
> index aee42eae4729..e18a8c18d4fa 100644
> --- a/drivers/gpu/drm/i915/i915_gpu_error.c
> +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
> @@ -31,6 +31,7 @@
>  #include <linux/nmi.h>
>  #include <linux/pagevec.h>
>  #include <linux/scatterlist.h>
> +#include <linux/string_helpers.h>
>  #include <linux/utsname.h>
>  #include <linux/zlib.h>
>  
> @@ -716,7 +717,7 @@ static void err_print_gt(struct drm_i915_error_state_buf *m,
>  	const struct intel_engine_coredump *ee;
>  	int i;
>  
> -	err_printf(m, "GT awake: %s\n", yesno(gt->awake));
> +	err_printf(m, "GT awake: %s\n", str_yes_no(gt->awake));
>  	err_printf(m, "EIR: 0x%08x\n", gt->eir);
>  	err_printf(m, "IER: 0x%08x\n", gt->ier);
>  	for (i = 0; i < gt->ngtier; i++)
> @@ -824,14 +825,14 @@ static void __err_print_to_sgl(struct drm_i915_error_state_buf *m,
>  		struct intel_dmc *dmc = &m->i915->dmc;
>  
>  		err_printf(m, "DMC loaded: %s\n",
> -			   yesno(intel_dmc_has_payload(m->i915) != 0));
> +			   str_yes_no(intel_dmc_has_payload(m->i915) != 0));
>  		err_printf(m, "DMC fw version: %d.%d\n",
>  			   DMC_VERSION_MAJOR(dmc->version),
>  			   DMC_VERSION_MINOR(dmc->version));
>  	}
>  
> -	err_printf(m, "RPM wakelock: %s\n", yesno(error->wakelock));
> -	err_printf(m, "PM suspended: %s\n", yesno(error->suspended));
> +	err_printf(m, "RPM wakelock: %s\n", str_yes_no(error->wakelock));
> +	err_printf(m, "PM suspended: %s\n", str_yes_no(error->suspended));
>  
>  	if (error->gt)
>  		err_print_gt(m, error->gt);
> diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> index 525ae832aa9a..a28b10bc20ad 100644
> --- a/drivers/gpu/drm/i915/i915_params.c
> +++ b/drivers/gpu/drm/i915/i915_params.c
> @@ -22,6 +22,8 @@
>   * IN THE SOFTWARE.
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include <drm/drm_print.h>
>  
>  #include "i915_params.h"
> @@ -211,7 +213,8 @@ static __always_inline void _print_param(struct drm_printer *p,
>  					 const void *x)
>  {
>  	if (!__builtin_strcmp(type, "bool"))
> -		drm_printf(p, "i915.%s=%s\n", name, yesno(*(const bool *)x));
> +		drm_printf(p, "i915.%s=%s\n", name,
> +			   str_yes_no(*(const bool *)x));
>  	else if (!__builtin_strcmp(type, "int"))
>  		drm_printf(p, "i915.%s=%d\n", name, *(const int *)x);
>  	else if (!__builtin_strcmp(type, "unsigned int"))
> diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
> index bfafd0afd117..c62b64012369 100644
> --- a/drivers/gpu/drm/i915/i915_utils.h
> +++ b/drivers/gpu/drm/i915/i915_utils.h
> @@ -399,11 +399,6 @@ wait_remaining_ms_from_jiffies(unsigned long timestamp_jiffies, int to_wait_ms)
>  #define MBps(x) KBps(1000 * (x))
>  #define GBps(x) ((u64)1000 * MBps((x)))
>  
> -static inline const char *yesno(bool v)
> -{
> -	return v ? "yes" : "no";
> -}
> -
>  static inline const char *onoff(bool v)
>  {
>  	return v ? "on" : "off";
> diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
> index 94da5aa37391..88f29ac11ddd 100644
> --- a/drivers/gpu/drm/i915/intel_device_info.c
> +++ b/drivers/gpu/drm/i915/intel_device_info.c
> @@ -22,6 +22,8 @@
>   *
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include <drm/drm_print.h>
>  #include <drm/i915_pciids.h>
>  
> @@ -110,11 +112,11 @@ void intel_device_info_print_static(const struct intel_device_info *info,
>  	drm_printf(p, "ppgtt-type: %d\n", info->ppgtt_type);
>  	drm_printf(p, "dma_mask_size: %u\n", info->dma_mask_size);
>  
> -#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, yesno(info->name))
> +#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, str_yes_no(info->name))
>  	DEV_INFO_FOR_EACH_FLAG(PRINT_FLAG);
>  #undef PRINT_FLAG
>  
> -#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, yesno(info->display.name))
> +#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, str_yes_no(info->display.name))
>  	DEV_INFO_DISPLAY_FOR_EACH_FLAG(PRINT_FLAG);
>  #undef PRINT_FLAG
>  }
> @@ -400,6 +402,6 @@ void intel_driver_caps_print(const struct intel_driver_caps *caps,
>  			     struct drm_printer *p)
>  {
>  	drm_printf(p, "Has logical contexts? %s\n",
> -		   yesno(caps->has_logical_contexts));
> +		   str_yes_no(caps->has_logical_contexts));
>  	drm_printf(p, "scheduler: %x\n", caps->scheduler);
>  }
> diff --git a/drivers/gpu/drm/i915/intel_dram.c b/drivers/gpu/drm/i915/intel_dram.c
> index 3e26ccabf7f9..f8087f061e0b 100644
> --- a/drivers/gpu/drm/i915/intel_dram.c
> +++ b/drivers/gpu/drm/i915/intel_dram.c
> @@ -3,6 +3,8 @@
>   * Copyright © 2020 Intel Corporation
>   */
>  
> +#include <linux/string_helpers.h>
> +
>  #include "i915_drv.h"
>  #include "intel_dram.h"
>  #include "intel_pcode.h"
> @@ -134,7 +136,7 @@ skl_dram_get_dimm_info(struct drm_i915_private *i915,
>  	drm_dbg_kms(&i915->drm,
>  		    "CH%u DIMM %c size: %u Gb, width: X%u, ranks: %u, 16Gb DIMMs: %s\n",
>  		    channel, dimm_name, dimm->size, dimm->width, dimm->ranks,
> -		    yesno(skl_is_16gb_dimm(dimm)));
> +		    str_yes_no(skl_is_16gb_dimm(dimm)));
>  }
>  
>  static int
> @@ -163,7 +165,7 @@ skl_dram_get_channel_info(struct drm_i915_private *i915,
>  		skl_is_16gb_dimm(&ch->dimm_s);
>  
>  	drm_dbg_kms(&i915->drm, "CH%u ranks: %u, 16Gb DIMMs: %s\n",
> -		    channel, ch->ranks, yesno(ch->is_16gb_dimm));
> +		    channel, ch->ranks, str_yes_no(ch->is_16gb_dimm));
>  
>  	return 0;
>  }
> @@ -212,7 +214,7 @@ skl_dram_get_channels_info(struct drm_i915_private *i915)
>  	dram_info->symmetric_memory = intel_is_dram_symmetric(&ch0, &ch1);
>  
>  	drm_dbg_kms(&i915->drm, "Memory configuration is symmetric? %s\n",
> -		    yesno(dram_info->symmetric_memory));
> +		    str_yes_no(dram_info->symmetric_memory));
>  
>  	return 0;
>  }
> @@ -490,7 +492,7 @@ void intel_dram_detect(struct drm_i915_private *i915)
>  	drm_dbg_kms(&i915->drm, "DRAM channels: %u\n", dram_info->num_channels);
>  
>  	drm_dbg_kms(&i915->drm, "Watermark level 0 adjustment needed: %s\n",
> -		    yesno(dram_info->wm_lv_0_adjust_needed));
> +		    str_yes_no(dram_info->wm_lv_0_adjust_needed));
>  }
>  
>  static u32 gen9_edram_size_mb(struct drm_i915_private *i915, u32 cap)
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index c2bb9945f7be..c538a66687bd 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -26,6 +26,7 @@
>   */
>  
>  #include <linux/module.h>
> +#include <linux/string_helpers.h>
>  #include <linux/pm_runtime.h>
>  
>  #include <drm/drm_atomic_helper.h>
> @@ -6152,8 +6153,8 @@ skl_compute_ddb(struct intel_atomic_state *state)
>  			    old_dbuf_state->enabled_slices,
>  			    new_dbuf_state->enabled_slices,
>  			    INTEL_INFO(dev_priv)->dbuf.slice_mask,
> -			    yesno(old_dbuf_state->joined_mbus),
> -			    yesno(new_dbuf_state->joined_mbus));
> +			    str_yes_no(old_dbuf_state->joined_mbus),
> +			    str_yes_no(new_dbuf_state->joined_mbus));
>  	}
>  
>  	for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i) {
> @@ -6651,7 +6652,7 @@ void skl_wm_get_hw_state(struct drm_i915_private *dev_priv)
>  			    crtc->base.base.id, crtc->base.name,
>  			    dbuf_state->slices[pipe], dbuf_state->ddb[pipe].start,
>  			    dbuf_state->ddb[pipe].end, dbuf_state->active_pipes,
> -			    yesno(dbuf_state->joined_mbus));
> +			    str_yes_no(dbuf_state->joined_mbus));
>  	}
>  
>  	dbuf_state->enabled_slices = dev_priv->dbuf.enabled_slices;
> @@ -6894,7 +6895,8 @@ void g4x_wm_get_hw_state(struct drm_i915_private *dev_priv)
>  		    "Initial HPLL watermarks: plane=%d, SR cursor=%d fbc=%d\n",
>  		    wm->hpll.plane, wm->hpll.cursor, wm->hpll.fbc);
>  	drm_dbg_kms(&dev_priv->drm, "Initial SR=%s HPLL=%s FBC=%s\n",
> -		    yesno(wm->cxsr), yesno(wm->hpll_en), yesno(wm->fbc_en));
> +		    str_yes_no(wm->cxsr), str_yes_no(wm->hpll_en),
> +		    str_yes_no(wm->fbc_en));
>  }
>  
>  void g4x_wm_sanitize(struct drm_i915_private *dev_priv)
> diff --git a/drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c b/drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c
> index 10e1e45471f1..c9da1015eb42 100644
> --- a/drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c
> +++ b/drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c
> @@ -4,6 +4,8 @@
>   */
>  
>  #include <linux/debugfs.h>
> +#include <linux/string_helpers.h>
> +
>  #include <drm/drm_print.h>
>  
>  #include "gt/intel_gt_debugfs.h"
> @@ -22,7 +24,7 @@ static int pxp_info_show(struct seq_file *m, void *data)
>  		return 0;
>  	}
>  
> -	drm_printf(&p, "active: %s\n", yesno(intel_pxp_is_active(pxp)));
> +	drm_printf(&p, "active: %s\n", str_yes_no(intel_pxp_is_active(pxp)));
>  	drm_printf(&p, "instance counter: %u\n", pxp->key_instance);
>  
>  	return 0;
> diff --git a/drivers/gpu/drm/i915/selftests/i915_active.c b/drivers/gpu/drm/i915/selftests/i915_active.c
> index 2dac9be1de58..b61fe850e924 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_active.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_active.c
> @@ -5,6 +5,7 @@
>   */
>  
>  #include <linux/kref.h>
> +#include <linux/string_helpers.h>
>  
>  #include "gem/i915_gem_pm.h"
>  #include "gt/intel_gt.h"
> @@ -280,7 +281,7 @@ void i915_active_print(struct i915_active *ref, struct drm_printer *m)
>  	drm_printf(m, "active %ps:%ps\n", ref->active, ref->retire);
>  	drm_printf(m, "\tcount: %d\n", atomic_read(&ref->count));
>  	drm_printf(m, "\tpreallocated barriers? %s\n",
> -		   yesno(!llist_empty(&ref->preallocated_barriers)));
> +		   str_yes_no(!llist_empty(&ref->preallocated_barriers)));
>  
>  	if (i915_active_acquire_if_busy(ref)) {
>  		struct active_node *it, *n;
> -- 
> 2.34.1
> 

-- 
Matt Roper
Graphics Software Engineer
VTT-OSGC Platform Enablement
Intel Corporation
(916) 356-2795

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2022-02-01 21:25 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-26  9:39 [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Lucas De Marchi
2022-01-26  9:39 ` [PATCH v2 01/11] lib/string_helpers: Consolidate string helpers implementation Lucas De Marchi
2022-01-26  9:39 ` [PATCH v2 02/11] drm/i915: Fix trailing semicolon Lucas De Marchi
2022-01-26 14:52   ` Jani Nikula
2022-01-26  9:39 ` [PATCH v2 03/11] drm/i915: Use str_yes_no() Lucas De Marchi
2022-02-01 21:25   ` [Intel-gfx] " Matt Roper
2022-01-26  9:39 ` [PATCH v2 04/11] drm/i915: Use str_enable_disable() Lucas De Marchi
2022-02-01 21:23   ` [Intel-gfx] " Matt Roper
2022-01-26  9:39 ` [PATCH v2 05/11] drm/i915: Use str_enabled_disabled() Lucas De Marchi
2022-02-01 21:21   ` [Intel-gfx] " Matt Roper
2022-01-26  9:39 ` [PATCH v2 06/11] drm/i915: Use str_on_off() Lucas De Marchi
2022-02-01 21:15   ` [Intel-gfx] " Matt Roper
2022-01-26  9:39 ` [PATCH v2 07/11] drm/amd/display: Use str_yes_no() Lucas De Marchi
2022-01-26 14:35   ` Harry Wentland
2022-01-26  9:39 ` [PATCH v2 08/11] drm/gem: Sort includes alphabetically Lucas De Marchi
2022-01-26 14:54   ` Jani Nikula
2022-01-26  9:39 ` [PATCH v2 09/11] drm: Convert open-coded yes/no strings to yesno() Lucas De Marchi
2022-01-26 10:12   ` Andy Shevchenko
2022-01-26 10:43     ` [Intel-gfx] " Lucas De Marchi
2022-01-26 12:15       ` Andy Shevchenko
2022-01-26 14:57   ` Jani Nikula
2022-01-26  9:39 ` [PATCH v2 10/11] tomoyo: Use str_yes_no() Lucas De Marchi
2022-01-26  9:39 ` [PATCH v2 11/11] cxgb4: " Lucas De Marchi
2022-01-26 10:22 ` [PATCH v2 00/11] lib/string_helpers: Add a few string helpers Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).