summaryrefslogtreecommitdiffstats
path: root/firmware/target/arm/imx233/dcp-imx233.h
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2012-01-27 19:47:47 +0100
committerAmaury Pouly <amaury.pouly@gmail.com>2012-01-27 20:08:33 +0100
commitbf47e577aa7d5d6e64cb6b8a1f8869c62dc5d2f9 (patch)
treea97a0e8d5a8efceeb198ba06528294ed4484c64b /firmware/target/arm/imx233/dcp-imx233.h
parent900b494a2710b3237f46929baf0eba26d8bc8292 (diff)
downloadrockbox-bf47e577aa7d5d6e64cb6b8a1f8869c62dc5d2f9.tar.gz
rockbox-bf47e577aa7d5d6e64cb6b8a1f8869c62dc5d2f9.tar.bz2
rockbox-bf47e577aa7d5d6e64cb6b8a1f8869c62dc5d2f9.zip
imx233: implement dcp blitting, simplify code and make it work even in context interrupt by busy waiting
Change-Id: Ife949e13e3e04a56a2b5bc554eb46c726e719712
Diffstat (limited to 'firmware/target/arm/imx233/dcp-imx233.h')
-rw-r--r--firmware/target/arm/imx233/dcp-imx233.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/firmware/target/arm/imx233/dcp-imx233.h b/firmware/target/arm/imx233/dcp-imx233.h
index 375da16c04..b8340fb4f0 100644
--- a/firmware/target/arm/imx233/dcp-imx233.h
+++ b/firmware/target/arm/imx233/dcp-imx233.h
@@ -295,6 +295,7 @@ struct imx233_dcp_channel_info_t
bool ready;
int sema;
uint32_t cmdptr;
+ bool acquired;
};
struct imx233_dcp_csc_info_t
@@ -355,8 +356,11 @@ void imx233_dcp_release_channel(int chan);
// doesn't check that channel is in use!
void imx233_dcp_reserve_channel(int channel);
-enum imx233_dcp_error_t imx233_dcp_memcpy_ex(int channel, void *src, void *dst, size_t len);
-enum imx233_dcp_error_t imx233_dcp_memcpy(void *src, void *dst, size_t len, int tmo);
+enum imx233_dcp_error_t imx233_dcp_memcpy_ex(int channel, bool fill, const void *src, void *dst, size_t len);
+enum imx233_dcp_error_t imx233_dcp_memcpy(bool fill, const void *src, void *dst, size_t len, int tmo);
+
+enum imx233_dcp_error_t imx233_dcp_blit_ex(int channel, bool fill, const void *src, size_t w, size_t h, void *dst, size_t out_w);
+enum imx233_dcp_error_t imx233_dcp_blit(bool fill, const void *src, size_t w, size_t h, void *dst, size_t out_w, int tmo);
struct imx233_dcp_info_t imx233_dcp_get_info(unsigned flags);