forked from Minki/linux
d745f5e7b8
Intel IronLake and ValleyView platforms have different HDMI widget pin and digital port mapping from other newer ones. The recent ones (HSW+) have NID 0x05 to 0x07 for port B to port D, while these chips have NID 0x04 to 0x06. For adapting this mapping, pass the codec object instead of the bus object to snd_hdac_sync_audio_rate() and snd_hdac_acomp_get_eld() so that they can check the codec ID and calculate the mapping properly. The changes in the HDMI codec driver side will follow in the later patch. Signed-off-by: Takashi Iwai <tiwai@suse.de>
58 lines
1.6 KiB
C
58 lines
1.6 KiB
C
/*
|
|
* HD-Audio helpers to sync with i915 driver
|
|
*/
|
|
#ifndef __SOUND_HDA_I915_H
|
|
#define __SOUND_HDA_I915_H
|
|
|
|
#include <drm/i915_component.h>
|
|
|
|
#ifdef CONFIG_SND_HDA_I915
|
|
int snd_hdac_set_codec_wakeup(struct hdac_bus *bus, bool enable);
|
|
int snd_hdac_display_power(struct hdac_bus *bus, bool enable);
|
|
int snd_hdac_get_display_clk(struct hdac_bus *bus);
|
|
int snd_hdac_sync_audio_rate(struct hdac_device *codec, hda_nid_t nid, int rate);
|
|
int snd_hdac_acomp_get_eld(struct hdac_device *codec, hda_nid_t nid,
|
|
bool *audio_enabled, char *buffer, int max_bytes);
|
|
int snd_hdac_i915_init(struct hdac_bus *bus);
|
|
int snd_hdac_i915_exit(struct hdac_bus *bus);
|
|
int snd_hdac_i915_register_notifier(const struct i915_audio_component_audio_ops *);
|
|
#else
|
|
static inline int snd_hdac_set_codec_wakeup(struct hdac_bus *bus, bool enable)
|
|
{
|
|
return 0;
|
|
}
|
|
static inline int snd_hdac_display_power(struct hdac_bus *bus, bool enable)
|
|
{
|
|
return 0;
|
|
}
|
|
static inline int snd_hdac_get_display_clk(struct hdac_bus *bus)
|
|
{
|
|
return 0;
|
|
}
|
|
static inline int snd_hdac_sync_audio_rate(struct hdac_device *codec,
|
|
hda_nid_t nid, int rate)
|
|
{
|
|
return 0;
|
|
}
|
|
static inline int snd_hdac_acomp_get_eld(struct hdac_device *codec, hda_nid_t nid,
|
|
bool *audio_enabled, char *buffer,
|
|
int max_bytes)
|
|
{
|
|
return -ENODEV;
|
|
}
|
|
static inline int snd_hdac_i915_init(struct hdac_bus *bus)
|
|
{
|
|
return -ENODEV;
|
|
}
|
|
static inline int snd_hdac_i915_exit(struct hdac_bus *bus)
|
|
{
|
|
return 0;
|
|
}
|
|
static inline int snd_hdac_i915_register_notifier(const struct i915_audio_component_audio_ops *ops)
|
|
{
|
|
return -ENODEV;
|
|
}
|
|
#endif
|
|
|
|
#endif /* __SOUND_HDA_I915_H */
|