From: Jani Nikula <jani.nikula@linux.intel.com>
To: Ville Syrjala <ville.syrjala@linux.intel.com>,
intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 09/12] drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
Date: Thu, 29 Feb 2024 17:21:29 +0200 [thread overview]
Message-ID: <87plwf70ue.fsf@intel.com> (raw)
In-Reply-To: <87ttlr70w0.fsf@intel.com>
On Thu, 29 Feb 2024, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> On Thu, 15 Feb 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>
>> intel_crtc_state_dump() does a whole boatload of string formatting
>> which is all wasted energy if the debugs aren't even enabled. Skip
>> the whole thing in that case.
>
> I wonder how something like this would work to skip it in a more generic
> fashion:
In the mean time,
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>
> index 9cc473e5d353..0adc8020ae4f 100644
> --- a/include/drm/drm_print.h
> +++ b/include/drm/drm_print.h
> @@ -206,7 +206,8 @@ drm_vprintf(struct drm_printer *p, const char *fmt, va_list *va)
> {
> struct va_format vaf = { .fmt = fmt, .va = va };
>
> - p->printfn(p, &vaf);
> + if (p->printfn)
> + p->printfn(p, &vaf);
> }
>
> /**
> @@ -330,7 +331,7 @@ static inline struct drm_printer drm_dbg_printer(struct drm_device *drm,
> const char *prefix)
> {
> struct drm_printer p = {
> - .printfn = __drm_printfn_dbg,
> + .printfn = drm_debug_enabled(category) ? __drm_printfn_dbg : NULL,
> .arg = drm,
> .prefix = prefix,
> .category = category,
>
>>
>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> ---
>> drivers/gpu/drm/i915/display/intel_crtc_state_dump.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
>> index b5b9b99213cf..cd78c200d483 100644
>> --- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
>> +++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
>> @@ -192,6 +192,9 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
>> char buf[64];
>> int i;
>>
>> + if (!drm_debug_enabled(DRM_UT_KMS))
>> + return;
>> +
>> p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
>>
>> drm_printf(&p, "[CRTC:%d:%s] enable: %s [%s]\n",
--
Jani Nikula, Intel
next prev parent reply other threads:[~2024-02-29 15:21 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
2024-02-15 16:40 ` [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall Ville Syrjala
2024-02-22 21:46 ` Rodrigo Vivi
2024-02-23 19:47 ` Ville Syrjälä
2024-02-26 14:57 ` Jani Nikula
2024-02-26 15:10 ` Andy Shevchenko
2024-02-26 15:35 ` Jani Nikula
2024-02-26 16:30 ` Andy Shevchenko
2024-02-26 16:35 ` Ville Syrjälä
2024-02-27 9:38 ` Rasmus Villemoes
2024-02-27 18:32 ` Ville Syrjälä
2024-02-28 8:32 ` Rasmus Villemoes
2024-02-28 9:55 ` Petr Mladek
2024-02-15 16:40 ` [PATCH 02/12] drm/i915: Include CRTC info in infoframe mismatch prints Ville Syrjala
2024-02-22 21:47 ` Rodrigo Vivi
2024-02-23 19:50 ` Ville Syrjälä
2024-02-15 16:40 ` [PATCH 03/12] drm/i915: Include CRTC info in VSC SDP " Ville Syrjala
2024-02-22 21:48 ` Rodrigo Vivi
2024-02-15 16:40 ` [PATCH 04/12] drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer Ville Syrjala
2024-02-22 21:50 ` Rodrigo Vivi
2024-02-15 16:40 ` [PATCH 05/12] drm/i915: Convert pipe_config_buffer_mismatch() " Ville Syrjala
2024-02-22 21:51 ` Rodrigo Vivi
2024-02-15 16:40 ` [PATCH 06/12] drm/i915: Convert intel_dpll_dump_hw_state() " Ville Syrjala
2024-02-22 21:54 ` Rodrigo Vivi
2024-02-23 19:57 ` Ville Syrjälä
2024-02-29 18:40 ` [PATCH v2 " Ville Syrjala
2024-02-29 19:43 ` Jani Nikula
2024-02-15 16:40 ` [PATCH 07/12] drm/i915: Use drm_printer more extensively in intel_crtc_state_dump() Ville Syrjala
2024-02-22 21:57 ` Rodrigo Vivi
2024-02-23 19:59 ` Ville Syrjälä
2024-02-15 16:40 ` [PATCH 08/12] drm/i915: Convert the remaining state dump to drm_printer Ville Syrjala
2024-03-05 9:12 ` Jani Nikula
2024-02-15 16:40 ` [PATCH 09/12] drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled Ville Syrjala
2024-02-29 15:20 ` Jani Nikula
2024-02-29 15:21 ` Jani Nikula [this message]
2024-02-15 16:40 ` [PATCH 10/12] drm/i915: Relocate pipe_config_mismatch() Ville Syrjala
2024-02-29 15:21 ` Jani Nikula
2024-02-15 16:40 ` [PATCH 11/12] drm/i915: Reuse pipe_config_mismatch() more Ville Syrjala
2024-02-29 15:28 ` Jani Nikula
2024-02-29 18:42 ` [PATCH v2 " Ville Syrjala
2024-02-15 16:40 ` [PATCH 12/12] drm/i915: Create the printer only once in intel_pipe_config_compare() Ville Syrjala
2024-02-29 15:29 ` Jani Nikula
2024-02-29 18:42 ` [PATCH v2 " Ville Syrjala
2024-02-16 18:03 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more Patchwork
2024-02-16 18:03 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-02-16 18:15 ` ✓ Fi.CI.BAT: success " Patchwork
2024-02-17 7:24 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-02-29 12:08 ` [PATCH 00/12] " Jani Nikula
2024-02-29 23:02 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev4) Patchwork
2024-02-29 23:02 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-02-29 23:19 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-03-05 21:28 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev5) Patchwork
2024-03-05 21:28 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-03-05 21:46 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-03-06 12:07 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev6) Patchwork
2024-03-06 12:07 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-03-06 12:13 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-03-08 8:37 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev7) Patchwork
2024-03-08 8:37 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-03-08 8:52 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-03-13 19:41 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev8) Patchwork
2024-03-13 19:41 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-03-13 19:54 ` ✓ Fi.CI.BAT: success " Patchwork
2024-03-14 2:49 ` ✗ Fi.CI.IGT: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87plwf70ue.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=ville.syrjala@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).