Skip to content

Commit 3f7f36a

Browse files
committed
Revert "ALSA: hda: Conditionally use snooping for AMD HDMI"
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]>
1 parent df52156 commit 3f7f36a

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
@@ -307,7 +306,7 @@ enum {
307306

308307
/* quirks for ATI HDMI with snoop off */
309308
#define AZX_DCAPS_PRESET_ATI_HDMI_NS \
310-
(AZX_DCAPS_PRESET_ATI_HDMI | AZX_DCAPS_AMD_ALLOC_FIX)
309+
(AZX_DCAPS_PRESET_ATI_HDMI | AZX_DCAPS_SNOOP_OFF)
311310

312311
/* quirks for AMD SB */
313312
#define AZX_DCAPS_PRESET_AMD_SB \
@@ -1707,13 +1706,6 @@ static void azx_check_snoop_available(struct azx *chip)
17071706
if (chip->driver_caps & AZX_DCAPS_SNOOP_OFF)
17081707
snoop = false;
17091708

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

0 commit comments

Comments
 (0)