forked from Minki/linux
media: cec: add support for Absolute Volume Control
Add support for this new CEC message. This was added in HDMI 2.1a. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
20694e96ca
commit
479747caa5
@ -239,6 +239,7 @@ ignore define CEC_OP_FEAT_DEV_HAS_DECK_CONTROL
|
||||
ignore define CEC_OP_FEAT_DEV_HAS_SET_AUDIO_RATE
|
||||
ignore define CEC_OP_FEAT_DEV_SINK_HAS_ARC_TX
|
||||
ignore define CEC_OP_FEAT_DEV_SOURCE_HAS_ARC_RX
|
||||
ignore define CEC_OP_FEAT_DEV_HAS_SET_AUDIO_VOLUME_LEVEL
|
||||
|
||||
ignore define CEC_MSG_GIVE_FEATURES
|
||||
|
||||
@ -487,6 +488,7 @@ ignore define CEC_OP_SYS_AUD_STATUS_ON
|
||||
|
||||
ignore define CEC_MSG_SYSTEM_AUDIO_MODE_REQUEST
|
||||
ignore define CEC_MSG_SYSTEM_AUDIO_MODE_STATUS
|
||||
ignore define CEC_MSG_SET_AUDIO_VOLUME_LEVEL
|
||||
|
||||
ignore define CEC_OP_AUD_FMT_ID_CEA861
|
||||
ignore define CEC_OP_AUD_FMT_ID_CEA861_CXT
|
||||
|
@ -1027,6 +1027,7 @@ static const u8 cec_msg_size[256] = {
|
||||
[CEC_MSG_REPORT_SHORT_AUDIO_DESCRIPTOR] = 2 | DIRECTED,
|
||||
[CEC_MSG_REQUEST_SHORT_AUDIO_DESCRIPTOR] = 2 | DIRECTED,
|
||||
[CEC_MSG_SET_SYSTEM_AUDIO_MODE] = 3 | BOTH,
|
||||
[CEC_MSG_SET_AUDIO_VOLUME_LEVEL] = 3 | DIRECTED,
|
||||
[CEC_MSG_SYSTEM_AUDIO_MODE_REQUEST] = 2 | DIRECTED,
|
||||
[CEC_MSG_SYSTEM_AUDIO_MODE_STATUS] = 3 | DIRECTED,
|
||||
[CEC_MSG_SET_AUDIO_RATE] = 3 | DIRECTED,
|
||||
|
@ -1568,6 +1568,20 @@ static inline void cec_ops_request_short_audio_descriptor(const struct cec_msg *
|
||||
}
|
||||
}
|
||||
|
||||
static inline void cec_msg_set_audio_volume_level(struct cec_msg *msg,
|
||||
__u8 audio_volume_level)
|
||||
{
|
||||
msg->len = 3;
|
||||
msg->msg[1] = CEC_MSG_SET_AUDIO_VOLUME_LEVEL;
|
||||
msg->msg[2] = audio_volume_level;
|
||||
}
|
||||
|
||||
static inline void cec_ops_set_audio_volume_level(const struct cec_msg *msg,
|
||||
__u8 *audio_volume_level)
|
||||
{
|
||||
*audio_volume_level = msg->msg[2];
|
||||
}
|
||||
|
||||
|
||||
/* Audio Rate Control Feature */
|
||||
static inline void cec_msg_set_audio_rate(struct cec_msg *msg,
|
||||
|
@ -768,6 +768,7 @@ struct cec_event {
|
||||
#define CEC_OP_FEAT_DEV_HAS_SET_AUDIO_RATE 0x08
|
||||
#define CEC_OP_FEAT_DEV_SINK_HAS_ARC_TX 0x04
|
||||
#define CEC_OP_FEAT_DEV_SOURCE_HAS_ARC_RX 0x02
|
||||
#define CEC_OP_FEAT_DEV_HAS_SET_AUDIO_VOLUME_LEVEL 0x01
|
||||
|
||||
#define CEC_MSG_GIVE_FEATURES 0xa5 /* HDMI 2.0 */
|
||||
|
||||
@ -1059,6 +1060,7 @@ struct cec_event {
|
||||
#define CEC_OP_AUD_FMT_ID_CEA861 0
|
||||
#define CEC_OP_AUD_FMT_ID_CEA861_CXT 1
|
||||
|
||||
#define CEC_MSG_SET_AUDIO_VOLUME_LEVEL 0x73
|
||||
|
||||
/* Audio Rate Control Feature */
|
||||
#define CEC_MSG_SET_AUDIO_RATE 0x9a
|
||||
|
Loading…
Reference in New Issue
Block a user