diff options
author | Takashi Iwai <tiwai@suse.de> | 2015-11-12 15:23:41 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-12-10 13:39:27 +0100 |
commit | cae666ceb8c3f154351f7df29c522f7a7016bdc0 (patch) | |
tree | a05689bd2a327fa7cfb67c4e3ca4c0e141eda9c7 /drivers/gpu/drm/i915/intel_drv.h | |
parent | e876b41ab074561d65f213bf5e0fc68cf5bc7380 (diff) | |
download | op-kernel-dev-cae666ceb8c3f154351f7df29c522f7a7016bdc0.zip op-kernel-dev-cae666ceb8c3f154351f7df29c522f7a7016bdc0.tar.gz |
drm/i915: Add get_eld audio component
Implement a new i915_audio_component_ops, get_eld(). It's called by
the audio driver to fetch the current audio status and ELD of the
given HDMI/DP port. It returns the size of expected ELD bytes if it's
valid, zero if no valid ELD is found, or a negative error code. The
current state of audio on/off is stored in the given pointer, too.
Note that the returned size isn't limited to the given max bytes. If
the size is greater than the max bytes, it means that only a part of
ELD has been copied back.
For achieving this implementation, a new field audio_connector is
added to struct intel_digital_port. It points to the connector
assigned to the given digital port. It's set/reset at each audio
enable/disable call in intel_audio.c, and protected with av_mutex.
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index ab5c147..fe58a57 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -814,6 +814,8 @@ struct intel_digital_port { struct intel_hdmi hdmi; enum irqreturn (*hpd_pulse)(struct intel_digital_port *, bool); bool release_cl2_override; + /* for communication with audio component; protected by av_mutex */ + const struct drm_connector *audio_connector; }; struct intel_dp_mst_encoder { |