[linux-sunxi] Re: [PATCH 2/2] ARM: dts: sunxi: Remove overclocked/overvoltaged OPP

2015-03-19 Thread Chen-Yu Tsai
On Thu, Mar 19, 2015 at 2:59 PM, Siarhei Siamashka
siarhei.siamas...@gmail.com wrote:
 On Thu, 19 Mar 2015 10:39:33 +0800
 Chen-Yu Tsai w...@csie.org wrote:

 Without proper regulator support for individual boards, it is dangerous
 to have overclocked/overvoltaged OPPs in the list. Cpufreq will increase
 the frequency without the accompanying voltage increase, resulting in
 an unstable system.

 Remove them for now. We can revisit them with the new version of OPP
 bindings, which support boost settings and frequency ranges, among
 other things.

 Signed-off-by: Chen-Yu Tsai w...@csie.org
 ---
  arch/arm/boot/dts/sun5i-a13.dtsi | 3 +--
  arch/arm/boot/dts/sun7i-a20.dtsi | 3 +--
  2 files changed, 2 insertions(+), 4 deletions(-)

 What about the sun4i-a10.dtsi file? Was it forgotten or skipped
 deliberately?

sun4i-a10.dtsi does not have any overclocked/overvoltaged settings.
The highest setting is 1008MHz @ 1.4V.

ChenYu

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[linux-sunxi] Re: [PATCH 1/2] ARM: dts: sun4i: a10-lime: Override and remove 1008MHz OPP setting

2015-03-19 Thread Siarhei Siamashka
On Thu, 19 Mar 2015 10:39:32 +0800
Chen-Yu Tsai w...@csie.org wrote:

 The Olimex A10-Lime is known to be unstable when running at 1008MHz.
 
 Signed-off-by: Chen-Yu Tsai w...@csie.org
 ---
  arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 14 ++
  1 file changed, 14 insertions(+)
 
 diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts 
 b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
 index 31dc2f1c3870..16ecb8938e19 100644
 --- a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
 +++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
 @@ -74,6 +74,20 @@
   status = okay;
  };
  
 +cpu0 {
 + /* The A10-Lime is known to be unstable when running at 1008 MHz */
 + operating-points = 
 + /* kHzuV */
 + 96  140
 + 912000  140
 + 864000  130
 + 72  120
 + 528000  110
 + 312000  100
 + 144000  90
 + ;
 +};
 +
  ehci0 {
   status = okay;
  };

Thanks for the patch. At least it should make my A10-OLinuXino-LIME
working without obvious failures out of the box (the U-Boot is still
another story though and there is a gap during boot up when the board
is running with unreliable settings, but the probability of a failure
is rather low).

I should also mention that using 960MHz @1.4V does not fail, but it does
not have any safety headroom either (the cyan 'sun4i_poorlime' line
on the plot):


http://people.freedesktop.org/~siamashka/files/20140512/sunxi-cpufreq-plot.png

On the other hand, my board is on the worst part of the spectrum (many
other a10-lime boards do not fail even at 1008MHz), so maybe having
extra safety headroom is less necessary.

An interesting question is whether the same problem may be reproducible
on the Allwinner A10 devices other than A10-OLinuXino-LIME. My original
problem report

https://www.mail-archive.com/linux-sunxi@googlegroups.com/msg04343.html

mentioned the A10-OLinuXino-LIME rev.A and introduced some sort of
a bias by itself. At least I have seen people saying something like
my a10-lime revision is not rev.A, so it's none of my concern and
I'm not going to bother running any tests. So far we have accumulated
reports from 4 or 5 people having this reliability problem on their
A10-OLinuXino-LIME (various revisions, not just rev.A), but not
much from the other boards owners.

Anyway, this particular patch is
Tested-by: Siarhei Siamashka siarhei.siamas...@gmail.com 
Acked-by: Siarhei Siamashka siarhei.siamas...@gmail.com

-- 
Best regards,
Siarhei Siamashka

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[linux-sunxi] Re: [PATCH 2/2] ARM: dts: sunxi: Remove overclocked/overvoltaged OPP

2015-03-19 Thread Siarhei Siamashka
On Thu, 19 Mar 2015 10:39:33 +0800
Chen-Yu Tsai w...@csie.org wrote:

 Without proper regulator support for individual boards, it is dangerous
 to have overclocked/overvoltaged OPPs in the list. Cpufreq will increase
 the frequency without the accompanying voltage increase, resulting in
 an unstable system.
 
 Remove them for now. We can revisit them with the new version of OPP
 bindings, which support boost settings and frequency ranges, among
 other things.
 
 Signed-off-by: Chen-Yu Tsai w...@csie.org
 ---
  arch/arm/boot/dts/sun5i-a13.dtsi | 3 +--
  arch/arm/boot/dts/sun7i-a20.dtsi | 3 +--
  2 files changed, 2 insertions(+), 4 deletions(-)

What about the sun4i-a10.dtsi file? Was it forgotten or skipped
deliberately?

-- 
Best regards,
Siarhei Siamashka

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[linux-sunxi] Re: [PATCH 2/2] ARM: dts: sunxi: Remove overclocked/overvoltaged OPP

2015-03-19 Thread Chen-Yu Tsai
On Thu, Mar 19, 2015 at 3:11 PM, Chen-Yu Tsai w...@csie.org wrote:
 On Thu, Mar 19, 2015 at 2:59 PM, Siarhei Siamashka
 siarhei.siamas...@gmail.com wrote:
 On Thu, 19 Mar 2015 10:39:33 +0800
 Chen-Yu Tsai w...@csie.org wrote:

 Without proper regulator support for individual boards, it is dangerous
 to have overclocked/overvoltaged OPPs in the list. Cpufreq will increase
 the frequency without the accompanying voltage increase, resulting in
 an unstable system.

 Remove them for now. We can revisit them with the new version of OPP
 bindings, which support boost settings and frequency ranges, among
 other things.

 Signed-off-by: Chen-Yu Tsai w...@csie.org
 ---
  arch/arm/boot/dts/sun5i-a13.dtsi | 3 +--
  arch/arm/boot/dts/sun7i-a20.dtsi | 3 +--
  2 files changed, 2 insertions(+), 4 deletions(-)

 What about the sun4i-a10.dtsi file? Was it forgotten or skipped
 deliberately?

 sun4i-a10.dtsi does not have any overclocked/overvoltaged settings.
 The highest setting is 1008MHz @ 1.4V.

Oops. Sorry. I missed it. Will send v2.

ChenYu

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [linux-sunxi] Re: [PATCH 2/3] ARM: sun8i: Add SMP support for the Allwinner A23

2015-03-19 Thread kevin.z.m...@gmail.com
 One question I couldn't find any answer to is that does the SMP bit is
 set in secondary_startup?

 I couldn't find where it was set, but it still looks like the right
 thing to do, so I would expect the code to do that.
 
 I don't see it either. The sun8i code is just the sun6i code with the
 power clamps removed. And sun6i secondary_startup was removed some time
 ago in commit 1146b600044d (ARM: sunxi: fix build for THUMB2_KERNEL).
 
 ChenYu
The SMP bit should be set in the function of __v7_ca7mp_setup, which is 
located
in the file: 
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/mm/proc-v7.S?id=refs/tags/v4.0-rc4
I'm not sure if this is your discussion.

Best Regards,


kevin.z.m...@gmail.com
 
From: Chen-Yu Tsai
Date: 2015-03-19 10:07
To: Maxime Ripard
CC: Chen-Yu Tsai; linux-arm-kernel; linux-kernel; linux-sunxi; Marc Zyngier
Subject: [linux-sunxi] Re: [PATCH 2/3] ARM: sun8i: Add SMP support for the 
Allwinner A23
On Wed, Mar 18, 2015 at 6:29 PM, Maxime Ripard
maxime.rip...@free-electrons.com wrote:
 On Wed, Mar 18, 2015 at 11:24:01AM +0800, Chen-Yu Tsai wrote:
 The A23 is a dual Cortex-A7. Add the logic to use the IPs used to
 control the CPU configuration and the CPU power so that we can
 bring up secondary CPUs at boot.

 Signed-off-by: Chen-Yu Tsai w...@csie.org
 ---

 We can't use of_io_request_and_map() here, as it will conflict
 with PRCM, and leave us without a serial console.

 I think a proper way to solve this would be a syscon device or
 something like the mfd-simple device posted by Arnd.

 ---
  Documentation/devicetree/bindings/arm/cpus.txt |  1 +
  arch/arm/mach-sunxi/platsmp.c  | 69 
 ++
  2 files changed, 70 insertions(+)

 diff --git a/Documentation/devicetree/bindings/arm/cpus.txt 
 b/Documentation/devicetree/bindings/arm/cpus.txt
 index 8b9e0a95de31..40202d85b132 100644
 --- a/Documentation/devicetree/bindings/arm/cpus.txt
 +++ b/Documentation/devicetree/bindings/arm/cpus.txt
 @@ -188,6 +188,7 @@ nodes to be present and contain the properties described 
 below.
   # On ARM 32-bit systems this property is optional and
 can be one of:
   allwinner,sun6i-a31
 + allwinner,sun8i-a23
   arm,psci
   brcm,brahma-b15
   marvell,armada-375-smp
 diff --git a/arch/arm/mach-sunxi/platsmp.c b/arch/arm/mach-sunxi/platsmp.c
 index 587b0468efcc..e8483ec79d67 100644
 --- a/arch/arm/mach-sunxi/platsmp.c
 +++ b/arch/arm/mach-sunxi/platsmp.c
 @@ -121,3 +121,72 @@ static struct smp_operations sun6i_smp_ops __initdata = 
 {
   .smp_boot_secondary = sun6i_smp_boot_secondary,
  };
  CPU_METHOD_OF_DECLARE(sun6i_a31_smp, allwinner,sun6i-a31, sun6i_smp_ops);
 +
 +static void __init sun8i_smp_prepare_cpus(unsigned int max_cpus)
 +{
 + struct device_node *node;
 +
 + node = of_find_compatible_node(NULL, NULL, allwinner,sun8i-a23-prcm);
 + if (!node) {
 + pr_err(Missing A23 PRCM node in the device tree\n);
 + return;
 + }
 +
 + prcm_membase = of_iomap(node, 0);
 + if (!prcm_membase) {
 + pr_err(Couldn't map A23 PRCM registers\n);
 + return;
 + }
 +
 + node = of_find_compatible_node(NULL, NULL,
 +allwinner,sun8i-a23-cpuconfig);
 + if (!node) {
 + pr_err(Missing A23 CPU config node in the device tree\n);
 + return;
 + }
 +
 + cpucfg_membase = of_iomap(node, 0);
 + if (!cpucfg_membase)
 + pr_err(Couldn't map A23 CPU config registers\n);
 +
 +}
 +
 +static int sun8i_smp_boot_secondary(unsigned int cpu,
 + struct task_struct *idle)
 +{
 + u32 reg;
 +
 + if (!(prcm_membase  cpucfg_membase))
 + return -EFAULT;
 +
 + spin_lock(cpu_lock);
 +
 + /* Set CPU boot address */
 + writel(virt_to_phys(secondary_startup),
 +cpucfg_membase + CPUCFG_PRIVATE0_REG);

 One question I couldn't find any answer to is that does the SMP bit is
 set in secondary_startup?

 I couldn't find where it was set, but it still looks like the right
 thing to do, so I would expect the code to do that.
 
I don't see it either. The sun8i code is just the sun6i code with the
power clamps removed. And sun6i secondary_startup was removed some time
ago in commit 1146b600044d (ARM: sunxi: fix build for THUMB2_KERNEL).
 
ChenYu
 
-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send 

[linux-sunxi] Re: [PATCH 1/2] ARM: dts: sun4i: a10-lime: Override and remove 1008MHz OPP setting

2015-03-19 Thread Chen-Yu Tsai
On Thu, Mar 19, 2015 at 2:57 PM, Siarhei Siamashka
siarhei.siamas...@gmail.com wrote:
 On Thu, 19 Mar 2015 10:39:32 +0800
 Chen-Yu Tsai w...@csie.org wrote:

 The Olimex A10-Lime is known to be unstable when running at 1008MHz.

 Signed-off-by: Chen-Yu Tsai w...@csie.org
 ---
  arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 14 ++
  1 file changed, 14 insertions(+)

 diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts 
 b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
 index 31dc2f1c3870..16ecb8938e19 100644
 --- a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
 +++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
 @@ -74,6 +74,20 @@
   status = okay;
  };

 +cpu0 {
 + /* The A10-Lime is known to be unstable when running at 1008 MHz */
 + operating-points = 
 + /* kHzuV */
 + 96  140
 + 912000  140
 + 864000  130
 + 72  120
 + 528000  110
 + 312000  100
 + 144000  90
 + ;
 +};
 +
  ehci0 {
   status = okay;
  };

 Thanks for the patch. At least it should make my A10-OLinuXino-LIME
 working without obvious failures out of the box (the U-Boot is still
 another story though and there is a gap during boot up when the board
 is running with unreliable settings, but the probability of a failure
 is rather low).

 I should also mention that using 960MHz @1.4V does not fail, but it does
 not have any safety headroom either (the cyan 'sun4i_poorlime' line
 on the plot):

 
 http://people.freedesktop.org/~siamashka/files/20140512/sunxi-cpufreq-plot.png

 On the other hand, my board is on the worst part of the spectrum (many
 other a10-lime boards do not fail even at 1008MHz), so maybe having
 extra safety headroom is less necessary.

 An interesting question is whether the same problem may be reproducible
 on the Allwinner A10 devices other than A10-OLinuXino-LIME. My original
 problem report

 https://www.mail-archive.com/linux-sunxi@googlegroups.com/msg04343.html

 mentioned the A10-OLinuXino-LIME rev.A and introduced some sort of
 a bias by itself. At least I have seen people saying something like
 my a10-lime revision is not rev.A, so it's none of my concern and
 I'm not going to bother running any tests. So far we have accumulated
 reports from 4 or 5 people having this reliability problem on their
 A10-OLinuXino-LIME (various revisions, not just rev.A), but not
 much from the other boards owners.

 Anyway, this particular patch is
 Tested-by: Siarhei Siamashka siarhei.siamas...@gmail.com
 Acked-by: Siarhei Siamashka siarhei.siamas...@gmail.com

Good to hear it works. Did you test all the settings? I copied the
wrong settings, from sun5i-a13.dtsi instead of sun4i-a10.dtsi.

I'll send a fixed version later.


ChenYu

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [linux-sunxi] Re: [PATCH 2/3] ARM: sun8i: Add SMP support for the Allwinner A23

2015-03-19 Thread maxime.ripard
Hi Kevin,

On Thu, Mar 19, 2015 at 12:05:06PM +0800, kevin.z.m...@gmail.com wrote:
  One question I couldn't find any answer to is that does the SMP bit is
  set in secondary_startup?
 
  I couldn't find where it was set, but it still looks like the right
  thing to do, so I would expect the code to do that.
  
  I don't see it either. The sun8i code is just the sun6i code with the
  power clamps removed. And sun6i secondary_startup was removed some time
  ago in commit 1146b600044d (ARM: sunxi: fix build for THUMB2_KERNEL).
  
  ChenYu

 The SMP bit should be set in the function of __v7_ca7mp_setup, which is 
 located
 in the file:
 https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/mm/proc-v7.S?id=refs/tags/v4.0-rc4
 I'm not sure if this is your discussion.

It is, but I wasn't seeing it called anywhere in the secondary_startup
code path.

I was expecting a direct call, but it looks like it's a dynamic call,
with a function-pointer like call, that is indeed run both in the
kernel entry point and the secondary_startup.

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/kernel/head.S?id=refs/tags/v4.0-rc4#n389

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


signature.asc
Description: Digital signature


[linux-sunxi] Re: [PATCH 1/2] ARM: dts: sun4i: a10-lime: Override and remove 1008MHz OPP setting

2015-03-19 Thread Siarhei Siamashka
On Thu, 19 Mar 2015 16:17:30 +0800
Chen-Yu Tsai w...@csie.org wrote:

 On Thu, Mar 19, 2015 at 2:57 PM, Siarhei Siamashka
 siarhei.siamas...@gmail.com wrote:
  On Thu, 19 Mar 2015 10:39:32 +0800
  Chen-Yu Tsai w...@csie.org wrote:
 
  The Olimex A10-Lime is known to be unstable when running at 1008MHz.
 
  Signed-off-by: Chen-Yu Tsai w...@csie.org
  ---
   arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 14 ++
   1 file changed, 14 insertions(+)
 
  diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts 
  b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
  index 31dc2f1c3870..16ecb8938e19 100644
  --- a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
  +++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
  @@ -74,6 +74,20 @@
status = okay;
   };
 
  +cpu0 {
  + /* The A10-Lime is known to be unstable when running at 1008 MHz */
  + operating-points = 
  + /* kHzuV */
  + 96  140
  + 912000  140
  + 864000  130
  + 72  120
  + 528000  110
  + 312000  100
  + 144000  90
  + ;
  +};
  +
   ehci0 {
status = okay;
   };
 
  Thanks for the patch. At least it should make my A10-OLinuXino-LIME
  working without obvious failures out of the box (the U-Boot is still
  another story though and there is a gap during boot up when the board
  is running with unreliable settings, but the probability of a failure
  is rather low).
 
  I should also mention that using 960MHz @1.4V does not fail, but it does
  not have any safety headroom either (the cyan 'sun4i_poorlime' line
  on the plot):
 
  
  http://people.freedesktop.org/~siamashka/files/20140512/sunxi-cpufreq-plot.png
 
  On the other hand, my board is on the worst part of the spectrum (many
  other a10-lime boards do not fail even at 1008MHz), so maybe having
  extra safety headroom is less necessary.
 
  An interesting question is whether the same problem may be reproducible
  on the Allwinner A10 devices other than A10-OLinuXino-LIME. My original
  problem report
 
  https://www.mail-archive.com/linux-sunxi@googlegroups.com/msg04343.html
 
  mentioned the A10-OLinuXino-LIME rev.A and introduced some sort of
  a bias by itself. At least I have seen people saying something like
  my a10-lime revision is not rev.A, so it's none of my concern and
  I'm not going to bother running any tests. So far we have accumulated
  reports from 4 or 5 people having this reliability problem on their
  A10-OLinuXino-LIME (various revisions, not just rev.A), but not
  much from the other boards owners.
 
  Anyway, this particular patch is
  Tested-by: Siarhei Siamashka siarhei.siamas...@gmail.com
  Acked-by: Siarhei Siamashka siarhei.siamas...@gmail.com
 
 Good to hear it works. Did you test all the settings?

You have nailed it. I was about to send the results of the full
round of tests after running them a bit longer and revoke the
initial Tested-by.

Turns out that the 312MHz and 144MHz operating points fail to work
reliable and tend to deadlock:

Testing CPU 0
  960 MHz  OK
  912 MHz  OK
  864 MHz  OK
  720 MHz  OK
  528 MHz  OK
  312 MHz  OK
  144 MHz Write failed: Broken pipe

Testing CPU 0
  960 MHz  OK
  912 MHz  OK
  864 MHz  OK
  720 MHz  OK
  528 MHz  OK
  312 MHz .Write failed: Broken pipe


 I copied the wrong settings, from sun5i-a13.dtsi instead of sun4i-a10.dtsi.

I guess, this explains the problems at lower operating points.

 I'll send a fixed version later.

Thanks.

-- 
Best regards,
Siarhei Siamashka

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[linux-sunxi] Fwd: Re: [media-codec] media-codec / cedar released as LGPL, but where is the source? (#5)

2015-03-19 Thread Olliver Schinagl

Luc, Sunxi-community,

It looks like they replaced a few function (names only) so the symbols 
don't show up with a simple grep (I cannot find ff_huff_build_tree for 
example). Can anybody confirm/deny that they went over a list of a few 
functions just to change the names/obfuscate things? The symbols still 
show a mix and match of coding style (camelcase etc etc) which still 
indicates a lot of copy/paste.


I don't even know how this all works legally, so curious on that regard too.

Anyhow, if somebody can help with some 'proof', that'd be great, though 
I'm sure they just obfuscate (if i'm right about that) some more.


Olliver

 Forwarded Message 
Subject: 	Re: [media-codec] media-codec / cedar released as LGPL, but 
where is the source? (#5)

Date:   Thu, 19 Mar 2015 00:42:57 -0700
From:   allwinner-zh notificati...@github.com
Reply-To: 	allwinner-zh/media-codec 
reply+0013009d911e6a9cdfd4aa8b9bd4bea2b90606ffdbe5170792cf00011122400192a169ce03bfc...@reply.github.com 


To: allwinner-zh/media-codec media-co...@noreply.github.com
CC: Olliver Schinagl oli...@schinagl.nl



No, there is none GPL issues in the media-codec-lib.
Please provide the evidence to me.

—
Reply to this email directly or view it on GitHub 
https://github.com/allwinner-zh/media-codec/issues/5#issuecomment-83393411.




--
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [linux-sunxi] Fwd: Re: [media-codec] media-codec / cedar released as LGPL, but where is the source? (#5)

2015-03-19 Thread Luc Verhaegen
On Thu, Mar 19, 2015 at 11:05:30AM +0100, Olliver Schinagl wrote:
 Luc, Sunxi-community,

 It looks like they replaced a few function (names only) so the symbols  
 don't show up with a simple grep (I cannot find ff_huff_build_tree for  
 example). Can anybody confirm/deny that they went over a list of a few  
 functions just to change the names/obfuscate things? The symbols still  
 show a mix and match of coding style (camelcase etc etc) which still  
 indicates a lot of copy/paste.

 I don't even know how this all works legally, so curious on that regard too.

 Anyhow, if somebody can help with some 'proof', that'd be great, though  
 I'm sure they just obfuscate (if i'm right about that) some more.

 Olliver

  Forwarded Message 
 Subject:  Re: [media-codec] media-codec / cedar released as LGPL, but  
 where is the source? (#5)
 Date: Thu, 19 Mar 2015 00:42:57 -0700
 From: allwinner-zh notificati...@github.com
 Reply-To: allwinner-zh/media-codec  
 reply+0013009d911e6a9cdfd4aa8b9bd4bea2b90606ffdbe5170792cf00011122400192a169ce03bfc...@reply.github.com
  
 

 To:   allwinner-zh/media-codec media-co...@noreply.github.com
 CC:   Olliver Schinagl oli...@schinagl.nl



 No, there is none GPL issues in the media-codec-lib.
 Please provide the evidence to me.

Yes. Jens Kuske alerted me to that a few days ago. I have done the 
legwork on one of those functions, but was too busy yesterday to make a 
stink about it yet.

What is shown below is next to lgpl symbols that i had identified before 
and which (also) still remain, and which i will not expose to allwinner 
today, as i know how they will react. What Jens told me about is 
separate, and new, and therefor shows just how nasty this game of 
Allwinner is.

H264FillDefaultRefList() and a lot of code around it is straight out of 
the libavcodec h264 decoder. The original name for that function is
ff_h264_fill_default_ref_list() in libavcodec/h264_refs.c:
https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/h264_refs.c#L115
This is new, as some totally different code for h264 was available in 
the previous versions of the cedarx binaries.

When Allwinner stated that they did CedarX2.0 about two months ago, they 
added _more_ lgpled code. But this time they tried to trivially disguise 
the code origins. This is a totally new low for Allwinner, and it shows 
clearly that they have no licensing control over the contents of their 
binary driver, and that no-one can believe them when they state that 
they are adhering to licenses. No matter what binaries Allwinner 
produces, nobody can believe that these are completely Allwinners 
property and that Allwinner has the right to distribute such software.

Attached is the manual decompilation of H264BuildDefList() (originally 
build_def_list() in h264.c). This can be compared easily by 
looking at 
https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/h264_refs.c#L67

Luc Verhaegen.

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
int
H264BuildDefList(uint8_t *arg0, uint32_t *arg1, uint32_t arg2, uint32_t arg3,
		 uint32_t arg4)
{
	int j = 0;
	int k = 0;
	int i = 0;

	while ((j  arg2) || (k  arg2)) {
		while ((k  arg2)  (!arg1[k] || !(arg4  arg1[k][0xA4])))
			k++;

		while ((j  arg2)  (!arg1[j] ||
  !((arg4 ^ 3)  arg1[j][0xA4])))
			j++;

		if (k  arg2) {
			if (arg3)
arg1[k][0x10] = k;
			else
arg1[k][0x10] = arg1[k][0x0C];
			H264SplitFieldCopy(arg0[224 * i], arg1[k], arg4, 1);
			k++;
			i++;
		}

		if (j  arg2) {
			if (arg3)
arg1[j][0x10] = j;
			else
arg1[j][0x10] = arg1[j][0x0C];
			H264SplitFieldCopy(arg0[224 * i], arg1[j], arg4 ^ 3, 0);
			j++;
			i++;
		}
	}

	return i;
}


Re: [linux-sunxi] Re: r3p2 version of the Mali driver A20

2015-03-19 Thread @lex
Thank you all,

So, the last hope is what Siarhei Siamashka is suggesting? Any chance this 
will happen?

BR,
@lex

On Thursday, March 19, 2015 at 8:42:32 AM UTC-3, Henrik Nordström wrote:

 ons 2015-03-18 klockan 06:17 -0700 skrev @lex: 
  I have looked into ODROID r4p0 blobs and headers and did not find any 
  EULA, perhaps it is kept with the sources? 

 http://forum.odroid.com/viewtopic.php?f=52t=4956 

 Regards 
 Henrik 




-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [linux-sunxi] Fwd: Re: [media-codec] media-codec / cedar released as LGPL, but where is the source? (#5)

2015-03-19 Thread Olliver Schinagl

Hey,

On 19-03-15 12:39, Luc Verhaegen wrote:

On Thu, Mar 19, 2015 at 11:05:30AM +0100, Olliver Schinagl wrote:
snip
When Allwinner stated that they did CedarX2.0 about two months ago, 
they added _more_ lgpled code. But this time they tried to trivially 
disguise the code origins. This is a totally new low for Allwinner, 
and it shows clearly that they have no licensing control over the 
contents of their binary driver, and that no-one can believe them when 
they state that they are adhering to licenses.
While you are 100% correct and true, I do want to say, this may not be 
Allwinner in general, just some lone engineer* (and maybe his direct 
manager) that are responsible. It very well does reflect badly on 
Allwinner together, as they communicate it as such to the outside world. 
I still have hope for Allwinner as a company.



*
I heard in the past, that the cedarX code was written by some engineer 
who didn't really care for OSS and wanted to do his thing on his little 
island. How much of this is true and how much of this is in the past, I 
don't know, just some background. I myself doubt, that a manger is 
pushing him to keep it closed, if anything it sounds like it would be 
the reverse. This all being just my view and opinion of the case however.


Olliver

--
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [linux-sunxi] Re: r3p2 version of the Mali driver A20

2015-03-19 Thread Henrik Nordström
ons 2015-03-18 klockan 06:17 -0700 skrev @lex:
 I have looked into ODROID r4p0 blobs and headers and did not find any
 EULA, perhaps it is kept with the sources?

http://forum.odroid.com/viewtopic.php?f=52t=4956

Regards
Henrik


-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [linux-sunxi] Fwd: Re: [media-codec] media-codec / cedar released as LGPL, but where is the source? (#5)

2015-03-19 Thread Luc Verhaegen
On Thu, Mar 19, 2015 at 12:44:40PM +0100, Olliver Schinagl wrote:
 Hey,

 On 19-03-15 12:39, Luc Verhaegen wrote:
 On Thu, Mar 19, 2015 at 11:05:30AM +0100, Olliver Schinagl wrote:
 snip
 When Allwinner stated that they did CedarX2.0 about two months ago,  
 they added _more_ lgpled code. But this time they tried to trivially  
 disguise the code origins. This is a totally new low for Allwinner,  
 and it shows clearly that they have no licensing control over the  
 contents of their binary driver, and that no-one can believe them when  
 they state that they are adhering to licenses.
 While you are 100% correct and true, I do want to say, this may not be  
 Allwinner in general, just some lone engineer* (and maybe his direct  
 manager) that are responsible. It very well does reflect badly on  
 Allwinner together, as they communicate it as such to the outside world.  
 I still have hope for Allwinner as a company.


 *
 I heard in the past, that the cedarX code was written by some engineer  
 who didn't really care for OSS and wanted to do his thing on his little  
 island. How much of this is true and how much of this is in the past, I  
 don't know, just some background. I myself doubt, that a manger is  
 pushing him to keep it closed, if anything it sounds like it would be  
 the reverse. This all being just my view and opinion of the case however.

 Olliver

Still. Allwinner could not be in a worse position with their CedarX 
driver. I think the time for letting Allwinner bullshit us and stall us 
is over completely now.

Luc Verhaegen.

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [linux-sunxi] Re: [RFC] Serial number on sunxi devices

2015-03-19 Thread selsinork
On 17/03/15 07:15, Olliver Schinagl wrote:
 Hey Iain,
 
 On 17-03-15 01:38, Iain Paton wrote:

 The eeproms are physically present on all boards as far as I can tell,
 however on every olinuxino I have, they are blank from the factory (i.e.
 content of every byte is 0xFF).

 Yeah they are all blank, with good purpose, it's for the user to define 
 what to do with it ;)

That's all good, up until we hard-code a format into u-boot or the kernel 
at which point the user doesn't get to decide anymore.


 3) Allows for configurable format

 As for 3, not sure how feasible that is. Where do you store the storage 
 definition? First few bytes defines the storage, then the actual 
 storage? While possible, it adds a lot of overhead. But as always, 
 everything is up for discussion.

Perhaps it could be something defined in a Kconfig entry?  Compile time 
configurable will probably be ok for most things.

 Easier, yes, but not useful at all. On our end, for example, we want to 
 have our own unique serial numbering scheme, unrelated to Olimex's 
 numbering. Now we may use olimex boards, in the future, we may decide to 
 build our own boards, for example.

Exactly. I simply want something that, as far as possible, covers all of 
those possibilities. Not something that only fits a single, use for a 
single person, where the rest of us have to carry patches to make it useful 
for us as well.

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [linux-sunxi] Directions for video engine support (CedarX)

2015-03-19 Thread Michal Suchanek
On 19 March 2015 at 11:39, Simos Xenitellis simos.li...@googlemail.com wrote:
 On Wed, Mar 18, 2015 at 11:48 AM, Michal Suchanek hramr...@gmail.com wrote:
 Hello,

 as this does not seem to get any attention from anyone who has some
 idea about VE I will try to write some high level info which is
 hopefully not completely wrong.

 On 16 March 2015 at 14:44, Simos Xenitellis simos.li...@googlemail.com 
 wrote:
 Hi All,

 I recently I had a conversation with Manuel about what can be done for
 better support for the video engine (CedarX) that is found in the
 A-series of SoCs from Allwinner.

 The way I understood all these was that there are short-term and
 long-term goals for better support with the video engine.

 The long-term goal would be to support CedarX in Video4Linux2 (V4L2),
 as it is already described in http://linux-sunxi.org/VE_Planning
 It makes sense to have CedarX supported in V4L2 (Linux kernel) as it
 is part of the mainlining process of the Allwinner SoCs.
 There are some open questions that need discussion (such as
 feasibility, what resources are needed, etc).

 This is most likely feasible. If the current v4l2 framework cannot
 work with cedar hardware it should be updated to work with it.
 Existing hardware is undisputable reality.

 In addition, it is important to describe the benefits from having
 CedarX support in V4L2 and especially when we should expect to have
 the first benefits when starting work on this.

 The benefit is that the v4l2 framework is a standard linux interface.
 Presumably adding support for v4l2 on application side and writing
 v4l2 driver on kernel side should be something you do once for good.
 From then on the application should not be bothered by new hardware
 codecs emerging and the codec drivers not bothered by new applications
 emerging. Practically different applications use different features
 and different codecs implement different features so there is always
 room for finding new and exciting bugs everywhere. Also Cedar will
 probably be one of the first VEs to have such driver.


 As it looks that this would be a difficult task, it would make sense
 to make a case
 that Allwinner may want to allocate resources towards this direction.
 The ability to perform hardware audio/video encoding and decoding even
 as soon as
 the Linux kernel boots up, from the A10 SoC and onwards, would be amazing.

 However, does a video engine driver in V4L2 offer any benefits on Android?

I have no idea. Technically the Android media framework is just
another application which can grow a v4l interface and be done with
this for good. If such driver exists and for which versions of Android
is another question.


 In terms of projects and software that support V4L2, there are the least those
 at http://en.wikipedia.org/wiki/Video4Linux
 Many of those are for watching video on screen (i.e. HDMI output or LCD).
 Wouldn't there be a bottleneck with the current state of video drivers on 
 Linux?

Totally. And if it turns out that the chosen buffer manager does not
work with the KMS driver it would have to be replaced to interface to
KMS and see something on the screen.


 For an application to encode video from USB cameras (or MIPI, if
 available/usable)
 and stream over the network, I suppose it can implement it directly (V4L2) or
 use some existing software library. It looks like there would be no
 big problems
 here apart from bottlenecks elsewhere (number of cameras sending data,
 ethernet/wifi bandwidth).

Also for the directly attached cameras you need an image postprocessor
driver as it turns out the image  quality is unusable otherwise. With
the USB cameras you might have harder time adapting the driver so it
can pass the (uncompressed) image data without kernel copying the
buffers which costs a lot of memory bandwidth.


 The important message here would be that if the benefits are really great,
 then it would justify to put many resources.

 When looking at
 https://github.com/torvalds/linux/tree/master/drivers/media/platform
 (Manuel pointed me to these), there is already a driver for Samsung
 SoCs (dir: s5p-jpeg and s5p-mfc)
 and also a driver for the Coda video engine for Freescale SoCs (dir: coda).

So Cedar would be 3rd.


 Also related is that the v4l2 driver should share buffers with any
 image postprocessing engine(s) and display engine(s) (such as the
 sunxi KMS driver) and camera drivers using some kernel-wide buffer
 management. Ideally, the buffers can be passed around by a handle
 without the application using the drivers ever looking at them (unless
 it has some actual use for the data) or the kernel copying them.
 Hardware restrictions and driver defects may apply.

 I would like to let Manuel to take over here, explain and expand on
 what his thoughts are.

 The short-term goals would be to use better what is available now,
 include libvdpau (anything needs fixing?)

 AFAIK the libvdpau is more proof of concept than a finished driver. It
 is usable 

Re: [linux-sunxi] Directions for video engine support (CedarX)

2015-03-19 Thread Manuel Braga

(The subject has, CedarX is the name of the proprietaries libraries, and
by so is not my business.)


On Thu, 19 Mar 2015 12:39:22 +0200 Simos Xenitellis
simos.li...@googlemail.com wrote:
 
 Would it make sense then to just focus on V4L2?
 I did not find an initial driver for V4L2. I would think the first
 step would be to have a driver that just detects the presence of the
 video engine hardware and report any details that the hardware can
 provide.
 

As said we have for more than 1 year all the information(from reverse
engineering) need to start, meaning that we could have already a V4l2
driver in somewhat functional state by now. If only there was more
support.

I took the task to start this driver, but every week there are only
distractions, that hit hard in the motivation.

And this last weeks are a very good example, to see this huge disregard
of the software licenses used. Makes me wonder how in the future the
license of this v4l2 driver will be handled.

It's very simple, if you all want a proper mainlined driver for this
video engine, then you all should support the people working to make
this a reality.


-- 
Manuel Braga

-- 
You received this message because you are subscribed to the Google Groups 
linux-sunxi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.