Re: [linux-yocto] Gstreamer on a Beaglebone black
Hello, I did some testing and i found out that it keeps polling. With a strace i got this: clock_gettime(CLOCK_MONOTONIC, {4442, 529673320}) = 0 poll([{fd=4, events=POLLIN}], 1, 0) = 1 ([{fd=4, revents=POLLIN}]) read(4, \1\0\0\0\0\0\0\0, 16) = 8 write(4, \1\0\0\0\0\0\0\0, 8) = 8 clock_gettime(CLOCK_MONOTONIC, {4442, 532327695}) = 0 poll([{fd=4, events=POLLIN}], 1, 232) = 1 ([{fd=4, revents=POLLIN}]) read(4, \1\0\0\0\0\0\0\0, 16) = 8 clock_gettime(CLOCK_MONOTONIC, {4442, 534804403}) = 0 clock_gettime(CLOCK_MONOTONIC, {4442, 535122070}) = 0 poll([{fd=4, events=POLLIN}], 1, 230Spinning. Please run 'gdb gst-launch 1230' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core. ) = 0 (Timeout) read(4, 0xbe81f870, 16) = -1 EAGAIN (Resource temporarily unavailable) I have know idea where it comes from and not a clue how to find it! Thanks, dimitri On Tue, Jul 15, 2014 at 1:50 PM, Dimitri Slavaski dslava...@gmail.com wrote: These functions are in the ffmpeg plugins-bad, plugins-good, plugins-ugly, plugins-base. i added those to a build with the gstreamer afcourse Thanks, dimitri -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [PATCH 16/17] kernel/smp: Allow smp_call_function_single() to be called with a function that doesn't return.
Bruce LSI decided to cancel this patch but wants the rest in. Can I send you the pull request? Charlie -Original Message- From: Bruce Ashfield [mailto:bruce.ashfi...@windriver.com] Sent: Friday, July 11, 2014 9:43 AM To: Charlie Paul; linux-yocto@yoctoproject.org Cc: Paul, Charlie Subject: Re: [PATCH 16/17] kernel/smp: Allow smp_call_function_single() to be called with a function that doesn't return. On 14-07-09 01:26 PM, Charlie Paul wrote: From: John Jacques john.jacq...@lsi.com When we do a reset (core, not chip or system), the core that is doing the reset has to tell all the other cores to reset. To do this, we call smp_call_function_single(). In this case the function specified in smp_call_function_single() doesn't return. The wait parameter (third argument, described as '@wait: If true, wait until function has completed on other CPUs.') doesn't work as described without the patch. Without the patch, smp_call_function_single() doesn't return when the function indicated resets the called core. The comments indicate that it should, but it does not. Signen-off-by: John Jacques john.jacq...@lsi.com --- kernel/smp.c | 24 +++- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/kernel/smp.c b/kernel/smp.c index d5f3238..040b2b1 100644 --- a/kernel/smp.c +++ b/kernel/smp.c @@ -17,14 +17,14 @@ static struct { struct list_headqueue; raw_spinlock_t lock; -} call_function __cacheline_aligned_in_smp = - { +} call_function __cacheline_aligned_in_smp = { .queue = LIST_HEAD_INIT(call_function.queue), .lock = __RAW_SPIN_LOCK_UNLOCKED(call_function.lock), }; enum { CSD_FLAG_LOCK = 0x01, + CSD_FLAG_NOWAIT = 0x02, }; struct call_function_data { @@ -268,6 +268,8 @@ void generic_smp_call_function_single_interrupt(void) while (!list_empty(list)) { struct call_single_data *data; + void (*func)(void *); + void *info; data = list_entry(list.next, struct call_single_data, list); list_del(data-list); @@ -278,12 +280,21 @@ void generic_smp_call_function_single_interrupt(void) * so save them away before making the call: */ data_flags = data-flags; - - data-func(data-info); + func = data-func; + info = data-info; /* + * Unlock before calling func so that func never has + * to return. + * * Unlocked CSDs are valid through generic_exec_single(): */ + if ((data_flags CSD_FLAG_LOCK) + (data_flags CSD_FLAG_NOWAIT)) + csd_unlock(data); + + func(info); + if (data_flags CSD_FLAG_LOCK) csd_unlock(data); } @@ -337,6 +348,9 @@ int smp_call_function_single(int cpu, smp_call_func_t func, void *info, csd_lock(data); + if (!wait) + data-flags |= CSD_FLAG_NOWAIT; + data-func = func; data-info = info; generic_exec_single(cpu, data, wait); @@ -672,7 +686,7 @@ EXPORT_SYMBOL(nr_cpu_ids); /* An arch may set nr_cpu_ids earlier if needed, so this would be redundant */ void __init setup_nr_cpu_ids(void) { - nr_cpu_ids = find_last_bit(cpumask_bits(cpu_possible_mask),NR_CPUS) + 1; + nr_cpu_ids = find_last_bit(cpumask_bits(cpu_possible_mask), NR_CPUS) ++ 1; I had some structural comments about this patch, that aren't addressed. The rest of the series looks ok though. Bruce } /* Called by boot processor to activate the rest. */ -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [PATCH 16/17] kernel/smp: Allow smp_call_function_single() to be called with a function that doesn't return.
On 14-07-16 12:44 PM, Paul, Charlie wrote: Bruce LSI decided to cancel this patch but wants the rest in. Can I send you the pull request? Sure. Bruce Charlie -Original Message- From: Bruce Ashfield [mailto:bruce.ashfi...@windriver.com] Sent: Friday, July 11, 2014 9:43 AM To: Charlie Paul; linux-yocto@yoctoproject.org Cc: Paul, Charlie Subject: Re: [PATCH 16/17] kernel/smp: Allow smp_call_function_single() to be called with a function that doesn't return. On 14-07-09 01:26 PM, Charlie Paul wrote: From: John Jacques john.jacq...@lsi.com When we do a reset (core, not chip or system), the core that is doing the reset has to tell all the other cores to reset. To do this, we call smp_call_function_single(). In this case the function specified in smp_call_function_single() doesn't return. The wait parameter (third argument, described as '@wait: If true, wait until function has completed on other CPUs.') doesn't work as described without the patch. Without the patch, smp_call_function_single() doesn't return when the function indicated resets the called core. The comments indicate that it should, but it does not. Signen-off-by: John Jacques john.jacq...@lsi.com --- kernel/smp.c | 24 +++- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/kernel/smp.c b/kernel/smp.c index d5f3238..040b2b1 100644 --- a/kernel/smp.c +++ b/kernel/smp.c @@ -17,14 +17,14 @@ static struct { struct list_headqueue; raw_spinlock_t lock; -} call_function __cacheline_aligned_in_smp = - { +} call_function __cacheline_aligned_in_smp = { .queue = LIST_HEAD_INIT(call_function.queue), .lock = __RAW_SPIN_LOCK_UNLOCKED(call_function.lock), }; enum { CSD_FLAG_LOCK = 0x01, + CSD_FLAG_NOWAIT = 0x02, }; struct call_function_data { @@ -268,6 +268,8 @@ void generic_smp_call_function_single_interrupt(void) while (!list_empty(list)) { struct call_single_data *data; + void (*func)(void *); + void *info; data = list_entry(list.next, struct call_single_data, list); list_del(data-list); @@ -278,12 +280,21 @@ void generic_smp_call_function_single_interrupt(void) * so save them away before making the call: */ data_flags = data-flags; - - data-func(data-info); + func = data-func; + info = data-info; /* +* Unlock before calling func so that func never has +* to return. +* * Unlocked CSDs are valid through generic_exec_single(): */ + if ((data_flags CSD_FLAG_LOCK) + (data_flags CSD_FLAG_NOWAIT)) + csd_unlock(data); + + func(info); + if (data_flags CSD_FLAG_LOCK) csd_unlock(data); } @@ -337,6 +348,9 @@ int smp_call_function_single(int cpu, smp_call_func_t func, void *info, csd_lock(data); + if (!wait) + data-flags |= CSD_FLAG_NOWAIT; + data-func = func; data-info = info; generic_exec_single(cpu, data, wait); @@ -672,7 +686,7 @@ EXPORT_SYMBOL(nr_cpu_ids); /* An arch may set nr_cpu_ids earlier if needed, so this would be redundant */ void __init setup_nr_cpu_ids(void) { - nr_cpu_ids = find_last_bit(cpumask_bits(cpu_possible_mask),NR_CPUS) + 1; + nr_cpu_ids = find_last_bit(cpumask_bits(cpu_possible_mask), NR_CPUS) ++ 1; I had some structural comments about this patch, that aren't addressed. The rest of the series looks ok though. Bruce } /* Called by boot processor to activate the rest. */ -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
[linux-yocto] [PULL REQUEST] Kernel: 3.4 Branch: standard/axxia/base
The following changes since commit e309525655c7b5b3a3168b4bda069701664eac8e: axxia: Fixed typo in acp.dts file (2014-06-15 23:39:15 -0400) are available in the git repository at: https://github.com/z8cpaul/lsikernel-3.4 sab-next-ly34 for you to fetch changes up to a35ffa37e49c9eb12285164954beb84ab9c487e8: arch/powerpc: Reset Updates for Axxia (2014-07-16 10:44:14 -0700) Anders Berg (12): net: lsi_acp_net: Added new string to DT match ARM: dts: axxia: Corrected IRQ for memory contollers ARM: axxia: Support MSI on both PCIe controllers i2c: axxia: Minor cleanup (cosmetic) i2c: axxia: Report spurious IRQ i2c: axxia: Fix broken smbus block read i2c: axxia: Fall back to polling mode when no IRQ ARM: axxia: Fix .init section mismatch spi: pl022: Fix .init section mismatch gpio: pl061: Fix .init section mismatch misc: lsi-smmon: Bug when probing with IRQ pending misc: lsi-smmon: Add parameter panic_on_fatal John Jacques (3): arch/powerpc: Updated Device Trees for Axxia (3400/3500) arch/powerpc: Update the Axxia NAND Driver to support 3500 arch/powerpc: Reset Updates for Axxia SangeethaRao (1): powerpc/sysdev/lsi:adding 3500 PCIe inbound mapping support arch/arm/boot/dts/axm55xx.dts |4 +- arch/arm/mach-axxia/pci.c | 75 --- arch/powerpc/boot/dts/acp342x.dts | 339 +--- arch/powerpc/boot/dts/acp344x.dts | 164 ++- arch/powerpc/boot/dts/acp35xx.dts | 73 +++ arch/powerpc/sysdev/lsi_pci.c | 40 +++- arch/powerpc/sysdev/ppc4xx_soc.c | 73 ++- drivers/gpio/gpio-pl061.c |2 +- drivers/i2c/busses/i2c-axxia.c | 109 ++ drivers/misc/lsi-smmon.c | 58 -- drivers/mtd/nand/lsi_acp_nand.c| 171 drivers/net/ethernet/lsi/lsi_acp_net.c |3 +- drivers/spi/spi-pl022.c|4 +- 13 files changed, 676 insertions(+), 439 deletions(-) -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [linux-yocto] [PULL REQUEST] Kernel: 3.4 Branch: standard/axxia/base
On 14-07-16 02:02 PM, Paul, Charlie wrote: The following changes since commit e309525655c7b5b3a3168b4bda069701664eac8e: merged Bruce axxia: Fixed typo in acp.dts file (2014-06-15 23:39:15 -0400) are available in the git repository at: https://github.com/z8cpaul/lsikernel-3.4 sab-next-ly34 for you to fetch changes up to a35ffa37e49c9eb12285164954beb84ab9c487e8: arch/powerpc: Reset Updates for Axxia (2014-07-16 10:44:14 -0700) Anders Berg (12): net: lsi_acp_net: Added new string to DT match ARM: dts: axxia: Corrected IRQ for memory contollers ARM: axxia: Support MSI on both PCIe controllers i2c: axxia: Minor cleanup (cosmetic) i2c: axxia: Report spurious IRQ i2c: axxia: Fix broken smbus block read i2c: axxia: Fall back to polling mode when no IRQ ARM: axxia: Fix .init section mismatch spi: pl022: Fix .init section mismatch gpio: pl061: Fix .init section mismatch misc: lsi-smmon: Bug when probing with IRQ pending misc: lsi-smmon: Add parameter panic_on_fatal John Jacques (3): arch/powerpc: Updated Device Trees for Axxia (3400/3500) arch/powerpc: Update the Axxia NAND Driver to support 3500 arch/powerpc: Reset Updates for Axxia SangeethaRao (1): powerpc/sysdev/lsi:adding 3500 PCIe inbound mapping support arch/arm/boot/dts/axm55xx.dts |4 +- arch/arm/mach-axxia/pci.c | 75 --- arch/powerpc/boot/dts/acp342x.dts | 339 +--- arch/powerpc/boot/dts/acp344x.dts | 164 ++- arch/powerpc/boot/dts/acp35xx.dts | 73 +++ arch/powerpc/sysdev/lsi_pci.c | 40 +++- arch/powerpc/sysdev/ppc4xx_soc.c | 73 ++- drivers/gpio/gpio-pl061.c |2 +- drivers/i2c/busses/i2c-axxia.c | 109 ++ drivers/misc/lsi-smmon.c | 58 -- drivers/mtd/nand/lsi_acp_nand.c| 171 drivers/net/ethernet/lsi/lsi_acp_net.c |3 +- drivers/spi/spi-pl022.c|4 +- 13 files changed, 676 insertions(+), 439 deletions(-) -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto