ALSA: hda - Add hdmi chmap verb programming ops to chmap object

Add slot and channel count programming to hdmi_chmap object and
move the chmap_ops to core. Use register_chmap_ops API to
register for default ops.  Override specific chmap ops in the
driver.

Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Subhransu S. Prusty
2016-03-04 19:59:49 +05:30
committed by Takashi Iwai
parent f302240da5
commit 739ffee97e
4 changed files with 88 additions and 60 deletions
+10
View File
@@ -36,6 +36,14 @@ struct hdac_chmap_ops {
void (*set_chmap)(struct hdac_device *hdac, int pcm_idx,
unsigned char *chmap, int prepared);
bool (*is_pcm_attached)(struct hdac_device *hdac, int pcm_idx);
/* get and set channel assigned to each HDMI ASP (audio sample packet) slot */
int (*pin_get_slot_channel)(struct hdac_device *codec,
hda_nid_t pin_nid, int asp_slot);
int (*pin_set_slot_channel)(struct hdac_device *codec,
hda_nid_t pin_nid, int asp_slot, int channel);
void (*set_channel_count)(struct hdac_device *codec,
hda_nid_t cvt_nid, int chs);
};
struct hdac_chmap {
@@ -44,4 +52,6 @@ struct hdac_chmap {
struct hdac_device *hdac;
};
void snd_hdac_register_chmap_ops(struct hdac_device *hdac,
struct hdac_chmap *chmap);
#endif /* __SOUND_HDA_CHMAP_H */