Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
[cascardo/linux.git] / include / drm / i915_component.h
index fab1385..b46fa0e 100644 (file)
@@ -65,6 +65,20 @@ struct i915_audio_component_ops {
         * sample rate, it will call this function to set n/cts
         */
        int (*sync_audio_rate)(struct device *, int port, int rate);
+       /**
+        * @get_eld: fill the audio state and ELD bytes for the given port
+        *
+        * Called from audio driver to get the HDMI/DP audio state of the given
+        * digital port, and also fetch ELD bytes to the given pointer.
+        *
+        * It returns the byte size of the original ELD (not the actually
+        * copied size), zero for an invalid ELD, or a negative error code.
+        *
+        * Note that the returned size may be over @max_bytes.  Then it
+        * implies that only a part of ELD has been copied to the buffer.
+        */
+       int (*get_eld)(struct device *, int port, bool *enabled,
+                      unsigned char *buf, int max_bytes);
 };
 
 /**