Patch "ALSA: hda - Raise AZX_DCAPS_RIRB_DELAY handling into top drivers" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
ALSA: hda - Raise AZX_DCAPS_RIRB_DELAY handling into top drivers
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
alsa-hda-raise-azx_dcaps_rirb_delay-handling-into-top-drivers.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
7d9a180895ee8c301df7f9447429009795c56c21Mon Sep 17 00:00:00 2001
From: Takashi Iwai <[email protected]>
Date: Thu, 17 Dec 2015 08:23:39 +0100
Subject: ALSA: hda - Raise AZX_DCAPS_RIRB_DELAY handling into top drivers
From: Takashi Iwai <[email protected]>
commit 7d9a180895ee8c301df7f9447429009795c56c21 upstream.
AZX_DCAPS_RIRB_DELAY is dedicated only for Nvidia and its purpose is just to set a flag in bus. So it's better to be set in the toplevel driver, either hda_intel.c or hda_tegra.c, instead of the common hda_controller.c. This also allows us to strip this flag from dcaps, so save one more bit there.
--- sound/pci/hda/hda_controller.c | 5 ----- sound/pci/hda/hda_controller.h | 2 +- sound/pci/hda/hda_intel.c | 7 ++++++- sound/pci/hda/hda_tegra.c | 5 +++-- 4 files changed, 10 insertions(+), 9 deletions(-)
sound/pci/hda/hda_controller.c +0 -5
@@ -1055,11 +1055,6 @@ int azx_bus_init(struct azx *chip, constif (chip->driver_caps &AZX_DCAPS_CORBRP_SELF_CLEAR ) bus->core.corbrp_self_clear = true; -if (chip->driver_caps &AZX_DCAPS_RIRB_DELAY ) { -dev_dbg (chip->card->dev,"Enable delay in RIRB handling\n" ); - bus->needs_damn_long_delay =1 ; - } -if (chip->driver_caps &AZX_DCAPS_4K_BDLE_BOUNDARY ) bus->core.align_bdle_4k = true;
sound/pci/hda/hda_controller.h +1 -1
@@ -32,7 +32,7 @@#define AZX_DCAPS_NO_MSI (1 << 9)/* No MSI support */ #define AZX_DCAPS_SNOOP_MASK (3 << 10)/* snoop type mask */ #define AZX_DCAPS_SNOOP_OFF (1 << 12)/* snoop default off */ -#define AZX_DCAPS_RIRB_DELAY (1 << 13)/* Long delay in read loop */ +/* 13 unused */ /* 14 unused */ #define AZX_DCAPS_CTX_WORKAROUND (1 << 15)/* X-Fi workaround */ #define AZX_DCAPS_POSFIX_LPIB (1 << 16)/* Use LPIB as default */
sound/pci/hda/hda_intel.c +6 -1
@@ -334,7 +334,7 @@ enum {/* quirks for Nvidia */ #define AZX_DCAPS_PRESET_NVIDIA \ - (AZX_DCAPS_RIRB_DELAY | AZX_DCAPS_NO_MSI | /*AZX_DCAPS_ALIGN_BUFSIZE |*/ \ + (AZX_DCAPS_NO_MSI | /*AZX_DCAPS_ALIGN_BUFSIZE |*/ \AZX_DCAPS_NO_64BIT | AZX_DCAPS_CORBRP_SELF_CLEAR |\ AZX_DCAPS_SNOOP_TYPE(NVIDIA))
@@ -1637,6 +1637,11 @@ static int azx_create(struct snd_card *creturn err; } +if (chip->driver_type ==AZX_DRIVER_NVIDIA ) { +dev_dbg (chip->card->dev,"Enable delay in RIRB handling\n" ); + chip->bus.needs_damn_long_delay =1 ; + } + err =snd_device_new (card,SNDRV_DEV_LOWLEVEL , chip, &ops);if (err <0 ) {dev_err (card->dev,"Error creating device [card]!\n" );
sound/pci/hda/hda_tegra.c +3 -2
@@ -464,6 +464,8 @@ static int hda_tegra_create(struct snd_cif (err <0 )return err; + chip->bus.needs_damn_long_delay =1 ; + err =snd_device_new (card,SNDRV_DEV_LOWLEVEL , chip, &ops);if (err <0 ) {dev_err (card->dev,"Error creating device\n" );
@@ -481,8 +483,7 @@ MODULE_DEVICE_TABLE(of, hda_tegra_match)static int hda_tegra_probe (struct platform_device *pdev) { -const unsigned int driver_flags =AZX_DCAPS_RIRB_DELAY | -AZX_DCAPS_CORBRP_SELF_CLEAR ; +const unsigned int driver_flags =AZX_DCAPS_CORBRP_SELF_CLEAR ;struct snd_card *card;struct azx *chip;struct hda_tegra *hda;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/alsa-hda-adding-a-new-group-of-pin-cfg-into-alc295-pin-quirk-table.patch queue-4.4/alsa-hda-fix-headset-mic-detection-problem-for-two-dell-laptops.patch queue-4.4/alsa-hda-merge-rirb_pre_delay-into-ctx_workaround-caps.patch queue-4.4/alsa-hda-allow-40-bit-dma-mask-for-nvidia-devices.patch queue-4.4/alsa-hda-raise-azx_dcaps_rirb_delay-handling-into-top-drivers.patch queue-4.4/alsa-usb-audio-add-quirk-for-syntek-stk1160.patch