chromeos-4.14: FBC check failure on Haswell systems |
||
Issue description
In chromeos-4.14, FBC is disabled on Haswell systems; see upstream commit c7f7e2feffb0 ("drm/i915/fbc: Disable on HSW by default for now").
This causes the graphics_Idle test to fail when testing Haswell systems with chromeos-4.14.
,
Mar 7 2018
AFAICS the test is enabled for Haswell, Ivybridge, and Sandybridge devices. See CL:882201 which I use as workaround.
,
Mar 8 2018
Thanks, so I understand that without https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/882201/2/client/site_tests/graphics_Idle/graphics_Idle.py the test fails on Haswell with the "Did not see FBC enabled" error found there? Other convenience link: https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices
,
Mar 8 2018
#3: Correct.
,
Oct 30
bumping priority since I'm seeing paladin failures due to this: https://logs.chromium.org/logs/chromeos/buildbucket/cr-buildbucket.appspot.com/8931213394697130592/+/steps/HWTest__bvt-inline_/0/stdout Triggered task: wolf-paladin/R72-11211.0.0-rc1-bvt-inline graphics_Idle [ FAILED ] graphics_Idle FAIL: Failed: Did not see FBC enabled. https://stainless.corp.google.com/browse/chromeos-autotest-results/253728576-chromeos-test/ Looking at graphics_Idle.DEBUG : 10/30 13:51:08.162 INFO | graphics_Idle:0302| Running verify_graphics_fbc 10/30 13:51:28.186 ERROR| graphics_Idle:0073| Error: Did not see FBC enabled. 10/30 13:51:28.194 INFO | graphics_Idle:0077| Content of /sys/kernel/debug/dri/0/i915_fbc FBC disabled: no outputs ... 10/30 13:51:59.756 DEBUG| test:0381| Test failed due to Failed: Did not see FBC enabled. . Exception log follows the after_iteration_hooks. This test is normally passing on wolf - so not sure what happened this time: https://stainless.corp.google.com/search?exclude_cts=true&exclude_non_release=true&test=%5Egraphics%5C_&model=%5Ewolf%24&view=matrix&col=build&row=test&first_date=2018-10-24&last_date=2018-10-30
,
Oct 30
> Content of /sys/kernel/debug/dri/0/i915_fbc > FBC disabled: no outputs Can you share the branch and exact kernel SHA1 this test was run with? git grep doesn't seem to find this no_fbc_reason. "no outputs" sounds worse than just an FBC problem: could you also look at and/or share some more logs? The links seem Google-only.
,
Oct 30
chromeos-3.8, debugfs output $ git grep "no outputs" drivers/gpu/ drivers/gpu/drm/i915/i915_debugfs.c: len += snprintf(buf + len, sizeof(buf) - len, "no outputs"); drivers/gpu/drm/i915/i915_drv.h: FBC_NO_OUTPUT, /* no outputs enabled to compress */ groeck@groeck0:~/src/linux-chrome$ git describe v3.8.11-9811-g2eec1482429d Set, not surprisingly, if there is no output. drivers/gpu/drm/i915/intel_pm.c, around line 480.
,
Oct 30
"no output" could mean power management turned the screen off (so obviously no FB compression happening). Is there a way you could check that?
,
Oct 30
I heard of a worse *possibility* sorry: in the past not all reasons to disable FBC logged themselves into /sys/kernel/debug/dri/0/i915_fbc In other words you could have a sequence like this: - screen is turned off - "no outputs" is logged into /sys/kernel/debug/dri/0/i915_fbc - screen is turned back on - some other unrelated reason to disable FBC happens but doesn't log itself in /sys/kernel/debug/dri/0/i915_fbc Still worth checking whether the screen is on.
,
Oct 30
Some git log -S archeology just in case: v4.6-rc1~12^2~28^2~77 drm/i915/fbc: extract intel_fbc_can_activate() - set_no_fbc_reason(dev_priv, "no output"); + set_no_fbc_reason(dev_priv, "CRTC not active"); v4.5-rc1~74^2~37^2~153 drm/i915: change no_fbc_reason from enum to string - set_no_fbc_reason(dev_priv, FBC_NO_OUTPUT); + set_no_fbc_reason(dev_priv, "no output"); v4.3-rc1~20^2~40^2~276 drm/i915: unify no_fbc_reason message printing - case FBC_NO_OUTPUT: - seq_puts(m, "no outputs"); + case FBC_NO_OUTPUT: + return "no output"; |
||
►
Sign in to add a comment |
||
Comment 1 by marc.her...@intel.com
, Mar 7 2018