* [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present
@ 2018-10-16 1:29 José Roberto de Souza
2018-10-16 1:29 ` [PATCH 2/2] drm/i915: Do not print DC off mismatch state when DMC firmware in not loaded José Roberto de Souza
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: José Roberto de Souza @ 2018-10-16 1:29 UTC (permalink / raw)
To: intel-gfx
intel_csr_ucode_init() gets a POWER_DOMAIN_INIT reference but it is
only released in csr_load_work_fn() if DMC firmware is present in
filesystem, keeping a reference to POWER_DOMAIN_INIT and every power
well enabled all the times.
Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
drivers/gpu/drm/i915/intel_csr.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
index fc7bd21fa586..7c91a56869e9 100644
--- a/drivers/gpu/drm/i915/intel_csr.c
+++ b/drivers/gpu/drm/i915/intel_csr.c
@@ -423,8 +423,6 @@ static void csr_load_work_fn(struct work_struct *work)
if (dev_priv->csr.dmc_payload) {
intel_csr_load_program(dev_priv);
- intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
-
DRM_INFO("Finished loading DMC firmware %s (v%u.%u)\n",
dev_priv->csr.fw_path,
CSR_VERSION_MAJOR(csr->version),
@@ -439,6 +437,8 @@ static void csr_load_work_fn(struct work_struct *work)
}
release_firmware(fw);
+
+ intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
}
/**
--
2.19.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] drm/i915: Do not print DC off mismatch state when DMC firmware in not loaded
2018-10-16 1:29 [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present José Roberto de Souza
@ 2018-10-16 1:29 ` José Roberto de Souza
2018-10-16 2:04 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present Patchwork
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: José Roberto de Souza @ 2018-10-16 1:29 UTC (permalink / raw)
To: intel-gfx
When DMC firmware is not loaded, it return earlier in
gen9_dc_off_power_well_disable() as it will have no effect without
DMC firmware loaded. But it will cause a mismatch state error when
running intel_power_domains_verify_state(), so skipping this error
in this case.
Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
drivers/gpu/drm/i915/intel_runtime_pm.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 3cf8533e0834..99edfcafc106 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -3980,11 +3980,22 @@ static void intel_power_domains_verify_state(struct drm_i915_private *dev_priv)
enabled = power_well->desc->ops->is_enabled(dev_priv,
power_well);
if ((power_well->count || power_well->desc->always_on) !=
- enabled)
+ enabled) {
+ /* If DMC firmware is not loaded it could cause a
+ * mismatch state as we can't disable DC off, so let's
+ * do not print any errors in this scenario.
+ */
+
+ if (!strcmp("DC off", power_well->desc->name) &&
+ !dev_priv->csr.dmc_payload)
+ goto skip_state_mismatch_error;
+
DRM_ERROR("power well %s state mismatch (refcount %d/enabled %d)",
power_well->desc->name,
power_well->count, enabled);
+ }
+skip_state_mismatch_error:
domains_count = 0;
for_each_power_domain(domain, power_well->desc->domains)
domains_count += power_domains->domain_use_count[domain];
--
2.19.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 6+ messages in thread
* ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present
2018-10-16 1:29 [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present José Roberto de Souza
2018-10-16 1:29 ` [PATCH 2/2] drm/i915: Do not print DC off mismatch state when DMC firmware in not loaded José Roberto de Souza
@ 2018-10-16 2:04 ` Patchwork
2018-10-16 3:00 ` ✓ Fi.CI.IGT: " Patchwork
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-10-16 2:04 UTC (permalink / raw)
To: Souza, Jose; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present
URL : https://patchwork.freedesktop.org/series/51039/
State : success
== Summary ==
= CI Bug Log - changes from CI_DRM_4984 -> Patchwork_10465 =
== Summary - SUCCESS ==
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/51039/revisions/1/mbox/
== Known issues ==
Here are the changes found in Patchwork_10465 that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@gem_exec_suspend@basic-s3:
fi-blb-e6850: PASS -> INCOMPLETE (fdo#107718)
igt@kms_frontbuffer_tracking@basic:
fi-icl-u2: PASS -> FAIL (fdo#103167)
==== Possible fixes ====
igt@kms_frontbuffer_tracking@basic:
fi-byt-clapper: FAIL (fdo#103167) -> PASS
fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
== Participating hosts (53 -> 47) ==
Additional (1): fi-icl-u
Missing (7): fi-hsw-4770r fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-n2820
== Build changes ==
* Linux: CI_DRM_4984 -> Patchwork_10465
CI_DRM_4984: 90b59df999a13a6405f8d7ece08a69120a9b361a @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_4678: 9310a1265ceabeec736bdf0a76e1e0357c76c0b1 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_10465: be186bd6a687fce3e74f76640daf026f1d09cb90 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
be186bd6a687 drm/i915: Do not print DC off mismatch state when DMC firmware in not loaded
39f4c897f58b drm/i915: Fix power domain reference balance when DMC firmware is not present
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10465/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present
2018-10-16 1:29 [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present José Roberto de Souza
2018-10-16 1:29 ` [PATCH 2/2] drm/i915: Do not print DC off mismatch state when DMC firmware in not loaded José Roberto de Souza
2018-10-16 2:04 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present Patchwork
@ 2018-10-16 3:00 ` Patchwork
2018-10-16 8:16 ` [PATCH 1/2] " Chris Wilson
2018-10-16 9:22 ` Imre Deak
4 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-10-16 3:00 UTC (permalink / raw)
To: Souza, Jose; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present
URL : https://patchwork.freedesktop.org/series/51039/
State : success
== Summary ==
= CI Bug Log - changes from CI_DRM_4984_full -> Patchwork_10465_full =
== Summary - WARNING ==
Minor unknown changes coming with Patchwork_10465_full need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_10465_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
== Possible new issues ==
Here are the unknown changes that may have been introduced in Patchwork_10465_full:
=== IGT changes ===
==== Warnings ====
igt@drm_read@empty-nonblock:
shard-snb: PASS -> SKIP +3
== Known issues ==
Here are the changes found in Patchwork_10465_full that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@gem_cpu_reloc@full:
shard-skl: NOTRUN -> INCOMPLETE (fdo#108073)
igt@gem_ctx_isolation@vcs0-s3:
shard-skl: PASS -> INCOMPLETE (fdo#104108, fdo#107773)
igt@gem_exec_schedule@pi-ringfull-vebox:
shard-skl: NOTRUN -> FAIL (fdo#103158)
igt@gem_ppgtt@blt-vs-render-ctxn:
shard-skl: NOTRUN -> TIMEOUT (fdo#108039)
igt@gem_wait@busy-default:
shard-snb: PASS -> INCOMPLETE (fdo#105411)
igt@kms_busy@extended-modeset-hang-newfb-render-a:
shard-skl: NOTRUN -> DMESG-WARN (fdo#107956) +2
igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
shard-skl: NOTRUN -> FAIL (fdo#105458)
igt@kms_cursor_crc@cursor-256x85-sliding:
shard-apl: PASS -> FAIL (fdo#103232)
igt@kms_draw_crc@fill-fb:
shard-skl: NOTRUN -> FAIL (fdo#103184)
igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
shard-apl: PASS -> FAIL (fdo#103167) +2
igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
shard-glk: PASS -> FAIL (fdo#103167)
igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-fullscreen:
shard-skl: NOTRUN -> FAIL (fdo#103167)
igt@kms_frontbuffer_tracking@fbcpsr-stridechange:
shard-skl: NOTRUN -> FAIL (fdo#105683)
igt@kms_panel_fitting@legacy:
shard-skl: NOTRUN -> FAIL (fdo#105456)
igt@kms_pipe_crc_basic@hang-read-crc-pipe-a:
shard-skl: PASS -> FAIL (fdo#103191, fdo#107362)
igt@kms_plane@pixel-format-pipe-a-planes:
shard-skl: NOTRUN -> DMESG-FAIL (fdo#103166, fdo#106885)
igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
shard-apl: PASS -> FAIL (fdo#108145)
igt@kms_plane_alpha_blend@pipe-a-alpha-transparant-fb:
shard-skl: NOTRUN -> FAIL (fdo#108145) +3
igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
shard-apl: PASS -> FAIL (fdo#103166)
igt@kms_plane_multiple@atomic-pipe-c-tiling-yf:
shard-glk: PASS -> FAIL (fdo#103166)
igt@kms_rotation_crc@exhaust-fences:
shard-skl: NOTRUN -> DMESG-WARN (fdo#105748)
igt@kms_sysfs_edid_timing:
shard-skl: NOTRUN -> FAIL (fdo#100047)
==== Possible fixes ====
igt@kms_cursor_crc@cursor-64x64-dpms:
shard-apl: FAIL (fdo#103232) -> PASS
igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
shard-glk: DMESG-WARN (fdo#106538, fdo#105763) -> PASS
igt@kms_flip_tiling@flip-yf-tiled:
shard-apl: DMESG-WARN (fdo#105602, fdo#103558) -> PASS +2
igt@kms_frontbuffer_tracking@fbc-1p-rte:
shard-apl: DMESG-FAIL (fdo#105602, fdo#103558, fdo#103167) -> PASS
igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-gtt:
shard-glk: FAIL (fdo#103167) -> PASS
igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
shard-skl: INCOMPLETE (fdo#104108) -> PASS
igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
shard-glk: FAIL (fdo#108145) -> PASS
igt@kms_plane_lowres@pipe-a-tiling-yf:
shard-kbl: DMESG-WARN (fdo#105345) -> PASS
igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
shard-apl: FAIL (fdo#103166) -> PASS
igt@kms_plane_multiple@atomic-pipe-c-tiling-y:
shard-glk: FAIL (fdo#103166) -> PASS +1
igt@kms_setmode@basic:
shard-apl: FAIL (fdo#99912) -> PASS
fdo#100047 https://bugs.freedesktop.org/show_bug.cgi?id=100047
fdo#103158 https://bugs.freedesktop.org/show_bug.cgi?id=103158
fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
fdo#103184 https://bugs.freedesktop.org/show_bug.cgi?id=103184
fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
fdo#103558 https://bugs.freedesktop.org/show_bug.cgi?id=103558
fdo#104108 https://bugs.freedesktop.org/show_bug.cgi?id=104108
fdo#105345 https://bugs.freedesktop.org/show_bug.cgi?id=105345
fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
fdo#105456 https://bugs.freedesktop.org/show_bug.cgi?id=105456
fdo#105458 https://bugs.freedesktop.org/show_bug.cgi?id=105458
fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602
fdo#105683 https://bugs.freedesktop.org/show_bug.cgi?id=105683
fdo#105748 https://bugs.freedesktop.org/show_bug.cgi?id=105748
fdo#105763 https://bugs.freedesktop.org/show_bug.cgi?id=105763
fdo#106538 https://bugs.freedesktop.org/show_bug.cgi?id=106538
fdo#106885 https://bugs.freedesktop.org/show_bug.cgi?id=106885
fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
fdo#107773 https://bugs.freedesktop.org/show_bug.cgi?id=107773
fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
fdo#108039 https://bugs.freedesktop.org/show_bug.cgi?id=108039
fdo#108073 https://bugs.freedesktop.org/show_bug.cgi?id=108073
fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
== Participating hosts (6 -> 6) ==
No changes in participating hosts
== Build changes ==
* Linux: CI_DRM_4984 -> Patchwork_10465
CI_DRM_4984: 90b59df999a13a6405f8d7ece08a69120a9b361a @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_4678: 9310a1265ceabeec736bdf0a76e1e0357c76c0b1 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_10465: be186bd6a687fce3e74f76640daf026f1d09cb90 @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10465/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present
2018-10-16 1:29 [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present José Roberto de Souza
` (2 preceding siblings ...)
2018-10-16 3:00 ` ✓ Fi.CI.IGT: " Patchwork
@ 2018-10-16 8:16 ` Chris Wilson
2018-10-16 9:22 ` Imre Deak
4 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2018-10-16 8:16 UTC (permalink / raw)
To: José Roberto de Souza, intel-gfx
Quoting José Roberto de Souza (2018-10-16 02:29:45)
> intel_csr_ucode_init() gets a POWER_DOMAIN_INIT reference but it is
> only released in csr_load_work_fn() if DMC firmware is present in
> filesystem, keeping a reference to POWER_DOMAIN_INIT and every power
> well enabled all the times.
>
> Cc: Imre Deak <imre.deak@intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
> drivers/gpu/drm/i915/intel_csr.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
> index fc7bd21fa586..7c91a56869e9 100644
> --- a/drivers/gpu/drm/i915/intel_csr.c
> +++ b/drivers/gpu/drm/i915/intel_csr.c
> @@ -423,8 +423,6 @@ static void csr_load_work_fn(struct work_struct *work)
> if (dev_priv->csr.dmc_payload) {
> intel_csr_load_program(dev_priv);
>
> - intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
> -
> DRM_INFO("Finished loading DMC firmware %s (v%u.%u)\n",
> dev_priv->csr.fw_path,
> CSR_VERSION_MAJOR(csr->version),
> @@ -439,6 +437,8 @@ static void csr_load_work_fn(struct work_struct *work)
You would also have to update the comment about leaving the powerwells
disabled being intentional.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present
2018-10-16 1:29 [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present José Roberto de Souza
` (3 preceding siblings ...)
2018-10-16 8:16 ` [PATCH 1/2] " Chris Wilson
@ 2018-10-16 9:22 ` Imre Deak
4 siblings, 0 replies; 6+ messages in thread
From: Imre Deak @ 2018-10-16 9:22 UTC (permalink / raw)
To: José Roberto de Souza; +Cc: intel-gfx
On Mon, Oct 15, 2018 at 06:29:45PM -0700, José Roberto de Souza wrote:
> intel_csr_ucode_init() gets a POWER_DOMAIN_INIT reference but it is
> only released in csr_load_work_fn() if DMC firmware is present in
> filesystem, keeping a reference to POWER_DOMAIN_INIT and every power
> well enabled all the times.
>
> Cc: Imre Deak <imre.deak@intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
> drivers/gpu/drm/i915/intel_csr.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
> index fc7bd21fa586..7c91a56869e9 100644
> --- a/drivers/gpu/drm/i915/intel_csr.c
> +++ b/drivers/gpu/drm/i915/intel_csr.c
> @@ -423,8 +423,6 @@ static void csr_load_work_fn(struct work_struct *work)
> if (dev_priv->csr.dmc_payload) {
> intel_csr_load_program(dev_priv);
>
> - intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
> -
> DRM_INFO("Finished loading DMC firmware %s (v%u.%u)\n",
> dev_priv->csr.fw_path,
> CSR_VERSION_MAJOR(csr->version),
and for the !dmc_payload case below we print:
"Failed to load DMC firmware, disabling runtime power management."
explaining why we hold on to the reference in that case.
> @@ -439,6 +437,8 @@ static void csr_load_work_fn(struct work_struct *work)
> }
>
> release_firmware(fw);
> +
> + intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
> }
>
> /**
> --
> 2.19.1
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-10-16 9:22 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-16 1:29 [PATCH 1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present José Roberto de Souza
2018-10-16 1:29 ` [PATCH 2/2] drm/i915: Do not print DC off mismatch state when DMC firmware in not loaded José Roberto de Souza
2018-10-16 2:04 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Fix power domain reference balance when DMC firmware is not present Patchwork
2018-10-16 3:00 ` ✓ Fi.CI.IGT: " Patchwork
2018-10-16 8:16 ` [PATCH 1/2] " Chris Wilson
2018-10-16 9:22 ` Imre Deak
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.