mirror of
https://github.com/torvalds/linux.git
synced 2024-12-12 06:02:38 +00:00
98d8fc6c5d
The file is moved to hda core and renamed to hdac_i915.c, so can be used by both legacy HDA driver and new Skylake audio driver. - Add snd_hdac_ prefix to the public APIs. - The i915 audio component is moved to core bus and dynamically allocated. - A static pointer hdac_acomp is used to help bind/unbind callbacks to get this component, because the sound card's private_data is used by the azx chip pointer, which is a legacy structure. It could be removed if private _data changes to some core structure which can be extended to find the bus. - snd_hdac_get_display_clk() is added to get the display core clock for HSW/BDW. - haswell_set_bclk() is moved to hda_intel.c because it needs to write the controller registers EM4/EM5, and only legacy HD-A needs it for HSW/BDW. - Move definition of HSW/BDW-specific registers EM4/EM5 to hda_register.h and rename them to HSW_EM4/HSW_EM5, because other HD-A controllers have different layout for the extended mode registers. Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
37 lines
865 B
C
37 lines
865 B
C
/*
|
|
* HD-Audio helpers to sync with i915 driver
|
|
*/
|
|
#ifndef __SOUND_HDA_I915_H
|
|
#define __SOUND_HDA_I915_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_i915_init(struct hdac_bus *bus);
|
|
int snd_hdac_i915_exit(struct hdac_bus *bus);
|
|
#else
|
|
static 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_i915_init(struct hdac_bus *bus)
|
|
{
|
|
return -ENODEV;
|
|
}
|
|
static inline int snd_hdac_i915_exit(struct hdac_bus *bus)
|
|
{
|
|
return 0;
|
|
}
|
|
#endif
|
|
|
|
#endif /* __SOUND_HDA_I915_H */
|