Can't open mfc v5 encode but decode can

Message ID BLU0-SMTP92430758342451CF087FC3ADD50@phx.gbl (mailing list archive)
State Not Applicable, archived
Headers

Commit Message

randy Dec. 3, 2013, 10:15 a.m. UTC
  The kernel is 3.13-rc2, the mfc has been configured by dts, the dts is
attached below. I have placed s5p-mfc.fw in /lib/firmware/ .
I can use v4l2-ctl(from v4l2-utils) the encoder in the manufacturer
kernel, but I can't in here. What is the problem?
Thank you
+	};
+};
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Comments

Kamil Debski Dec. 3, 2013, 10:44 a.m. UTC | #1
Hi Randy,

We also experienced this issue. One of the changes in the v4l2 core
affected the MFC driver. A fix for MFC has been prepared by Marek
Szyprowski and should be sent out soon.

Also another tip - in 3.13 a check on bytesused and length fields
in planes array has been implemented. So make sure to set them
appropriately.

Best wishes,
  
randy Dec. 5, 2013, 12:27 a.m. UTC | #2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

? 2013?12?03? 18:44, Kamil Debski ??:
> Hi Randy,
> 
> We also experienced this issue. One of the changes in the v4l2
> core affected the MFC driver. A fix for MFC has been prepared by
> Marek Szyprowski and should be sent out soon.
> 
When it is sending, may you CC me, I will test it.
> Also another tip - in 3.13 a check on bytesused and length fields 
> in planes array has been implemented. So make sure to set them 
> appropriately.
> 
> Best wishes,

Could you give me some example code of using samsung mfc v5 encode?
I only get some sample from samsung BSP's android-4.2.2, in
hardware/samsung_slsi/exynos4/multimedia/ , has
codecs/video/exynos4/mfc_v4l2/enc/src/SsbSipMfcEncAPI.c achived this?
Thanks
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJSn8hmAAoJEPb4VsMIzTzizmgH/jhGpvElUflD7SmBZCyyAvWD
FluwSt/OzpJXd3K+EId1/AnudCF2heh6cofZ7qub1FuQ/BsisbMiYMGFYveJJluX
qFIjmu8840lVGGK5KcPH2wAYNqYQ3izmNkVvlqCBUBC2fZ/n6sby3jQBV4WqBzJ2
owB8Ky1LNO8n4xzYNyrkXNfsl5eMMc7nnL5Gs5L2wt60eR9mcT2aOMkWOzuGeZgn
IqxTUC14oR5H8yvMH8xla9IEHhSWJJWU5VtP/w20Bv2TCoEEXEdxQSjFUyiqfeKJ
zxnToqD9i9K5IQqV7prb21LS5VoDVpEHfFekMaNg23o+xo5w6PWaUbojQ/5oSG8=
=2ws7
-----END PGP SIGNATURE-----
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Kamil Debski Dec. 5, 2013, 9:36 a.m. UTC | #3
Hi Randy,

> -----Original Message-----
> From: randy [mailto:lxr1234@hotmail.com]
> Sent: Thursday, December 05, 2013 1:27 AM
> To: linux-media@vger.kernel.org
> Cc: Kamil Debski; m.szyprowski@samsung.com; kyungmin.park@samsung.com;
> m.chehab@samsung.com; jtp.park@samsung.com
> Subject: Re: Can't open mfc v5 encode but decode can
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> ? 2013?12?03? 18:44, Kamil Debski ??:
> > Hi Randy,
> >
> > We also experienced this issue. One of the changes in the v4l2 core
> > affected the MFC driver. A fix for MFC has been prepared by Marek
> > Szyprowski and should be sent out soon.
> >
> When it is sending, may you CC me, I will test it.
> > Also another tip - in 3.13 a check on bytesused and length fields in
> > planes array has been implemented. So make sure to set them
> > appropriately.
> >
> > Best wishes,
> 
> Could you give me some example code of using samsung mfc v5 encode?
> I only get some sample from samsung BSP's android-4.2.2, in
> hardware/samsung_slsi/exynos4/multimedia/ , has
> codecs/video/exynos4/mfc_v4l2/enc/src/SsbSipMfcEncAPI.c achived this?
> Thanks

You can find the example applications here:
http://git.infradead.org/users/kmpark/public-apps

Best wishes,
  
randy Dec. 9, 2013, 10:38 a.m. UTC | #4
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

? 2013?12?05? 17:36, Kamil Debski ??:
> Hi Randy,
> 
>> -----Original Message----- From: randy
>> [mailto:lxr1234@hotmail.com] Sent: Thursday, December 05, 2013
>> 1:27 AM To: linux-media@vger.kernel.org Cc: Kamil Debski;
>> m.szyprowski@samsung.com; kyungmin.park@samsung.com; 
>> m.chehab@samsung.com; jtp.park@samsung.com Subject: Re: Can't
>> open mfc v5 encode but decode can
>> 
>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>> 
>> ? 2013?12?03? 18:44, Kamil Debski ??:
>>> Hi Randy,
>>> 
>>> We also experienced this issue. One of the changes in the v4l2
>>> core affected the MFC driver. A fix for MFC has been prepared
>>> by Marek Szyprowski and should be sent out soon.
>>> 
>> When it is sending, may you CC me, I will test it.
>>> Also another tip - in 3.13 a check on bytesused and length
>>> fields in planes array has been implemented. So make sure to
>>> set them appropriately.
>>> 
>>> Best wishes,
>> 
>> Could you give me some example code of using samsung mfc v5
>> encode? I only get some sample from samsung BSP's android-4.2.2,
>> in hardware/samsung_slsi/exynos4/multimedia/ , has 
>> codecs/video/exynos4/mfc_v4l2/enc/src/SsbSipMfcEncAPI.c achived
>> this? Thanks
> 
> You can find the example applications here: 
> http://git.infradead.org/users/kmpark/public-apps
> 
> Best wishes,
Thank you.
Well, mem2mem device seems hard to use for me, I never use streaming
before(I always use libv4l to do a read/write wrapper). I will some time
to make it work in my program :)
Thank you again for your help and work.
						Ayaka
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJSpZ2mAAoJEPb4VsMIzTzioU0IAMWLh0keqK5z0C/FVPS8nJRA
yoaeMRwU0TTMe0gqsWkys+rg4o4Aec0aSQAhstolQuj80Btc511WKueq0e+l6R3/
wVsBiGaPNzsG5bgbcLwk5grY8R1I1ID534rMiKIBiz/2uW1D+OMYTq6mvnAExJMG
OdeGalb/KWm4SFMSHXj8iGr6f+8x7YzrrHaBfJB16KUEKDLcH0VdKWgDxmAgRrUY
fTzBtum2tvld/EYZhOt7QrPkVq1z0/s9xiZoPE2eIDEC42XGbmAwOZClUzFMD6cV
KAfRAWI3uWp4QetZMXh4X/rynYc8ppL0otjDnCUcWhdtmN/+QR2NDeyqO3EQfNY=
=YL7b
-----END PGP SIGNATURE-----
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Patch

==================================log==================================

root@mifu:~# dmesg|grep mfc
[    3.165000] s5p-mfc 13400000.codec: decoder registered as /dev/video0
[    3.170000] s5p-mfc 13400000.codec: encoder registered as /dev/video1
root@mifu:~# v4l2-ctl -d /dev/video0 --all
Driver Info (not using libv4l2):
        Driver name   : 13400000.codec[  153.415000] vidioc_g_crop:777:
Cannont set crop

        Card type     : 13400000.codec
        Bus info      :
        Driver version: 1.0.0
        Capabilities  : 0x04007000
                Video Capture Multiplanar
                Video Output Multiplanar
                Streaming
root@mifu:~# v4l2-ctl -d /dev/video1 --all
Failed to open /dev/video1: No such file or directory
=============================dts=====================
diff --git a/arch/arm/boot/dts/exynos4412-tiny4412.dts
b/arch/arm/boot/dts/exynos4412-tiny4412.dts
new file mode 100644
index 0000000..fedd9cc
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-tiny4412.dts
@@ -0,0 +1,173 @@ 
+/*
+ * Hardkernel's Exynos4412 based tiny4412 1306 board device tree source
+ *
+ * Copyright (c) 2013 Tomoya Gitsufuki <ayaka@mail.soulik.info>
+ *
+ * Device tree source file for Friendyarm tiny4412 1306 board which
is based on
+ * Samsung's Exynos4412 SoC.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+/dts-v1/;
+#include "exynos4412.dtsi"
+
+/ {
+	model = "Friendly Arm Tiny4412 1306 board based on Exynos4412";
+	compatible = "friendlyarm,tiny4412-1306", "samsung,exynos4412";
+
+	memory {
+		reg = <0x40000000 0x40000000>;
+	};
+
+	chosen {
+		bootargs ="root=/dev/mmcblk0p1 rootfstype=ext4 rw
console=ttySAC0,115200 init=/sbin/init";
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		led1 {
+			label = "led1:heart";
+			gpios = <&gpm4 0 1>;
+			default-state = "on";
+			linux,default-trigger = "heartbeat";
+		};
+		led2 {
+			label = "led2:mmc0";
+			gpios = <&gpm4 1 1>;
+			default-state = "on";
+			linux,default-trigger = "mmc0";
+		};
+
+	};
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+
+		vemmc_reg: regulator-0 {
+			compatible = "regulator-fixed";
+			regulator-name = "VMEM_VDD_2.8V";
+			regulator-min-microvolt = <2800000>;
+			regulator-max-microvolt = <2800000>;
+			gpio = <&gpk0 2 0>;
+			enable-active-high;
+		};
+
+	};
+
+	/*
+	mshc@12550000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
+		pinctrl-names = "default";
+		status = "okay";
+
+		vmmc-supply = <&vemmc_reg>;
+		clocks = <&clock 301>, <&clock 149>;
+		clocks-name = "biu", "ciu";
+
+		num-slots = <1>;
+		supports-highspeed;
+		broken-cd;
+		fifo-depth = <0x80>;
+		card-detect-delay = <200>;
+		samsung,dw-mshc-ciu-div = <3>;
+		samsung,dw-mshc-sdr-timing = <2 3>;
+		samsung,dw-mshc-ddr-timing = <1 2>;
+
+		slot@0 {
+			reg = <0>;
+			bus-width = <8>;
+
+		};
+	};
+	*/
+
+	rtc@10070000 {
+		status = "okay";
+	};
+
+	sdhci@12530000 {
+		bus-width = <4>;
+		pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
+		pinctrl-names = "default";
+		status = "okay";
+	};
+	sdhci@1254000 {
+		bus-width = <4>;
+		pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4 &sd3_cd>;
+		pinctrl-names = "default";
+		status = "okay";
+	};
+
+	usb_phy: usbphy@125B0000 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "samsung,exynos4210-usb2phy";
+		reg = <0x125B0000 0x100>;
+		ranges;
+		status = "okay";
+
+		clocks = <&clock 2>, <&clock 305>;
+		clock-names = "xusbxti", "otg";
+		usbphy-sys {
+			/* USB device and host PHY_CONTROL registers */
+			/*reg = <0x10020704 0xc 0x1001021c 0x4>;*/
+			reg = <0x10020704 0x8>;
+		};
+	};
+
+	ehci@12580000 {
+		usb-phy = <&usb_phy>;
+		status = "okay";
+	};
+
+	codec@13400000 {
+		samsung,mfc-r = <0x43000000 0x800000>;
+		samsung,mfc-l = <0x51000000 0x800000>;
+		status = "okay";
+	};
+
+	serial@13800000 {
+		status = "okay";
+	};
+
+	serial@13810000 {
+		status = "okay";
+	};
+
+	serial@13820000 {
+		status = "okay";
+	};
+
+	serial@13830000 {
+		status = "okay";
+	};
+
+	fixed-rate-clocks {
+		xxti {
+			compatible = "samsung,clock-xxti";
+			clock-frequency = <0>;
+		};
+
+		xusbxti {
+			compatible = "samsung,clock-xusbxti";
+			clock-frequency = <24000000>;
+		};
+	};
+
+	i2c@13860000 {
+		status = "okay";
+		samsung,i2c-sda-delay = <100>;
+		samsung,i2c-max-bus-freq = <200000>;
+
+		wm8960@10 {
+			compatible = "wlf,wm8960";
+			reg = <0x10>;
+		};