[alsa-devel] [PATCH v2] HDA: Add PCI device prefix for clarity
When printing, use a prefix of the PCI domain, bus, device and function as in other drivers, to differentiate multiple devices.
Important for reporting and debugging. A future step is to tidy this up with dev_printk et al.
v2: Move conversion specifier into call site, preventing build issues
Signed-off-by: Daniel J Blueman daniel@quora.org --- sound/pci/hda/hda_intel.c | 134 +++++++++++++++++++++++---------------------- 1 file changed, 69 insertions(+), 65 deletions(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index f9d870e..eb92ab4 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -185,7 +185,7 @@ MODULE_DESCRIPTION("Intel HDA driver"); #ifdef CONFIG_SND_VERBOSE_PRINTK #define SFX /* nop */ #else -#define SFX "hda-intel: " +#define SFX "hda-intel " #endif
#if defined(CONFIG_PM) && defined(CONFIG_VGA_SWITCHEROO) @@ -703,7 +703,7 @@ static int azx_alloc_cmd_io(struct azx *chip) snd_dma_pci_data(chip->pci), PAGE_SIZE, &chip->rb); if (err < 0) { - snd_printk(KERN_ERR SFX "cannot allocate CORB/RIRB\n"); + snd_printk(KERN_ERR SFX "%s: cannot allocate CORB/RIRB\n", pci_name(chip->pci)); return err; } mark_pages_wc(chip, &chip->rb, true); @@ -835,8 +835,8 @@ static void azx_update_rirb(struct azx *chip) smp_wmb(); chip->rirb.cmds[addr]--; } else - snd_printk(KERN_ERR SFX "spurious response %#x:%#x, " - "last cmd=%#08x\n", + snd_printk(KERN_ERR SFX "%s: spurious response %#x:%#x, " + "last cmd=%#08x\n", pci_name(chip->pci), res, res_ex, chip->last_cmd[addr]); } @@ -879,9 +879,9 @@ static unsigned int azx_rirb_get_response(struct hda_bus *bus, }
if (!chip->polling_mode && chip->poll_count < 2) { - snd_printdd(SFX "azx_get_response timeout, " + snd_printdd(SFX "%s: azx_get_response timeout, " "polling the codec once: last cmd=0x%08x\n", - chip->last_cmd[addr]); + pci_name(chip->pci), chip->last_cmd[addr]); do_poll = 1; chip->poll_count++; goto again; @@ -889,17 +889,17 @@ static unsigned int azx_rirb_get_response(struct hda_bus *bus,
if (!chip->polling_mode) { - snd_printk(KERN_WARNING SFX "azx_get_response timeout, " + snd_printk(KERN_WARNING SFX "%s: azx_get_response timeout, " "switching to polling mode: last cmd=0x%08x\n", - chip->last_cmd[addr]); + pci_name(chip->pci), chip->last_cmd[addr]); chip->polling_mode = 1; goto again; }
if (chip->msi) { - snd_printk(KERN_WARNING SFX "No response from codec, " + snd_printk(KERN_WARNING SFX "%s: No response from codec, " "disabling MSI: last cmd=0x%08x\n", - chip->last_cmd[addr]); + pci_name(chip->pci), chip->last_cmd[addr]); free_irq(chip->irq, chip); chip->irq = -1; pci_disable_msi(chip->pci); @@ -965,8 +965,8 @@ static int azx_single_wait_for_response(struct azx *chip, unsigned int addr) udelay(1); } if (printk_ratelimit()) - snd_printd(SFX "get_response timeout: IRS=0x%x\n", - azx_readw(chip, IRS)); + snd_printd(SFX "%s: get_response timeout: IRS=0x%x\n", + pci_name(chip->pci), azx_readw(chip, IRS)); chip->rirb.res[addr] = -1; return -EIO; } @@ -993,8 +993,8 @@ static int azx_single_send_cmd(struct hda_bus *bus, u32 val) udelay(1); } if (printk_ratelimit()) - snd_printd(SFX "send_cmd timeout: IRS=0x%x, val=0x%x\n", - azx_readw(chip, IRS), val); + snd_printd(SFX "%s: send_cmd timeout: IRS=0x%x, val=0x%x\n", + pci_name(chip->pci), azx_readw(chip, IRS), val); return -EIO; }
@@ -1080,7 +1080,7 @@ static int azx_reset(struct azx *chip, int full_reset) __skip: /* check to see if controller is ready */ if (!azx_readb(chip, GCTL)) { - snd_printd(SFX "azx_reset: controller not ready!\n"); + snd_printd(SFX "%s: azx_reset: controller not ready!\n", pci_name(chip->pci)); return -EBUSY; }
@@ -1092,7 +1092,7 @@ static int azx_reset(struct azx *chip, int full_reset) /* detect codecs */ if (!chip->codec_mask) { chip->codec_mask = azx_readw(chip, STATESTS); - snd_printdd(SFX "codec_mask = 0x%x\n", chip->codec_mask); + snd_printdd(SFX "%s: codec_mask = 0x%x\n", pci_name(chip->pci), chip->codec_mask); }
return 0; @@ -1236,7 +1236,7 @@ static void azx_init_pci(struct azx *chip) * The PCI register TCSEL is defined in the Intel manuals. */ if (!(chip->driver_caps & AZX_DCAPS_NO_TCSEL)) { - snd_printdd(SFX "Clearing TCSEL\n"); + snd_printdd(SFX "%s: Clearing TCSEL\n", pci_name(chip->pci)); update_pci_byte(chip->pci, ICH6_PCIREG_TCSEL, 0x07, 0); }
@@ -1244,7 +1244,7 @@ static void azx_init_pci(struct azx *chip) * we need to enable snoop. */ if (chip->driver_caps & AZX_DCAPS_ATI_SNOOP) { - snd_printdd(SFX "Setting ATI snoop: %d\n", azx_snoop(chip)); + snd_printdd(SFX "%s: Setting ATI snoop: %d\n", pci_name(chip->pci), azx_snoop(chip)); update_pci_byte(chip->pci, ATI_SB450_HDAUDIO_MISC_CNTR2_ADDR, 0x07, azx_snoop(chip) ? ATI_SB450_HDAUDIO_ENABLE_SNOOP : 0); @@ -1252,7 +1252,7 @@ static void azx_init_pci(struct azx *chip)
/* For NVIDIA HDA, enable snoop */ if (chip->driver_caps & AZX_DCAPS_NVIDIA_SNOOP) { - snd_printdd(SFX "Setting Nvidia snoop: %d\n", azx_snoop(chip)); + snd_printdd(SFX "%s: Setting Nvidia snoop: %d\n", pci_name(chip->pci), azx_snoop(chip)); update_pci_byte(chip->pci, NVIDIA_HDA_TRANSREG_ADDR, 0x0f, NVIDIA_HDA_ENABLE_COHBITS); @@ -1277,8 +1277,8 @@ static void azx_init_pci(struct azx *chip) pci_read_config_word(chip->pci, INTEL_SCH_HDA_DEVC, &snoop); } - snd_printdd(SFX "SCH snoop: %s\n", - (snoop & INTEL_SCH_HDA_DEVC_NOSNOOP) + snd_printdd(SFX "%s: SCH snoop: %s\n", + pci_name(chip->pci), (snoop & INTEL_SCH_HDA_DEVC_NOSNOOP) ? "Disabled" : "Enabled"); } } @@ -1438,8 +1438,8 @@ static int azx_setup_periods(struct azx *chip, pos_align; pos_adj = frames_to_bytes(runtime, pos_adj); if (pos_adj >= period_bytes) { - snd_printk(KERN_WARNING SFX "Too big adjustment %d\n", - bdl_pos_adj[chip->dev_index]); + snd_printk(KERN_WARNING SFX "%s: Too big adjustment %d\n", + pci_name(chip->pci), bdl_pos_adj[chip->dev_index]); pos_adj = 0; } else { ofs = setup_bdle(chip, substream, azx_dev, @@ -1463,8 +1463,8 @@ static int azx_setup_periods(struct azx *chip, return 0;
error: - snd_printk(KERN_ERR SFX "Too many BDL entries: buffer=%d, period=%d\n", - azx_dev->bufsize, period_bytes); + snd_printk(KERN_ERR SFX "%s: Too many BDL entries: buffer=%d, period=%d\n", + pci_name(chip->pci), azx_dev->bufsize, period_bytes); return -EINVAL; }
@@ -1561,7 +1561,7 @@ static int probe_codec(struct azx *chip, int addr) mutex_unlock(&chip->bus->cmd_mutex); if (res == -1) return -EIO; - snd_printdd(SFX "codec #%d probed OK\n", addr); + snd_printdd(SFX "%s: codec #%d probed OK\n", pci_name(chip->pci), addr); return 0; }
@@ -1622,7 +1622,7 @@ static int DELAYED_INIT_MARK azx_codec_create(struct azx *chip, const char *mode return err;
if (chip->driver_caps & AZX_DCAPS_RIRB_DELAY) { - snd_printd(SFX "Enable delay in RIRB handling\n"); + snd_printd(SFX "%s: Enable delay in RIRB handling\n", pci_name(chip->pci)); chip->bus->needs_damn_long_delay = 1; }
@@ -1639,8 +1639,8 @@ static int DELAYED_INIT_MARK azx_codec_create(struct azx *chip, const char *mode * that don't exist */ snd_printk(KERN_WARNING SFX - "Codec #%d probe error; " - "disabling it...\n", c); + "%s: Codec #%d probe error; " + "disabling it...\n", pci_name(chip->pci), c); chip->codec_mask &= ~(1 << c); /* More badly, accessing to a non-existing * codec often screws up the controller chip, @@ -1660,7 +1660,8 @@ static int DELAYED_INIT_MARK azx_codec_create(struct azx *chip, const char *mode * access works around the stall. Grrr... */ if (chip->driver_caps & AZX_DCAPS_SYNC_WRITE) { - snd_printd(SFX "Enable sync_write for stable communication\n"); + snd_printd(SFX "%s: Enable sync_write for stable communication\n", + pci_name(chip->pci)); chip->bus->sync_write = 1; chip->bus->allow_bus_reset = 1; } @@ -1677,7 +1678,7 @@ static int DELAYED_INIT_MARK azx_codec_create(struct azx *chip, const char *mode } } if (!codecs) { - snd_printk(KERN_ERR SFX "no codecs initialized\n"); + snd_printk(KERN_ERR SFX "%s: no codecs initialized\n", pci_name(chip->pci)); return -ENXIO; } return 0; @@ -1916,16 +1917,16 @@ static int azx_pcm_prepare(struct snd_pcm_substream *substream) ctls); if (!format_val) { snd_printk(KERN_ERR SFX - "invalid format_val, rate=%d, ch=%d, format=%d\n", - runtime->rate, runtime->channels, runtime->format); + "%s: invalid format_val, rate=%d, ch=%d, format=%d\n", + pci_name(chip->pci), runtime->rate, runtime->channels, runtime->format); return -EINVAL; }
bufsize = snd_pcm_lib_buffer_bytes(substream); period_bytes = snd_pcm_lib_period_bytes(substream);
- snd_printdd(SFX "azx_pcm_prepare: bufsize=0x%x, format=0x%x\n", - bufsize, format_val); + snd_printdd(SFX "%s: azx_pcm_prepare: bufsize=0x%x, format=0x%x\n", + pci_name(chip->pci), bufsize, format_val);
if (bufsize != azx_dev->bufsize || period_bytes != azx_dev->period_bytes || @@ -2165,9 +2166,9 @@ static unsigned int azx_get_position(struct azx *chip, delay += azx_dev->bufsize; if (delay >= azx_dev->period_bytes) { snd_printk(KERN_WARNING SFX - "Unstable LPIB (%d >= %d); " + "%s: Unstable LPIB (%d >= %d); " "disabling LPIB delay counting\n", - delay, azx_dev->period_bytes); + pci_name(chip->pci), delay, azx_dev->period_bytes); delay = 0; chip->driver_caps &= ~AZX_DCAPS_COUNT_LPIB_DELAY; } @@ -2324,7 +2325,8 @@ azx_attach_pcm_stream(struct hda_bus *bus, struct hda_codec *codec,
list_for_each_entry(apcm, &chip->pcm_list, list) { if (apcm->pcm->device == pcm_dev) { - snd_printk(KERN_ERR SFX "PCM %d already exists\n", pcm_dev); + snd_printk(KERN_ERR SFX "%s: PCM %d already exists\n", + pci_name(chip->pci), pcm_dev); return -EBUSY; } } @@ -2648,15 +2650,14 @@ static void azx_vs_set_state(struct pci_dev *pci, } } else { snd_printk(KERN_INFO SFX - "%s %s via VGA-switcheroo\n", - disabled ? "Disabling" : "Enabling", - pci_name(chip->pci)); + "%s: %s via VGA-switcheroo\n", pci_name(chip->pci), + disabled ? "Disabling" : "Enabling"); if (disabled) { azx_suspend(&pci->dev); chip->disabled = true; if (snd_hda_lock_devices(chip->bus)) - snd_printk(KERN_WARNING SFX - "Cannot lock devices!\n"); + snd_printk(KERN_WARNING SFX "%s: Cannot lock devices!\n", + pci_name(chip->pci)); } else { snd_hda_unlock_devices(chip->bus); chip->disabled = false; @@ -2871,11 +2872,11 @@ static int __devinit check_position_fix(struct azx *chip, int fix)
/* Check VIA/ATI HD Audio Controller exist */ if (chip->driver_caps & AZX_DCAPS_POSFIX_VIA) { - snd_printd(SFX "Using VIACOMBO position fix\n"); + snd_printd(SFX "%s: Using VIACOMBO position fix\n", pci_name(chip->pci)); return POS_FIX_VIACOMBO; } if (chip->driver_caps & AZX_DCAPS_POSFIX_LPIB) { - snd_printd(SFX "Using LPIB position fix\n"); + snd_printd(SFX "%s: Using LPIB position fix\n", pci_name(chip->pci)); return POS_FIX_LPIB; } return POS_FIX_AUTO; @@ -2991,8 +2992,8 @@ static void __devinit azx_check_snoop_available(struct azx *chip) }
if (snoop != chip->snoop) { - snd_printk(KERN_INFO SFX "Force to %s mode\n", - snoop ? "snoop" : "non-snoop"); + snd_printk(KERN_INFO SFX "%s: Force to %s mode\n", + pci_name(chip->pci), snoop ? "snoop" : "non-snoop"); chip->snoop = snoop; } } @@ -3018,7 +3019,7 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci,
chip = kzalloc(sizeof(*chip), GFP_KERNEL); if (!chip) { - snd_printk(KERN_ERR SFX "cannot allocate chip\n"); + snd_printk(KERN_ERR SFX "%s: Cannot allocate chip\n", pci_name(pci)); pci_disable_device(pci); return -ENOMEM; } @@ -3064,10 +3065,11 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci, }
if (check_hdmi_disabled(pci)) { - snd_printk(KERN_INFO SFX "VGA controller for %s is disabled\n", - pci_name(pci)); + snd_printk(KERN_INFO SFX "%s: VGA controller is disabled\n", + pci_name(chip->pci)); if (use_vga_switcheroo(chip)) { - snd_printk(KERN_INFO SFX "Delaying initialization\n"); + snd_printk(KERN_INFO SFX "%s: Delaying initialization\n", + pci_name(chip->pci)); chip->disabled = true; goto ok; } @@ -3085,7 +3087,8 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci, ok: err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops); if (err < 0) { - snd_printk(KERN_ERR SFX "Error creating device [card]!\n"); + snd_printk(KERN_ERR SFX "%s: Error creating device [card]!\n", + pci_name(chip->pci)); azx_free(chip); return err; } @@ -3120,7 +3123,7 @@ static int DELAYED_INIT_MARK azx_first_init(struct azx *chip) chip->addr = pci_resource_start(pci, 0); chip->remap_addr = pci_ioremap_bar(pci, 0); if (chip->remap_addr == NULL) { - snd_printk(KERN_ERR SFX "ioremap error\n"); + snd_printk(KERN_ERR SFX "%s: ioremap error\n", pci_name(chip->pci)); return -ENXIO; }
@@ -3135,7 +3138,7 @@ static int DELAYED_INIT_MARK azx_first_init(struct azx *chip) synchronize_irq(chip->irq);
gcap = azx_readw(chip, GCAP); - snd_printdd(SFX "chipset global capabilities = 0x%x\n", gcap); + snd_printdd(SFX "%s: chipset global capabilities = 0x%x\n", pci_name(chip->pci), gcap);
/* disable SB600 64bit support for safety */ if (chip->pci->vendor == PCI_VENDOR_ID_ATI) { @@ -3152,7 +3155,7 @@ static int DELAYED_INIT_MARK azx_first_init(struct azx *chip)
/* disable 64bit DMA address on some devices */ if (chip->driver_caps & AZX_DCAPS_NO_64BIT) { - snd_printd(SFX "Disabling 64bit DMA\n"); + snd_printd(SFX "%s: Disabling 64bit DMA\n", pci_name(chip->pci)); gcap &= ~ICH6_GCAP_64OK; }
@@ -3207,7 +3210,7 @@ static int DELAYED_INIT_MARK azx_first_init(struct azx *chip) chip->azx_dev = kcalloc(chip->num_streams, sizeof(*chip->azx_dev), GFP_KERNEL); if (!chip->azx_dev) { - snd_printk(KERN_ERR SFX "cannot malloc azx_dev\n"); + snd_printk(KERN_ERR SFX "%s: cannot malloc azx_dev\n", pci_name(chip->pci)); return -ENOMEM; }
@@ -3217,7 +3220,7 @@ static int DELAYED_INIT_MARK azx_first_init(struct azx *chip) snd_dma_pci_data(chip->pci), BDL_SIZE, &chip->azx_dev[i].bdl); if (err < 0) { - snd_printk(KERN_ERR SFX "cannot allocate BDL\n"); + snd_printk(KERN_ERR SFX "%s: cannot allocate BDL\n", pci_name(chip->pci)); return -ENOMEM; } mark_pages_wc(chip, &chip->azx_dev[i].bdl, true); @@ -3227,7 +3230,7 @@ static int DELAYED_INIT_MARK azx_first_init(struct azx *chip) snd_dma_pci_data(chip->pci), chip->num_streams * 8, &chip->posbuf); if (err < 0) { - snd_printk(KERN_ERR SFX "cannot allocate posbuf\n"); + snd_printk(KERN_ERR SFX "%s: cannot allocate posbuf\n", pci_name(chip->pci)); return -ENOMEM; } mark_pages_wc(chip, &chip->posbuf, true); @@ -3245,7 +3248,7 @@ static int DELAYED_INIT_MARK azx_first_init(struct azx *chip)
/* codec detection */ if (!chip->codec_mask) { - snd_printk(KERN_ERR SFX "no codecs found!\n"); + snd_printk(KERN_ERR SFX "%s: no codecs found!\n", pci_name(chip->pci)); return -ENODEV; }
@@ -3281,7 +3284,8 @@ static void azx_firmware_cb(const struct firmware *fw, void *context) struct pci_dev *pci = chip->pci;
if (!fw) { - snd_printk(KERN_ERR SFX "Cannot load firmware, aborting\n"); + snd_printk(KERN_ERR SFX "%s: Cannot load firmware, aborting\n", + pci_name(chip->pci)); goto error; }
@@ -3317,7 +3321,7 @@ static int __devinit azx_probe(struct pci_dev *pci,
err = snd_card_create(index[dev], id[dev], THIS_MODULE, 0, &card); if (err < 0) { - snd_printk(KERN_ERR SFX "Error creating card!\n"); + snd_printk(KERN_ERR "hda-intel: Error creating card!\n"); return err; }
@@ -3331,8 +3335,8 @@ static int __devinit azx_probe(struct pci_dev *pci,
#ifdef CONFIG_SND_HDA_PATCH_LOADER if (patch[dev] && *patch[dev]) { - snd_printk(KERN_ERR SFX "Applying patch firmware '%s'\n", - patch[dev]); + snd_printk(KERN_ERR SFX "%s: Applying patch firmware '%s'\n", + pci_name(pci), patch[dev]); err = request_firmware_nowait(THIS_MODULE, true, patch[dev], &pci->dev, GFP_KERNEL, card, azx_firmware_cb); @@ -3355,8 +3359,8 @@ static int __devinit azx_probe(struct pci_dev *pci,
err = register_vga_switcheroo(chip); if (err < 0) { - snd_printk(KERN_ERR SFX - "Error registering VGA-switcheroo client\n"); + snd_printk(KERN_ERR SFX "%s: Error registering VGA-switcheroo client\n", + pci_name(chip->pci)); goto out_free; }
At Tue, 4 Dec 2012 23:31:41 +0800, Daniel J Blueman wrote:
When printing, use a prefix of the PCI domain, bus, device and function as in other drivers, to differentiate multiple devices.
Important for reporting and debugging. A future step is to tidy this up with dev_printk et al.
v2: Move conversion specifier into call site, preventing build issues
Signed-off-by: Daniel J Blueman daniel@quora.org
Could you rebase your patch to for-next branch of sound git tree? git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
The patch isn't applied cleanly because of some code changes since 3.7. Once after that, I'm going to merge your patch there.
thanks,
Takashi
sound/pci/hda/hda_intel.c | 134 +++++++++++++++++++++++---------------------- 1 file changed, 69 insertions(+), 65 deletions(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index f9d870e..eb92ab4 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -185,7 +185,7 @@ MODULE_DESCRIPTION("Intel HDA driver"); #ifdef CONFIG_SND_VERBOSE_PRINTK #define SFX /* nop */ #else -#define SFX "hda-intel: " +#define SFX "hda-intel " #endif
#if defined(CONFIG_PM) && defined(CONFIG_VGA_SWITCHEROO) @@ -703,7 +703,7 @@ static int azx_alloc_cmd_io(struct azx *chip) snd_dma_pci_data(chip->pci), PAGE_SIZE, &chip->rb); if (err < 0) {
snd_printk(KERN_ERR SFX "cannot allocate CORB/RIRB\n");
return err; } mark_pages_wc(chip, &chip->rb, true);snd_printk(KERN_ERR SFX "%s: cannot allocate CORB/RIRB\n", pci_name(chip->pci));
@@ -835,8 +835,8 @@ static void azx_update_rirb(struct azx *chip) smp_wmb(); chip->rirb.cmds[addr]--; } else
snd_printk(KERN_ERR SFX "spurious response %#x:%#x, "
"last cmd=%#08x\n",
snd_printk(KERN_ERR SFX "%s: spurious response %#x:%#x, "
}"last cmd=%#08x\n", pci_name(chip->pci), res, res_ex, chip->last_cmd[addr]);
@@ -879,9 +879,9 @@ static unsigned int azx_rirb_get_response(struct hda_bus *bus, }
if (!chip->polling_mode && chip->poll_count < 2) {
snd_printdd(SFX "azx_get_response timeout, "
snd_printdd(SFX "%s: azx_get_response timeout, " "polling the codec once: last cmd=0x%08x\n",
chip->last_cmd[addr]);
do_poll = 1; chip->poll_count++; goto again;pci_name(chip->pci), chip->last_cmd[addr]);
@@ -889,17 +889,17 @@ static unsigned int azx_rirb_get_response(struct hda_bus *bus,
if (!chip->polling_mode) {
snd_printk(KERN_WARNING SFX "azx_get_response timeout, "
snd_printk(KERN_WARNING SFX "%s: azx_get_response timeout, " "switching to polling mode: last cmd=0x%08x\n",
chip->last_cmd[addr]);
pci_name(chip->pci), chip->last_cmd[addr]);
chip->polling_mode = 1; goto again; }
if (chip->msi) {
snd_printk(KERN_WARNING SFX "No response from codec, "
snd_printk(KERN_WARNING SFX "%s: No response from codec, " "disabling MSI: last cmd=0x%08x\n",
chip->last_cmd[addr]);
free_irq(chip->irq, chip); chip->irq = -1; pci_disable_msi(chip->pci);pci_name(chip->pci), chip->last_cmd[addr]);
@@ -965,8 +965,8 @@ static int azx_single_wait_for_response(struct azx *chip, unsigned int addr) udelay(1); } if (printk_ratelimit())
snd_printd(SFX "get_response timeout: IRS=0x%x\n",
azx_readw(chip, IRS));
snd_printd(SFX "%s: get_response timeout: IRS=0x%x\n",
chip->rirb.res[addr] = -1; return -EIO;pci_name(chip->pci), azx_readw(chip, IRS));
} @@ -993,8 +993,8 @@ static int azx_single_send_cmd(struct hda_bus *bus, u32 val) udelay(1); } if (printk_ratelimit())
snd_printd(SFX "send_cmd timeout: IRS=0x%x, val=0x%x\n",
azx_readw(chip, IRS), val);
snd_printd(SFX "%s: send_cmd timeout: IRS=0x%x, val=0x%x\n",
return -EIO;pci_name(chip->pci), azx_readw(chip, IRS), val);
}
@@ -1080,7 +1080,7 @@ static int azx_reset(struct azx *chip, int full_reset) __skip: /* check to see if controller is ready */ if (!azx_readb(chip, GCTL)) {
snd_printd(SFX "azx_reset: controller not ready!\n");
return -EBUSY; }snd_printd(SFX "%s: azx_reset: controller not ready!\n", pci_name(chip->pci));
@@ -1092,7 +1092,7 @@ static int azx_reset(struct azx *chip, int full_reset) /* detect codecs */ if (!chip->codec_mask) { chip->codec_mask = azx_readw(chip, STATESTS);
snd_printdd(SFX "codec_mask = 0x%x\n", chip->codec_mask);
snd_printdd(SFX "%s: codec_mask = 0x%x\n", pci_name(chip->pci), chip->codec_mask);
}
return 0;
@@ -1236,7 +1236,7 @@ static void azx_init_pci(struct azx *chip) * The PCI register TCSEL is defined in the Intel manuals. */ if (!(chip->driver_caps & AZX_DCAPS_NO_TCSEL)) {
snd_printdd(SFX "Clearing TCSEL\n");
update_pci_byte(chip->pci, ICH6_PCIREG_TCSEL, 0x07, 0); }snd_printdd(SFX "%s: Clearing TCSEL\n", pci_name(chip->pci));
@@ -1244,7 +1244,7 @@ static void azx_init_pci(struct azx *chip) * we need to enable snoop. */ if (chip->driver_caps & AZX_DCAPS_ATI_SNOOP) {
snd_printdd(SFX "Setting ATI snoop: %d\n", azx_snoop(chip));
update_pci_byte(chip->pci, ATI_SB450_HDAUDIO_MISC_CNTR2_ADDR, 0x07, azx_snoop(chip) ? ATI_SB450_HDAUDIO_ENABLE_SNOOP : 0);snd_printdd(SFX "%s: Setting ATI snoop: %d\n", pci_name(chip->pci), azx_snoop(chip));
@@ -1252,7 +1252,7 @@ static void azx_init_pci(struct azx *chip)
/* For NVIDIA HDA, enable snoop */ if (chip->driver_caps & AZX_DCAPS_NVIDIA_SNOOP) {
snd_printdd(SFX "Setting Nvidia snoop: %d\n", azx_snoop(chip));
update_pci_byte(chip->pci, NVIDIA_HDA_TRANSREG_ADDR, 0x0f, NVIDIA_HDA_ENABLE_COHBITS);snd_printdd(SFX "%s: Setting Nvidia snoop: %d\n", pci_name(chip->pci), azx_snoop(chip));
@@ -1277,8 +1277,8 @@ static void azx_init_pci(struct azx *chip) pci_read_config_word(chip->pci, INTEL_SCH_HDA_DEVC, &snoop); }
snd_printdd(SFX "SCH snoop: %s\n",
(snoop & INTEL_SCH_HDA_DEVC_NOSNOOP)
snd_printdd(SFX "%s: SCH snoop: %s\n",
pci_name(chip->pci), (snoop & INTEL_SCH_HDA_DEVC_NOSNOOP) ? "Disabled" : "Enabled"); }
} @@ -1438,8 +1438,8 @@ static int azx_setup_periods(struct azx *chip, pos_align; pos_adj = frames_to_bytes(runtime, pos_adj); if (pos_adj >= period_bytes) {
snd_printk(KERN_WARNING SFX "Too big adjustment %d\n",
bdl_pos_adj[chip->dev_index]);
snd_printk(KERN_WARNING SFX "%s: Too big adjustment %d\n",
} else { ofs = setup_bdle(chip, substream, azx_dev,pci_name(chip->pci), bdl_pos_adj[chip->dev_index]); pos_adj = 0;
@@ -1463,8 +1463,8 @@ static int azx_setup_periods(struct azx *chip, return 0;
error:
- snd_printk(KERN_ERR SFX "Too many BDL entries: buffer=%d, period=%d\n",
azx_dev->bufsize, period_bytes);
- snd_printk(KERN_ERR SFX "%s: Too many BDL entries: buffer=%d, period=%d\n",
return -EINVAL;pci_name(chip->pci), azx_dev->bufsize, period_bytes);
}
@@ -1561,7 +1561,7 @@ static int probe_codec(struct azx *chip, int addr) mutex_unlock(&chip->bus->cmd_mutex); if (res == -1) return -EIO;
- snd_printdd(SFX "codec #%d probed OK\n", addr);
- snd_printdd(SFX "%s: codec #%d probed OK\n", pci_name(chip->pci), addr); return 0;
}
@@ -1622,7 +1622,7 @@ static int DELAYED_INIT_MARK azx_codec_create(struct azx *chip, const char *mode return err;
if (chip->driver_caps & AZX_DCAPS_RIRB_DELAY) {
snd_printd(SFX "Enable delay in RIRB handling\n");
chip->bus->needs_damn_long_delay = 1; }snd_printd(SFX "%s: Enable delay in RIRB handling\n", pci_name(chip->pci));
@@ -1639,8 +1639,8 @@ static int DELAYED_INIT_MARK azx_codec_create(struct azx *chip, const char *mode * that don't exist */ snd_printk(KERN_WARNING SFX
"Codec #%d probe error; "
"disabling it...\n", c);
"%s: Codec #%d probe error; "
"disabling it...\n", pci_name(chip->pci), c); chip->codec_mask &= ~(1 << c); /* More badly, accessing to a non-existing * codec often screws up the controller chip,
@@ -1660,7 +1660,8 @@ static int DELAYED_INIT_MARK azx_codec_create(struct azx *chip, const char *mode * access works around the stall. Grrr... */ if (chip->driver_caps & AZX_DCAPS_SYNC_WRITE) {
snd_printd(SFX "Enable sync_write for stable communication\n");
snd_printd(SFX "%s: Enable sync_write for stable communication\n",
chip->bus->sync_write = 1; chip->bus->allow_bus_reset = 1; }pci_name(chip->pci));
@@ -1677,7 +1678,7 @@ static int DELAYED_INIT_MARK azx_codec_create(struct azx *chip, const char *mode } } if (!codecs) {
snd_printk(KERN_ERR SFX "no codecs initialized\n");
return -ENXIO; } return 0;snd_printk(KERN_ERR SFX "%s: no codecs initialized\n", pci_name(chip->pci));
@@ -1916,16 +1917,16 @@ static int azx_pcm_prepare(struct snd_pcm_substream *substream) ctls); if (!format_val) { snd_printk(KERN_ERR SFX
"invalid format_val, rate=%d, ch=%d, format=%d\n",
runtime->rate, runtime->channels, runtime->format);
"%s: invalid format_val, rate=%d, ch=%d, format=%d\n",
pci_name(chip->pci), runtime->rate, runtime->channels, runtime->format);
return -EINVAL; }
bufsize = snd_pcm_lib_buffer_bytes(substream); period_bytes = snd_pcm_lib_period_bytes(substream);
- snd_printdd(SFX "azx_pcm_prepare: bufsize=0x%x, format=0x%x\n",
bufsize, format_val);
snd_printdd(SFX "%s: azx_pcm_prepare: bufsize=0x%x, format=0x%x\n",
pci_name(chip->pci), bufsize, format_val);
if (bufsize != azx_dev->bufsize || period_bytes != azx_dev->period_bytes ||
@@ -2165,9 +2166,9 @@ static unsigned int azx_get_position(struct azx *chip, delay += azx_dev->bufsize; if (delay >= azx_dev->period_bytes) { snd_printk(KERN_WARNING SFX
"Unstable LPIB (%d >= %d); "
"%s: Unstable LPIB (%d >= %d); " "disabling LPIB delay counting\n",
delay, azx_dev->period_bytes);
}pci_name(chip->pci), delay, azx_dev->period_bytes); delay = 0; chip->driver_caps &= ~AZX_DCAPS_COUNT_LPIB_DELAY;
@@ -2324,7 +2325,8 @@ azx_attach_pcm_stream(struct hda_bus *bus, struct hda_codec *codec,
list_for_each_entry(apcm, &chip->pcm_list, list) { if (apcm->pcm->device == pcm_dev) {
snd_printk(KERN_ERR SFX "PCM %d already exists\n", pcm_dev);
snd_printk(KERN_ERR SFX "%s: PCM %d already exists\n",
} }pci_name(chip->pci), pcm_dev); return -EBUSY;
@@ -2648,15 +2650,14 @@ static void azx_vs_set_state(struct pci_dev *pci, } } else { snd_printk(KERN_INFO SFX
"%s %s via VGA-switcheroo\n",
disabled ? "Disabling" : "Enabling",
pci_name(chip->pci));
"%s: %s via VGA-switcheroo\n", pci_name(chip->pci),
if (disabled) { azx_suspend(&pci->dev); chip->disabled = true; if (snd_hda_lock_devices(chip->bus))disabled ? "Disabling" : "Enabling");
snd_printk(KERN_WARNING SFX
"Cannot lock devices!\n");
snd_printk(KERN_WARNING SFX "%s: Cannot lock devices!\n",
} else { snd_hda_unlock_devices(chip->bus); chip->disabled = false;pci_name(chip->pci));
@@ -2871,11 +2872,11 @@ static int __devinit check_position_fix(struct azx *chip, int fix)
/* Check VIA/ATI HD Audio Controller exist */ if (chip->driver_caps & AZX_DCAPS_POSFIX_VIA) {
snd_printd(SFX "Using VIACOMBO position fix\n");
return POS_FIX_VIACOMBO; } if (chip->driver_caps & AZX_DCAPS_POSFIX_LPIB) {snd_printd(SFX "%s: Using VIACOMBO position fix\n", pci_name(chip->pci));
snd_printd(SFX "Using LPIB position fix\n");
return POS_FIX_LPIB; } return POS_FIX_AUTO;snd_printd(SFX "%s: Using LPIB position fix\n", pci_name(chip->pci));
@@ -2991,8 +2992,8 @@ static void __devinit azx_check_snoop_available(struct azx *chip) }
if (snoop != chip->snoop) {
snd_printk(KERN_INFO SFX "Force to %s mode\n",
snoop ? "snoop" : "non-snoop");
snd_printk(KERN_INFO SFX "%s: Force to %s mode\n",
chip->snoop = snoop; }pci_name(chip->pci), snoop ? "snoop" : "non-snoop");
} @@ -3018,7 +3019,7 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci,
chip = kzalloc(sizeof(*chip), GFP_KERNEL); if (!chip) {
snd_printk(KERN_ERR SFX "cannot allocate chip\n");
pci_disable_device(pci); return -ENOMEM; }snd_printk(KERN_ERR SFX "%s: Cannot allocate chip\n", pci_name(pci));
@@ -3064,10 +3065,11 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci, }
if (check_hdmi_disabled(pci)) {
snd_printk(KERN_INFO SFX "VGA controller for %s is disabled\n",
pci_name(pci));
snd_printk(KERN_INFO SFX "%s: VGA controller is disabled\n",
if (use_vga_switcheroo(chip)) {pci_name(chip->pci));
snd_printk(KERN_INFO SFX "Delaying initialization\n");
snd_printk(KERN_INFO SFX "%s: Delaying initialization\n",
}pci_name(chip->pci)); chip->disabled = true; goto ok;
@@ -3085,7 +3087,8 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci, ok: err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops); if (err < 0) {
snd_printk(KERN_ERR SFX "Error creating device [card]!\n");
snd_printk(KERN_ERR SFX "%s: Error creating device [card]!\n",
azx_free(chip); return err; }pci_name(chip->pci));
@@ -3120,7 +3123,7 @@ static int DELAYED_INIT_MARK azx_first_init(struct azx *chip) chip->addr = pci_resource_start(pci, 0); chip->remap_addr = pci_ioremap_bar(pci, 0); if (chip->remap_addr == NULL) {
snd_printk(KERN_ERR SFX "ioremap error\n");
return -ENXIO; }snd_printk(KERN_ERR SFX "%s: ioremap error\n", pci_name(chip->pci));
@@ -3135,7 +3138,7 @@ static int DELAYED_INIT_MARK azx_first_init(struct azx *chip) synchronize_irq(chip->irq);
gcap = azx_readw(chip, GCAP);
- snd_printdd(SFX "chipset global capabilities = 0x%x\n", gcap);
snd_printdd(SFX "%s: chipset global capabilities = 0x%x\n", pci_name(chip->pci), gcap);
/* disable SB600 64bit support for safety */ if (chip->pci->vendor == PCI_VENDOR_ID_ATI) {
@@ -3152,7 +3155,7 @@ static int DELAYED_INIT_MARK azx_first_init(struct azx *chip)
/* disable 64bit DMA address on some devices */ if (chip->driver_caps & AZX_DCAPS_NO_64BIT) {
snd_printd(SFX "Disabling 64bit DMA\n");
gcap &= ~ICH6_GCAP_64OK; }snd_printd(SFX "%s: Disabling 64bit DMA\n", pci_name(chip->pci));
@@ -3207,7 +3210,7 @@ static int DELAYED_INIT_MARK azx_first_init(struct azx *chip) chip->azx_dev = kcalloc(chip->num_streams, sizeof(*chip->azx_dev), GFP_KERNEL); if (!chip->azx_dev) {
snd_printk(KERN_ERR SFX "cannot malloc azx_dev\n");
return -ENOMEM; }snd_printk(KERN_ERR SFX "%s: cannot malloc azx_dev\n", pci_name(chip->pci));
@@ -3217,7 +3220,7 @@ static int DELAYED_INIT_MARK azx_first_init(struct azx *chip) snd_dma_pci_data(chip->pci), BDL_SIZE, &chip->azx_dev[i].bdl); if (err < 0) {
snd_printk(KERN_ERR SFX "cannot allocate BDL\n");
} mark_pages_wc(chip, &chip->azx_dev[i].bdl, true);snd_printk(KERN_ERR SFX "%s: cannot allocate BDL\n", pci_name(chip->pci)); return -ENOMEM;
@@ -3227,7 +3230,7 @@ static int DELAYED_INIT_MARK azx_first_init(struct azx *chip) snd_dma_pci_data(chip->pci), chip->num_streams * 8, &chip->posbuf); if (err < 0) {
snd_printk(KERN_ERR SFX "cannot allocate posbuf\n");
return -ENOMEM; } mark_pages_wc(chip, &chip->posbuf, true);snd_printk(KERN_ERR SFX "%s: cannot allocate posbuf\n", pci_name(chip->pci));
@@ -3245,7 +3248,7 @@ static int DELAYED_INIT_MARK azx_first_init(struct azx *chip)
/* codec detection */ if (!chip->codec_mask) {
snd_printk(KERN_ERR SFX "no codecs found!\n");
return -ENODEV; }snd_printk(KERN_ERR SFX "%s: no codecs found!\n", pci_name(chip->pci));
@@ -3281,7 +3284,8 @@ static void azx_firmware_cb(const struct firmware *fw, void *context) struct pci_dev *pci = chip->pci;
if (!fw) {
snd_printk(KERN_ERR SFX "Cannot load firmware, aborting\n");
snd_printk(KERN_ERR SFX "%s: Cannot load firmware, aborting\n",
goto error; }pci_name(chip->pci));
@@ -3317,7 +3321,7 @@ static int __devinit azx_probe(struct pci_dev *pci,
err = snd_card_create(index[dev], id[dev], THIS_MODULE, 0, &card); if (err < 0) {
snd_printk(KERN_ERR SFX "Error creating card!\n");
return err; }snd_printk(KERN_ERR "hda-intel: Error creating card!\n");
@@ -3331,8 +3335,8 @@ static int __devinit azx_probe(struct pci_dev *pci,
#ifdef CONFIG_SND_HDA_PATCH_LOADER if (patch[dev] && *patch[dev]) {
snd_printk(KERN_ERR SFX "Applying patch firmware '%s'\n",
patch[dev]);
snd_printk(KERN_ERR SFX "%s: Applying patch firmware '%s'\n",
err = request_firmware_nowait(THIS_MODULE, true, patch[dev], &pci->dev, GFP_KERNEL, card, azx_firmware_cb);pci_name(pci), patch[dev]);
@@ -3355,8 +3359,8 @@ static int __devinit azx_probe(struct pci_dev *pci,
err = register_vga_switcheroo(chip); if (err < 0) {
snd_printk(KERN_ERR SFX
"Error registering VGA-switcheroo client\n");
snd_printk(KERN_ERR SFX "%s: Error registering VGA-switcheroo client\n",
goto out_free; }pci_name(chip->pci));
-- 1.7.10.4
participants (2)
-
Daniel J Blueman
-
Takashi Iwai