From: Dave Gordon <david.s.gordon@intel.com>
To: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 1/3] drm/i915/guc: fix GuC loading/submission check
Date: Fri, 10 Jun 2016 16:45:43 +0100 [thread overview]
Message-ID: <575AE0A7.5070306@intel.com> (raw)
In-Reply-To: <57594D41.7000000@linux.intel.com>
On 09/06/16 12:04, Tvrtko Ursulin wrote:
>
> On 07/06/16 09:41, Tvrtko Ursulin wrote:
>>
>> On 07/06/16 09:14, Dave Gordon wrote:
>>> The last stage of the GuC loader also sanitises the GuC submission
>>> settings, so should be called unconditionally (even on platforms
>>> without a GuC) to ensure consistent settings; in particular, this
>>> prevents any attempt to use GuC submission on GuCless platforms!
>>>
>>> Also fix error path handling and clarify DRM_INFO fallback message.
>>>
>>> Signed-off-by: Dave Gordon <david.s.gordon@intel.com>
>>> ---
>>> drivers/gpu/drm/i915/i915_gem.c | 8 +++-----
>>> drivers/gpu/drm/i915/intel_guc_loader.c | 12 ++++++++----
>>> 2 files changed, 11 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/i915_gem.c
>>> b/drivers/gpu/drm/i915/i915_gem.c
>>> index 1bfc260..eae8d7a 100644
>>> --- a/drivers/gpu/drm/i915/i915_gem.c
>>> +++ b/drivers/gpu/drm/i915/i915_gem.c
>>> @@ -4930,11 +4930,9 @@ int i915_gem_init_engines(struct drm_device *dev)
>>> intel_mocs_init_l3cc_table(dev);
>>>
>>> /* We can't enable contexts until all firmware is loaded */
>>> - if (HAS_GUC(dev)) {
>>> - ret = intel_guc_setup(dev);
>>> - if (ret)
>>> - goto out;
>>> - }
>>> + ret = intel_guc_setup(dev);
>>> + if (ret)
>>> + goto out;
>>>
>>> /*
>>> * Increment the next seqno by 0x100 so we have a visible break
>>> diff --git a/drivers/gpu/drm/i915/intel_guc_loader.c
>>> b/drivers/gpu/drm/i915/intel_guc_loader.c
>>> index f2b88c7..4e34c2e 100644
>>> --- a/drivers/gpu/drm/i915/intel_guc_loader.c
>>> +++ b/drivers/gpu/drm/i915/intel_guc_loader.c
>>> @@ -425,9 +425,13 @@ int intel_guc_setup(struct drm_device *dev)
>>> if (!i915.enable_guc_loading) {
>>> err = 0;
>>> goto fail;
>>> - } else if (fw_path == NULL || *fw_path == '\0') {
>>> - if (*fw_path == '\0')
>>
>> Ops. I can only assume I meant !fw_path.
>>
>>> - DRM_INFO("No GuC firmware known for this platform\n");
>>> + } else if (fw_path == NULL) {
>>> + /* Device is known to have no uCode (e.g. no GuC) */
>>> + err = -ENXIO;
>>> + goto fail;
>>> + } else if (*fw_path == '\0') {
>>> + /* Device has a GuC but we don't know what f/w to load? */
>>> + DRM_INFO("No GuC firmware known for this platform\n");
>>> err = -ENODEV;
>>> goto fail;
>>> }
>>> @@ -535,7 +539,7 @@ int intel_guc_setup(struct drm_device *dev)
>>> if (fw_path == NULL)
>>> DRM_INFO("GuC submission without firmware not
>>> supported\n");
>>> if (ret == 0)
>>> - DRM_INFO("Falling back to execlist mode\n");
>>> + DRM_INFO("Falling back from GuC submission to execlist
>>> mode\n");
>>> else
>>> DRM_ERROR("GuC init failed: %d\n", ret);
>>> }
>>>
>>
>> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>
> Bah now on BDW we get on boot:
>
> [drm:gen8_init_common_ring] Execlists enabled for render ring
> [drm:gen8_init_common_ring] Execlists enabled for blitter ring
> [drm:gen8_init_common_ring] Execlists enabled for bsd ring
> [drm:gen8_init_common_ring] Execlists enabled for video enhancement ring
> [drm:intel_guc_setup] GuC fw status: path (null), fetch NONE, load NONE
> [drm] GuC firmware load skipped
> [drm] GuC submission without firmware not supported
> [drm] Falling back from GuC submission to execlist mode
>
> Which is a bit untidy. :(
>
> Regards,
> Tvrtko
You shouldn't get the second or third [drm] message, if you haven't
overridden the default values. The default for enable_guc_submission
is (-1) which gets mapped to HAS_GUC_SCHED() which is 0 on BDW; you only
get the extra messages if you've set it to a non-default value.
.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-06-10 15:45 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-07 8:14 [PATCH 1/3] drm/i915/guc: fix GuC loading/submission check Dave Gordon
2016-06-07 8:14 ` [PATCH 2/3] drm/i915/guc: disable GuC submission earlier during GuC (re)load Dave Gordon
2016-06-07 9:51 ` Tvrtko Ursulin
2016-06-07 10:13 ` Dave Gordon
2016-06-07 8:14 ` [PATCH 3/3] drm/i915/guc: enable GuC loading & submission by default Dave Gordon
2016-06-07 9:53 ` Tvrtko Ursulin
2016-06-07 8:41 ` [PATCH 1/3] drm/i915/guc: fix GuC loading/submission check Tvrtko Ursulin
2016-06-09 11:04 ` Tvrtko Ursulin
2016-06-10 15:45 ` Dave Gordon [this message]
2016-06-10 16:21 ` [PATCH] drm/i915/guc: suppress GuC-related message on non-GuC platforms Dave Gordon
2016-06-13 9:00 ` Tvrtko Ursulin
2016-06-07 8:43 ` ✗ Ro.CI.BAT: failure for series starting with [1/3] drm/i915/guc: fix GuC loading/submission check Patchwork
2016-06-07 10:54 ` Dave Gordon
2016-06-07 13:23 ` Tvrtko Ursulin
2016-06-07 20:00 ` Chris Wilson
2016-06-08 8:18 ` Dave Gordon
2016-06-10 16:59 ` ✗ Ro.CI.BAT: failure for series starting with drm/i915/guc: suppress GuC-related message on non-GuC platforms (rev2) Patchwork
2016-06-10 18:14 ` Dave Gordon
2016-06-13 9:06 ` Tvrtko Ursulin
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=575AE0A7.5070306@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox