mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 06:12:08 +00:00
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_HAS_SET_AUDIO_RATE
|
||||||
ignore define CEC_OP_FEAT_DEV_SINK_HAS_ARC_TX
|
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_SOURCE_HAS_ARC_RX
|
||||||
|
ignore define CEC_OP_FEAT_DEV_HAS_SET_AUDIO_VOLUME_LEVEL
|
||||||
|
|
||||||
ignore define CEC_MSG_GIVE_FEATURES
|
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_REQUEST
|
||||||
ignore define CEC_MSG_SYSTEM_AUDIO_MODE_STATUS
|
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
|
||||||
ignore define CEC_OP_AUD_FMT_ID_CEA861_CXT
|
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_REPORT_SHORT_AUDIO_DESCRIPTOR] = 2 | DIRECTED,
|
||||||
[CEC_MSG_REQUEST_SHORT_AUDIO_DESCRIPTOR] = 2 | DIRECTED,
|
[CEC_MSG_REQUEST_SHORT_AUDIO_DESCRIPTOR] = 2 | DIRECTED,
|
||||||
[CEC_MSG_SET_SYSTEM_AUDIO_MODE] = 3 | BOTH,
|
[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_REQUEST] = 2 | DIRECTED,
|
||||||
[CEC_MSG_SYSTEM_AUDIO_MODE_STATUS] = 3 | DIRECTED,
|
[CEC_MSG_SYSTEM_AUDIO_MODE_STATUS] = 3 | DIRECTED,
|
||||||
[CEC_MSG_SET_AUDIO_RATE] = 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 */
|
/* Audio Rate Control Feature */
|
||||||
static inline void cec_msg_set_audio_rate(struct cec_msg *msg,
|
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_HAS_SET_AUDIO_RATE 0x08
|
||||||
#define CEC_OP_FEAT_DEV_SINK_HAS_ARC_TX 0x04
|
#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_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 */
|
#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 0
|
||||||
#define CEC_OP_AUD_FMT_ID_CEA861_CXT 1
|
#define CEC_OP_AUD_FMT_ID_CEA861_CXT 1
|
||||||
|
|
||||||
|
#define CEC_MSG_SET_AUDIO_VOLUME_LEVEL 0x73
|
||||||
|
|
||||||
/* Audio Rate Control Feature */
|
/* Audio Rate Control Feature */
|
||||||
#define CEC_MSG_SET_AUDIO_RATE 0x9a
|
#define CEC_MSG_SET_AUDIO_RATE 0x9a
|
||||||
|
Loading…
Reference in New Issue
Block a user