drm/i915/audio: Track audio state per-transcoder
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 22 Feb 2023 15:14:54 +0000 (17:14 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 23 Feb 2023 14:27:36 +0000 (16:27 +0200)
commit5eba7426050755c96d4b9561432b18ca000a4fd4
tree0ab5beebe435b929e5aa6a853e8a3eb15a6d49cb
parent992ed9d525609e2bcef9207c25fe2b1949f158f1
drm/i915/audio: Track audio state per-transcoder

The audio logic lives in the transcoder rather than the pipe,
so start tracking it like that.

This is only really important for bigjoiner cases where tracking
by pipe doesn't work at all since intel_audio_codec_{enable,disable}()
won't even be called for the slave pipe. This means the state
checker won't find the ELD for the slave pipe and gets upset.
The PD->has_audio readout does currently work since that gets
read out from the same transcoder for both pipes.

For other cases this doesn't actually matter since it's only
the normal pipe transcoders that are audio capable, whereas
the more special transcoders (EDP/DSI) are not.

v2: Fix kernel docs

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230222151454.24888-1-ville.syrjala@linux.intel.com
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/8222
drivers/gpu/drm/i915/display/intel_audio.c
drivers/gpu/drm/i915/display/intel_display_core.h
drivers/gpu/drm/i915/display/intel_lpe_audio.c
drivers/gpu/drm/i915/display/intel_lpe_audio.h