|
@@ -248,6 +248,7 @@ struct detailed_timing {
|
|
# define DRM_ELD_AUD_SYNCH_DELAY_MAX 0xfa /* 500 ms */
|
|
# define DRM_ELD_AUD_SYNCH_DELAY_MAX 0xfa /* 500 ms */
|
|
|
|
|
|
#define DRM_ELD_SPEAKER 7
|
|
#define DRM_ELD_SPEAKER 7
|
|
|
|
+# define DRM_ELD_SPEAKER_MASK 0x7f
|
|
# define DRM_ELD_SPEAKER_RLRC (1 << 6)
|
|
# define DRM_ELD_SPEAKER_RLRC (1 << 6)
|
|
# define DRM_ELD_SPEAKER_FLRC (1 << 5)
|
|
# define DRM_ELD_SPEAKER_FLRC (1 << 5)
|
|
# define DRM_ELD_SPEAKER_RC (1 << 4)
|
|
# define DRM_ELD_SPEAKER_RC (1 << 4)
|
|
@@ -414,6 +415,18 @@ static inline int drm_eld_size(const uint8_t *eld)
|
|
return DRM_ELD_HEADER_BLOCK_SIZE + eld[DRM_ELD_BASELINE_ELD_LEN] * 4;
|
|
return DRM_ELD_HEADER_BLOCK_SIZE + eld[DRM_ELD_BASELINE_ELD_LEN] * 4;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * drm_eld_get_spk_alloc - Get speaker allocation
|
|
|
|
+ * @eld: pointer to an ELD memory structure
|
|
|
|
+ *
|
|
|
|
+ * The returned value is the speakers mask. User has to use %DRM_ELD_SPEAKER
|
|
|
|
+ * field definitions to identify speakers.
|
|
|
|
+ */
|
|
|
|
+static inline u8 drm_eld_get_spk_alloc(const uint8_t *eld)
|
|
|
|
+{
|
|
|
|
+ return eld[DRM_ELD_SPEAKER] & DRM_ELD_SPEAKER_MASK;
|
|
|
|
+}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* drm_eld_get_conn_type - Get device type hdmi/dp connected
|
|
* drm_eld_get_conn_type - Get device type hdmi/dp connected
|
|
* @eld: pointer to an ELD memory structure
|
|
* @eld: pointer to an ELD memory structure
|