diff --git a/include/sound/hdaudio.h b/include/sound/hdaudio.h index 45f944d57982..ca1d9a70d026 100644 --- a/include/sound/hdaudio.h +++ b/include/sound/hdaudio.h @@ -297,7 +297,7 @@ struct hdac_rb { * @num_streams: streams supported * @idx: HDA link index * @hlink_list: link list of HDA links - * @lock: lock for link mgmt + * @lock: lock for link and display power mgmt * @cmd_dma_state: state of cmd DMAs: CORB and RIRB */ struct hdac_bus { @@ -363,6 +363,7 @@ struct hdac_bus { /* locks */ spinlock_t reg_lock; struct mutex cmd_mutex; + struct mutex lock; /* DRM component interface */ struct drm_audio_component *audio_component; @@ -373,11 +374,9 @@ struct hdac_bus { int num_streams; int idx; + /* link management */ struct list_head hlink_list; - - struct mutex lock; bool cmd_dma_state; - }; int snd_hdac_bus_init(struct hdac_bus *bus, struct device *dev, diff --git a/sound/hda/ext/hdac_ext_bus.c b/sound/hda/ext/hdac_ext_bus.c index ec7715c6b0c0..c203af71a099 100644 --- a/sound/hda/ext/hdac_ext_bus.c +++ b/sound/hda/ext/hdac_ext_bus.c @@ -104,9 +104,7 @@ int snd_hdac_ext_bus_init(struct hdac_bus *bus, struct device *dev, return ret; bus->ext_ops = ext_ops; - INIT_LIST_HEAD(&bus->hlink_list); bus->idx = idx++; - bus->cmd_dma_state = true; return 0; diff --git a/sound/hda/hdac_bus.c b/sound/hda/hdac_bus.c index ad8eee08013f..10e5d261fde1 100644 --- a/sound/hda/hdac_bus.c +++ b/sound/hda/hdac_bus.c @@ -39,6 +39,7 @@ int snd_hdac_bus_init(struct hdac_bus *bus, struct device *dev, spin_lock_init(&bus->reg_lock); mutex_init(&bus->cmd_mutex); mutex_init(&bus->lock); + INIT_LIST_HEAD(&bus->hlink_list); bus->irq = -1; return 0; }