drm/i915: Don't try to query the frame counter for disabled pipes
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 4 Mar 2021 17:04:19 +0000 (19:04 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 5 Mar 2021 14:38:56 +0000 (16:38 +0200)
commit9bb475cd31fa6e724225841689495a9c86fac037
treed6c387c29915353685ab0037b53339dd4ba85582
parente43539f87a6d7bd18c2df82130bbdeda5b399516
drm/i915: Don't try to query the frame counter for disabled pipes

For platforms/outputs without hardware frame counters we can't
call drm_crtc_accurate_vblank_count() when the vblank support is
disabled or we just get a WARN due to the crtc timings
(vblank->hwmode) being considered invalid. Note that until the
pipe in question has been enabled and drm_crtc_set_max_vblank_count()
has been called on it we would also take this path on platforms
which have a working frame counter. So getting the WARN is rather
likely on any platform unless you always boot with lots of displays
plugged in.

Also even on hardware with a working frame counter we may not be
able to read the actual frame counter register on disabled pipes
due the relevant power well being disabled. Ie. would just result
in the unclaimed reg spew.

So let's just avoid all this an directly report zero in case
the pipe is disabled.

Reported-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Tested-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210304170421.10901-3-ville.syrjala@linux.intel.com
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
drivers/gpu/drm/i915/display/intel_crtc.c