MFC errors on the XU3

abhijeet
Posts: 16
Joined: Tue Sep 09, 2014 9:18 pm
languages_spoken: English, Hindi, French
ODROIDs: Odroid XU3, Odroid U3
Contact:

Re: MFC errors on the XU3

Unread post by abhijeet » Tue Sep 09, 2014 10:02 pm

I have been able to encode/decode with a little more success. Every successful decode run ends with kernel panic on the dreaded "imprecise external abort".

Test apps: patched version of Samsung's test apps
base kernel: odroid xu3-3.10.y
Patches: m2m scalar, mfc and parts of v4l2 core are from an older upstream (kgene's for-next tree) 3.16 with patches for IOMMU

MFC errors resulting in aborted codec operations:
1. Interrupt Error: 0000001f (while decoding)
2. Interrupt Error: 0000001e (reported after timeout on dqbuf for encoding)

Would anyone here know what these interrupt errors mean precisely? It's a register value, so Samsung probably should know.

Consistent panic during reset (after completion of successful decode run): imprecise external abort (0x1c06) with pc at s5p_mfc_reset
(I will take care of the problem in reset sequence. It's a well defined set and can be more easily debugged. Once done, I will share the patches with @mdrjr)

User avatar
OverSun
Posts: 1432
Joined: Mon Apr 29, 2013 5:12 pm
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by OverSun » Tue Sep 09, 2014 10:24 pm

nobody knows what this exactly is and this is what everyone got for decoding if compile kernel clean.

User avatar
OverSun
Posts: 1432
Joined: Mon Apr 29, 2013 5:12 pm
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by OverSun » Tue Sep 09, 2014 10:43 pm

I made it working.
The final issue was different number of arguments used in android kernel for videobuf alloc function and in linux kernel. The linux one is two arguments short. And the call the that function was wrapped into #define with variable arguments size, so it was never causing any warnings or errors.
I'll post the patch and the instructions todays evening and someone could test the actual display output.

mdrjr
Site Admin
Posts: 11698
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Contact:

Re: MFC errors on the XU3

Unread post by mdrjr » Tue Sep 09, 2014 10:45 pm

OverSun wrote:I made it working.
The final issue was different number of arguments used in android kernel for videobuf alloc function and in linux kernel. The linux one is two arguments short. And the call the that function was wrapped into #define with variable arguments size, so it was never causing any warnings or errors.
I'll post the patch and the instructions todays evening and someone could test the actual display output.
Amazing news :)

User avatar
OverSun
Posts: 1432
Joined: Mon Apr 29, 2013 5:12 pm
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by OverSun » Tue Sep 09, 2014 11:02 pm

So here is the patch needed:

removed in favor of further published fixed patch

After that you would need to copy drivers/media/v4l2-core/videobuf2-ion.c from android kernel (the file is completely missing in linux kernel).
And do these changes in the linux config:
Disable:
CONFIG_VIDEO_SAMSUNG_S5P_MFC
Enable:
CONFIG_VIDEO_EXYNOS_MFC
CONFIG_EXYNOS_MFC_V8
CONFIG_VIDEOBUF2_ION
CONFIG_ANDROID
CONFIG_ION_EXYNOS
CONFIG_ION_EXYNOS_OF
CONFIG_EXYNOS_CONTENT_PATH_PROTECTION

Maybe I forgot something, it was very long debugging session. Just let me know if it will fail somewhere, I'll probably catch up with what's wrong.
Last edited by OverSun on Wed Sep 10, 2014 3:01 am, edited 1 time in total.

mdrjr
Site Admin
Posts: 11698
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Contact:

Re: MFC errors on the XU3

Unread post by mdrjr » Wed Sep 10, 2014 12:33 am

Hello Oversun,

I've just tested your patch.. The different between my previous attempts using the Android MFC was just the mach-odroid-xu3.c

However I noted that you disabled the IOMMU (new) support.. That has only 1 drawback.. It kills the HDMI driver :)
I'm working on fixing the HDMI drivers to get it working with the current MMU :)

User avatar
memeka
Posts: 4230
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Contact:

Re: MFC errors on the XU3

Unread post by memeka » Wed Sep 10, 2014 12:57 am

mdrjr wrote: However I noted that you disabled the IOMMU (new) support.. That has only 1 drawback.. It kills the HDMI driver :)
I'm working on fixing the HDMI drivers to get it working with the current MMU :)
:)

Great job @Oversun for getting this in working state!
Can't wait for some time to get this a go...

User avatar
OverSun
Posts: 1432
Joined: Mon Apr 29, 2013 5:12 pm
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by OverSun » Wed Sep 10, 2014 1:30 am

mdrjr wrote:Hello Oversun,

I've just tested your patch.. The different between my previous attempts using the Android MFC was just the mach-odroid-xu3.c

However I noted that you disabled the IOMMU (new) support.. That has only 1 drawback.. It kills the HDMI driver :)
I'm working on fixing the HDMI drivers to get it working with the current MMU :)
As I already said before, the issue is with CONFIG_NEED_SG_DMA_LENGTH.
It's enabled by ARM_DMA_USE_IOMMU and when enabled it redefines some functions for example like this in include/asm-generic/scatterlist.h (this one causes the issue with 0 memory given to mfc when asked, ((sg)->dma_length) returns 0, ((sg)->length) returns normal length):

Code: Select all

#ifdef CONFIG_NEED_SG_DMA_LENGTH
#define sg_dma_len(sg)          ((sg)->dma_length)
#else
#define sg_dma_len(sg)          ((sg)->length)
#endif
Maybe it could be avoided some different way. For example by dumping this part totally and making sg_dme_len(sg) always be ((sg)->length) or smth... I'm just not quite sure what other impact that would have on something else.

User avatar
OverSun
Posts: 1432
Joined: Mon Apr 29, 2013 5:12 pm
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by OverSun » Wed Sep 10, 2014 2:37 am

Well yeah, I tested it just removing everything (quoted above in code section) and leaving sg_dma_len(sg) to be only ((sg)->length) and it works fine, you can keep the ARM_DMA_USE_IOMMU back.
This shouldn't be a lot of issue, because as I see from the code the dma_length is just assigned length bytes (in arch/arm/mm/dma-mapping.c). So I don't know why it returns 0, maybe the assignment is done after the call to retrieve.

User avatar
OverSun
Posts: 1432
Joined: Mon Apr 29, 2013 5:12 pm
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by OverSun » Wed Sep 10, 2014 3:00 am

So here is the new "revisited" patch:

Code: Select all

diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
index 3cd9bf3..d2724d1 100755
--- a/arch/arm/boot/dts/exynos5422-odroidxu3.dts
+++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
@@ -842,10 +842,43 @@
         status = "okay";
        };
        
+/*
     codec@11000000 {
                 samsung,mfc-r = <0x43000000 0x800000>;
                 samsung,mfc-l = <0x51000000 0x800000>;
                 status = "okay";
     };
+*/
+       ion {
+               compatible = "samsung,exynos5430-ion";
+
+               contig-names = "common",
+                              "mfc_sh",
+                              "g2d_wfd",
+                              "video",
+                              "mfc_input",
+                              "sectbl",
+                              "mfc_fw",
+                              "mfc_nfw",
+                              "secdma";
+
+               contig = <0 0x6650000 0x0>,
+                        <2 0x400000 0x0>,
+                        <10 0x800000 0x0>,
+                        <11 0x6000000 0x0>,
+                        <7 0x1000000 0x0>,
+                        <9 0x400000 0x0>,
+                        <8 0x400000 0x0>,
+                        <12 0x400000 0x0>,
+                        <13 0x400000 0x0>;
+
+               ion_noncontig_heap {
+                       id-type = <0 0>;
+               };
+
+               exynos_contig_heap {
+                       id-type = <4 6>;
+               };
+       };
        
 };
diff --git a/arch/arm/boot/dts/exynos5422_evt0.dtsi b/arch/arm/boot/dts/exynos5422_evt0.dtsi
index d74325f..12c788b 100755
--- a/arch/arm/boot/dts/exynos5422_evt0.dtsi
+++ b/arch/arm/boot/dts/exynos5422_evt0.dtsi
@@ -28,6 +28,7 @@
                mshc0 = &dwmmc_0;
                mshc1 = &dwmmc_1;
                mshc2 = &dwmmc_2;
+               mfc0 = &mfc_0;
                gsc0 = &gsc_0;
                gsc1 = &gsc_1;
                mdev0 = &mdev_0;
@@ -415,7 +416,7 @@
                interrupts = <6 2>;
                clock-names = "sysmmu", "master";
                clocks = <&clock 1349>, <&clock 1350>;
-               mmu-masters = <&mfc>;
+               mmu-masters = <&mfc_0>;
        };
 
        sysmmu_mfc0_1: sysmmu@0x11210000 {
@@ -425,7 +426,7 @@
                interrupts = <8 5>;
                clock-names = "sysmmu", "master";
                clocks = <&clock 1348>, <&clock 1350>;
-               mmu-masters = <&mfc>;
+               mmu-masters = <&mfc_0>;
        };
 
     sysmmu_fimd0x: sysmmu@0x14640000 {
@@ -873,7 +874,7 @@
                 pinctrl-names = "default";
                 pinctrl-0 = <&spi2_bus>;
        };
-       
+/*
     mfc: codec@11000000 {   
                 reg = <0x11000000 0x10000>;
                 interrupts = <0 96 0>;  
@@ -884,9 +885,9 @@
                                min_rate = <100000>;
                                compatible = "samsung,mfc-v8";
     };
+*/
 
-
-       /* mfc_0: mfc@11000000 {
+       mfc_0: mfc@11000000 {
                compatible = "samsung,mfc-v6";
                reg = <0x11000000 0x10000>;
                interrupts = <0 96 0>;
@@ -932,7 +933,7 @@
                                freq_kfc = <400000>;
                        };
                };
-       }; */
+       };
 
        sec_pwm: pwm@12dd0000 {
                compatible = "samsung,s3c6400-pwm";
diff --git a/arch/arm/mach-exynos/mach-odroid-xu3.c b/arch/arm/mach-exynos/mach-odroid-xu3.c
index 4fc4c8b..897c3e5 100644
--- a/arch/arm/mach-exynos/mach-odroid-xu3.c
+++ b/arch/arm/mach-exynos/mach-odroid-xu3.c
@@ -14,6 +14,7 @@
 #include <linux/memblock.h>
 #include <linux/io.h>
 #include <linux/clocksource.h>
+#include <linux/exynos_ion.h>
 
 #include <asm/mach/arch.h>
 #include <mach/regs-pmu.h>
@@ -49,6 +50,9 @@ static void __init exynos5_reserve(void)
                s5p_mfc_reserve_mem(mfc_mem.roff, mfc_mem.rsize, mfc_mem.loff,
                                mfc_mem.lsize);
 #endif
+#ifdef CONFIG_ION_EXYNOS
+       init_exynos_ion_contig_heap();
+#endif
 }
 
 DT_MACHINE_START(ODROIDXU3, "ODROID-XU3")
diff --git a/drivers/media/v4l2-core/Kconfig b/drivers/media/v4l2-core/Kconfig
index 8c05565..a6646f5 100644
--- a/drivers/media/v4l2-core/Kconfig
+++ b/drivers/media/v4l2-core/Kconfig
@@ -84,6 +84,14 @@ config VIDEOBUF2_DMA_SG
        select VIDEOBUF2_CORE
        select VIDEOBUF2_MEMOPS
 
+config  VIDEOBUF2_ION
+        bool "Video buffer 2 by Android ION"
+        depends on ION_EXYNOS
+        select VIDEOBUF2_CORE
+        select VIDEOBUF2_MEMOPS
+        help
+          Internal memory management for Video Buffer 2 by ION
+
 config VIDEO_V4L2_INT_DEVICE
        tristate "V4L2 int device (DEPRECATED)"
        depends on VIDEO_V4L2
diff --git a/drivers/media/v4l2-core/Makefile b/drivers/media/v4l2-core/Makefile
index aa50c46..938dbbc 100644
--- a/drivers/media/v4l2-core/Makefile
+++ b/drivers/media/v4l2-core/Makefile
@@ -32,6 +32,7 @@ obj-$(CONFIG_VIDEOBUF2_MEMOPS) += videobuf2-memops.o
 obj-$(CONFIG_VIDEOBUF2_VMALLOC) += videobuf2-vmalloc.o
 obj-$(CONFIG_VIDEOBUF2_DMA_CONTIG) += videobuf2-dma-contig.o
 obj-$(CONFIG_VIDEOBUF2_DMA_SG) += videobuf2-dma-sg.o
+obj-$(CONFIG_VIDEOBUF2_ION) += videobuf2-ion.o
 
 ccflags-y += -I$(srctree)/drivers/media/dvb-core
 ccflags-y += -I$(srctree)/drivers/media/dvb-frontends
diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c
index e3bdc3b..0c11331 100755
--- a/drivers/media/v4l2-core/videobuf2-core.c
+++ b/drivers/media/v4l2-core/videobuf2-core.c
@@ -53,6 +53,7 @@ static int __vb2_buf_mem_alloc(struct vb2_buffer *vb)
        struct vb2_queue *q = vb->vb2_queue;
        void *mem_priv;
        int plane;
+       int write = !V4L2_TYPE_IS_OUTPUT(q->type);
 
        /*
         * Allocate memory for all planes in this buffer
@@ -61,8 +62,13 @@ static int __vb2_buf_mem_alloc(struct vb2_buffer *vb)
        for (plane = 0; plane < vb->num_planes; ++plane) {
                unsigned long size = PAGE_ALIGN(q->plane_sizes[plane]);
 
+#ifdef CONFIG_VIDEOBUF2_ION
+               mem_priv = call_memop(q, alloc, q->alloc_ctx[plane],
+                                       size, write, plane, q->gfp_flags);
+#else
                mem_priv = call_memop(q, alloc, q->alloc_ctx[plane],
                                      size, q->gfp_flags);
+#endif
                if (IS_ERR_OR_NULL(mem_priv))
                        goto free;
 
diff --git a/include/asm-generic/scatterlist.h b/include/asm-generic/scatterlist.h
index 5de0735..3169746 100644
--- a/include/asm-generic/scatterlist.h
+++ b/include/asm-generic/scatterlist.h
@@ -25,10 +25,10 @@ struct scatterlist {
  */
 #define sg_dma_address(sg)     ((sg)->dma_address)
 
-#ifdef CONFIG_NEED_SG_DMA_LENGTH
-#define sg_dma_len(sg)         ((sg)->dma_length)
-#else
+//#ifdef CONFIG_NEED_SG_DMA_LENGTH
+//#define sg_dma_len(sg)               ((sg)->dma_length)
+//#else
 #define sg_dma_len(sg)         ((sg)->length)
-#endif
+//#endif
 
 #endif /* __ASM_GENERIC_SCATTERLIST_H */
diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h
index 845e53a..8c1dd02 100755
--- a/include/media/videobuf2-core.h
+++ b/include/media/videobuf2-core.h
@@ -81,7 +81,12 @@ struct vb2_fileio_data;
  *                               unmap_dmabuf.
  */
 struct vb2_mem_ops {
+#ifdef CONFIG_VIDEOBUF2_ION
+    void        *(*alloc)(void *alloc_ctx, unsigned long size,
+                                  int write, int plane, gfp_t gfp_flags);
+#else
        void            *(*alloc)(void *alloc_ctx, unsigned long size, gfp_t gfp_flags);
+#endif
        void            (*put)(void *buf_priv);
        struct dma_buf *(*get_dmabuf)(void *buf_priv);
 

mdrjr
Site Admin
Posts: 11698
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Contact:

Re: MFC errors on the XU3

Unread post by mdrjr » Wed Sep 10, 2014 8:58 am

First.. Thank so you much Oversun! Once again you nailed it!

I already pushed it to our github and a updated binary is being uploaded now.

I also did disabled the secure encoder/decoder as we won't use it anyway..

Now.. GStreamer says;

Code: Select all

[   32.643705] [c5] [d:0] vidioc_try_fmt:1308: Not supported format.
[   32.648366] [c5] [d:0] vidioc_try_fmt:1308: Not supported format.
[   32.654454] [c5] [d:0] vidioc_try_fmt:1308: Not supported format.
[   32.660503] [c5] [d:0] vidioc_try_fmt:1308: Not supported format.
XBMC doesn't use the MFC to decode its always using the ffmpeg. Anything we might need to change in the XBMC MFC code to make it work ?

User avatar
memeka
Posts: 4230
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Contact:

Re: MFC errors on the XU3

Unread post by memeka » Wed Sep 10, 2014 9:47 am

@mdrjr
I need to update my debs for XU3 ... XU3 does not have NV12MT at all (both U3 and XU had it), so it will fail MFC detection because of that...
you can either quickly modify https://github.com/mihailescu2m/xbmc/bl ... C.cpp#L203
and do something like: hasNV12MTSupport = true; m_hasNV12Support = true; return hasNV12MTSupport || m_hasNV12Support;
or just return true at https://github.com/mihailescu2m/xbmc/bl ... C.cpp#L169
or use Oversun's XBMC repo (he doesn't detect formats at all)...

I will update debs and look at GStreamer in the next days, when I get the time... currently v busy with other things :(

User avatar
OverSun
Posts: 1432
Joined: Mon Apr 29, 2013 5:12 pm
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by OverSun » Wed Sep 10, 2014 1:47 pm

Yeah, my MFC class uses slightly other detection algorithm. It checks if untiled picture supported on output and if does - disables all the FIMC code. Should work without a problem with any new MFC.

gripped
Posts: 691
Joined: Tue May 21, 2013 11:34 pm
languages_spoken: english
ODROIDs: U2 XU U3 XU3
Contact:

Re: MFC errors on the XU3

Unread post by gripped » Wed Sep 10, 2014 3:47 pm

I've been following this thread with interest for the last month. I didn't post as I had nothing useful to add.
But now I'd like to thank you oversun for your work on this. You deserve a medal (and a job ;) )

User avatar
OverSun
Posts: 1432
Joined: Mon Apr 29, 2013 5:12 pm
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by OverSun » Wed Sep 10, 2014 5:38 pm

thanks guys for the kind words, it's always warm to hear them. I'm just doing what I could to contribute as the community. happy that this is useful.

suriyan
Posts: 473
Joined: Wed Jun 26, 2013 2:41 pm
languages_spoken: english
ODROIDs: odroid-u2/xu-e/u3/x2/xu3/c1
Contact:

Re: MFC errors on the XU3

Unread post by suriyan » Thu Sep 11, 2014 10:47 am

Good work OverSun! Good digging all the way through!!

User avatar
recliq
Posts: 111
Joined: Mon Feb 25, 2013 6:07 pm
languages_spoken: english, german
ODROIDs: 2xU2 + U3 + XU3 + 2xXU4 + C2
Location: Germany
Contact:

Re: MFC errors on the XU3

Unread post by recliq » Mon Sep 22, 2014 11:59 pm

Just ordered my XU3 and it hasn't arrived yet, but while already gathering some info about it I stumbled across this thread.

Also from me a BIG THANK YOU, OverSun!!!

Ash2000
Posts: 13
Joined: Fri Oct 17, 2014 6:04 am
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by Ash2000 » Fri Oct 17, 2014 6:06 am

I can't find the new kernel with the patch on github, can anyone share the link with me? I am also trying to work with oversun's MFC example on XU3 but it fails/panics like mentioned above.

User avatar
memeka
Posts: 4230
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Contact:

Re: MFC errors on the XU3

Unread post by memeka » Fri Oct 17, 2014 10:52 am

there is nothing on github, see the changes and patch on this thread.
you also need to modify xbmc source yourself.

mdrjr
Site Admin
Posts: 11698
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Contact:

Re: MFC errors on the XU3

Unread post by mdrjr » Fri Oct 17, 2014 1:26 pm

Actually.. the kernel patch's are already on the github

Ash2000
Posts: 13
Joined: Fri Oct 17, 2014 6:04 am
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by Ash2000 » Fri Oct 17, 2014 1:34 pm

I guess this patch is only for the android kernel on github? The odroid linux kernel doesn't seem to have it and isn't configured with ION by default (since it seems ION is required for the patch to do anything). Do you know what I can do to fix MFC on the odroid linux kernel (not android) 3.10?

mdrjr
Site Admin
Posts: 11698
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Contact:

Re: MFC errors on the XU3

Unread post by mdrjr » Fri Oct 17, 2014 1:49 pm

Kernel on Github is already fixed.... and working

Ash2000
Posts: 13
Joined: Fri Oct 17, 2014 6:04 am
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by Ash2000 » Fri Oct 17, 2014 3:05 pm

I don't see any commits under here related to oversun's MFC patch: https://github.com/hardkernel/linux/tre ... xu3-3.10.y.

I have also try the latest kernel with the odroid utility and still see the same kernel panics with MFC (running oversun's sample code) as this post said earlier.

Am I looking at the wrong kernel? If so, can you please share the link?

User avatar
recliq
Posts: 111
Joined: Mon Feb 25, 2013 6:07 pm
languages_spoken: english, german
ODROIDs: 2xU2 + U3 + XU3 + 2xXU4 + C2
Location: Germany
Contact:

Re: MFC errors on the XU3

Unread post by recliq » Fri Oct 17, 2014 6:21 pm

Take a closer look....
Commits on Sep 10, 2014

Ash2000
Posts: 13
Joined: Fri Oct 17, 2014 6:04 am
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by Ash2000 » Tue Oct 21, 2014 3:56 am

I have updated to the latest kernel on my XU3 (Linux odroid 3.10.54+ #1 SMP PREEMPT Wed Oct 8 11:49:37 UTC 2014 armv7l armv7l armv7l GNU/Linux)

But after running Oversun's mfc sample code, I first get a few Request buffers failing and then after several runs of the sample code, it kernel panics:
85.242821] [c6] Unhandled fault: imprecise external abort (0x1406) at 0x00000000

mdrjr
Site Admin
Posts: 11698
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Contact:

Re: MFC errors on the XU3

Unread post by mdrjr » Tue Oct 21, 2014 10:34 am

I'll update the kernel this week with those things fixed :)

Ash2000
Posts: 13
Joined: Fri Oct 17, 2014 6:04 am
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by Ash2000 » Tue Oct 21, 2014 12:27 pm

Thank you mdrjr!! I await patiently to be able to use MFC on Odroid XU3!

Ash2000
Posts: 13
Joined: Fri Oct 17, 2014 6:04 am
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by Ash2000 » Thu Oct 23, 2014 7:03 am

Hi mdrjr,
I ran the odroid kernel update utility and noticed a new kernel was available 3.10.58 on the XU3. Didn't know if this was pushed by you, but I tried it out but still get kernel panics running oversun's mfc sample app.

mdrjr
Site Admin
Posts: 11698
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Contact:

Re: MFC errors on the XU3

Unread post by mdrjr » Thu Oct 23, 2014 10:18 am

I'm checking here :)
I'll probably release .deb's of XBMC and everything working today :)

Ash2000
Posts: 13
Joined: Fri Oct 17, 2014 6:04 am
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by Ash2000 » Sat Oct 25, 2014 6:05 am

Hi mdrjr! Any update? :)

User avatar
odroid
Site Admin
Posts: 30015
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Contact:

Re: MFC errors on the XU3

Unread post by odroid » Sat Oct 25, 2014 11:58 am

New image was already released a couple of days ago.
Try this image (ubuntu-14.04.1lts-lubuntu-odroid-xu3-20141023.img.xz) in this link.
http://odroid.in/ubuntu_14.04lts/

User avatar
Panzerknacker
Posts: 247
Joined: Sat Feb 22, 2014 10:08 pm
languages_spoken: German, English
ODROIDs: U3, X2, XU3, XU4, W
Contact:

Re: MFC errors on the XU3

Unread post by Panzerknacker » Sat Oct 25, 2014 7:09 pm

.debs of XBMC?

Ash2000
Posts: 13
Joined: Fri Oct 17, 2014 6:04 am
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by Ash2000 » Sat Oct 25, 2014 9:49 pm

Oh an image update...anyway to push this to be used with the odroid kernel update utility? I don't want to re-start from scratch.

mdrjr
Site Admin
Posts: 11698
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Contact:

Re: MFC errors on the XU3

Unread post by mdrjr » Sat Oct 25, 2014 10:32 pm

Ash2000 wrote:Oh an image update...anyway to push this to be used with the odroid kernel update utility? I don't want to re-start from scratch.
Yes.. I'll upload a .deb next week :)

Ash2000
Posts: 13
Joined: Fri Oct 17, 2014 6:04 am
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by Ash2000 » Thu Oct 30, 2014 1:44 pm

Is there a place I can go to to check if a new kernel release has been uploaded (As well as xbmc deb?)

mdrjr
Site Admin
Posts: 11698
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Contact:

Re: MFC errors on the XU3

Unread post by mdrjr » Thu Oct 30, 2014 11:33 pm

I'll fix the update XBMC function of the ODROID Utility too :(

mdrjr
Site Admin
Posts: 11698
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Contact:

Re: MFC errors on the XU3

Unread post by mdrjr » Fri Oct 31, 2014 8:36 am

Ash2000 wrote:Is there a place I can go to to check if a new kernel release has been uploaded (As well as xbmc deb?)
I couldn't make a proper deb :( Checkinstall was failing for some reason :(

So....

Code: Select all

cd /usr/local
wget builder.mdrjr.net/tools/xbmc13-xu3.tar.xz
tar -Jxvf xbmc13-xu3.tar.xz
this should give you an updated XBMC :)

Ash2000
Posts: 13
Joined: Fri Oct 17, 2014 6:04 am
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by Ash2000 » Sun Nov 02, 2014 1:36 am

Thanks, and the kernel changes to fix the MFC kernel panics? How can I get that other than re-imaging everything from scratch?

mdrjr
Site Admin
Posts: 11698
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Contact:

Re: MFC errors on the XU3

Unread post by mdrjr » Sun Nov 02, 2014 3:27 am

Its on odroid utility.. just update your kernel our build from our github.

Ash2000
Posts: 13
Joined: Fri Oct 17, 2014 6:04 am
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by Ash2000 » Tue Nov 04, 2014 3:59 am

Yes I tried out Linux odroid 3.10.58+ however the kernel still panics when running anything with MFC multiple times.

mdrjr
Site Admin
Posts: 11698
Joined: Fri Feb 22, 2013 11:34 pm
languages_spoken: english, portuguese
ODROIDs: -
Location: Brazil
Contact:

Re: MFC errors on the XU3

Unread post by mdrjr » Tue Nov 04, 2014 4:32 am

It will probably panic during seeking or something other condition that we don't know yet

Ash2000
Posts: 13
Joined: Fri Oct 17, 2014 6:04 am
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by Ash2000 » Tue Nov 04, 2014 6:42 am

It's not just seeking, it is anytime the decoding context is closed/reopened. For example if I play a video, let it play to the end, and then play it again from scratch, on the third or fourth iteration of that test case the kernel will panic on trying to open the decoder (not even doing any decoding). This is also apparent not just in xbmc. If I take owersun's mymfc code in his repo (https://github.com/Owersun/mymfc), and have a raw H264 file, I just have to run his mymfc software on that file 3 or 4 times and the kernel will panic when trying to initialize MFC. The length of the raw h264 file seems not to matter, whether it is 1 frame or many frames.

I guess anyway, back to xbmc, in its current state I can't really play more than 3 files without having to restart the XU3. I just want to make sure you guys are seeing this too and it is not just my setup :).

User avatar
memeka
Posts: 4230
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Contact:

Re: MFC errors on the XU3

Unread post by memeka » Tue Nov 04, 2014 7:56 am

I'm seeing it.
When I get time *sigh* I will try the 3.17 kernel, maybe more luck there....

Ash2000
Posts: 13
Joined: Fri Oct 17, 2014 6:04 am
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by Ash2000 » Tue Nov 04, 2014 8:15 am

Okay at least I am not just crazy :).
Thanks for all your help!

snowdoh
Posts: 2
Joined: Wed Jan 14, 2015 6:38 pm
languages_spoken: english
ODROIDs: XU3
Contact:

Re: MFC errors on the XU3

Unread post by snowdoh » Wed Jan 14, 2015 6:57 pm

Hi,

I am also seeing this - dmesg showing the following, XBMC not really giving any indication of an error other than infinite "loading" after 1-3 movie start attempts.

[ 79.334483] [c5] note: DVDPlayer[3476] exited with preempt_count 1
[ 80.477800] [c5] Unhandled fault: imprecise external abort (0x1406) at 0x00000000

Is there any way out of this?

User avatar
OverSun
Posts: 1432
Joined: Mon Apr 29, 2013 5:12 pm
languages_spoken: english
Contact:

Re: MFC errors on the XU3

Unread post by OverSun » Thu Jan 15, 2015 4:25 am


Post Reply

Return to “Hardware and peripherals”

Who is online

Users browsing this forum: No registered users and 1 guest