<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/sound/hdaudio.h, branch v4.9.331</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.9.331</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.9.331'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2016-08-09T06:53:56+00:00</updated>
<entry>
<title>ALSA: hda - move bus_parse_capabilities to core</title>
<updated>2016-08-09T06:53:56+00:00</updated>
<author>
<name>Vinod Koul</name>
<email>vinod.koul@intel.com</email>
</author>
<published>2016-08-04T10:16:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6720b38420a01d40dbeb8ee575eb601d612de691'/>
<id>urn:sha1:6720b38420a01d40dbeb8ee575eb601d612de691</id>
<content type='text'>
HDA capability introduced recently are move to hdac core so that it can
be used by legacy driver as well. Also move the capability pointers up
to hdac_bus object.

Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: hda - Fix unexpected resume through regmap code path</title>
<updated>2016-03-08T09:49:02+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2016-03-04T10:34:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fc4f000bf8c0cbf38f44de6bd5e225574e572ed4'/>
<id>urn:sha1:fc4f000bf8c0cbf38f44de6bd5e225574e572ed4</id>
<content type='text'>
HD-audio driver has a mechanism to trigger the runtime resume
automatically at accessing the verbs.  This auto-resume, however,
causes the mutex deadlock when invoked from the regmap handler since
the regmap keeps the mutex while auto-resuming.  For avoiding that,
there is some tricky check in the HDA regmap handler to return -EAGAIN
error to back-off when the codec is powered down.  Then the caller of
regmap r/w will retry after properly turning on the codec power.

This works in most cases, but there seems a slight race between the
codec power check and the actual on-demand auto-resume trigger.  This
resulted in the lockdep splat, eventually leading to a real deadlock.

This patch tries to address the race window by getting the runtime PM
refcount at the check time using pm_runtime_get_if_in_use().  With
this call, we can keep the power on only when the codec has been
already turned on, and back off if not.

For keeping the code consistency, the code touching the runtime PM is
stored in hdac_device.c although it's used only locally in
hdac_regmap.c.

Reported-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: hda - Loop interrupt handling until really cleared</title>
<updated>2016-02-26T07:50:31+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2016-02-23T14:54:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=473f414564528a819f0c2bb6b4bf26366b64c9ab'/>
<id>urn:sha1:473f414564528a819f0c2bb6b4bf26366b64c9ab</id>
<content type='text'>
Currently the interrupt handler of HD-audio driver assumes that no irq
update is needed while processing the irq.  But in reality, it has
been confirmed that the HW irq is issued even during the irq
handling.  Since we clear the irq status at the beginning, process the
interrupt, then exits from the handler, the lately issued interrupt is
left untouched without being properly processed.

This patch changes the interrupt handler code to loop over the
check-and-process.  The handler tries repeatedly as long as the IRQ
status are turned on, and either stream or CORB/RIRB is handled.

For checking the stream handling, snd_hdac_bus_handle_stream_irq()
returns a value indicating the stream indices bits.  Other than that,
the change is only in the irq handler itself.

Reported-by: Libin Yang &lt;libin.yang@linux.intel.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: hda - Add a common helper to give the codec modalias string</title>
<updated>2015-10-20T08:14:59+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2015-10-16T09:35:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4f9e0c38c5e991e2d050d13e28be74b93ab704c0'/>
<id>urn:sha1:4f9e0c38c5e991e2d050d13e28be74b93ab704c0</id>
<content type='text'>
This patch provide a new common helper function,
snd_hdac_codec_modalias(), to give the codec modalias name string.
This function will be used by multiple places in the later patches.

Reviewed-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Tested-by: Subhransu S Prusty &lt;subhransu.s.prusty@intel.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: hda - Add hduadio support to DEVTABLE</title>
<updated>2015-10-20T08:14:42+00:00</updated>
<author>
<name>Subhransu S. Prusty</name>
<email>subhransu.s.prusty@intel.com</email>
</author>
<published>2015-09-29T08:26:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=da23ac1e40ce844d1a9553906bdacce160af76f6'/>
<id>urn:sha1:da23ac1e40ce844d1a9553906bdacce160af76f6</id>
<content type='text'>
For generating modalias entries automatically, move the definition of
struct hda_device_id to linux/mod_devicetable.h and add the handling
of this record in file2alias helper.  The new modalias is represented
with combination of vendor id, device id, and api version as
"hdaudio:vNrNaN".

This patch itself doesn't convert the existing modaliases.  Since they
were added manually, this patch won't give any regression by itself at
this point.

[Modified the modalias format to adapt the api_version field, and drop
 invalid ANY_ID definition by tiwai]

Signed-off-by: Subhransu S. Prusty &lt;subhransu.s.prusty@intel.com&gt;
Reviewed-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Tested-by: Subhransu S Prusty &lt;subhransu.s.prusty@intel.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: hda - Add api_version to hda_device_id struct</title>
<updated>2015-10-20T08:14:17+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2015-10-15T19:35:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=93ed8560e98afc486df94f5a6238c1f0894b38b8'/>
<id>urn:sha1:93ed8560e98afc486df94f5a6238c1f0894b38b8</id>
<content type='text'>
For distinguishing the difference between HDA legacy and ext codec
driver entries, we need to expose the value corresponding to type
field.  This patch adds a new field, api_version, to hda_device_id
struct, so that this information is embedded in modalias string.

Although the information is basically redundant (struct hdac_device
already has type field), the helper that extracts from
MODULE_DEVICE_TABLE() won't take it account except for the exported
table entries themselves.  So we need to put the same information in
the table, too.

Reviewed-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Tested-by: Subhransu S Prusty &lt;subhransu.s.prusty@intel.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: hda - consolidate chip rename functions</title>
<updated>2015-10-15T12:05:28+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2015-10-01T15:59:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ded255be2276d365a91af2de7c7f8e2c233d4fa2'/>
<id>urn:sha1:ded255be2276d365a91af2de7c7f8e2c233d4fa2</id>
<content type='text'>
A few multiple codec drivers do renaming the chip_name string but all
these are open-coded and some of them have even no error check.  Let's
make common helpers to do it properly.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: hdac: Copy codec helpers to core</title>
<updated>2015-10-08T17:09:30+00:00</updated>
<author>
<name>Subhransu S. Prusty</name>
<email>subhransu.s.prusty@intel.com</email>
</author>
<published>2015-10-08T08:48:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1b5e6167c27e1d3be33155baf9660768ac74aae0'/>
<id>urn:sha1:1b5e6167c27e1d3be33155baf9660768ac74aae0</id>
<content type='text'>
The current codec helpers are local to hda code and needs to be moved to
core so that other users can use it.
The helpers to read/write the codec and to check the
power state of widgets is copied

Signed-off-by: Subhransu S. Prusty &lt;subhransu.s.prusty@intel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: hdac: Add snd_hdac_get_hdac_stream()</title>
<updated>2015-08-23T07:43:27+00:00</updated>
<author>
<name>Jeeja KP</name>
<email>jeeja.kp@intel.com</email>
</author>
<published>2015-08-23T06:22:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4308c9b083fbab1a442e68a03de099841791df27'/>
<id>urn:sha1:4308c9b083fbab1a442e68a03de099841791df27</id>
<content type='text'>
Add a helper to find the stream using stream tag and direction.
This is useful for drivers to query stream based on stream tag
and direction, fox example while downloading FW thru DSP loader
code

Signed-off-by: Jeeja KP &lt;jeeja.kp@intel.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: hdac: add snd_hdac_refresh_widget_sysfs()</title>
<updated>2015-08-21T10:34:50+00:00</updated>
<author>
<name>Vinod Koul</name>
<email>vinod.koul@intel.com</email>
</author>
<published>2015-08-21T10:17:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=18dfd79d92e5292611ac4944a67bd837dd7632c9'/>
<id>urn:sha1:18dfd79d92e5292611ac4944a67bd837dd7632c9</id>
<content type='text'>
Some codecs like Intel HDMI by default do not show up all the pins, they
have to be manually enabled, so we need to refresh the codec widgets and
then recreate the sysfs tree. So add new API snd_hdac_refresh_widget_sysfs()
to do this. It should be be used by codec driver after sending magic verbs
to codec

Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
</feed>
