Skip to content

Commit 31cc5ee

Browse files
tiwaimehmetb0
authored andcommitted
Revert "ALSA: hda: Conditionally use snooping for AMD HDMI"
BugLink: https://bugs.launchpad.net/bugs/2089884 commit 3f7f36a upstream. This reverts commit 478689b. The fix seems leading to regressions for other systems. Also, the way to check the presence of IOMMU via get_dma_ops() isn't reliable and it's no longer applicable for 6.12. After all, it's no right fix, so let's revert it at first. To be noted, the PCM buffer allocation has been changed to try the continuous pages at first since 6.12, so the problem could be already addressed without this hackish workaround. Reported-by: Salvatore Bonaccorso <[email protected]> Closes: https://lore.kernel.org/[email protected] Link: https://patch.msgid.link/[email protected] Signed-off-by: Takashi Iwai <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Koichiro Den <[email protected]> Signed-off-by: Roxana Nicolescu <[email protected]>
1 parent 27af93f commit 31cc5ee

File tree

2 files changed

+2
-10
lines changed

2 files changed

+2
-10
lines changed

sound/pci/hda/hda_controller.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
#else
2929
#define AZX_DCAPS_I915_COMPONENT 0 /* NOP */
3030
#endif
31-
#define AZX_DCAPS_AMD_ALLOC_FIX (1 << 14) /* AMD allocation workaround */
31+
/* 14 unused */
3232
#define AZX_DCAPS_CTX_WORKAROUND (1 << 15) /* X-Fi workaround */
3333
#define AZX_DCAPS_POSFIX_LPIB (1 << 16) /* Use LPIB as default */
3434
#define AZX_DCAPS_AMD_WORKAROUND (1 << 17) /* AMD-specific workaround */

sound/pci/hda/hda_intel.c

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040

4141
#ifdef CONFIG_X86
4242
/* for snoop control */
43-
#include <linux/dma-map-ops.h>
4443
#include <asm/set_memory.h>
4544
#include <asm/cpufeature.h>
4645
#endif
@@ -302,7 +301,7 @@ enum {
302301

303302
/* quirks for ATI HDMI with snoop off */
304303
#define AZX_DCAPS_PRESET_ATI_HDMI_NS \
305-
(AZX_DCAPS_PRESET_ATI_HDMI | AZX_DCAPS_AMD_ALLOC_FIX)
304+
(AZX_DCAPS_PRESET_ATI_HDMI | AZX_DCAPS_SNOOP_OFF)
306305

307306
/* quirks for AMD SB */
308307
#define AZX_DCAPS_PRESET_AMD_SB \
@@ -1710,13 +1709,6 @@ static void azx_check_snoop_available(struct azx *chip)
17101709
if (chip->driver_caps & AZX_DCAPS_SNOOP_OFF)
17111710
snoop = false;
17121711

1713-
#ifdef CONFIG_X86
1714-
/* check the presence of DMA ops (i.e. IOMMU), disable snoop conditionally */
1715-
if ((chip->driver_caps & AZX_DCAPS_AMD_ALLOC_FIX) &&
1716-
!get_dma_ops(chip->card->dev))
1717-
snoop = false;
1718-
#endif
1719-
17201712
chip->snoop = snoop;
17211713
if (!snoop) {
17221714
dev_info(chip->card->dev, "Force to non-snoop mode\n");

0 commit comments

Comments
 (0)