Commit b4eb0d52 authored by Ville Syrjälä's avatar Ville Syrjälä

ALSA: x86: Split snd_intelhad into card and PCM specific structures

To allow multiple PCM devices to be registered for the LPE audio card,
split the private data into card and PCM specific chunks. For now we'll
stick to just one PCM device as before.

v2: Rework to do a pcm device per port instead of per pipe

Cc: Takashi Iwai <>
Cc: Pierre-Louis Bossart <>
Signed-off-by: default avatarVille Syrjälä <>
Link: default avatarTakashi Iwai <>
parent bb4ac5a0
This diff is collapsed.
......@@ -101,7 +101,7 @@ struct pcm_stream_info {
* @chmap: holds channel map info
struct snd_intelhad {
struct snd_card *card;
struct snd_intelhad_card *card_ctx;
bool connected;
struct pcm_stream_info stream_info;
unsigned char eld[HDMI_MAX_ELD_BYTES];
......@@ -123,8 +123,6 @@ struct snd_intelhad {
unsigned int period_bytes; /* PCM period size in bytes */
/* internal stuff */
int irq;
void __iomem *mmio_start;
unsigned int had_config_offset;
union aud_cfg aud_config; /* AUD_CONFIG reg value cache */
struct work_struct hdmi_audio_wq;
......@@ -133,4 +131,15 @@ struct snd_intelhad {
struct snd_jack *jack;
struct snd_intelhad_card {
struct snd_card *card;
struct device *dev;
/* internal stuff */
int irq;
void __iomem *mmio_start;
int num_ports;
struct snd_intelhad pcm_ctx[3];
#endif /* _INTEL_HDMI_AUDIO_ */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment