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
[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
[linux-yocto] [PULL REQUEST] Kernel: 3.10 Branch: standard/axxia/base
The following changes since commit 0651cf0a88bb3a8026328436bffc72da221f6ddf: Merge branch 'standard/base' into standard/axxia/base (2014-06-16 12:25:09 -0400) are available in the git repository at: https://github.com/z8cpaul/lsikernel-3.10 sab-next for you to fetch changes up to d55b27f965f65b2d4b459e66c4f57093ce3646fc: Merge branch 'sab-next' of https://github.com/z8cpaul/lsikernel-3.10 into sab-next (2014-06-19 13:57:45 -0700) Anders Berg (11): i2c: axxia: Minor cosmetic cleanup i2c: axxia: Fall back to polling mode when no IRQ misc: lsi-smmon: Bug when probing with IRQ pending misc: lsi-smmon: Add parameter panic_on_fatal ARM: dts: axxia: Added memory controllers dma: lsi-dma32: Add support for sg operation dma: lsi-dma32: Remove debug printks ARM: dts: axxia: Fix flash partitions dma: lsi-dma32: Add support for sg operation dma: lsi-dma32: Remove debug printks ARM: dts: axxia: Fix flash partitions Charlie Paul (1): Merge branch 'sab-next' of https://github.com/z8cpaul/lsikernel-3.10 into sab-next John Jacques (11): arch/arm/mach-axxia: Enable Secondary Cores when in Hyp Mode arch/arm/mach-axxia: Remove Unused Device Tree arch/arm/mach-axxia: Device Trees for New 5500 Variants board/powerpc: Update the Device Tree for 3500 arch/arm: virtio arch/arm: Add Virtio Block Support to Axxia Simulation arch/arm/mach-axxia: Update Device Tree for KVM board/powerpc: Update the Device Tree for 3500 arch/arm: virtio arch/arm: Add Virtio Block Support to Axxia Simulation arch/arm/mach-axxia: Update Device Tree for KVM Palani (2): LSI AXM55xx RAPIDIO: Added support for the sRIO controller in the AXM55xx devices. LSI AXM55xx RAPIDIO: Added support for the sRIO controller in the AXM55xx devices. SangeethaRao (2): sysdev LSI_POWERPC: Adding 3500 PCIe inbound mapping support sysdev LSI_POWERPC: Adding 3500 PCIe inbound mapping support arch/arm/Kconfig | 13 + arch/arm/boot/dts/axm5504-sim.dts |6 + arch/arm/boot/dts/axm5508-amarillo.dts|2 +- arch/arm/boot/dts/axm5512-amarillo.dts|2 +- arch/arm/boot/dts/axm5516-amarillo.dts|2 +- arch/arm/boot/dts/axm5516-sim.dts |6 + arch/arm/boot/dts/axm55xx.dtsi|1 + arch/arm/mach-axxia/Makefile |1 + arch/arm/mach-axxia/axxia.c |7 + arch/arm/mach-axxia/include/mach/rio.h| 44 + arch/arm/mach-axxia/rapidio.c | 108 ++ arch/powerpc/boot/dts/acp35xx.dts | 68 +- arch/powerpc/sysdev/lsi_pci.c | 42 +- drivers/dma/lsi-dma32.c | 233 ++- drivers/dma/lsi-dma32.h |7 +- drivers/rapidio/devices/Kconfig |2 + drivers/rapidio/devices/Makefile |2 + drivers/rapidio/devices/lsi/Kconfig | 47 + drivers/rapidio/devices/lsi/Makefile |5 + drivers/rapidio/devices/lsi/axxia-rio-irq.c | 2532 + drivers/rapidio/devices/lsi/axxia-rio-irq.h | 195 ++ drivers/rapidio/devices/lsi/axxia-rio-sysfs.c | 278 +++ drivers/rapidio/devices/lsi/axxia-rio.c | 1751 + drivers/rapidio/devices/lsi/axxia-rio.h | 595 ++ 24 files changed, 5829 insertions(+), 120 deletions(-) create mode 100644 arch/arm/mach-axxia/include/mach/rio.h create mode 100644 arch/arm/mach-axxia/rapidio.c create mode 100644 drivers/rapidio/devices/lsi/Kconfig create mode 100644 drivers/rapidio/devices/lsi/Makefile create mode 100644 drivers/rapidio/devices/lsi/axxia-rio-irq.c create mode 100644 drivers/rapidio/devices/lsi/axxia-rio-irq.h create mode 100644 drivers/rapidio/devices/lsi/axxia-rio-sysfs.c create mode 100644 drivers/rapidio/devices/lsi/axxia-rio.c create mode 100644 drivers/rapidio/devices/lsi/axxia-rio.h -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
[linux-yocto] [PULL REQUEST] Kernel: 3.10 Branch: standard/axxia/base
The following changes since commit f027472523d4969f3d78226c3fb1c6bacb05e8f7: arch/arm/mach-axxia: Move Simulutaion/Emulation WFE/SEV Work-Around (2014-05-20 15:29:24 -0700) are available in the git repository at: https://github.com/z8cpaul/lsikernel-3.10 sab-delivery-2 for you to fetch changes up to 534fa0c95758b9338975666b7509b7a97c3e39fd: arch/arm/mach-axxia: Device Trees for New 5500 Variants (2014-06-03 17:18:58 -0700) Anders Berg (5): i2c: axxia: Minor cosmetic cleanup i2c: axxia: Fall back to polling mode when no IRQ misc: lsi-smmon: Bug when probing with IRQ pending misc: lsi-smmon: Add parameter panic_on_fatal ARM: dts: axxia: Added memory controllers John Jacques (3): arch/arm/mach-axxia: Enable Secondary Cores when in Hyp Mode arch/arm/mach-axxia: Remove Unused Device Tree arch/arm/mach-axxia: Device Trees for New 5500 Variants arch/arm/boot/dts/Makefile |4 +- arch/arm/boot/dts/axm5508-amarillo.dts | 221 +++ arch/arm/boot/dts/axm5512-amarillo.dts | 221 +++ arch/arm/boot/dts/axm5516-amarillo.dts |8 ++ arch/arm/boot/dts/axm55xx.dtsi | 14 ++ arch/arm/boot/dts/axm55xxemu7.dts | 226 arch/arm/mach-axxia/platsmp.c | 23 ++-- drivers/i2c/busses/i2c-axxia.c | 94 +++-- drivers/misc/lsi-smmon.c | 58 +--- 9 files changed, 568 insertions(+), 301 deletions(-) create mode 100644 arch/arm/boot/dts/axm5508-amarillo.dts create mode 100644 arch/arm/boot/dts/axm5512-amarillo.dts delete mode 100644 arch/arm/boot/dts/axm55xxemu7.dts -- ___ 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 6b4b2cce1391ea3480b0170be8aa912c5cc5426d: axxia: Remove Wrapper Functions (2014-05-02 09:07:28 -0700) are available in the git repository at: g...@github.com:butlerpaul/lsikernel sab-next-2 for you to fetch changes up to e865ad95053da22bbf780fa075e59a5c40c1c089: i2c: axxia: Add support for 10-bit addressing (2014-05-06 09:27:27 -0700) Anders Berg (4): i2c-axxia: Adjust tLOW,tHIGH to match fast-mode requirements i2c-axxia: Avoid timeout when interrupt delayed i2c-axxia: Fixed i2c device minor numbers i2c: axxia: Add support for 10-bit addressing David Mercado (4): LSI FEMAC Ethernet: Updated for upstream submittal kernel/irq/manage.c: Fix irq_set_affinity to allow use with buslocks LSI AXM55xx: Axxia GIC driver improvements (3rd gen) LSI AXM55xx: Fix PMU handler issue Gary McGee (1): LSI AXM55xx arm/axxia: improved robustness for DDR retention John Jacques (4): axxia: Device tree and Target Name/Machine Type Update axxia: Fix a Size Warning in the SRIO Section of the Device Trees arch/powerpc: Updated the UART Driver to Support 3500 arch/powerpc: Don't Try to Use NAND on Axxia 3500 Michael Bringmann (13): LSI AXM55xx: Validate SRIO link ready status during driver initialization. LSI AXM55xx: Some code optimizations for AXXIA rapidio mport driver. LSI AXM55xx: Fixes for mailbox open bounds checks. LSI AXM55xx: Improve concurrency protection in AXXIA rapidio calls. LSI AXM55xx: Fix concurrency issue for variable LSI AXM55xx rapidio: Change the timers for inbound messages LSI AXM55xx rapidio: Speed up bottleneck in inbox. LSI AXM55x rapidio: removed __devinit from init routines LSI AXM55xx/rapidio: Fix NULL pointer reference in rio_release_inb_mbox. LSI AXM55xx: Various bug fixes for rapidio endpoint controller. LSI AXM55xx: Configuration updates and bug fixes for rapidio. LSI AXM55xx: Disable linkdown reset configuration. LSI AXM55xx: Move datastream APIs and symbols to public header file. SangeethaRao (2): LSI sysdev/pci: Removing the power of 2 size restriction LSI AXM55xx i2c: Adding support for AXM3500 I2C driver ningligong (2): LSI AXM55xx rapidio? Fixed offset of RAB_OBDSE_XX registers LSI AXM55xx: Fixed inbound data streaming ISR handling arch/arm/boot/dts/axm55xx.dts |4 +- arch/arm/boot/dts/axm55xxemu.dts | 25 +- arch/arm/boot/dts/axm55xxemu7.dts | 217 + arch/arm/boot/dts/axm55xxsim.dts | 26 +- arch/arm/boot/dts/axm55xxsim16.dts| 26 +- arch/arm/include/asm/axxia-rio.h |5 +- arch/arm/mach-axxia/Makefile |2 +- arch/arm/mach-axxia/axxia-gic.c | 1160 + arch/arm/mach-axxia/axxia.c | 40 +- arch/arm/mach-axxia/ddr_retention.c | 258 +++--- arch/arm/mach-axxia/ddr_shutdown.c| 332 +++ arch/arm/mach-axxia/rapidio.c | 19 +- arch/powerpc/boot/dts/acp25xx.dts | 37 +- arch/powerpc/boot/dts/acp342x.dts | 37 +- arch/powerpc/boot/dts/acp344x.dts | 37 +- arch/powerpc/boot/dts/acp35xx.dts | 29 +- arch/powerpc/include/asm/axxia-rio.h |5 +- arch/powerpc/sysdev/lsi_pci.c | 16 +- drivers/i2c/busses/i2c-axxia.c| 115 ++- drivers/mtd/nand/lsi_acp_nand.c |9 +- drivers/net/ethernet/lsi/Kconfig | 15 - drivers/net/ethernet/lsi/lsi_acp_mdio.c | 201 +++-- drivers/net/ethernet/lsi/lsi_acp_net.c| 871 +-- drivers/net/ethernet/lsi/lsi_acp_net.h| 261 -- drivers/rapidio/devices/lsi/axxia-rio-ds.c| 647 -- drivers/rapidio/devices/lsi/axxia-rio-ds.h| 326 +-- drivers/rapidio/devices/lsi/axxia-rio-irq.c | 289 +++--- drivers/rapidio/devices/lsi/axxia-rio-irq.h | 12 +- drivers/rapidio/devices/lsi/axxia-rio-sysfs.c | 15 +- drivers/rapidio/devices/lsi/axxia-rio.c | 16 +- drivers/rapidio/devices/lsi/axxia-rio.h |4 +- drivers/rapidio/rio.c | 15 +- drivers/tty/serial/lsi_acp_serial.c | 94 +- include/linux/rio-axxia.h | 322 +++ kernel/irq/manage.c |6 +- 35 files changed, 3156 insertions(+), 2337 deletions(-) create mode 100644 arch/arm/boot/dts/axm55xxemu7.dts create mode 100644 arch/arm/mach-axxia/ddr_shutdown.c create mode 100644 include/linux/rio-axxia.h -- ___ 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 e1374b95f2b2474b37f250b61a12eb7d4c8002c8: Merge branch 'standard/base' into standard/axxia/base (2014-04-29 13:10:33 -0400) are available in the git repository at: g...@github.com:butlerpaul/lsikernel sab-next for you to fetch changes up to 6b4b2cce1391ea3480b0170be8aa912c5cc5426d: axxia: Remove Wrapper Functions (2014-05-02 09:07:28 -0700) Anders Berg (7): axxia: Fixed earlyprintk axxia: Define arch_is_coherent() ARM: 7465/1: Handle 4GB memory sizes in device tree and mem=size@start option ARM: LPAE: use phys_addr_t in alloc_init_pud() ARM: 7499/1: mm: Fix vmalloc overlap check for !HIGHMEM arm: mmu: Fixed checkpatch issues with mmu drivers/i2c-axxia: Support I2C_M_RECV_LEN David Mercado (2): LSI AXM55xx: Enable multi-cluster wfe/sev LSI AXM55XX: Add PMU support John Jacques (6): arch/arm/mach-axxi: Updated DDR Retention to Wokr from Interrupt Context arch/arm/mach-axxia: Clear MTC Errors During Initialization LSI: Fix Device Tree compatible fields powerpc/mpic: Disable preemption when calling mpic_processor_id() arm/mach-axxia: Same build for HW and simlation and DDR Retention Reset and clock init. axxia: Remove Wrapper Functions Michael Bringmann (1): LSI AXM55XX/rapidio: Stability and bug fix improvements , Correct boundary, Expand valid condition. Paul Butler (8): drivers/rapidio/devices: Initial Submittal of LSI rapidio drivers/rapidio: new files drivers/rapidio: modified files arm: rapidio updates powerpc: rapidio updates include: rapidio updates drivers: rapidio updates arm/mach-axxia: Updated PCIe driver to set PCIe SangeethaRao (3): arch/powerpc/sysdev: Fixed PCIe enumeration issue on AXM3500 emulation drivers/usb: USB driver/dts on PPC was broken. arch/arm/mach-axxia: added support for ncr_read/ncr_write ningligong (1): drivers/rapidio/lsi: squash a bunch rapidio stuff together and Cleanup arch/arm/Kconfig | 19 + arch/arm/Kconfig.debug |9 + arch/arm/Makefile |3 - arch/arm/boot/dts/axm55xx.dts | 50 +- arch/arm/boot/dts/axm55xxemu.dts | 21 +- arch/arm/boot/dts/axm55xxsim.dts | 94 +- .../arm/boot/dts/{axm-sim.dts = axm55xxsim16.dts} | 208 +- arch/arm/include/asm/axxia-rio.h | 135 + arch/arm/include/asm/rio.h | 37 + arch/arm/include/asm/setup.h | 14 +- arch/arm/include/asm/spinlock.h|4 + arch/arm/kernel/perf_event_v7.c|3 +- arch/arm/kernel/setup.c| 70 +- arch/arm/mach-axxia/Kconfig|3 - arch/arm/mach-axxia/Makefile |3 +- arch/arm/mach-axxia/axxia-gic.c| 25 +- arch/arm/mach-axxia/axxia.c| 123 +- arch/arm/mach-axxia/axxia.h|2 +- arch/arm/mach-axxia/clock.c| 185 +- arch/arm/mach-axxia/ddr_retention.c| 300 ++- arch/arm/mach-axxia/include/mach/debug-macro.S | 16 +- arch/arm/mach-axxia/include/mach/hardware.h| 25 +- arch/arm/mach-axxia/include/mach/irqs.h|1 + arch/arm/mach-axxia/include/mach/memory.h | 19 + arch/arm/mach-axxia/include/mach/ncr.h | 44 + arch/arm/mach-axxia/ncr.c | 597 + arch/arm/mach-axxia/pci.c |7 +- arch/arm/mach-axxia/platsmp.c | 155 +- arch/arm/mach-axxia/rapidio.c | 68 + arch/arm/mach-axxia/wrappers.c | 176 -- arch/arm/mm/mmu.c | 82 +- arch/powerpc/boot/dts/ACP344xV2.dts| 20 +- arch/powerpc/boot/dts/acp25xx.dts | 16 +- arch/powerpc/boot/dts/acp342x.dts | 21 +- arch/powerpc/boot/dts/acp344x.dts | 16 +- arch/powerpc/boot/dts/lsi_acp342x.dts | 317 +++ arch/powerpc/boot/dts/lsi_acp344x.dts | 355 +++ arch/powerpc/include/asm/axxia-rio.h | 107 + arch/powerpc/include/asm/rio.h | 46 + arch/powerpc/platforms/44x/Makefile|3 +- arch/powerpc/platforms/44x/acprio.c| 65 + arch/powerpc/platforms/44x/acpx1.c |1 + arch/powerpc/sysdev/Makefile |2 - arch/powerpc/sysdev/lsi_acp_wrappers.c | 132 - arch/powerpc/sysdev/lsi_pci.c | 19 +- arch/powerpc/sysdev/mpic.c | 119 +- drivers/i2c/busses/i2c-axxia.c | 193 +-
[linux-yocto] [PULL REQUEST] Kernel: 3.10 Branch: standard/axxia/base
Bruce, Here is the pull request for the second set of patches Charlie The following changes since commit a72435875d8a4b4e5d61779dd823c59fd4180921: gpio: repairs merge comflict (2014-04-22 14:44:24 -0700) are available in the git repository at: g...@github.com:butlerpaul/lsikernel-3.10 sab-next-2 for you to fetch changes up to 4346baaae2fee096212957f62984aeca909ad4f8: ARM: axxia: Flush L3 in kexec_reinit (2014-04-28 16:24:18 -0700) Anders Berg (9): i2c-axxia: Avoid timeout when interrupt delayed dma: lsi-dma32: Add parameter to setup burst size dma: lsi-dma32: Handle DMA transfer sizes 1MB ARM: axxia: dts: Enable sp804 timers by default ARM: axxia: Cleanup timer init code i2c: axxia: Add support for 10-bit addressing ARM: axxia: Alloc GIC to be initialized from non-primary core ARM: axxia: Fix release of CPUs with booted via kexec ARM: axxia: Flush L3 in kexec_reinit David Mercado (2): LSI AXM55xx: Fix PMU handler issue LSI AXM55xx: Fix CPU hotplug John Jacques (4): arch/powerpc: Disable the ACP NAND Driver for 3500 arch/powerpc: Fix Compile Error when the Target is PowerPC axxia: Use the Device Tree for MDIO Clock Offset/Period if Provided arch/powerpc: Support Older Machine Name for LSI Axxia arch/arm/boot/dts/axm5504-emu.dts|2 + arch/arm/boot/dts/axm5507-emu.dts|2 + arch/arm/boot/dts/axm5516-amarillo.dts |2 + arch/arm/boot/dts/axm55xx.dtsi |1 - arch/arm/mach-axxia/axxia-gic.c | 47 +-- arch/arm/mach-axxia/axxia.c | 102 +++--- arch/arm/mach-axxia/axxia.h |1 + arch/arm/mach-axxia/hotplug.c|2 +- arch/arm/mach-axxia/include/mach/axxia-gic.h |1 - arch/arm/mach-axxia/platsmp.c| 27 ++-- arch/powerpc/boot/dts/acp25xx.dts|3 + arch/powerpc/boot/dts/acp342x.dts|3 + arch/powerpc/boot/dts/acp344x.dts|3 + arch/powerpc/boot/dts/acp35xx.dts|3 + arch/powerpc/platforms/44x/acpx1.c |5 +- drivers/dma/lsi-dma32.c | 185 +++--- drivers/dma/lsi-dma32.h |4 +- drivers/i2c/busses/i2c-axxia.c | 84 +++- drivers/mtd/nand/lsi_acp_nand.c |7 + drivers/net/ethernet/lsi/lsi_acp_mdio.c | 33 +++-- 20 files changed, 306 insertions(+), 211 deletions(-) -- ___ linux-yocto mailing list linux-yo...@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
[linux-yocto] [PULL REQUEST] Kernel: 3.10 Branch: standard/axxia/base
Bruce, I resubmitted this request, I had given you the wrong starting point, this should fix the merge problem Charlie The following changes since commit 55bf6f0b78353c34d4910bca7bfc9eed0aff5de4: Merge branch 'standard/base' into standard/axxia/base (2014-04-01 21:11:34 -0400) are available in the git repository at: g...@github.com:butlerpaul/lsikernel-3.10 sab-next-1 for you to fetch changes up to a72435875d8a4b4e5d61779dd823c59fd4180921: gpio: repairs merge comflict (2014-04-22 14:44:24 -0700) Anders Berg (13): i2c-axxia: Fix broken smbus block read i2c-axxia: Adjust tLOW,tHIGH to match fast-mode requirements arm/axxia: Workaround for cross-cluster sev issue Revert LSI AXM55XX: Add GENERIC_LOCKBREAK Revert LSI AXM55XX: Disable use of wfe/sev in arch spinlock dma: lsi-dma32: DMA driver configuration update dma: lsi-dma32: Cleanup DMA driver mach-axxia: Split device tree into SoC/board parts arm/axxia: Configure changes to 'GPIO driver for SPI chip selects' arm/axxia: GPIO driver for SPI chip selects spi: Revert to mainline spi-pl022 hwmon: Support new revision of LTC2974 i2c-axxia: Use managed functions devm_* Charlie Paul (3): i2c-axxia: code update kernel.org coding spec LSI powerpc/boot: added for rapidio i2c-axxia: Configure changes to 'Use managed functions devm_*' David Mercado (3): LSI FEMAC Ethernet Driver kernel/irq/manage.c: Fix irq_set_affinity to allow use with buslocks LSI AXM55xx: Axxia GIC driver improvements (3rd gen) Gary McGee (2): LSI AXXIA: fixes for VP engine quiesce and DDR shutdown arm/axxia: improved robustness for DDR retention John Jacques (10): arch/arm/mach-axxia: Updated Device Tree for Emulation arch/arm/mach-axxia: Accept the new lsi,axm5516-emu Machine arch/arm/mach-axxia: Disable DDR Retention Resets in Sim/Emu arch/arm/mach-axxia: Updates to the VMFS File System LSI RapidIO: Updated Device Trees for rapidio arch/arm/mach-axxia: Name Cleanup arch/arm/mach-axxia: Work-Around for Event Problems in v1.0 Silicon arch/powerpc: Update the Axxia Device Tree Files arch/powerpc: Clean up of Compatible Names in Axxia Device Trees LSI drivers/tty: Axxia Serial Driver Update Jonas Svennebring (2): ARM: 7840/1: LPAE: don't reject mapping /dev/mem above 4GB LSI AXXIA: Basic perf support for axxia plaform block provided by LSI. Michael Bringmann (2): LSI AXM55xx: Configuration updates LSI AXM55xx: Disable linkdown reset configuration. Paul Butler (2): i2c: comforming to changes introduced by move of_i2c to core gpio: repairs merge comflict SangeethaRao (2): arch/powerpc: Checking in correct USB entries to ACP3421 DTS LSI powerpc/sysdev: Removing the power of 2 size restriction arch/arm/Kconfig |7 +- arch/arm/boot/dts/Makefile |5 + arch/arm/boot/dts/axm-sim.dts | 403 arch/arm/boot/dts/axm-ve-tc1.dts | 363 --- arch/arm/boot/dts/axm-ve-tc2.dts | 174 -- arch/arm/boot/dts/axm5504-cpus.dtsi| 49 + arch/arm/boot/dts/axm5504-emu.dts | 44 + arch/arm/boot/dts/axm5504-sim.dts | 127 + arch/arm/boot/dts/axm5507-cpus.dtsi| 73 + arch/arm/boot/dts/axm5507-emu.dts | 44 + arch/arm/boot/dts/axm5508-cpus.dtsi| 81 + arch/arm/boot/dts/axm5512-cpus.dtsi| 114 + arch/arm/boot/dts/axm5516-amarillo.dts | 195 ++ arch/arm/boot/dts/axm5516-cpus.dtsi| 145 ++ arch/arm/boot/dts/axm5516-sim.dts | 127 + arch/arm/boot/dts/axm55xx.dts | 464 arch/arm/boot/dts/axm55xx.dtsi | 390 +++ .../boot/dts/{axm55xxemu.dts = axm55xxemu7.dts} | 17 +- arch/arm/boot/dts/axm55xxsim.dts | 363 --- arch/arm/boot/dts/axm55xxsim16.dts | 459 arch/arm/boot/fmboot/Makefile | 12 +- arch/arm/include/asm/spinlock.h|9 +- arch/arm/mach-axxia/Makefile |6 +- arch/arm/mach-axxia/axxia-gic.c| 1138 - arch/arm/mach-axxia/axxia.c| 66 +- arch/arm/mach-axxia/clock.c|2 +- arch/arm/mach-axxia/ddr_retention.c| 255 +- arch/arm/mach-axxia/ddr_shutdown.c | 332 +++ arch/arm/mach-axxia/ev.c | 53 + arch/arm/mach-axxia/ncr.c | 18 +- arch/arm/mach-axxia/perf_event_memc.c | 130 + arch/arm/mach-axxia/perf_event_memc.h | 62 + arch/arm/mach-axxia/perf_event_pcx.c | 46 +
Re: [linux-yocto] [PATCH 47/57] Basic perf support for axxia plaform block provided by LSI.
Bruce, I am going to resubmit this group of patches less any patch that has to do with RIO. This was requested by our customer. This should remove any patches that don't have the required comments in the headers. The other patches are all updated as per your comments. Charlie -Original Message- From: Bruce Ashfield [mailto:bruce.ashfi...@windriver.com] Sent: Monday, March 24, 2014 6:09 AM To: Svennebring, Jonas; Charlie Paul; linux-yocto@yoctoproject.org Cc: Paul, Charlie Subject: Re: [PATCH 47/57] Basic perf support for axxia plaform block provided by LSI. On 14-03-24 07:24 AM, Svennebring, Jonas wrote: Hi, The basic support includes: * Generic AXXIA SMON (Statistic Monitor) functionality. * Support for Memory Controllers: - DDRC, DDR Controllers. - ELM, Encryption Memory Controllers . *Preparation for support of: - PCX, integrated Ethernet switch. - VP, virtual pipeline packet processing engines. Documentation, VP/PCX support as well as patch alignment with coming ARM L3$ and interconnect is in the workings. Looks good. Thanks for the summary. Charlie: can we capture this in the log ? Bruce Best Regards, //Jonas -Original Message- From: Bruce Ashfield [mailto:bruce.ashfi...@windriver.com] Sent: den 20 mars 2014 09:44 To: Charlie Paul; linux-yocto@yoctoproject.org Cc: charlie.p...@windriver.com; Svennebring, Jonas Subject: Re: [PATCH 47/57] Basic perf support for axxia plaform block provided by LSI. Can we get a short feature listing of what is included in the basic support ? A summary here is fine, and perhaps a README or other perf documentation update as well. Bruce On 14-03-18 12:56 AM, Charlie Paul wrote: From: Jonas Svennebring jonas.svennebr...@lsi.com Signed-off-by: Jonas Svennebring jonas.svennebr...@lsi.com --- arch/arm/mach-axxia/perf_event_memc.c | 130 ++ arch/arm/mach-axxia/perf_event_memc.h | 62 +++ arch/arm/mach-axxia/perf_event_pcx.c | 46 + arch/arm/mach-axxia/perf_event_platform.c | 270 + arch/arm/mach-axxia/perf_event_platform.h | 10 ++ arch/arm/mach-axxia/perf_event_vp.c | 51 ++ arch/arm/mach-axxia/smon.c| 200 + arch/arm/mach-axxia/smon.h| 71 8 files changed, 840 insertions(+) create mode 100644 arch/arm/mach-axxia/perf_event_memc.c create mode 100644 arch/arm/mach-axxia/perf_event_memc.h create mode 100644 arch/arm/mach-axxia/perf_event_pcx.c create mode 100644 arch/arm/mach-axxia/perf_event_platform.c create mode 100644 arch/arm/mach-axxia/perf_event_platform.h create mode 100644 arch/arm/mach-axxia/perf_event_vp.c create mode 100644 arch/arm/mach-axxia/smon.c create mode 100644 arch/arm/mach-axxia/smon.h diff --git a/arch/arm/mach-axxia/perf_event_memc.c b/arch/arm/mach-axxia/perf_event_memc.c new file mode 100644 index 000..a20fc8a --- /dev/null +++ b/arch/arm/mach-axxia/perf_event_memc.c @@ -0,0 +1,130 @@ +/* + * arch/arm/mach-axxia/perf_event_memc.c + * included from arch/arm/mach-axxia/perf_event_platform.c + * + * Support for the LSI Axxia boards based on ARM cores. + * + * Copyright (C) 2014 LSI + * + * This program is free software; you can redistribute it and/or +modify + * it under the terms of the GNU General Public License as published +by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA */ + +#include perf_event_memc.h + +static void memc_startup_init(void) +{ +smon_init_ncp(ddrc0_smon, DDRC0, DDRC_PERF, DDRC_SMON); +smon_init_ncp(ddrc1_smon, DDRC1, DDRC_PERF, DDRC_SMON); +smon_init_mem(elm0_smon, ELM0, ELM_SMON); +smon_init_mem(elm1_smon, ELM1, ELM_SMON); } + +static uint32_t memc_pmu_event_init(uint32_t event, struct +perf_event +*pevent) { +return 0; +} + +static void memc_pmu_event_destroy(uint32_t event, struct perf_event +*pevent) { +smon_stop_if_unassigned(ddrc0_smon); +smon_stop_if_unassigned(ddrc1_smon); +smon_stop_if_unassigned(elm0_smon); +smon_stop_if_unassigned(elm1_smon); +} + +static uint32_t memc_pmu_event_add(uint32_t ev, struct perf_event +*pevent) { +uint32_t ret; + +if (ev = DDRC0_OFFSET ev = DDRC0_SMON_MAX) { + +ret = smon_allocate(ddrc0_smon, ev - DDRC0_OFFSET); +if (ret != 0
Re: [linux-yocto] [PATCH 47/57] Basic perf support for axxia plaform block provided by LSI.
Yes Working on getting comments updated for other patches as well before I resubmit -Original Message- From: Bruce Ashfield [mailto:bruce.ashfi...@windriver.com] Sent: Monday, March 24, 2014 6:09 AM To: Svennebring, Jonas; Charlie Paul; linux-yocto@yoctoproject.org Cc: Paul, Charlie Subject: Re: [PATCH 47/57] Basic perf support for axxia plaform block provided by LSI. On 14-03-24 07:24 AM, Svennebring, Jonas wrote: Hi, The basic support includes: * Generic AXXIA SMON (Statistic Monitor) functionality. * Support for Memory Controllers: - DDRC, DDR Controllers. - ELM, Encryption Memory Controllers . *Preparation for support of: - PCX, integrated Ethernet switch. - VP, virtual pipeline packet processing engines. Documentation, VP/PCX support as well as patch alignment with coming ARM L3$ and interconnect is in the workings. Looks good. Thanks for the summary. Charlie: can we capture this in the log ? Bruce Best Regards, //Jonas -Original Message- From: Bruce Ashfield [mailto:bruce.ashfi...@windriver.com] Sent: den 20 mars 2014 09:44 To: Charlie Paul; linux-yocto@yoctoproject.org Cc: charlie.p...@windriver.com; Svennebring, Jonas Subject: Re: [PATCH 47/57] Basic perf support for axxia plaform block provided by LSI. Can we get a short feature listing of what is included in the basic support ? A summary here is fine, and perhaps a README or other perf documentation update as well. Bruce On 14-03-18 12:56 AM, Charlie Paul wrote: From: Jonas Svennebring jonas.svennebr...@lsi.com Signed-off-by: Jonas Svennebring jonas.svennebr...@lsi.com --- arch/arm/mach-axxia/perf_event_memc.c | 130 ++ arch/arm/mach-axxia/perf_event_memc.h | 62 +++ arch/arm/mach-axxia/perf_event_pcx.c | 46 + arch/arm/mach-axxia/perf_event_platform.c | 270 + arch/arm/mach-axxia/perf_event_platform.h | 10 ++ arch/arm/mach-axxia/perf_event_vp.c | 51 ++ arch/arm/mach-axxia/smon.c| 200 + arch/arm/mach-axxia/smon.h| 71 8 files changed, 840 insertions(+) create mode 100644 arch/arm/mach-axxia/perf_event_memc.c create mode 100644 arch/arm/mach-axxia/perf_event_memc.h create mode 100644 arch/arm/mach-axxia/perf_event_pcx.c create mode 100644 arch/arm/mach-axxia/perf_event_platform.c create mode 100644 arch/arm/mach-axxia/perf_event_platform.h create mode 100644 arch/arm/mach-axxia/perf_event_vp.c create mode 100644 arch/arm/mach-axxia/smon.c create mode 100644 arch/arm/mach-axxia/smon.h diff --git a/arch/arm/mach-axxia/perf_event_memc.c b/arch/arm/mach-axxia/perf_event_memc.c new file mode 100644 index 000..a20fc8a --- /dev/null +++ b/arch/arm/mach-axxia/perf_event_memc.c @@ -0,0 +1,130 @@ +/* + * arch/arm/mach-axxia/perf_event_memc.c + * included from arch/arm/mach-axxia/perf_event_platform.c + * + * Support for the LSI Axxia boards based on ARM cores. + * + * Copyright (C) 2014 LSI + * + * This program is free software; you can redistribute it and/or +modify + * it under the terms of the GNU General Public License as published +by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA */ + +#include perf_event_memc.h + +static void memc_startup_init(void) +{ +smon_init_ncp(ddrc0_smon, DDRC0, DDRC_PERF, DDRC_SMON); +smon_init_ncp(ddrc1_smon, DDRC1, DDRC_PERF, DDRC_SMON); +smon_init_mem(elm0_smon, ELM0, ELM_SMON); +smon_init_mem(elm1_smon, ELM1, ELM_SMON); } + +static uint32_t memc_pmu_event_init(uint32_t event, struct +perf_event +*pevent) { +return 0; +} + +static void memc_pmu_event_destroy(uint32_t event, struct perf_event +*pevent) { +smon_stop_if_unassigned(ddrc0_smon); +smon_stop_if_unassigned(ddrc1_smon); +smon_stop_if_unassigned(elm0_smon); +smon_stop_if_unassigned(elm1_smon); +} + +static uint32_t memc_pmu_event_add(uint32_t ev, struct perf_event +*pevent) { +uint32_t ret; + +if (ev = DDRC0_OFFSET ev = DDRC0_SMON_MAX) { + +ret = smon_allocate(ddrc0_smon, ev - DDRC0_OFFSET); +if (ret != 0) +return ret; + +ret = smon_start(ddrc0_smon, ev - DDRC0_OFFSET); +if (ret != 0) +return ret; +} else if (ev = DDRC1_OFFSET ev = DDRC1_SMON_MAX
[linux-yocto] [PULL REQUEST] Kernel: 3.10 Branch: standard/axxia/base
The following changes since commit 6bdb157889b49e7e8646e03f49d8613dd15e8954: Merge branch 'standard/base' into standard/axxia/base (2014-02-27 15:39:47 -0500) are available in the git repository at: https://github.com/butlerpaul/lsikernel-3.10.git sab-next for you to fetch changes up to 46fb706294646262b2d0c882ecb899fb47ed9e89: axxia: Remove Wrapper Functions (2014-03-03 18:02:55 -0800) Anders Berg (4): arm: mmu: Fix truncated 40-bit physaddr (LPAE) axxia: Fixed earlyprintk arm/mach-axxia: Same build for HW and simlation. i2c-axxia: Support I2C_M_RECV_LEN Charlie Paul (2): arch/arm/mach-axxia: fixed the split print statement arm: mmu: cleanup as per checkpatch David Mercado (1): LSI AXM55XX: Add PMU support John Jacques (5): arch/arm/mach-axxia: Added Clocks to the Device Tree for AXM55xx Emulation arch/arm/mach-axxia: Support for DDR Retention Resets arch/powerpc: backport of mpic arch/arm/axxia: Updated Device Trees for LSI Axxia Simulation axxia: Remove Wrapper Functions SangeethaRao (5): driver/usb/host: ehci controller halt function arch/powerpc: Added PCIe driver support for ACP35xx arch/powerpc: Replace printk with pr_ functions arm/mach-axxia: Updated PCIe driver to set PCIe BASE_ADDR1 register arch/arm/mach-axxia: added support for ncr_read/ncr_write() to access PCIe/SRIO SerDes Config in 0x115 node arch/arm/Kconfig.debug |4 + arch/arm/Makefile |3 - arch/arm/boot/dts/axm55xx.dts | 11 + arch/arm/boot/dts/axm55xxemu.dts | 17 + arch/arm/boot/dts/axm55xxsim.dts | 104 + arch/arm/boot/dts/axm55xxsim16.dts | 459 ++ arch/arm/include/asm/spinlock.h|5 +- arch/arm/kernel/perf_event_v7.c| 21 +- arch/arm/mach-axxia/Kconfig|3 - arch/arm/mach-axxia/Makefile |2 +- arch/arm/mach-axxia/axxia-gic.c| 25 +- arch/arm/mach-axxia/axxia.c| 74 +-- arch/arm/mach-axxia/axxia.h|4 +- arch/arm/mach-axxia/clock.c| 181 +++ arch/arm/mach-axxia/ddr_retention.c| 290 +++- arch/arm/mach-axxia/include/mach/debug-macro.S | 24 +- arch/arm/mach-axxia/include/mach/hardware.h| 25 +- arch/arm/mach-axxia/include/mach/ncr.h | 44 ++ arch/arm/mach-axxia/ncr.c | 597 arch/arm/mach-axxia/pci.c | 13 +- arch/arm/mach-axxia/platsmp.c | 178 ++- arch/arm/mach-axxia/wrappers.c | 174 --- arch/arm/mm/mmu.c | 108 ++--- arch/powerpc/boot/dts/acp35xx.dts |4 +- arch/powerpc/sysdev/Makefile |2 - arch/powerpc/sysdev/lsi_acp_wrappers.c | 132 -- arch/powerpc/sysdev/lsi_pci.c | 125 ++--- arch/powerpc/sysdev/mpic.c | 148 +++--- drivers/i2c/busses/i2c-axxia.c | 220 ++--- drivers/misc/Kconfig |2 +- drivers/misc/lsi-smmon.c | 364 +++ drivers/net/ethernet/lsi/lsi_acp_net.c |9 +- drivers/usb/host/ehci-ci13612.c| 57 ++- 33 files changed, 2107 insertions(+), 1322 deletions(-) create mode 100644 arch/arm/boot/dts/axm55xxsim16.dts create mode 100644 arch/arm/mach-axxia/include/mach/ncr.h create mode 100644 arch/arm/mach-axxia/ncr.c delete mode 100644 arch/arm/mach-axxia/wrappers.c delete mode 100644 arch/powerpc/sysdev/lsi_acp_wrappers.c -- ___ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto