From: Dave Gordon <david.s.gordon@intel.com>
To: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
Intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915/guc: Protect against HAS_GUC_* returning true values other than one
Date: Tue, 5 Jul 2016 13:32:20 +0100 [thread overview]
Message-ID: <577BA8D4.4050602@intel.com> (raw)
In-Reply-To: <577BA05C.9030902@linux.intel.com>
On 05/07/16 12:56, Tvrtko Ursulin wrote:
>
> On 05/07/16 12:50, Dave Gordon wrote:
>> On 04/07/16 15:30, Tvrtko Ursulin wrote:
>>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>>
>>> At the moment HAS_GUC_UCODE == HAS_GUC == IS_GEN9 ==
>>> (INTEL_INFO(dev)->gen_mask & BIT(8)), which is true but not one. And
>>> module parameters are integers and not booleans so compiler will not
>>> normalize the value for us.
>>>
>>> Quick and easy fix for the GuC loading code and the whole area can
>>> be evaluated afterwards.
>>>
>>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>> Reported-by: Chris Wilson <chris@chris-wilson.co.uk>
>>> Cc: Dave Gordon <david.s.gordon@intel.com>
>>> ---
>>> drivers/gpu/drm/i915/intel_guc_loader.c | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/intel_guc_loader.c
>>> b/drivers/gpu/drm/i915/intel_guc_loader.c
>>> index d925e2daeb24..72ea5b97e242 100644
>>> --- a/drivers/gpu/drm/i915/intel_guc_loader.c
>>> +++ b/drivers/gpu/drm/i915/intel_guc_loader.c
>>> @@ -687,9 +687,9 @@ void intel_guc_init(struct drm_device *dev)
>>>
>>> /* A negative value means "use platform default" */
>>> if (i915.enable_guc_loading < 0)
>>> - i915.enable_guc_loading = HAS_GUC_UCODE(dev);
>>> + i915.enable_guc_loading = !!HAS_GUC_UCODE(dev);
>>> if (i915.enable_guc_submission < 0)
>>> - i915.enable_guc_submission = HAS_GUC_SCHED(dev);
>>> + i915.enable_guc_submission = !!HAS_GUC_SCHED(dev);
>>>
>>> if (!HAS_GUC_UCODE(dev)) {
>>> fw_path = NULL;
>>
>> Or we could just fix the IS_GENx() macros:
>
> You mean
>
> commit af1346a0f38fe5b762729a91ed10c7c7f59b76c9
> Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Date: Mon Jul 4 15:50:23 2016 +0100
>
> drm/i915: Explicitly convert some macros to boolean values
>
> :D
Yeah, I was reading email out-of-order. But I like mine better anyway
(refactor into a single underlying macro, and more parentheses).
BTW I tried
#define IS_GEN2(dev) (IS_GEN(dev, 2, 2))
(because the IS_GEN() macro already has the !! booleanisation) but it
increased the codesize by ~4K. Hence the separate _IS_GEN().
> Still, I think being explicit when assigning boolean type macros to
> integer is a good thing to do. Because I thought true is defined as
> non-zero in C. Unless I am behind the times.
>
> Regards,
> Tvrtko
The *result* of a comparison or other boolean operation is and always
has been 0-or-1 in C (whereas in BCPL TRUE was -1). It's the *inputs* to
boolean operations that are tested for zero/nonzero.
OTOH maybe I will change the enable_guc_{loading,submission) values to
an enum or set of #defines, and then the assignment of the default
values will use ?: to pick appropriate values.
.Dave.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2016-07-05 12:32 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-04 14:30 [PATCH] drm/i915/guc: Protect against HAS_GUC_* returning true values other than one Tvrtko Ursulin
2016-07-04 14:54 ` Chris Wilson
2016-07-04 15:03 ` ✗ Ro.CI.BAT: warning for " Patchwork
2016-07-05 10:58 ` [PATCH] " Antoine, Peter
2016-07-05 11:50 ` Dave Gordon
2016-07-05 11:56 ` Tvrtko Ursulin
2016-07-05 12:32 ` Dave Gordon [this message]
2016-07-13 13:01 ` [PATCH] drm/i915/guc: symbolic names for user load/submission preferences Dave Gordon
2016-07-05 12:54 ` ✗ Ro.CI.BAT: failure for drm/i915/guc: Protect against HAS_GUC_* returning true values other than one (rev3) Patchwork
2016-07-13 13:38 ` ✗ Ro.CI.BAT: warning for drm/i915/guc: Protect against HAS_GUC_* returning true values other than one (rev4) Patchwork
2016-07-14 13:33 ` Dave Gordon
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=577BA8D4.4050602@intel.com \
--to=david.s.gordon@intel.com \
--cc=Intel-gfx@lists.freedesktop.org \
--cc=tvrtko.ursulin@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.