]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Get transcoder power domain before reading its register
authorJosé Roberto de Souza <jose.souza@intel.com>
Thu, 8 Aug 2019 00:49:34 +0000 (17:49 -0700)
committerJosé Roberto de Souza <jose.souza@intel.com>
Thu, 8 Aug 2019 19:21:34 +0000 (12:21 -0700)
commitb01d88cc43357e04a1dda1efb6473b2a3c4fb6d1
treede4cb7a807faf12e110f640e13683974c7c4bf32
parent0e0d1531939ecb8bd0ff383f9bb48da45c6e165c
drm/i915: Get transcoder power domain before reading its register

When getting the pipes attached to encoder if it is not a eDP encoder
it iterates over all pipes and read a transcoder register.
But it should not read a transcoder register before get its power
domain.

It was not a issue in gens older than 12 because if it only had
port A connected it would be attached to EDP and it would skip all
the transcoders readout, if it had more than one port connected,
pipe B would cause PG3 to be on and it contains all other
transcoders.

But on gen 12 there is no EDP transcoder so it is always iterating
over all pipes and if only one sink is connected, PG3 is kept off
and reading other transcoders registers would cause a
unclaimed read warning.

So here getting the power domain of the transcoder only if it is
enabled, otherwise it is not connected to the DDI.

Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190808004935.1787-1-jose.souza@intel.com
drivers/gpu/drm/i915/display/intel_ddi.c