diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2012-01-27 19:50:06 +0100 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2012-01-27 20:08:33 +0100 |
commit | 05ba5c19712250b27cc78e8316b93690fd948a03 (patch) | |
tree | 7ad562d73c01e231665f22ad8c04f62e1c72bb24 /firmware/target/arm/imx233 | |
parent | bf47e577aa7d5d6e64cb6b8a1f8869c62dc5d2f9 (diff) | |
download | rockbox-05ba5c19712250b27cc78e8316b93690fd948a03.tar.gz rockbox-05ba5c19712250b27cc78e8316b93690fd948a03.zip |
imx233: update arbiter to get more debug information, update debug screen accordingly
Change-Id: Ia229e5303692712295f1dbd37a76f865a3eef4ea
Diffstat (limited to 'firmware/target/arm/imx233')
-rw-r--r-- | firmware/target/arm/imx233/debug-imx233.c | 6 | ||||
-rw-r--r-- | firmware/target/arm/imx233/kernel-imx233.c | 5 | ||||
-rw-r--r-- | firmware/target/arm/imx233/kernel-imx233.h | 1 |
3 files changed, 9 insertions, 3 deletions
diff --git a/firmware/target/arm/imx233/debug-imx233.c b/firmware/target/arm/imx233/debug-imx233.c index 7db7ee97d7..a4c50bbaf7 100644 --- a/firmware/target/arm/imx233/debug-imx233.c +++ b/firmware/target/arm/imx233/debug-imx233.c | |||
@@ -378,14 +378,14 @@ bool dbg_hw_info_dcp(void) | |||
378 | info.gather_writes, info.otp_key_ready, info.ch0_merged); | 378 | info.gather_writes, info.otp_key_ready, info.ch0_merged); |
379 | lcd_putsf(0, 4, "ctx switching: %d caching: %d", info.context_switching, | 379 | lcd_putsf(0, 4, "ctx switching: %d caching: %d", info.context_switching, |
380 | info.context_caching); | 380 | info.context_caching); |
381 | lcd_putsf(0, 5, "ch irq ien en rdy pri sem cmdptr"); | 381 | lcd_putsf(0, 5, "ch irq ien en rdy pri sem cmdptr a"); |
382 | int nr = HW_DCP_NUM_CHANNELS; | 382 | int nr = HW_DCP_NUM_CHANNELS; |
383 | for(int i = 0; i < nr; i++) | 383 | for(int i = 0; i < nr; i++) |
384 | { | 384 | { |
385 | lcd_putsf(0, 6 + i, "%d %d %d %d %d %d %d 0x%08lx", | 385 | lcd_putsf(0, 6 + i, "%d %d %d %d %d %d %d 0x%08lx %d", |
386 | i, info.channel[i].irq, info.channel[i].irq_en, info.channel[i].enable, | 386 | i, info.channel[i].irq, info.channel[i].irq_en, info.channel[i].enable, |
387 | info.channel[i].ready, info.channel[i].high_priority, | 387 | info.channel[i].ready, info.channel[i].high_priority, |
388 | info.channel[i].sema, info.channel[i].cmdptr); | 388 | info.channel[i].sema, info.channel[i].cmdptr, info.channel[i].acquired); |
389 | } | 389 | } |
390 | lcd_putsf(0, 6 + nr, "csc %d %d %d %d", | 390 | lcd_putsf(0, 6 + nr, "csc %d %d %d %d", |
391 | info.csc.irq, info.csc.irq_en, info.csc.enable, info.csc.priority); | 391 | info.csc.irq, info.csc.irq_en, info.csc.enable, info.csc.priority); |
diff --git a/firmware/target/arm/imx233/kernel-imx233.c b/firmware/target/arm/imx233/kernel-imx233.c index b59d3ed63f..752db68149 100644 --- a/firmware/target/arm/imx233/kernel-imx233.c +++ b/firmware/target/arm/imx233/kernel-imx233.c | |||
@@ -71,6 +71,11 @@ int arbiter_acquire(struct channel_arbiter_t *a, int timeout) | |||
71 | return chan; | 71 | return chan; |
72 | } | 72 | } |
73 | 73 | ||
74 | bool arbiter_acquired(struct channel_arbiter_t *a, int channel) | ||
75 | { | ||
76 | return !(a->free_bm & (1 << channel)); | ||
77 | } | ||
78 | |||
74 | void arbiter_release(struct channel_arbiter_t *a, int channel) | 79 | void arbiter_release(struct channel_arbiter_t *a, int channel) |
75 | { | 80 | { |
76 | mutex_lock(&a->mutex); | 81 | mutex_lock(&a->mutex); |
diff --git a/firmware/target/arm/imx233/kernel-imx233.h b/firmware/target/arm/imx233/kernel-imx233.h index 3c62c1597c..960f3f2431 100644 --- a/firmware/target/arm/imx233/kernel-imx233.h +++ b/firmware/target/arm/imx233/kernel-imx233.h | |||
@@ -41,5 +41,6 @@ void arbiter_reserve(struct channel_arbiter_t *a, unsigned channel); | |||
41 | /* return channel on success and OBJ_WAIT_TIMEOUT on failure */ | 41 | /* return channel on success and OBJ_WAIT_TIMEOUT on failure */ |
42 | int arbiter_acquire(struct channel_arbiter_t *a, int timeout); | 42 | int arbiter_acquire(struct channel_arbiter_t *a, int timeout); |
43 | void arbiter_release(struct channel_arbiter_t *a, int channel); | 43 | void arbiter_release(struct channel_arbiter_t *a, int channel); |
44 | bool arbiter_acquired(struct channel_arbiter_t *a, int channel); | ||
44 | 45 | ||
45 | #endif /* __KERNEL_IMX233__ */ \ No newline at end of file | 46 | #endif /* __KERNEL_IMX233__ */ \ No newline at end of file |