Message ID | 20190729112612.37476-1-michal.wajdeczko@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] drm/i915/uc: Don't fail on HuC firmware failure | expand |
On Mon, 29 Jul 2019 16:56:37 +0200, Patchwork <patchwork@emeril.freedesktop.org> wrote: > == Series Details == > > Series: drm/i915/uc: Don't fail on HuC firmware failure (rev2) > URL : https://patchwork.freedesktop.org/series/64326/ > State : failure > > == Summary == > > CI Bug Log - changes from CI_DRM_6573 -> Patchwork_13785 > ==================================================== > > Summary > ------- > > **FAILURE** > > Serious unknown changes coming with Patchwork_13785 absolutely need to > be > verified manually. > If you think the reported changes have nothing to do with the changes > introduced in Patchwork_13785, please notify your bug team to allow > them > to document this new failure mode, which will reduce false positives > in CI. > > External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/ > > Possible new issues > ------------------- > > Here are the unknown changes that may have been introduced in > Patchwork_13785: > > ### IGT changes ### > > #### Possible regressions #### > > * igt@i915_selftest@live_guc: > - fi-byt-n2820: NOTRUN -> [DMESG-WARN][1] > [1]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-byt-n2820/igt@i915_selftest@live_guc.html <4> [436.295995] DEBUG_LOCKS_WARN_ON(lock->magic != lock) <4> [436.296191] Workqueue: i915 __i915_vm_release [i915] <4> [436.296375] ? i915_vma_destroy+0x86/0x350 [i915] <4> [436.296495] ? i915_vma_destroy+0x86/0x350 [i915] <4> [436.296604] i915_vma_destroy+0x86/0x350 [i915] <4> [436.296826] __i915_vm_release+0xfc/0x1d0 [i915] > > * igt@i915_selftest@live_objects: > - fi-hsw-4770r: NOTRUN -> [DMESG-WARN][2] > [2]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-hsw-4770r/igt@i915_selftest@live_objects.html > > Known issues > ------------ > > Here are the changes found in Patchwork_13785 that come from known > issues: > > ### IGT changes ### > > #### Issues hit #### > > * igt@gem_exec_suspend@basic-s3: > - fi-blb-e6850: [PASS][3] -> [INCOMPLETE][4] ([fdo#107718]) > [3]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6573/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html > [4]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html > > * igt@i915_selftest@live_gtt: > - fi-icl-dsi: [PASS][5] -> [INCOMPLETE][6] ([fdo#107713]) > [5]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6573/fi-icl-dsi/igt@i915_selftest@live_gtt.html > [6]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-icl-dsi/igt@i915_selftest@live_gtt.html > > * igt@i915_selftest@live_hugepages: > - fi-hsw-peppy: [PASS][7] -> [DMESG-WARN][8] ([fdo#111249]) > [7]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6573/fi-hsw-peppy/igt@i915_selftest@live_hugepages.html > [8]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-hsw-peppy/igt@i915_selftest@live_hugepages.html > > * igt@prime_vgem@basic-fence-flip: > - fi-kbl-7500u: [PASS][9] -> [SKIP][10] ([fdo#109271]) +23 > similar issues > [9]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6573/fi-kbl-7500u/igt@prime_vgem@basic-fence-flip.html > [10]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-kbl-7500u/igt@prime_vgem@basic-fence-flip.html > > #### Possible fixes #### > > * igt@i915_module_load@reload-no-display: > - fi-byt-j1900: [DMESG-WARN][11] ([fdo#111249]) -> [PASS][12] > [11]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6573/fi-byt-j1900/igt@i915_module_load@reload-no-display.html > [12]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-byt-j1900/igt@i915_module_load@reload-no-display.html > - fi-ivb-3770: [DMESG-WARN][13] ([fdo#111249]) -> [PASS][14] > [13]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6573/fi-ivb-3770/igt@i915_module_load@reload-no-display.html > [14]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-ivb-3770/igt@i915_module_load@reload-no-display.html > - fi-hsw-4770: [DMESG-WARN][15] ([fdo#111249]) -> [PASS][16] > [15]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6573/fi-hsw-4770/igt@i915_module_load@reload-no-display.html > [16]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-hsw-4770/igt@i915_module_load@reload-no-display.html > > * igt@i915_module_load@reload-with-fault-injection: > - fi-hsw-4770r: [DMESG-WARN][17] ([fdo#111249]) -> [PASS][18] > [17]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6573/fi-hsw-4770r/igt@i915_module_load@reload-with-fault-injection.html > [18]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-hsw-4770r/igt@i915_module_load@reload-with-fault-injection.html > > * igt@i915_selftest@live_execlists: > - fi-skl-gvtdvm: [DMESG-FAIL][19] ([fdo#111108]) -> [PASS][20] > [19]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6573/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html > [20]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html > > * igt@i915_selftest@live_hugepages: > - fi-byt-n2820: [DMESG-WARN][21] ([fdo#111249]) -> [PASS][22] > [21]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6573/fi-byt-n2820/igt@i915_selftest@live_hugepages.html > [22]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-byt-n2820/igt@i915_selftest@live_hugepages.html > > * igt@i915_selftest@live_reset: > - fi-icl-u3: [INCOMPLETE][23] ([fdo#107713]) -> [PASS][24] > [23]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6573/fi-icl-u3/igt@i915_selftest@live_reset.html > [24]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-icl-u3/igt@i915_selftest@live_reset.html > > #### Warnings #### > > * igt@runner@aborted: > - fi-hsw-4770: [FAIL][25] ([fdo#111249]) -> [FAIL][26] > ([fdo#107732] / [fdo#111249]) > [25]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6573/fi-hsw-4770/igt@runner@aborted.html > [26]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-hsw-4770/igt@runner@aborted.html > - fi-hsw-4770r: [FAIL][27] ([fdo#107732]) -> [FAIL][28] > ([fdo#111249]) > [27]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6573/fi-hsw-4770r/igt@runner@aborted.html > [28]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-hsw-4770r/igt@runner@aborted.html > - fi-byt-n2820: [FAIL][29] ([fdo#110326 ]) -> [FAIL][30] > ([fdo#111249]) > [29]: > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6573/fi-byt-n2820/igt@runner@aborted.html > [30]: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/fi-byt-n2820/igt@runner@aborted.html > > [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713 > [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718 > [fdo#107732]: https://bugs.freedesktop.org/show_bug.cgi?id=107732 > [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 > [fdo#110326 ]: https://bugs.freedesktop.org/show_bug.cgi?id=110326 > [fdo#111108]: https://bugs.freedesktop.org/show_bug.cgi?id=111108 > [fdo#111249]: https://bugs.freedesktop.org/show_bug.cgi?id=111249 > > > Participating hosts (52 -> 45) > ------------------------------ > > Missing (7): fi-kbl-soraka fi-icl-u4 fi-byt-squawks fi-bsw-cyan > fi-icl-y fi-byt-clapper fi-bdw-samus > > > Build changes > ------------- > > * CI: CI-20190529 -> None > * Linux: CI_DRM_6573 -> Patchwork_13785 > > CI-20190529: 20190529 > CI_DRM_6573: 69756063f5af4bf16b5af96e929860163a2d340d @ > git://anongit.freedesktop.org/gfx-ci/linux > IGT_5114: 54450721c3b323d01e0c6e5d5e883b7499c8022c @ > git://anongit.freedesktop.org/xorg/app/intel-gpu-tools > Patchwork_13785: da503011422c83cdc407f41fb9402fb59a826068 @ > git://anongit.freedesktop.org/gfx-ci/linux > > > == Linux commits == > > da503011422c drm/i915/uc: Don't fail on HuC firmware failure > > == Logs == > > For more details see: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13785/
Quoting Michal Wajdeczko (2019-07-29 14:26:12) > HuC is usually not a critical component, so we can safely ignore > firmware load or authentication failures unless HuC was explicitly > requested by the user. Do we have the fault injection and respective IGT patches somewhere? Regards, Joonas
On Tue, 30 Jul 2019 09:06:19 +0200, Joonas Lahtinen <joonas.lahtinen@linux.intel.com> wrote: > Quoting Michal Wajdeczko (2019-07-29 14:26:12) >> HuC is usually not a critical component, so we can safely ignore >> firmware load or authentication failures unless HuC was explicitly >> requested by the user. > > Do we have the fault injection and respective IGT patches somewhere? fault injection (at various places) is WIP https://patchwork.freedesktop.org/series/64390/#rev1 IGT was also discussed https://patchwork.freedesktop.org/patch/305805/?series=60800&rev=3 but we stopped at https://patchwork.freedesktop.org/patch/305806/?series=60807&rev=2
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c index fafa9be1e12a..6eb8bb3fa252 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c @@ -422,7 +422,7 @@ int intel_uc_init_hw(struct intel_uc *uc) if (intel_uc_is_using_huc(uc)) { ret = intel_huc_fw_upload(huc); - if (ret) + if (ret && intel_uc_fw_is_overridden(&huc->fw)) goto err_out; } @@ -444,9 +444,9 @@ int intel_uc_init_hw(struct intel_uc *uc) if (ret) goto err_log_capture; - if (intel_uc_is_using_huc(uc)) { + if (intel_uc_fw_is_loaded(&huc->fw)) { ret = intel_huc_auth(huc); - if (ret) + if (ret && intel_uc_fw_is_overridden(&huc->fw)) goto err_communication; } @@ -465,7 +465,7 @@ int intel_uc_init_hw(struct intel_uc *uc) dev_info(i915->drm.dev, "GuC submission %s\n", enableddisabled(intel_uc_is_using_guc_submission(uc))); dev_info(i915->drm.dev, "HuC %s\n", - enableddisabled(intel_uc_is_using_huc(uc))); + enableddisabled(intel_huc_is_authenticated(huc))); return 0; diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c index 0f9badf44837..ac91e3efd02b 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c @@ -146,7 +146,8 @@ __uc_fw_override(struct intel_uc_fw *uc_fw) break; } - return uc_fw->path; + uc_fw->user_overridden = uc_fw->path; + return uc_fw->user_overridden; } /** @@ -176,7 +177,7 @@ void intel_uc_fw_init_early(struct intel_uc_fw *uc_fw, __uc_fw_auto_select(uc_fw, INTEL_INFO(i915)->platform, INTEL_REVID(i915)); - if (uc_fw->path) + if (uc_fw->path && *uc_fw->path) uc_fw->status = INTEL_UC_FIRMWARE_SELECTED; else uc_fw->status = INTEL_UC_FIRMWARE_NOT_SUPPORTED; diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h index c2ab2803715d..6b64b8073703 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h @@ -61,6 +61,7 @@ struct intel_uc_fw { enum intel_uc_fw_type type; enum intel_uc_fw_status status; const char *path; + bool user_overridden; size_t size; struct drm_i915_gem_object *obj; @@ -141,6 +142,11 @@ static inline bool intel_uc_fw_supported(struct intel_uc_fw *uc_fw) return __intel_uc_fw_status(uc_fw) != INTEL_UC_FIRMWARE_NOT_SUPPORTED; } +static inline bool intel_uc_fw_is_overridden(const struct intel_uc_fw *uc_fw) +{ + return uc_fw->user_overridden; +} + static inline void intel_uc_fw_sanitize(struct intel_uc_fw *uc_fw) { if (intel_uc_fw_is_loaded(uc_fw))