aboutsummaryrefslogtreecommitdiff
path: root/include/sound
diff options
context:
space:
mode:
authorGravatar Peter Ujfalusi <peter.ujfalusi@linux.intel.com> 2024-04-09 11:38:08 +0300
committerGravatar Takashi Iwai <tiwai@suse.de> 2024-04-18 08:38:54 +0200
commita1de26c0b74f060ee29f35a6d71765c56c925f5e (patch)
tree41aa6e8b5009e3d2bcc67804a14a8bd47fb87264 /include/sound
parentALSA: scarlett2: Add Bluetooth volume control for Vocaster Two (diff)
downloadlinux-a1de26c0b74f060ee29f35a6d71765c56c925f5e.tar.gz
linux-a1de26c0b74f060ee29f35a6d71765c56c925f5e.tar.bz2
linux-a1de26c0b74f060ee29f35a6d71765c56c925f5e.zip
ALSA: hda: Introduce flags to force commands via PIO instead of CORB
Add AZX_DCAPS_PIO_COMMANDS quirk (bit 31) and use_pio_for_commands flag to be able to select PIO mode as alternative for CORB based command sending while retaining the RIRB functionality to receive unsolicited responses. This mode differs from the azx single_cmd mode when RIRB is disabled. The mixed mode is needed on Lunar Lake family because it is recommended to use Immediate Command Response (PIO mode) instead of CORB for HDA commands. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Message-ID: <20240409083812.14001-2-peter.ujfalusi@linux.intel.com>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/hdaudio.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sound/hdaudio.h b/include/sound/hdaudio.h
index a73d7f34f4e5..85d2c3d00a27 100644
--- a/include/sound/hdaudio.h
+++ b/include/sound/hdaudio.h
@@ -351,6 +351,7 @@ struct hdac_bus {
bool needs_damn_long_delay:1;
bool not_use_interrupts:1; /* prohibiting the RIRB IRQ */
bool access_sdnctl_in_dword:1; /* accessing the sdnctl register by dword */
+ bool use_pio_for_commands:1; /* Use PIO instead of CORB for commands */
int poll_count;