[Intel-gfx] [PATCH 2/2] drm/i915: make debug printer shown_bug_once variable to drm_i915_private
Vivi, Rodrigo
rodrigo.vivi at intel.com
Thu Dec 12 07:33:55 UTC 2019
> On Dec 11, 2019, at 7:25 AM, Joonas Lahtinen <joonas.lahtinen at linux.intel.com> wrote:
>
> Quoting Jani Nikula (2019-12-11 12:36:10)
>> On Fri, 15 Nov 2019, Chris Wilson <chris at chris-wilson.co.uk> wrote:
>>> Quoting Jani Nikula (2019-11-15 11:04:28)
>>>> On Fri, 15 Nov 2019, Chris Wilson <chris at chris-wilson.co.uk> wrote:
>>>>> Quoting Jani Nikula (2019-11-15 10:18:40)
>>>>>> Get rid of the module specific static variable.
>>>>>>
>>>>>> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
>>>>>> ---
>>>>>> drivers/gpu/drm/i915/i915_drv.h | 2 ++
>>>>>> drivers/gpu/drm/i915/i915_utils.c | 9 ++++-----
>>>>>> 2 files changed, 6 insertions(+), 5 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>>>>>> index 1779f600fcfb..e11ee3268ae3 100644
>>>>>> --- a/drivers/gpu/drm/i915/i915_drv.h
>>>>>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>>>>>> @@ -1283,6 +1283,8 @@ struct drm_i915_private {
>>>>>> /* Mutex to protect the above hdcp component related values. */
>>>>>> struct mutex hdcp_comp_mutex;
>>>>>>
>>>>>> + bool shown_bug_once;
>>>>>> +
>>>>>> I915_SELFTEST_DECLARE(struct i915_selftest_stash selftest;)
>>>>>>
>>>>>> /*
>>>>>> diff --git a/drivers/gpu/drm/i915/i915_utils.c b/drivers/gpu/drm/i915/i915_utils.c
>>>>>> index c47261ae86ea..f434274b0b29 100644
>>>>>> --- a/drivers/gpu/drm/i915/i915_utils.c
>>>>>> +++ b/drivers/gpu/drm/i915/i915_utils.c
>>>>>> @@ -13,11 +13,10 @@
>>>>>> "providing the dmesg log by booting with drm.debug=0xf"
>>>>>>
>>>>>> void
>>>>>> -__i915_printk(struct drm_i915_private *dev_priv, const char *level,
>>>>>> +__i915_printk(struct drm_i915_private *i915, const char *level,
>>>>>> const char *fmt, ...)
>>>>>> {
>>>>>> - static bool shown_bug_once;
>>>>>> - struct device *kdev = dev_priv->drm.dev;
>>>>>> + struct device *kdev = i915->drm.dev;
>>>>>> bool is_error = level[1] <= KERN_ERR[1];
>>>>>> bool is_debug = level[1] == KERN_DEBUG[1];
>>>>>> struct va_format vaf;
>>>>>> @@ -39,7 +38,7 @@ __i915_printk(struct drm_i915_private *dev_priv, const char *level,
>>>>>>
>>>>>> va_end(args);
>>>>>>
>>>>>> - if (is_error && !shown_bug_once) {
>>>>>> + if (is_error && !i915->shown_bug_once) {
>>>>>> /*
>>>>>> * Ask the user to file a bug report for the error, except
>>>>>> * if they may have caused the bug by fiddling with unsafe
>>>>>> @@ -47,7 +46,7 @@ __i915_printk(struct drm_i915_private *dev_priv, const char *level,
>>>>>> */
>>>>>> if (!test_taint(TAINT_USER))
>>>>>> dev_notice(kdev, "%s", FDO_BUG_MSG);
>>>>>
>>>>> I feel this plea to the users to file a bug report should be a one-time
>>>>> thing; a true global.
>>>>
>>>> Fair enough.
>>>>
>>>> I am wondering if we should have a convention of naming or commenting
>>>> legit globals, both to help automation detecting new accidental ones,
>>>> and to help people figure out not to send another conversion patch such
>>>> as this.
>>>
>>> global_i915_show_bug_once
>>> module_i915_show_bug_once
>>
>> I'd be fine with either of the prefixes. Or i915_{global,module}_ for
>
> My vote goes for i915_global_* or global_i915_* (if we could get some
> Kbuild infrastructure behind detecting global variables).
any of the provided options or combinations works for me. probably global
will be less confusing...
>
> Regards, Joonas
More information about the Intel-gfx
mailing list