rk29-ipp:use dsb() only after we start ipp
authorchenli <chenli@rock-chips.com>
Mon, 19 Sep 2011 10:24:55 +0000 (18:24 +0800)
committerchenli <chenli@rock-chips.com>
Mon, 19 Sep 2011 10:24:55 +0000 (18:24 +0800)
drivers/staging/rk29/ipp/rk29-ipp.c

index 455b4da9c272d70ae91426645be30a51d1197df8..d8903cbdf2f17b12ef36c3cfa41c4092d80052ff 100755 (executable)
@@ -139,7 +139,6 @@ struct ipp_context
 static inline void ipp_write( uint32_t b, uint32_t r)\r
 {\r
        __raw_writel(b, drvdata->ipp_base + r);\r
-       dsb();\r
 }\r
 \r
 static inline uint32_t ipp_read( uint32_t r)\r
@@ -888,6 +887,8 @@ int ipp_blit(const struct rk29_ipp_req *req)
        ipp_write(8, IPP_INT);          \r
 \r
        ipp_write(1, IPP_PROCESS_ST);\r
+\r
+       dsb();\r
        dmac_clean_range(drvdata->ipp_base,drvdata->ipp_base+0x54);\r
 #ifdef IPP_TEST\r
        hw_start = ktime_get(); \r