\r
if (vma)//&& (vma->vm_flags & VM_PFNMAP) )\r
{\r
+ #if 0\r
do\r
{\r
pte_t * pte;\r
pte_unmap_unlock(pte, ptl); \r
}\r
while (0);\r
+ \r
+ #else\r
+ \r
+ do\r
+ {\r
+ pte_t * pte;\r
+ spinlock_t * ptl;\r
+ unsigned long pfn; \r
+ pgd_t * pgd;\r
+ pud_t * pud;\r
+ pmd_t * pmd;\r
+ \r
+ pgd = pgd_offset(current->mm, (Memory + i) << PAGE_SHIFT); \r
+ pud = pud_offset(pgd, (Memory + i) << PAGE_SHIFT);\r
+ pmd = pmd_offset(pud, (Memory + i) << PAGE_SHIFT);\r
+ pte = pte_offset_map_lock(current->mm, pmd, (Memory + i) << PAGE_SHIFT, &ptl);\r
+ \r
+ pfn = pte_pfn(*pte);\r
+ Address = ((pfn << PAGE_SHIFT) | (((unsigned long)((Memory + i) << PAGE_SHIFT)) & ~PAGE_MASK)); \r
+ pte_unmap_unlock(pte, ptl); \r
+ }\r
+ while (0);\r
+ #endif\r
\r
pageTable[i] = Address;\r
}\r
stride = (msg->dst.vir_w * pixel_width + 3) & (~3);\r
*bRGA_DST_MST = (u32)msg->dst.yrgb_addr + (tile->dst_ctrl.y_off * stride) + (tile->dst_ctrl.x_off * pixel_width);\r
*bRGA_DST_CTR_INFO = (tile->dst_ctrl.w) | ((tile->dst_ctrl.h) << 16);\r
-\r
+ \r
*bRGA_DST_CTR_INFO |= (1<<29) | (1<<28);\r
}\r
\r