X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=drivers%2Fvideo%2Frockchip%2Frga%2Frga_drv.c;h=171b09ad7f1b7095cac1543972688b071e91dbf2;hb=c57691331e5e1bb6dc9a9863c3daf9901990098c;hp=cd76e6396c8e20e654074cee13b270a9e40f269f;hpb=11c1879e11bacc8d12e2cc4603a73d09db3da3bc;p=firefly-linux-kernel-4.4.55.git diff --git a/drivers/video/rockchip/rga/rga_drv.c b/drivers/video/rockchip/rga/rga_drv.c index cd76e6396c8e..171b09ad7f1b 100755 --- a/drivers/video/rockchip/rga/rga_drv.c +++ b/drivers/video/rockchip/rga/rga_drv.c @@ -262,7 +262,7 @@ static void rga_dump(void) static inline void rga_queue_power_off_work(void) { - queue_delayed_work(system_nrt_wq, &drvdata->power_off_work, RGA_POWER_OFF_DELAY); + queue_delayed_work(system_wq, &drvdata->power_off_work, RGA_POWER_OFF_DELAY); } /* Caller must hold rga_service.lock */ @@ -1349,7 +1349,8 @@ static int __init rga_init(void) unsigned long *mmu_buf_virtual; uint32_t i; uint32_t *buf_p; - + uint32_t *buf; + /* malloc pre scale mid buf mmu table */ mmu_buf = kzalloc(1024*8, GFP_KERNEL); mmu_buf_virtual = kzalloc(1024*2*sizeof(unsigned long), GFP_KERNEL); @@ -1374,7 +1375,12 @@ static int __init rga_init(void) buf_p = kmalloc(1024*256, GFP_KERNEL); rga_mmu_buf.buf_virtual = buf_p; - rga_mmu_buf.buf = (uint32_t *)virt_to_phys((void *)((unsigned long)buf_p)); +#if (defined(CONFIG_ARM) && defined(CONFIG_ARM_LPAE)) + buf = (uint32_t *)(uint32_t)virt_to_phys((void *)((unsigned long)buf_p)); +#else + buf = (uint32_t *)virt_to_phys((void *)((unsigned long)buf_p)); +#endif + rga_mmu_buf.buf = buf; rga_mmu_buf.front = 0; rga_mmu_buf.back = 64*1024; rga_mmu_buf.size = 64*1024;