ALSA: hda - Merge RIRB_PRE_DELAY into CTX_WORKAROUND caps
authorTakashi Iwai <tiwai@suse.de>
Thu, 17 Dec 2015 07:12:37 +0000 (08:12 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Nov 2016 15:36:32 +0000 (16:36 +0100)
commit ef85f299c74e6c5dd98ec0230183be33f4c2813d upstream.

AZX_DCAPS_RIRB_PRE_DELAY is always tied with AZX_DCAPS_CTX_WORKAROUND,
which is Creative's XFi specific.  So, we can replace it and reduce
one more bit free for DCAPS.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/pci/hda/hda_controller.c
sound/pci/hda/hda_controller.h
sound/pci/hda/hda_intel.c

index 22dbfa563919fca4ace4d3d50b7c822008c7bb34..77cda91a81328009cc4b48b3f009434178b564f1 100644 (file)
@@ -956,7 +956,7 @@ irqreturn_t azx_interrupt(int irq, void *dev_id)
        status = azx_readb(chip, RIRBSTS);
        if (status & RIRB_INT_MASK) {
                if (status & RIRB_INT_RESPONSE) {
-                       if (chip->driver_caps & AZX_DCAPS_RIRB_PRE_DELAY)
+                       if (chip->driver_caps & AZX_DCAPS_CTX_WORKAROUND)
                                udelay(80);
                        snd_hdac_bus_update_rirb(bus);
                }
index 7b635d68cfe1a2d76efd9826b2020c10f8c834a3..b69552c19032a19b66be1d937a027d57fd898f77 100644 (file)
@@ -33,7 +33,7 @@
 #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 */
-#define AZX_DCAPS_RIRB_PRE_DELAY (1 << 14)     /* Put a delay before read */
+/* 14 unused */
 #define AZX_DCAPS_CTX_WORKAROUND (1 << 15)     /* X-Fi workaround */
 #define AZX_DCAPS_POSFIX_LPIB  (1 << 16)       /* Use LPIB as default */
 #define AZX_DCAPS_POSFIX_VIA   (1 << 17)       /* Use VIACOMBO as default */
index d4671973d8890626555eac72e24a10f74cea8423..74a6f83e643826902a96641cc8e0a852e198dfe5 100644 (file)
@@ -2406,14 +2406,12 @@ static const struct pci_device_id azx_ids[] = {
          .class = PCI_CLASS_MULTIMEDIA_HD_AUDIO << 8,
          .class_mask = 0xffffff,
          .driver_data = AZX_DRIVER_CTX | AZX_DCAPS_CTX_WORKAROUND |
-         AZX_DCAPS_NO_64BIT |
-         AZX_DCAPS_RIRB_PRE_DELAY | AZX_DCAPS_POSFIX_LPIB },
+         AZX_DCAPS_NO_64BIT | AZX_DCAPS_POSFIX_LPIB },
 #else
        /* this entry seems still valid -- i.e. without emu20kx chip */
        { PCI_DEVICE(0x1102, 0x0009),
          .driver_data = AZX_DRIVER_CTX | AZX_DCAPS_CTX_WORKAROUND |
-         AZX_DCAPS_NO_64BIT |
-         AZX_DCAPS_RIRB_PRE_DELAY | AZX_DCAPS_POSFIX_LPIB },
+         AZX_DCAPS_NO_64BIT | AZX_DCAPS_POSFIX_LPIB },
 #endif
        /* CM8888 */
        { PCI_DEVICE(0x13f6, 0x5011),