Hi, Please, ignore my question below because I've found answer In the following e-mail: http://linux.omap.com/pipermail/davinci-linux-open-source/2006-December/ 001886.html
Regards, Alex > -----Original Message----- > From: Alex Rier > Sent: Sunday, January 14, 2007 10:51 > To: 'davinci-linux-open-source@linux.davincidsp.com' > Subject: CMEMK get_phys() fails with 2.6.19-rc3-omap1 > > Hi, > > I'm porting DaVinci Video Capture driver davinci_vpfe, ccdc, > CMEMK and DSPLINKK to 2.6.19-rc3-omap1. > > All the drivers and there dependencies compile, link and load. > But when I try to run "decode", CMEMK fails in get_phys(). > (I've put some extra prints into get_phys). > See below... > > > //--------- cmemk.c ------------------------------------------- > unsigned long get_phys(unsigned long virtp) > { > pgd_t *pgd; > pmd_t *pmd; > pte_t *pte; > struct mm_struct *mm = current->mm; > > pgd = pgd_offset(mm, virtp); > __D("get_phys(): pgd = 0x%X virtp = 0x%X \n", > (unsigned)pgd_val(pgd), (unsigned)virtp); // TBD: A.R. Debug > if (!(pgd_none(*pgd) || pgd_bad(*pgd))) { > pmd = pmd_offset(pgd, virtp); > __D("get_phys(): pmd = 0x%X \n", > (unsigned)pmd_val(pmd)); // TBD: A.R. Debug > __D("get_phys(): pmd_none = 0x%X pmd_bad = 0x%X \n", > (unsigned)pmd_none(*pmd), (unsigned)pmd_bad(*pmd)); // TBD: > A.R. Debug > > if (!(pmd_none(*pmd) || pmd_bad(*pmd))) { > pte = pte_offset_kernel(pmd, virtp); > __D("get_phys(): pte = 0x%X pte_present = %d \n", > (unsigned)pte_val(pte), > (unsigned)pte_present(*pte)); // TBD: A.R. Debug > > if (pte_present(*pte)) { > __D("get_phys(): pte_page = 0x%X > page_address = 0x%X virtp & ~PAGE_MASK = 0x%X \n", > (unsigned)pte_page(*pte), > (unsigned)page_address(pte_page(*pte)), > (unsigned)(virtp & ~PAGE_MASK)); // > TBD: A.R. Debug > return __pa(page_address(pte_page(*pte)) + > (virtp & ~PAGE_MASK)); > } > } > } > > return 0; > } > //------------------------------------------------------------ > > ==== 2.6.19-rc3-omap1 DMESG ==== > MEMK Debug: ** CMEM kernel module built: Jan 10 2007 14:44:55 > CMEMK Debug: Allocated major number: 254 > CMEMK Debug: Allocating 1 buffers of size 3145728 (requested 3145728) > CMEMK Debug: alloc_pool_buffer: Called for size 3145728 > CMEMK Debug: alloc_pool_buffer: Fits req 3145728 < avail: 8388608 > CMEMK Debug: alloc_pool_buffer: new available block size is 5242880 > CMEMK Debug: alloc_pool_buffer: returning allocated buffer at > 0xc9500000 > CMEMK Debug: get_phys(): pgd = 0xC6713250 virtp = 0xC9500000 > CMEMK Debug: get_phys(): pmd = 0xC6713250 > CMEMK Debug: get_phys(): pmd_none = 0x0 pmd_bad = 0x2 > CMEMK Debug: Allocated buffer 0, virtual 0xc9500000 and > physical 0x0 and size 3145728 > CMEMK Debug: Busylist for pool 0: > CMEMK Debug: Freelist for pool 0: > CMEMK Debug: Free: Buffer with id 0 and physical address 0x0 > CMEMK Debug: Allocating 1 buffers of size 204800 (requested 202752) > CMEMK Debug: alloc_pool_buffer: Called for size 204800 > CMEMK Debug: alloc_pool_buffer: Fits req 204800 < avail: 5242880 > CMEMK Debug: alloc_pool_buffer: new available block size is 5038080 > CMEMK Debug: alloc_pool_buffer: returning allocated buffer at > 0xc94ce000 > CMEMK Debug: get_phys(): pgd = 0xC6713250 virtp = 0xC94CE000 > CMEMK Debug: get_phys(): pmd = 0xC6713250 > CMEMK Debug: get_phys(): pmd_none = 0x0 pmd_bad = 0x2 > CMEMK Debug: Allocated buffer 0, virtual 0xc94ce000 and > physical 0x0 and size 204800 > ...... > CMEMK Debug: GETSIZE ioctl received > CMEMK Debug: GETSIZE returning 3145728 > CMEMK Debug: mmap: vma->vm_start = 0x41598000 > CMEMK Debug: mmap: vma->vm_pgoff = 0x0 > CMEMK Debug: mmap: vma->vm_end = 0x41898000 > CMEMK Debug: mmap: size = 0x300000 > CMEMK Debug: GETPHYS ioctl received. > CMEMK Debug: get_phys(): pgd = 0xC6665050 virtp = 0x41598000 > CMEMK Debug: get_phys(): pmd = 0xC6665050 > CMEMK Debug: get_phys(): pmd_none = 0x0 pmd_bad = 0x0 > CMEMK Debug: get_phys(): pte = 0xC6105E60 pte_present = 1 > CMEMK Debug: get_phys(): pte_page = 0xBF303000 page_address = > 0x40000000 virtp & ~PAGE_MASK = 0x0 > CMEMK Error: GETPHYS: Failed to convert virtual 0x41598000 to > physical. > ........ > ================ > > > Do you have an idea why does it work with 2.6.10-mvl401 and fails with > 2.6.19-rc3-omap1? > > Thanks, > Alex > > This mail passed through VIGILANT TECHNOLOGY Mail-SeCure. ************************************************************************************ This footnote confirms that this email message has been scanned by PineApp Mail-SeCure for the presence of malicious code, vandals & computer viruses. ************************************************************************************ _______________________________________________ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source