Merge branch 'for-linus' into for-next
This commit is contained in:
@@ -363,7 +363,10 @@ enum {
|
||||
((pci)->device == 0x0d0c) || \
|
||||
((pci)->device == 0x160c))
|
||||
|
||||
#define IS_BROXTON(pci) ((pci)->device == 0x5a98)
|
||||
#define IS_SKL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa170)
|
||||
#define IS_SKL_LP(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x9d70)
|
||||
#define IS_BXT(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x5a98)
|
||||
#define IS_SKL_PLUS(pci) (IS_SKL(pci) || IS_SKL_LP(pci) || IS_BXT(pci))
|
||||
|
||||
static char *driver_short_names[] = {
|
||||
[AZX_DRIVER_ICH] = "HDA Intel",
|
||||
@@ -540,13 +543,13 @@ static void hda_intel_init_chip(struct azx *chip, bool full_reset)
|
||||
|
||||
if (chip->driver_caps & AZX_DCAPS_I915_POWERWELL)
|
||||
snd_hdac_set_codec_wakeup(bus, true);
|
||||
if (IS_BROXTON(pci)) {
|
||||
if (IS_SKL_PLUS(pci)) {
|
||||
pci_read_config_dword(pci, INTEL_HDA_CGCTL, &val);
|
||||
val = val & ~INTEL_HDA_CGCTL_MISCBDCGE;
|
||||
pci_write_config_dword(pci, INTEL_HDA_CGCTL, val);
|
||||
}
|
||||
azx_init_chip(chip, full_reset);
|
||||
if (IS_BROXTON(pci)) {
|
||||
if (IS_SKL_PLUS(pci)) {
|
||||
pci_read_config_dword(pci, INTEL_HDA_CGCTL, &val);
|
||||
val = val | INTEL_HDA_CGCTL_MISCBDCGE;
|
||||
pci_write_config_dword(pci, INTEL_HDA_CGCTL, val);
|
||||
@@ -555,7 +558,7 @@ static void hda_intel_init_chip(struct azx *chip, bool full_reset)
|
||||
snd_hdac_set_codec_wakeup(bus, false);
|
||||
|
||||
/* reduce dma latency to avoid noise */
|
||||
if (IS_BROXTON(pci))
|
||||
if (IS_BXT(pci))
|
||||
bxt_reduce_dma_latency(chip);
|
||||
}
|
||||
|
||||
@@ -977,11 +980,6 @@ static int azx_resume(struct device *dev)
|
||||
/* put codec down to D3 at hibernation for Intel SKL+;
|
||||
* otherwise BIOS may still access the codec and screw up the driver
|
||||
*/
|
||||
#define IS_SKL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa170)
|
||||
#define IS_SKL_LP(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x9d70)
|
||||
#define IS_BXT(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x5a98)
|
||||
#define IS_SKL_PLUS(pci) (IS_SKL(pci) || IS_SKL_LP(pci) || IS_BXT(pci))
|
||||
|
||||
static int azx_freeze_noirq(struct device *dev)
|
||||
{
|
||||
struct pci_dev *pci = to_pci_dev(dev);
|
||||
@@ -2168,10 +2166,10 @@ static void azx_remove(struct pci_dev *pci)
|
||||
struct hda_intel *hda;
|
||||
|
||||
if (card) {
|
||||
/* flush the pending probing work */
|
||||
/* cancel the pending probing work */
|
||||
chip = card->private_data;
|
||||
hda = container_of(chip, struct hda_intel, chip);
|
||||
flush_work(&hda->probe_work);
|
||||
cancel_work_sync(&hda->probe_work);
|
||||
|
||||
snd_card_free(card);
|
||||
}
|
||||
|
Reference in New Issue
Block a user