From: chenli Date: Thu, 18 Aug 2011 08:30:56 +0000 (+0800) Subject: rk29-ipp:fix a bug of setting rotation X-Git-Tag: firefly_0821_release~9772^2~18^2~7 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=dd9743449318c8a80d74199320ff4cde27dac62a;p=firefly-linux-kernel-4.4.55.git rk29-ipp:fix a bug of setting rotation --- diff --git a/drivers/staging/rk29/ipp/rk29-ipp.c b/drivers/staging/rk29/ipp/rk29-ipp.c index a6fea1250ab6..8d9862bd5629 100755 --- a/drivers/staging/rk29/ipp/rk29-ipp.c +++ b/drivers/staging/rk29/ipp/rk29-ipp.c @@ -828,7 +828,7 @@ int ipp_blit(const struct rk29_ipp_req *req) else { ipp_write(ipp_read(IPP_CONFIG)|ROT_ENABLE, IPP_CONFIG); - ipp_write(ipp_read(IPP_CONFIG)|rotate<<5, IPP_CONFIG); + ipp_write((ipp_read(IPP_CONFIG)&0xffffff1f)|(rotate<<5), IPP_CONFIG); } /*Configure deinterlace*/ @@ -877,7 +877,7 @@ int ipp_blit(const struct rk29_ipp_req *req) { ipp_write(ipp_read(IPP_CONFIG)&(~STORE_CLIP_MODE), IPP_CONFIG); } - + /* Start the operation */ ipp_write(8, IPP_INT);// dsb(); @@ -1416,6 +1416,7 @@ uint32_t size = 8*1024*1024; */ /*8 test special up scaling*/ + /* ipp_req.src0.fmt = IPP_Y_CBCR_H2V2; ipp_req.src0.w = 128; ipp_req.src0.h = 128; @@ -1453,7 +1454,13 @@ uint32_t size = 8*1024*1024; ret = -1; ret = ipp_blit_sync(&ipp_req); printk("176x144->800x480: %d \n",ret); + */ + /*9 test rotate config*/ + ipp_req.flag = IPP_ROT_180; + ipp_blit_sync(&ipp_req); + ipp_req.flag = IPP_ROT_270; + ipp_blit_sync(&ipp_req); free_pages(srcY, 9); //test deinterlace