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
22 lines
629 B
C
22 lines
629 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2019 Intel Corporation
|
|
*/
|
|
|
|
#ifndef __INTEL_LPE_AUDIO_H__
|
|
#define __INTEL_LPE_AUDIO_H__
|
|
|
|
#include <linux/types.h>
|
|
|
|
enum port;
|
|
enum transcoder;
|
|
struct drm_i915_private;
|
|
|
|
int intel_lpe_audio_init(struct drm_i915_private *dev_priv);
|
|
void intel_lpe_audio_teardown(struct drm_i915_private *dev_priv);
|
|
void intel_lpe_audio_irq_handler(struct drm_i915_private *dev_priv);
|
|
void intel_lpe_audio_notify(struct drm_i915_private *dev_priv,
|
|
enum transcoder cpu_transcoder, enum port port,
|
|
const void *eld, int ls_clock, bool dp_output);
|
|
|
|
#endif /* __INTEL_LPE_AUDIO_H__ */
|