#define adsp_dbg(_dsp, fmt, ...) \
        dev_dbg(_dsp->dev, "%s: " fmt, _dsp->name, ##__VA_ARGS__)
 
+#define compr_err(_obj, fmt, ...) \
+       adsp_err(_obj->dsp, "%s: " fmt, _obj->name ? _obj->name : "legacy", \
+                ##__VA_ARGS__)
+#define compr_dbg(_obj, fmt, ...) \
+       adsp_dbg(_obj->dsp, "%s: " fmt, _obj->name ? _obj->name : "legacy", \
+                ##__VA_ARGS__)
+
 #define ADSP1_CONTROL_1                   0x00
 #define ADSP1_CONTROL_2                   0x02
 #define ADSP1_CONTROL_3                   0x03
        mutex_lock(&dsp->pwr_lock);
 
        if (wm_adsp_fw[dsp->fw].num_caps == 0) {
-               adsp_err(dsp, "Firmware does not support compressed API\n");
+               adsp_err(dsp, "%s: Firmware does not support compressed API\n",
+                        rtd->codec_dai->name);
                ret = -ENXIO;
                goto out;
        }
 
        if (wm_adsp_fw[dsp->fw].compr_direction != stream->direction) {
-               adsp_err(dsp, "Firmware does not support stream direction\n");
+               adsp_err(dsp, "%s: Firmware does not support stream direction\n",
+                        rtd->codec_dai->name);
                ret = -EINVAL;
                goto out;
        }
 
        list_for_each_entry(tmp, &dsp->compr_list, list) {
                if (!strcmp(tmp->name, rtd->codec_dai->name)) {
-                       adsp_err(dsp, "Only a single stream supported per dai\n");
+                       adsp_err(dsp, "%s: Only a single stream supported per dai\n",
+                                rtd->codec_dai->name);
                        ret = -EBUSY;
                        goto out;
                }
            params->buffer.fragments < WM_ADSP_MIN_FRAGMENTS ||
            params->buffer.fragments > WM_ADSP_MAX_FRAGMENTS ||
            params->buffer.fragment_size % WM_ADSP_DATA_WORD_SIZE) {
-               adsp_err(dsp, "Invalid buffer fragsize=%d fragments=%d\n",
-                        params->buffer.fragment_size,
-                        params->buffer.fragments);
+               compr_err(compr, "Invalid buffer fragsize=%d fragments=%d\n",
+                         params->buffer.fragment_size,
+                         params->buffer.fragments);
 
                return -EINVAL;
        }
                                return 0;
        }
 
-       adsp_err(dsp, "Invalid params id=%u ch=%u,%u rate=%u fmt=%u\n",
-                params->codec.id, params->codec.ch_in, params->codec.ch_out,
-                params->codec.sample_rate, params->codec.format);
+       compr_err(compr, "Invalid params id=%u ch=%u,%u rate=%u fmt=%u\n",
+                 params->codec.id, params->codec.ch_in, params->codec.ch_out,
+                 params->codec.sample_rate, params->codec.format);
        return -EINVAL;
 }
 
 
        compr->size = params->buffer;
 
-       adsp_dbg(compr->dsp, "fragment_size=%d fragments=%d\n",
-                compr->size.fragment_size, compr->size.fragments);
+       compr_dbg(compr, "fragment_size=%d fragments=%d\n",
+                 compr->size.fragment_size, compr->size.fragments);
 
        size = wm_adsp_compr_frag_words(compr) * sizeof(*compr->raw_buf);
        compr->raw_buf = kmalloc(size, GFP_DMA | GFP_KERNEL);
 
                region->cumulative_size = offset;
 
-               adsp_dbg(buf->dsp,
-                        "region=%d type=%d base=%08x off=%08x size=%08x\n",
-                        i, region->mem_type, region->base_addr,
-                        region->offset, region->cumulative_size);
+               compr_dbg(buf,
+                         "region=%d type=%d base=%08x off=%08x size=%08x\n",
+                         i, region->mem_type, region->base_addr,
+                         region->offset, region->cumulative_size);
        }
 
        return 0;
        if (ret < 0)
                return ret;
 
-       adsp_dbg(dsp, "legacy host_buf_ptr=%x\n", buf->host_buf_ptr);
+       compr_dbg(buf, "legacy host_buf_ptr=%x\n", buf->host_buf_ptr);
 
        return 0;
 }
         * control is one word, assume version 0.
         */
        if (ctl->len == 4) {
-               adsp_dbg(ctl->dsp, "host_buf_ptr=%x\n", buf->host_buf_ptr);
+               compr_dbg(buf, "host_buf_ptr=%x\n", buf->host_buf_ptr);
                return 0;
        }
 
        buf->name = kasprintf(GFP_KERNEL, "%s-dsp-%s", ctl->dsp->part,
                              (char *)&coeff_v1.name);
 
-       adsp_dbg(ctl->dsp, "host_buf_ptr=%x coeff version %u\n",
-                buf->host_buf_ptr, val);
+       compr_dbg(buf, "host_buf_ptr=%x coeff version %u\n",
+                 buf->host_buf_ptr, val);
 
        return val;
 }
        struct wm_adsp *dsp = compr->dsp;
        int ret = 0;
 
-       adsp_dbg(dsp, "Trigger: %d\n", cmd);
+       compr_dbg(compr, "Trigger: %d\n", cmd);
 
        mutex_lock(&dsp->pwr_lock);
 
                if (!wm_adsp_compr_attached(compr)) {
                        ret = wm_adsp_compr_attach(compr);
                        if (ret < 0) {
-                               adsp_err(dsp, "Failed to link buffer and stream: %d\n",
-                                        ret);
+                               compr_err(compr, "Failed to link buffer and stream: %d\n",
+                                         ret);
                                break;
                        }
                }
                                           HOST_BUFFER_FIELD(high_water_mark),
                                           wm_adsp_compr_frag_words(compr));
                if (ret < 0) {
-                       adsp_err(dsp, "Failed to set high water mark: %d\n",
-                                ret);
+                       compr_err(compr, "Failed to set high water mark: %d\n",
+                                 ret);
                        break;
                }
                break;
                read_index = sign_extend32(next_read_index, 23);
 
                if (read_index < 0) {
-                       adsp_dbg(buf->dsp, "Avail check on unstarted stream\n");
+                       compr_dbg(buf, "Avail check on unstarted stream\n");
                        return 0;
                }
 
        if (avail < 0)
                avail += wm_adsp_buffer_size(buf);
 
-       adsp_dbg(buf->dsp, "readindex=0x%x, writeindex=0x%x, avail=%d\n",
-                buf->read_index, write_index, avail * WM_ADSP_DATA_WORD_SIZE);
+       compr_dbg(buf, "readindex=0x%x, writeindex=0x%x, avail=%d\n",
+                 buf->read_index, write_index, avail * WM_ADSP_DATA_WORD_SIZE);
 
        buf->avail = avail;
 
 
        ret = wm_adsp_buffer_read(buf, HOST_BUFFER_FIELD(error), &buf->error);
        if (ret < 0) {
-               adsp_err(buf->dsp, "Failed to check buffer error: %d\n", ret);
+               compr_err(buf, "Failed to check buffer error: %d\n", ret);
                return ret;
        }
        if (buf->error != 0) {
-               adsp_err(buf->dsp, "Buffer error occurred: %d\n", buf->error);
+               compr_err(buf, "Buffer error occurred: %d\n", buf->error);
                return -EIO;
        }
 
                ret = -ENODEV;
                goto out;
        }
+
        adsp_dbg(dsp, "Handling buffer IRQ\n");
 
        list_for_each_entry(buf, &dsp->buffer_list, list) {
                ret = wm_adsp_buffer_read(buf, HOST_BUFFER_FIELD(irq_count),
                                          &buf->irq_count);
                if (ret < 0) {
-                       adsp_err(dsp, "Failed to get irq_count: %d\n", ret);
+                       compr_err(buf, "Failed to get irq_count: %d\n", ret);
                        goto out;
                }
 
                ret = wm_adsp_buffer_update_avail(buf);
                if (ret < 0) {
-                       adsp_err(dsp, "Error reading avail: %d\n", ret);
+                       compr_err(buf, "Error reading avail: %d\n", ret);
                        goto out;
                }
 
        if (buf->irq_count & 0x01)
                return 0;
 
-       adsp_dbg(buf->dsp, "Enable IRQ(0x%x) for next fragment\n",
-                buf->irq_count);
+       compr_dbg(buf, "Enable IRQ(0x%x) for next fragment\n", buf->irq_count);
 
        buf->irq_count |= 0x01;
 
        struct wm_adsp_compr_buf *buf;
        int ret = 0;
 
-       adsp_dbg(dsp, "Pointer request\n");
+       compr_dbg(compr, "Pointer request\n");
 
        mutex_lock(&dsp->pwr_lock);
 
        if (buf->avail < wm_adsp_compr_frag_words(compr)) {
                ret = wm_adsp_buffer_update_avail(buf);
                if (ret < 0) {
-                       adsp_err(dsp, "Error reading avail: %d\n", ret);
+                       compr_err(compr, "Error reading avail: %d\n", ret);
                        goto out;
                }
 
 
                        ret = wm_adsp_buffer_reenable_irq(buf);
                        if (ret < 0) {
-                               adsp_err(dsp,
-                                        "Failed to re-enable buffer IRQ: %d\n",
-                                        ret);
+                               compr_err(compr, "Failed to re-enable buffer IRQ: %d\n",
+                                         ret);
                                goto out;
                        }
                }
 static int wm_adsp_compr_read(struct wm_adsp_compr *compr,
                              char __user *buf, size_t count)
 {
-       struct wm_adsp *dsp = compr->dsp;
        int ntotal = 0;
        int nwords, nbytes;
 
-       adsp_dbg(dsp, "Requested read of %zu bytes\n", count);
+       compr_dbg(compr, "Requested read of %zu bytes\n", count);
 
        if (!compr->buf || compr->buf->error) {
                snd_compr_stop_error(compr->stream, SNDRV_PCM_STATE_XRUN);
        do {
                nwords = wm_adsp_buffer_capture_block(compr, count);
                if (nwords < 0) {
-                       adsp_err(dsp, "Failed to capture block: %d\n", nwords);
+                       compr_err(compr, "Failed to capture block: %d\n",
+                                 nwords);
                        return nwords;
                }
 
                nbytes = nwords * WM_ADSP_DATA_WORD_SIZE;
 
-               adsp_dbg(dsp, "Read %d bytes\n", nbytes);
+               compr_dbg(compr, "Read %d bytes\n", nbytes);
 
                if (copy_to_user(buf + ntotal, compr->raw_buf, nbytes)) {
-                       adsp_err(dsp, "Failed to copy data to user: %d, %d\n",
-                                ntotal, nbytes);
+                       compr_err(compr, "Failed to copy data to user: %d, %d\n",
+                                 ntotal, nbytes);
                        return -EFAULT;
                }