summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEliot Blennerhassett <eblennerhassett@audioscience.com>2011-02-10 17:26:00 +1300
committerTakashi Iwai <tiwai@suse.de>2011-02-10 18:49:23 +0100
commitffdb57874643a8ad65a46a02dceb2211283816c2 (patch)
tree1e7e199de9514f80102791638052cb4b902b955e
parente64b1a28c532009edd6a8a7b906c280fc2a4b90a (diff)
ALSA: asihpi - Add adapter index to cache info for debug.
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/asihpi/hpi6000.c3
-rw-r--r--sound/pci/asihpi/hpi6205.c3
-rw-r--r--sound/pci/asihpi/hpicmn.c16
-rw-r--r--sound/pci/asihpi/hpicmn.h3
4 files changed, 20 insertions, 5 deletions
diff --git a/sound/pci/asihpi/hpi6000.c b/sound/pci/asihpi/hpi6000.c
index c85db49e5ec..c486af18222 100644
--- a/sound/pci/asihpi/hpi6000.c
+++ b/sound/pci/asihpi/hpi6000.c
@@ -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);
}
diff --git a/sound/pci/asihpi/hpi6205.c b/sound/pci/asihpi/hpi6205.c
index b740edc29b1..5ebf8f886ad 100644
--- a/sound/pci/asihpi/hpi6205.c
+++ b/sound/pci/asihpi/hpi6205.c
@@ -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);
diff --git a/sound/pci/asihpi/hpicmn.c b/sound/pci/asihpi/hpicmn.c
index 793236ef0a5..85c29727979 100644
--- a/sound/pci/asihpi/hpicmn.c
+++ b/sound/pci/asihpi/hpicmn.c
@@ -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;
}
diff --git a/sound/pci/asihpi/hpicmn.h b/sound/pci/asihpi/hpicmn.h
index e2f6f1f11a6..2708c4df2c7 100644
--- a/sound/pci/asihpi/hpicmn.h
+++ b/sound/pci/asihpi/hpicmn.h
@@ -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