Hi,
> > I've integrated Kevin's patch for CMEMK get_phys().
> > It works fine with decode program.
>
> Just curious, does encode+decode work for you?
I had to recompile the demo programs (encode, encodedecode)
To make them work. Otherwise they didn't recognize Video format.
After the recompilation both programs crashed Kernel at the same place.
>
> > But encode causes a nasty Kernel Panic
> > When encode calls ioctl(VIDIOC_STREAMON) from initCaptureDevice()
> > (see attached).
> > It smells like memory allocation problem.
> > Any ideas?
>
> I am seeing a similiar crash. But I'm curious how you'v deduced that
> it's triggered by an ioctl? This trace shows a crash in the EMAC
> driver, which took an interrupt during some NFS stack activity.
Comment the line marked /* TBD: A.R. Debug Crash here */ in the
following
patch and the Kernel will stop crashing ;-)
------------------- 8< ---------------------
diff --git a/drivers/media/video/davinci_vpfe.c
b/drivers/media/video/davinci_vpfe.c
index 61bc94e..848430d 100644
--- a/drivers/media/video/davinci_vpfe.c
+++ b/drivers/media/video/davinci_vpfe.c
@@ -40,7 +40,15 @@ #include <asm/dma-mapping.h>
#include <media/davinci_vpfe.h>
+/* TBD: A.R. Debug */
+#define DEBUG
+
+#ifdef DEBUG
+#define debug_print(x...) printk(x)
+#else
#define debug_print(x...) //printk(x)
+#endif
+
MODULE_LICENSE("GPL");
@@ -765,6 +773,7 @@ static int vpfe_doioctl(struct inode *in
/* start capture by enabling CCDC and resizer */
ccdc_config_ycbcr(&vpfe->ccdc_params);
/* setup the memory address for the frame buffer */
+ debug_print(KERN_INFO "VIDIOC_STREAMON boff = %x \n",
vpfe->curFrm->boff);
ccdc_setfbaddr(((unsigned long)(vpfe->curFrm->boff)));
/* enable CCDC */
vpfe->field_id = 0;
@@ -772,7 +781,7 @@ static int vpfe_doioctl(struct inode *in
vpfe->mode_changed = FALSE;
vpfe->field_offset =
(vpfe->vwin.height - 2) * vpfe->vwin.width;
- ccdc_enable(TRUE);
+ ccdc_enable(TRUE); /* TBD: A.R. Debug Crash here */
up(&vpfe->lock);
debug_print(KERN_INFO "started video streaming.\n");
break;
------------------- 8< ---------------------
It seems that when the hardware fills video buffers, it
Writes to a wrong place causing crash.
>
> One other thing, can you tell me what problem your ioremap.c
> change was
> meant to fix?
It was supposed to workaround get_phys() problem you fixed in cmemk.c
Please, revert the ioremap.c patch - it is not needed anymore.
Regards,
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
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source