Lines Matching refs:chip
281 #define azx_get_snoop_type(chip) \
282 (((chip)->driver_caps & AZX_DCAPS_SNOOP_MASK) >> 10)
362 #define use_vga_switcheroo(chip) ((chip)->use_vga_switcheroo)
363 #define needs_eld_notify_link(chip) ((chip)->bus.keep_power)
365 #define use_vga_switcheroo(chip) 0
366 #define needs_eld_notify_link(chip) false
403 static int azx_acquire_irq(struct azx *chip, int do_disconnect);
404 static void set_default_power_save(struct azx *chip);
421 static void azx_init_pci(struct azx *chip)
423 int snoop_type = azx_get_snoop_type(chip);
431 if (!(chip->driver_caps & AZX_DCAPS_NO_TCSEL)) {
432 dev_dbg(chip->card->dev, "Clearing TCSEL\n");
433 update_pci_byte(chip->pci, AZX_PCIREG_TCSEL, 0x07, 0);
440 dev_dbg(chip->card->dev, "Setting ATI snoop: %d\n",
441 azx_snoop(chip));
442 update_pci_byte(chip->pci,
444 azx_snoop(chip) ? ATI_SB450_HDAUDIO_ENABLE_SNOOP : 0);
449 dev_dbg(chip->card->dev, "Setting Nvidia snoop: %d\n",
450 azx_snoop(chip));
451 update_pci_byte(chip->pci,
454 update_pci_byte(chip->pci,
457 update_pci_byte(chip->pci,
465 pci_read_config_word(chip->pci, INTEL_SCH_HDA_DEVC, &snoop);
466 if ((!azx_snoop(chip) && !(snoop & INTEL_SCH_HDA_DEVC_NOSNOOP)) ||
467 (azx_snoop(chip) && (snoop & INTEL_SCH_HDA_DEVC_NOSNOOP))) {
469 if (!azx_snoop(chip))
471 pci_write_config_word(chip->pci, INTEL_SCH_HDA_DEVC, snoop);
472 pci_read_config_word(chip->pci,
475 dev_dbg(chip->card->dev, "SCH snoop: %s\n",
488 static void bxt_reduce_dma_latency(struct azx *chip)
492 val = azx_readl(chip, VS_EM4L);
494 azx_writel(chip, VS_EM4L, val);
506 static int intel_get_lctl_scf(struct azx *chip)
508 struct hdac_bus *bus = azx_bus(chip);
521 dev_warn(chip->card->dev, "set audio clock frequency to 6MHz");
525 static int intel_ml_lctl_set_power(struct azx *chip, int state)
527 struct hdac_bus *bus = azx_bus(chip);
552 static void intel_init_lctl(struct azx *chip)
554 struct hdac_bus *bus = azx_bus(chip);
573 ret = intel_ml_lctl_set_power(chip, 0);
580 val |= intel_get_lctl_scf(chip);
585 intel_ml_lctl_set_power(chip, 1);
589 static void hda_intel_init_chip(struct azx *chip, bool full_reset)
591 struct hdac_bus *bus = azx_bus(chip);
592 struct pci_dev *pci = chip->pci;
596 if (chip->driver_type == AZX_DRIVER_SKL) {
601 azx_init_chip(chip, full_reset);
602 if (chip->driver_type == AZX_DRIVER_SKL) {
612 bxt_reduce_dma_latency(chip);
615 intel_init_lctl(chip);
619 static int azx_get_delay_from_lpib(struct azx *chip, struct azx_dev *azx_dev,
624 unsigned int lpib_pos = azx_get_pos_lpib(chip, azx_dev);
639 dev_info(chip->card->dev,
643 chip->driver_caps &= ~AZX_DCAPS_COUNT_LPIB_DELAY;
644 chip->get_delay[stream] = NULL;
650 static int azx_position_ok(struct azx *chip, struct azx_dev *azx_dev);
653 static int azx_position_check(struct azx *chip, struct azx_dev *azx_dev)
655 struct hda_intel *hda = container_of(chip, struct hda_intel, chip);
658 ok = azx_position_ok(chip, azx_dev);
670 #define display_power(chip, enable) \
671 snd_hdac_display_power(azx_bus(chip), HDA_CODEC_IDX_CONTROLLER, enable)
684 static int azx_position_ok(struct azx *chip, struct azx_dev *azx_dev)
693 wallclk = azx_readl(chip, WALLCLK) - azx_dev->core.start_wallclk;
697 if (chip->get_position[stream])
698 pos = chip->get_position[stream](chip, azx_dev);
700 pos = azx_get_pos_posbuf(chip, azx_dev);
702 dev_info(chip->card->dev,
704 chip->get_position[stream] = azx_get_pos_lpib;
705 if (chip->get_position[0] == azx_get_pos_lpib &&
706 chip->get_position[1] == azx_get_pos_lpib)
707 azx_bus(chip)->use_posbuf = false;
708 pos = azx_get_pos_lpib(chip, azx_dev);
709 chip->get_delay[stream] = NULL;
711 chip->get_position[stream] = azx_get_pos_posbuf;
712 if (chip->driver_caps & AZX_DCAPS_COUNT_LPIB_DELAY)
713 chip->get_delay[stream] = azx_get_delay_from_lpib;
726 return chip->bdl_pos_adj ? 0 : -1;
743 return chip->bdl_pos_adj ? 0 : -1;
755 struct azx *chip = &hda->chip;
756 struct hdac_bus *bus = azx_bus(chip);
761 dev_info(chip->card->dev,
763 chip->card->number);
776 ok = azx_position_ok(chip, azx_dev);
795 static void azx_clear_irq_pending(struct azx *chip)
797 struct hdac_bus *bus = azx_bus(chip);
808 static int azx_acquire_irq(struct azx *chip, int do_disconnect)
810 struct hdac_bus *bus = azx_bus(chip);
812 if (request_irq(chip->pci->irq, azx_interrupt,
813 chip->msi ? 0 : IRQF_SHARED,
814 chip->card->irq_descr, chip)) {
815 dev_err(chip->card->dev,
817 chip->pci->irq);
819 snd_card_disconnect(chip->card);
822 bus->irq = chip->pci->irq;
823 chip->card->sync_irq = bus->irq;
824 pci_intx(chip->pci, !chip->msi);
829 static unsigned int azx_via_get_position(struct azx *chip,
884 static unsigned int azx_get_pos_fifo(struct azx *chip, struct azx_dev *azx_dev)
915 static int azx_get_delay_from_fifo(struct azx *chip, struct azx_dev *azx_dev,
924 static void __azx_shutdown_chip(struct azx *chip, bool skip_link_reset)
926 azx_stop_chip(chip);
928 azx_enter_link_reset(chip);
929 azx_clear_irq_pending(chip);
930 display_power(chip, false);
937 static void azx_shutdown_chip(struct azx *chip)
939 __azx_shutdown_chip(chip, false);
942 static void azx_add_card_list(struct azx *chip)
944 struct hda_intel *hda = container_of(chip, struct hda_intel, chip);
950 static void azx_del_card_list(struct azx *chip)
952 struct hda_intel *hda = container_of(chip, struct hda_intel, chip);
962 struct azx *chip;
971 chip = &hda->chip;
972 if (!hda->probe_continued || chip->disabled)
974 snd_hda_set_power_save(&chip->bus, power_save * 1000);
985 struct azx *chip;
990 chip = card->private_data;
991 hda = container_of(chip, struct hda_intel, chip);
992 if (chip->disabled || hda->init_failed || !chip->running)
997 static void __azx_runtime_resume(struct azx *chip)
999 struct hda_intel *hda = container_of(chip, struct hda_intel, chip);
1000 struct hdac_bus *bus = azx_bus(chip);
1004 display_power(chip, true);
1009 status = azx_readw(chip, STATESTS);
1011 azx_init_pci(chip);
1012 hda_intel_init_chip(chip, true);
1015 if (!chip->pm_prepared) {
1016 list_for_each_codec(codec, &chip->bus) {
1027 display_power(chip, false);
1034 struct azx *chip;
1039 chip = card->private_data;
1040 chip->pm_prepared = 1;
1043 flush_work(&azx_bus(chip)->unsol_work);
1054 struct azx *chip;
1059 chip = card->private_data;
1061 chip->pm_prepared = 0;
1067 struct azx *chip;
1073 chip = card->private_data;
1074 bus = azx_bus(chip);
1075 azx_shutdown_chip(chip);
1077 free_irq(bus->irq, chip);
1079 chip->card->sync_irq = -1;
1082 if (chip->msi)
1083 pci_disable_msi(chip->pci);
1085 trace_azx_suspend(chip);
1092 struct azx *chip;
1097 chip = card->private_data;
1098 if (chip->msi)
1099 if (pci_enable_msi(chip->pci) < 0)
1100 chip->msi = 0;
1101 if (azx_acquire_irq(chip, 1) < 0)
1104 __azx_runtime_resume(chip);
1106 trace_azx_resume(chip);
1116 struct azx *chip = card->private_data;
1121 if (chip->driver_type == AZX_DRIVER_SKL)
1130 struct azx *chip = card->private_data;
1135 if (chip->driver_type == AZX_DRIVER_SKL)
1145 struct azx *chip;
1149 chip = card->private_data;
1152 azx_writew(chip, WAKEEN, azx_readw(chip, WAKEEN) | STATESTS_INT_MASK);
1154 azx_shutdown_chip(chip);
1155 trace_azx_runtime_suspend(chip);
1162 struct azx *chip;
1166 chip = card->private_data;
1167 __azx_runtime_resume(chip);
1170 azx_writew(chip, WAKEEN, azx_readw(chip, WAKEEN) & ~STATESTS_INT_MASK);
1172 trace_azx_runtime_resume(chip);
1179 struct azx *chip;
1185 chip = card->private_data;
1186 hda = container_of(chip, struct hda_intel, chip);
1187 if (chip->disabled || hda->init_failed)
1190 if (!power_save_controller || !azx_has_pm_runtime(chip) ||
1191 azx_bus(chip)->codec_powered || !chip->running)
1195 if (needs_eld_notify_link(chip))
1214 #define azx_add_card_list(chip) /* NOP */
1215 #define azx_del_card_list(chip) /* NOP */
1220 static int azx_probe_continue(struct azx *chip);
1229 struct azx *chip = card->private_data;
1230 struct hda_intel *hda = container_of(chip, struct hda_intel, chip);
1239 if (chip->disabled == disabled)
1243 chip->disabled = disabled;
1245 dev_info(chip->card->dev,
1247 if (azx_probe_continue(chip) < 0)
1248 dev_err(chip->card->dev, "initialization error\n");
1251 dev_info(chip->card->dev, "%s via vga_switcheroo\n",
1254 list_for_each_codec(codec, &chip->bus) {
1264 chip->disabled = true;
1265 if (snd_hda_lock_devices(&chip->bus))
1266 dev_warn(chip->card->dev,
1269 snd_hda_unlock_devices(&chip->bus);
1270 chip->disabled = false;
1272 list_for_each_codec(codec, &chip->bus) {
1283 struct azx *chip = card->private_data;
1284 struct hda_intel *hda = container_of(chip, struct hda_intel, chip);
1289 if (chip->disabled || !hda->probe_continued)
1291 if (snd_hda_lock_devices(&chip->bus))
1293 snd_hda_unlock_devices(&chip->bus);
1301 static void setup_vga_switcheroo_runtime_pm(struct azx *chip)
1303 struct hda_intel *hda = container_of(chip, struct hda_intel, chip);
1306 if (hda->use_vga_switcheroo && !needs_eld_notify_link(chip)) {
1307 list_for_each_codec(codec, &chip->bus)
1310 if (chip->running)
1311 set_default_power_save(chip);
1319 struct azx *chip = card->private_data;
1322 chip->bus.keep_power = 0;
1323 setup_vga_switcheroo_runtime_pm(chip);
1326 static void init_vga_switcheroo(struct azx *chip)
1328 struct hda_intel *hda = container_of(chip, struct hda_intel, chip);
1329 struct pci_dev *p = get_bound_vga(chip->pci);
1332 dev_info(chip->card->dev,
1340 chip->bus.keep_power = parent ? !pci_pr3_present(parent) : 1;
1341 chip->driver_caps |= AZX_DCAPS_PM_RUNTIME;
1352 static int register_vga_switcheroo(struct azx *chip)
1354 struct hda_intel *hda = container_of(chip, struct hda_intel, chip);
1361 p = get_bound_vga(chip->pci);
1362 err = vga_switcheroo_register_audio_client(chip->pci, &azx_vs_ops, p);
1372 #define init_vga_switcheroo(chip) /* NOP */
1373 #define register_vga_switcheroo(chip) 0
1375 #define setup_vga_switcheroo_runtime_pm(chip) /* NOP */
1381 static void azx_free(struct azx *chip)
1383 struct pci_dev *pci = chip->pci;
1384 struct hda_intel *hda = container_of(chip, struct hda_intel, chip);
1385 struct hdac_bus *bus = azx_bus(chip);
1390 if (azx_has_pm_runtime(chip) && chip->running)
1392 chip->running = 0;
1394 azx_del_card_list(chip);
1400 if (chip->disabled && hda->probe_continued)
1401 snd_hda_unlock_devices(&chip->bus);
1403 vga_switcheroo_unregister_client(chip->pci);
1407 azx_clear_irq_pending(chip);
1408 azx_stop_all_streams(chip);
1409 azx_stop_chip(chip);
1413 free_irq(bus->irq, (void*)chip);
1414 if (chip->msi)
1415 pci_disable_msi(chip->pci);
1418 azx_free_stream_pages(chip);
1419 azx_free_streams(chip);
1422 if (chip->region_requested)
1423 pci_release_regions(chip->pci);
1425 pci_disable_device(chip->pci);
1427 release_firmware(chip->fw);
1429 display_power(chip, false);
1431 if (chip->driver_caps & AZX_DCAPS_I915_COMPONENT)
1439 struct azx *chip = device->device_data;
1440 struct hdac_bus *bus = azx_bus(chip);
1442 chip->bus.shutdown = 1;
1569 static int check_position_fix(struct azx *chip, int fix)
1584 q = snd_pci_quirk_lookup(chip->pci, position_fix_list);
1586 dev_info(chip->card->dev,
1593 if (chip->driver_type == AZX_DRIVER_VIA) {
1594 dev_dbg(chip->card->dev, "Using VIACOMBO position fix\n");
1597 if (chip->driver_caps & AZX_DCAPS_AMD_WORKAROUND) {
1598 dev_dbg(chip->card->dev, "Using FIFO position fix\n");
1601 if (chip->driver_caps & AZX_DCAPS_POSFIX_LPIB) {
1602 dev_dbg(chip->card->dev, "Using LPIB position fix\n");
1605 if (chip->driver_type == AZX_DRIVER_SKL) {
1606 dev_dbg(chip->card->dev, "Using SKL position fix\n");
1612 static void assign_position_fix(struct azx *chip, int fix)
1624 chip->get_position[0] = chip->get_position[1] = callbacks[fix];
1628 chip->get_position[1] = NULL;
1631 (chip->driver_caps & AZX_DCAPS_COUNT_LPIB_DELAY)) {
1632 chip->get_delay[0] = chip->get_delay[1] =
1637 chip->get_delay[0] = chip->get_delay[1] =
1666 static void check_probe_mask(struct azx *chip, int dev)
1670 chip->codec_probe_mask = probe_mask[dev];
1671 if (chip->codec_probe_mask == -1) {
1672 q = snd_pci_quirk_lookup(chip->pci, probe_mask_list);
1674 dev_info(chip->card->dev,
1677 chip->codec_probe_mask = q->value;
1682 if (chip->codec_probe_mask != -1 &&
1683 (chip->codec_probe_mask & AZX_FORCE_CODEC_MASK)) {
1684 azx_bus(chip)->codec_mask = chip->codec_probe_mask & 0xff;
1685 dev_info(chip->card->dev, "codec_mask forced to 0x%x\n",
1686 (int)azx_bus(chip)->codec_mask);
1707 static void check_msi(struct azx *chip)
1712 chip->msi = !!enable_msi;
1715 chip->msi = 1; /* enable MSI as default */
1716 q = snd_pci_quirk_lookup(chip->pci, msi_deny_list);
1718 dev_info(chip->card->dev,
1721 chip->msi = q->value;
1726 if (chip->driver_caps & AZX_DCAPS_NO_MSI) {
1727 dev_info(chip->card->dev, "Disabling MSI\n");
1728 chip->msi = 0;
1733 static void azx_check_snoop_available(struct azx *chip)
1738 dev_info(chip->card->dev, "Force to %s mode by module option\n",
1740 chip->snoop = snoop;
1741 chip->uc_buffer = !snoop;
1746 if (azx_get_snoop_type(chip) == AZX_SNOOP_TYPE_NONE &&
1747 chip->driver_type == AZX_DRIVER_VIA) {
1752 pci_read_config_byte(chip->pci, 0x42, &val);
1753 if (!(val & 0x80) && (chip->pci->revision == 0x30 ||
1754 chip->pci->revision == 0x20))
1758 if (chip->driver_caps & AZX_DCAPS_SNOOP_OFF)
1761 chip->snoop = snoop;
1763 dev_info(chip->card->dev, "Force to non-snoop mode\n");
1765 if (chip->driver_type != AZX_DRIVER_CMEDIA)
1766 chip->uc_buffer = true;
1773 azx_probe_continue(&hda->chip);
1776 static int default_bdl_pos_adj(struct azx *chip)
1779 if (chip->pci->vendor == PCI_VENDOR_ID_INTEL) {
1780 switch (chip->pci->device) {
1787 switch (chip->driver_type) {
1816 struct azx *chip;
1831 chip = &hda->chip;
1832 mutex_init(&chip->open_mutex);
1833 chip->card = card;
1834 chip->pci = pci;
1835 chip->ops = &pci_hda_ops;
1836 chip->driver_caps = driver_caps;
1837 chip->driver_type = driver_caps & 0xff;
1838 check_msi(chip);
1839 chip->dev_index = dev;
1841 chip->jackpoll_interval = msecs_to_jiffies(jackpoll_ms[dev]);
1842 INIT_LIST_HEAD(&chip->pcm_list);
1845 init_vga_switcheroo(chip);
1848 assign_position_fix(chip, check_position_fix(chip, position_fix[dev]));
1851 chip->fallback_to_single_cmd = 1;
1853 chip->single_cmd = single_cmd;
1855 azx_check_snoop_available(chip);
1858 chip->bdl_pos_adj = default_bdl_pos_adj(chip);
1860 chip->bdl_pos_adj = bdl_pos_adj[dev];
1862 err = azx_bus_init(chip, model[dev]);
1869 if (!azx_snoop(chip))
1870 azx_bus(chip)->dma_type = SNDRV_DMA_TYPE_DEV_UC;
1872 if (chip->driver_type == AZX_DRIVER_NVIDIA) {
1873 dev_dbg(chip->card->dev, "Enable delay in RIRB handling\n");
1874 chip->bus.core.needs_damn_long_delay = 1;
1877 check_probe_mask(chip, dev);
1879 err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops);
1882 azx_free(chip);
1889 *rchip = chip;
1894 static int azx_first_init(struct azx *chip)
1896 int dev = chip->dev_index;
1897 struct pci_dev *pci = chip->pci;
1898 struct snd_card *card = chip->card;
1899 struct hdac_bus *bus = azx_bus(chip);
1906 if (chip->driver_type == AZX_DRIVER_ULI) {
1917 if (chip->driver_type == AZX_DRIVER_GFHDMI)
1923 chip->region_requested = 1;
1932 if (chip->driver_type == AZX_DRIVER_SKL)
1941 chip->gts_present = false;
1945 chip->gts_present = true;
1948 if (chip->msi) {
1949 if (chip->driver_caps & AZX_DCAPS_NO_MSI64) {
1954 chip->msi = 0;
1959 gcap = azx_readw(chip, GCAP);
1963 if (chip->pci->vendor == PCI_VENDOR_ID_AMD)
1967 if (chip->pci->vendor == PCI_VENDOR_ID_ATI) {
1981 if (chip->pci->vendor == PCI_VENDOR_ID_NVIDIA)
1985 if (chip->driver_caps & AZX_DCAPS_NO_64BIT) {
1992 chip->align_buffer_size = !!align_buffer_size;
1994 if (chip->driver_caps & AZX_DCAPS_NO_ALIGN_BUFSIZE)
1995 chip->align_buffer_size = 0;
1997 chip->align_buffer_size = 1;
2013 chip->capture_streams = (gcap >> 8) & 0x0f;
2014 chip->playback_streams = (gcap >> 12) & 0x0f;
2015 if (!chip->playback_streams && !chip->capture_streams) {
2018 switch (chip->driver_type) {
2020 chip->playback_streams = ULI_NUM_PLAYBACK;
2021 chip->capture_streams = ULI_NUM_CAPTURE;
2025 chip->playback_streams = ATIHDMI_NUM_PLAYBACK;
2026 chip->capture_streams = ATIHDMI_NUM_CAPTURE;
2031 chip->playback_streams = ICH6_NUM_PLAYBACK;
2032 chip->capture_streams = ICH6_NUM_CAPTURE;
2036 chip->capture_index_offset = 0;
2037 chip->playback_index_offset = chip->capture_streams;
2038 chip->num_streams = chip->playback_streams + chip->capture_streams;
2041 if (chip->num_streams > 15 &&
2042 (chip->driver_caps & AZX_DCAPS_SEPARATE_STREAM_TAG) == 0) {
2043 dev_warn(chip->card->dev, "number of I/O streams is %d, "
2044 "forcing separate stream tags", chip->num_streams);
2045 chip->driver_caps |= AZX_DCAPS_SEPARATE_STREAM_TAG;
2049 err = azx_init_streams(chip);
2053 err = azx_alloc_stream_pages(chip);
2057 /* initialize chip */
2058 azx_init_pci(chip);
2062 hda_intel_init_chip(chip, (probe_only[dev] & 2) == 0);
2065 if (!azx_bus(chip)->codec_mask) {
2070 if (azx_acquire_irq(chip, 0) < 0)
2074 strlcpy(card->shortname, driver_short_names[chip->driver_type],
2088 struct azx *chip = card->private_data;
2091 chip->fw = fw;
2094 if (!chip->disabled) {
2096 azx_probe_continue(chip);
2101 static int disable_msi_reset_irq(struct azx *chip)
2103 struct hdac_bus *bus = azx_bus(chip);
2106 free_irq(bus->irq, chip);
2108 chip->card->sync_irq = -1;
2109 pci_disable_msi(chip->pci);
2110 chip->msi = 0;
2111 err = azx_acquire_irq(chip, 1);
2123 struct azx *chip = apcm->chip;
2124 if (chip->uc_buffer)
2152 struct azx *chip;
2188 err = azx_create(card, pci, dev, pci_id->driver_data, &chip);
2191 card->private_data = chip;
2192 hda = container_of(chip, struct hda_intel, chip);
2196 err = register_vga_switcheroo(chip);
2205 chip->disabled = true;
2208 schedule_probe = !chip->disabled;
2232 if (chip->disabled)
2287 static void set_default_power_save(struct azx *chip)
2295 q = snd_pci_quirk_lookup(chip->pci, power_save_denylist);
2297 dev_info(chip->card->dev, "device %04x:%04x is on the power_save denylist, forcing power_save to 0\n",
2303 snd_hda_set_power_save(&chip->bus, val * 1000);
2312 static int azx_probe_continue(struct azx *chip)
2314 struct hda_intel *hda = container_of(chip, struct hda_intel, chip);
2315 struct hdac_bus *bus = azx_bus(chip);
2316 struct pci_dev *pci = chip->pci;
2317 int dev = chip->dev_index;
2320 if (chip->disabled || hda->init_failed)
2329 if (chip->driver_caps & AZX_DCAPS_I915_COMPONENT) {
2338 dev_err(chip->card->dev,
2343 chip->driver_caps &= ~AZX_DCAPS_I915_COMPONENT;
2357 display_power(chip, true);
2359 err = azx_first_init(chip);
2364 chip->beep_mode = beep_mode[dev];
2369 err = azx_probe_codecs(chip, azx_max_codecs[chip->driver_type]);
2375 if (chip->fw) {
2376 err = snd_hda_load_patch(&chip->bus, chip->fw->size,
2377 chip->fw->data);
2381 release_firmware(chip->fw); /* no longer needed */
2382 chip->fw = NULL;
2389 err = azx_codec_configure(chip);
2391 if ((chip->driver_caps & AZX_DCAPS_RETRY_PROBE) &&
2397 dev_err(chip->card->dev, "Cannot probe codecs, giving up\n");
2402 err = snd_card_register(chip->card);
2406 setup_vga_switcheroo_runtime_pm(chip);
2408 chip->running = 1;
2409 azx_add_card_list(chip);
2411 set_default_power_save(chip);
2413 if (azx_has_pm_runtime(chip)) {
2422 snd_card_free(chip->card);
2427 display_power(chip, false);
2437 struct azx *chip;
2442 chip = card->private_data;
2443 hda = container_of(chip, struct hda_intel, chip);
2466 struct azx *chip;
2470 chip = card->private_data;
2471 if (chip && chip->running)
2472 __azx_shutdown_chip(chip, true);
2822 /* this entry seems still valid -- i.e. without emu20kx chip */