ALSA: asihpi - Add adapter index to cache info for debug.
authorEliot Blennerhassett <eblennerhassett@audioscience.com>
Thu, 10 Feb 2011 04:26:00 +0000 (17:26 +1300)
committerTakashi Iwai <tiwai@suse.de>
Thu, 10 Feb 2011 17:49:23 +0000 (18:49 +0100)
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/asihpi/hpi6000.c
sound/pci/asihpi/hpi6205.c
sound/pci/asihpi/hpicmn.c
sound/pci/asihpi/hpicmn.h

index c85db49e5ec53a7ab82b4594bd02bb01f1f62107..c486af182227daa8f9c83cda0bd824ec43bf975f 100644 (file)
@@ -582,6 +582,9 @@ static short create_adapter_obj(struct hpi_adapter_obj *pao,
                pao->adapter_type, pao->index);
        pao->open = 0;  /* upon creation the adapter is closed */
 
+       if (phw->p_cache)
+               phw->p_cache->adap_idx = pao->index;
+
        return hpi_add_adapter(pao);
 }
 
index b740edc29b1c904fc0af5b2a4d7e55d862733923..5ebf8f886ad79ddd9a20b9a18fa69760c51b4fe7 100644 (file)
@@ -718,6 +718,9 @@ static u16 create_adapter_obj(struct hpi_adapter_obj *pao,
 
        pao->open = 0;  /* upon creation the adapter is closed */
 
+       if (phw->p_cache)
+               phw->p_cache->adap_idx = pao->index;
+
        HPI_DEBUG_LOG(INFO, "bootload DSP OK\n");
 
        return hpi_add_adapter(pao);
index 793236ef0a540468d9aaa80ff3684fc797e586e4..85c29727979213da4df60e4d7a25177d2cde175d 100644 (file)
@@ -197,11 +197,18 @@ static unsigned int control_cache_alloc_check(struct hpi_control_cache *pC)
                                &p_master_cache[byte_count];
 
                        if (!info->size_in32bit_words) {
+                               if (i == 0) {
+                                       HPI_DEBUG_LOG(INFO,
+                                               "adap %d cache not ready?\n",
+                                               pC->adap_idx);
+                                       return 0;
+                               }
                                /* ? This is a severe error, the cache is probably
                                   corrupted.  Minimum valid entry size is
                                   sizeof(struct hpi_control_cache_info) */
                                HPI_DEBUG_LOG(ERROR,
-                                       "zero size cache entry %d\n", i);
+                                       "adap %d zero size cache entry %d\n",
+                                       pC->adap_idx, i);
                                break;
                        }
 
@@ -231,12 +238,13 @@ static unsigned int control_cache_alloc_check(struct hpi_control_cache *pC)
 
                if (byte_count != pC->cache_size_in_bytes)
                        HPI_DEBUG_LOG(WARNING,
-                               "bytecount %d != cache size %d", byte_count,
+                               "adap %d bytecount %d != cache size %d",
+                               pC->adap_idx, byte_count,
                                pC->cache_size_in_bytes);
                else
                        HPI_DEBUG_LOG(DEBUG,
-                               "cache good. bytecount == cache size = %d",
-                               byte_count);
+                               "adap %d cache good, bytecount == cache size = %d",
+                               pC->adap_idx, byte_count);
 
                pC->init = cached;
        }
index e2f6f1f11a668f16cd566da87e4c1cf540f809e4..2708c4df2c7095bb47f064a0ad15fe8a244139b4 100644 (file)
@@ -33,8 +33,9 @@ struct hpi_adapter_obj {
 };
 
 struct hpi_control_cache {
-       u32 init;            /**< indicates whether the
+       u16 init;            /**< indicates whether the
                                structures are initialized */
+       u16 adap_idx;
        u32 control_count;
        u32 cache_size_in_bytes;
        struct hpi_control_cache_info