20 May, 2016

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "This is the main pull request for MIPS for 4.7. Here's the summary of
    the changes:

    - ATH79: Support for DTB passuing using the UHI boot protocol
    - ATH79: Remove support for builtin DTB.
    - ATH79: Add zboot debug serial support.
    - ATH79: Add initial support for Dragino MS14 (Dragine 2), Onion Omega
    and DPT-Module.
    - ATH79: Update devicetree clock support for AR9132 and AR9331.
    - ATH79: Cleanup the DT code.
    - ATH79: Support newer SOCs in ath79_ddr_ctrl_init.
    - ATH79: Fix regression in PCI window initialization.
    - BCM47xx: Move SPROM driver to drivers/firmware/
    - BCM63xx: Enable partition parser in defconfig.
    - BMIPS: BMIPS5000 has I cache filing from D cache
    - BMIPS: BMIPS: Add cpu-feature-overrides.h
    - BMIPS: Add Whirlwind support
    - BMIPS: Adjust mips-hpt-frequency for BCM7435
    - BMIPS: Remove maxcpus from BCM97435SVMB DTS
    - BMIPS: Add missing 7038 L1 register cells to BCM7435
    - BMIPS: Various tweaks to initialization code.
    - BMIPS: Enable partition parser in defconfig.
    - BMIPS: Cache tweaks.
    - BMIPS: Add UART, I2C and SATA devices to DT.
    - BMIPS: Add BCM6358 and BCM63268support
    - BMIPS: Add device tree example for BCM6358.
    - BMIPS: Improve Improve BCM6328 and BCM6368 device trees
    - Lantiq: Add support for device tree file from boot loader
    - Lantiq: Allow build with no built-in DT.
    - Loongson 3: Reserve 32MB for RS780E integrated GPU.
    - Loongson 3: Fix build error after ld-version.sh modification
    - Loongson 3: Move chipset ACPI code from drivers to arch.
    - Loongson 3: Speedup irq processing.
    - Loongson 3: Add basic Loongson 3A support.
    - Loongson 3: Set cache flush handlers to nop.
    - Loongson 3: Invalidate special TLBs when needed.
    - Loongson 3: Fast TLB refill handler.
    - MT7620: Fallback strategy for invalid syscfg0.
    - Netlogic: Fix CP0_EBASE redefinition warnings
    - Octeon: Initialization fixes
    - Octeon: Add DTS files for the D-Link DSR-1000N and EdgeRouter Lite
    - Octeon: Enable add Octeon-drivers in cavium_octeon_defconfig
    - Octeon: Correctly handle endian-swapped initramfs images.
    - Octeon: Support CN73xx, CN75xx and CN78xx.
    - Octeon: Remove dead code from cvmx-sysinfo.
    - Octeon: Extend number of supported CPUs past 32.
    - Octeon: Remove some code limiting NR_IRQS to 255.
    - Octeon: Simplify octeon_irq_ciu_gpio_set_type.
    - Octeon: Mark some functions __init in smp.c
    - Octeon: Octeon: Add Octeon III CN7xxx interface detection
    - PIC32: Add serial driver and bindings for it.
    - PIC32: Add PIC32 deadman timer driver and bindings.
    - PIC32: Add PIC32 clock timer driver and bindings.
    - Pistachio: Determine SoC revision during boot
    - Sibyte: Fix Kconfig dependencies of SIBYTE_BUS_WATCHER.
    - Sibyte: Strip redundant comments from bcm1480_regs.h.
    - Panic immediately if panic_on_oops is set.
    - module: fix incorrect IS_ERR_VALUE macro usage.
    - module: Make consistent use of pr_*
    - Remove no longer needed work_on_cpu() call.
    - Remove CONFIG_IPV6_PRIVACY from defconfigs.
    - Fix registers of non-crashing CPUs in dumps.
    - Handle MIPSisms in new vmcore_elf32_check_arch.
    - Select CONFIG_HANDLE_DOMAIN_IRQ and make it work.
    - Allow RIXI to be used on non-R2 or R6 cores.
    - Reserve nosave data for hibernation
    - Fix siginfo.h to use strict POSIX types.
    - Don't unwind user mode with EVA.
    - Fix watchpoint restoration
    - Ptrace watchpoints for R6.
    - Sync icache when it fills from dcache
    - I6400 I-cache fills from dcache.
    - Various MSA fixes.
    - Cleanup MIPS_CPU_* definitions.
    - Signal: Move generic copy_siginfo to signal.h
    - Signal: Fix uapi include in exported asm/siginfo.h
    - Timer fixes for sake of KVM.
    - XPA TLB refill fixes.
    - Treat perf counter feature
    - Update John Crispin's email address
    - Add PIC32 watchdog and bindings.
    - Handle R10000 LL/SC bug in set_pte()
    - cpufreq: Various fixes for Longson1.
    - R6: Fix R2 emulation.
    - mathemu: Cosmetic fix to ADDIUPC emulation, plenty of other small fixes
    - ELF: ABI and FP fixes.
    - Allow for relocatable kernel and use that to support KASLR.
    - Fix CPC_BASE_ADDR mask
    - Plenty fo smp-cps, CM, R6 and M6250 fixes.
    - Make reset_control_ops const.
    - Fix kernel command line handling of leading whitespace.
    - Cleanups to cache handling.
    - Add brcm, bcm6345-l1-intc device tree bindings.
    - Use generic clkdev.h header
    - Remove CLK_IS_ROOT usage.
    - Misc small cleanups.
    - CM: Fix compilation error when !MIPS_CM
    - oprofile: Fix a preemption issue
    - Detect DSP ASE v3 support:1"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (275 commits)
    MIPS: pic32mzda: fix getting timer clock rate.
    MIPS: ath79: fix regression in PCI window initialization
    MIPS: ath79: make ath79_ddr_ctrl_init() compatible for newer SoCs
    MIPS: Fix VZ probe gas errors with binutils of MSA context in non-MSA kernels
    MIPS: cevt-r4k: Dynamically calculate min_delta_ns
    MIPS: malta-time: Take seconds into account
    MIPS: malta-time: Start GIC count before syncing to RTC
    MIPS: Force CPUs to lose FP context during mode switches
    ...

    Linus Torvalds
     

19 May, 2016

1 commit

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "Driver updates for ARM SoCs, these contain various things that touch
    the drivers/ directory but got merged through arm-soc for practical
    reasons.

    For the most part, this is now related to power management
    controllers, which have not yet been abstracted into a separate
    subsystem, and typically require some code in drivers/soc or arch/arm
    to control the power domains.

    Another large chunk here is a rework of the NVIDIA Tegra USB3.0
    support, which was surprisingly tricky and took a long time to get
    done.

    Finally, reset controller handling as always gets merged through here
    as well"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (97 commits)
    arm-ccn: Enable building as module
    soc/tegra: pmc: Add generic PM domain support
    usb: xhci: tegra: Add Tegra210 support
    usb: xhci: Add NVIDIA Tegra XUSB controller driver
    dt-bindings: usb: xhci-tegra: Add Tegra210 XUSB controller support
    dt-bindings: usb: Add NVIDIA Tegra XUSB controller binding
    PCI: tegra: Support per-lane PHYs
    dt-bindings: pci: tegra: Update for per-lane PHYs
    phy: tegra: Add Tegra210 support
    phy: Add Tegra XUSB pad controller support
    dt-bindings: phy: tegra-xusb-padctl: Add Tegra210 support
    dt-bindings: phy: Add NVIDIA Tegra XUSB pad controller binding
    phy: core: Allow children node to be overridden
    clk: tegra: Add interface to enable hardware control of SATA/XUSB PLLs
    drivers: firmware: psci: make two helper functions inline
    soc: renesas: rcar-sysc: Add support for R-Car H3 power areas
    soc: renesas: rcar-sysc: Add support for R-Car E2 power areas
    soc: renesas: rcar-sysc: Add support for R-Car M2-N power areas
    soc: renesas: rcar-sysc: Add support for R-Car M2-W power areas
    soc: renesas: rcar-sysc: Add support for R-Car H2 power areas
    ...

    Linus Torvalds
     

13 May, 2016

2 commits

  • Since commit 3b9d6da67e11 ("cpu/hotplug: Fix rollback during error-out
    in __cpu_disable()") it is ensured that callbacks of CPU_ONLINE and
    CPU_DOWN_PREPARE are processed on the hotplugged CPU. Due to this
    work_on_cpu() calls are no longer required.

    Replace work_on_cpu() with a direct call of mips_cdmm_bus_up() or
    mips_cdmm_bus_down(). Description of those functions are adapted.

    Signed-off-by: Anna-Maria Gleixner
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: rt@linutronix.de
    Patchwork: https://patchwork.linux-mips.org/patch/13197/
    Signed-off-by: Ralf Baechle

    Anna-Maria Gleixner
     
  • MIPS kernels allow platforms to invoke a custom Bus Error handler, add the
    necessary code to do this for Broadcom SoCs where the GISB bus error handler can be used.

    We may get a bus error from an address decoded outside of the GISB bus space,
    so we need to check the validity of such a capture before printing anything.

    Signed-off-by: Florian Fainelli
    Cc: cernekee@gmail.com
    Cc: arnd@arndb.de
    Cc: jaedon.shin@gmail.com
    Cc: pgynther@google.com
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/12284/
    Signed-off-by: Ralf Baechle

    Florian Fainelli
     

09 May, 2016

1 commit

  • arm-ccn driver uses irq_set_affinity, which is not exported and
    hence cannot be built as a module, eventhough we have all the
    bits ready. This patch makes use of the exported helper
    irq_set_affinity_hint() instead. Also, the __free_irq expects
    the affinity_hint to be NULL when we free the irq. So set the
    affinity_hint to NULL at clean up.

    Now that we can build it as a module, update the Kconfig to
    reflect the change.

    Cc: Will Deacon
    Cc: Mark Rutland
    Cc: Paul Gortmaker
    Acked-by: Pawel Moll
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Arnd Bergmann

    Suzuki K Poulose
     

26 Apr, 2016

1 commit

  • Merge "Broadcom ARM-based SoCs drivers changes" from Florian Fainelli:

    - Justin adds a soc_dev driver to properly report to user-space the Broadcom
    STB SoC family, product and revision

    - Florian reworks how the brcmstb_gisb driver dependency is done to enable it
    on Broadcom STB MIPS-based SoCs and remove a select in
    arch/arm/mach-bcm/Kconfig

    * tag 'arm-soc/for-4.7/drivers' of http://github.com/Broadcom/stblinux:
    bus: brcmstb_gisb: Rework dependencies
    soc: brcmstb: add SoC driver to brcmstb

    Arnd Bergmann
     

19 Apr, 2016

1 commit

  • Do not have the machine Kconfig entry point need to select
    BRCMSTB_GISB_ARB, instead, just let it be default ARCH_BRCMSTB which is
    a better way to deal with this. While at it, also make it default
    BMIPS_GENERIC so the legacy MIPS-based STB platforms can benefit from
    the same thing.

    Signed-off-by: Florian Fainelli

    Florian Fainelli
     

13 Apr, 2016

2 commits


30 Mar, 2016

1 commit

  • A recent change to the mbus driver added a warning printk that
    prints a phys_addr_t using the %x format string, which fails in
    case we build with 64-bit phys_addr_t:

    drivers/bus/mvebu-mbus.c: In function 'mvebu_mbus_get_dram_win_info':
    drivers/bus/mvebu-mbus.c:975:9: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'phys_addr_t {aka long long unsigned int}' [-Werror=format=]

    This uses the special %pa format string instead, so we always
    print the correct type.

    Signed-off-by: Arnd Bergmann
    Fixes: f2900acea801 ("bus: mvebu-mbus: provide api for obtaining IO and DRAM window information")
    Signed-off-by: Gregory CLEMENT

    Arnd Bergmann
     

28 Mar, 2016

1 commit

  • Make use of ARCH_RENESAS in place of ARCH_SHMOBILE.

    This is part of an ongoing process to migrate from ARCH_SHMOBILE to
    ARCH_RENESAS the motivation for which being that RENESAS seems to be a more
    appropriate name than SHMOBILE for the majority of Renesas ARM based SoCs.

    Acked-by: Geert Uytterhoeven
    Signed-off-by: Simon Horman

    Simon Horman
     

22 Mar, 2016

1 commit

  • Pull arm[64] perf updates from Will Deacon:
    "I have another mixed bag of ARM-related perf patches here.

    It's about 25% CPU and 75% interconnect, but with drivers/bus/
    languishing without an obvious maintainer or tree, Olof and I agreed
    to keep all of these PMU patches together. I suspect a whole load of
    code from drivers/bus/arm-* can be moved under drivers/perf/, so
    that's on the radar for the future.

    Summary:

    - Initial support for ARMv8.1 CPU PMUs

    - Support for the CPU PMU in Cavium ThunderX

    - CPU PMU support for systems running 32-bit Linux in secure mode

    - Support for the system PMU in ARM CCI-550 (Cache Coherent Interconnect)"

    * tag 'arm64-perf' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (26 commits)
    drivers/perf: arm_pmu: avoid NULL dereference when not using devicetree
    arm64: perf: Extend ARMV8_EVTYPE_MASK to include PMCR.LC
    arm-cci: remove unused variable
    arm-cci: don't return value from void function
    arm-cci: make private functions static
    arm-cci: CoreLink CCI-550 PMU driver
    arm-cci500: Rearrange PMU driver for code sharing with CCI-550 PMU
    arm-cci: CCI-500: Work around PMU counter writes
    arm-cci: Provide hook for writing to PMU counters
    arm-cci: Add helper to enable PMU without synchornising counters
    arm-cci: Add routines to save/restore all counters
    arm-cci: Get the status of a counter
    arm-cci: write_counter: Remove redundant check
    arm-cci: Delay PMU counter writes to pmu::pmu_enable
    arm-cci: Refactor CCI PMU enable/disable methods
    arm-cci: Group writes to counter
    arm-cci: fix handling cpumask_any_but return value
    arm-cci: simplify sysfs attr handling
    drivers/perf: arm_pmu: implement CPU_PM notifier
    arm64: dts: Add Cavium ThunderX specific PMU
    ...

    Linus Torvalds
     

21 Mar, 2016

1 commit

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "Driver updates for ARM SoCs, these contain various things that touch
    the drivers/ directory but got merged through arm-soc for practical
    reasons:

    - Rockchip rk3368 gains power domain support
    - Small updates for the ARM spmi driver
    - The Atmel PMC driver saw a larger rework, touching both
    arch/arm/mach-at91 and drivers/clk/at91
    - All reset controller driver changes alway get merged through
    arm-soc, though this time the largest change is the addition of a
    MIPS pistachio reset driver
    - One bugfix for the NXP (formerly Freescale) i.MX weim bus driver"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)
    bus: imx-weim: Take the 'status' property value into account
    clk: at91: remove useless includes
    clk: at91: pmc: remove useless capacities handling
    clk: at91: pmc: drop at91_pmc_base
    usb: gadget: atmel: access the PMC using regmap
    ARM: at91: remove useless includes and function prototypes
    ARM: at91: pm: move idle functions to pm.c
    ARM: at91: pm: find and remap the pmc
    ARM: at91: pm: simply call at91_pm_init
    clk: at91: pmc: move pmc structures to C file
    clk: at91: pmc: merge at91_pmc_init in atmel_pmc_probe
    clk: at91: remove IRQ handling and use polling
    clk: at91: make use of syscon/regmap internally
    clk: at91: make use of syscon to share PMC registers in several drivers
    hwmon: (scpi) add energy meter support
    firmware: arm_scpi: add support for 64-bit sensor values
    firmware: arm_scpi: decrease Tx timeout to 20ms
    firmware: arm_scpi: fix send_message and sensor_get_value for big-endian
    reset: sti: Make reset_control_ops const
    reset: zynq: Make reset_control_ops const
    ...

    Linus Torvalds
     

15 Mar, 2016

1 commit

  • This commit enables finding appropriate mbus window and obtaining its
    target id and attribute for given physical address in two separate
    routines, both for IO and DRAM windows. This functionality
    is needed for Armada XP/38x Network Controller's Buffer Manager and
    PnC configuration.

    [gregory.clement@free-electrons.com: Fix size test for
    mvebu_mbus_get_dram_win_info]

    Signed-off-by: Marcin Wojtas
    [DRAM window information reference in LKv3.10]
    Signed-off-by: Evan Wang
    Signed-off-by: Gregory CLEMENT
    Signed-off-by: David S. Miller

    Marcin Wojtas
     

13 Mar, 2016

1 commit

  • Currently we have an incorrect behaviour when multiple devices
    are present under the weim node. For example:

    &weim {
    ...
    status = "okay";

    sram@0,0 {
    ...
    status = "okay";
    };

    mram@0,0 {
    ...
    status = "disabled";
    };
    };

    In this case only the 'sram' device should be probed and not 'mram'.

    However what happens currently is that the status variable is ignored,
    causing the 'sram' device to be disabled and 'mram' to be enabled.

    Change the weim_parse_dt() function to use
    for_each_available_child_of_node()so that the devices marked with
    'status = disabled' are not probed.

    Cc:
    Suggested-by: Wolfgang Netbal
    Signed-off-by: Fabio Estevam
    Reviewed-by: Sascha Hauer
    Acked-by: Shawn Guo
    Signed-off-by: Olof Johansson

    Fabio Estevam
     

01 Mar, 2016

17 commits

  • …/git/mripard/linux into next/drivers

    Merge "Allwinner drivers changes for 4.6" from Maxime Ripard:

    Some minor fixes for the RSB and SRAM controller drivers

    * tag 'sunxi-drivers-for-4.6' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
    drivers: soc: sunxi: Fix mask generation for SRAM mapping
    drivers: sunxi-rsb: fix error output type

    Arnd Bergmann
     
  • hw_counter is unused in the PMU IRQ handler, so remove it.

    Signed-off-by: Will Deacon

    Will Deacon
     
  • pmu_write_register has a void return type, so remove the useless return
    statement.

    Signed-off-by: Will Deacon

    Will Deacon
     
  • cci_pmu_sync_counters and pmu_event_set_period are internal functions
    to the CCI PMU driver, so make them static to avoid polluting the kernel
    namespace.

    Signed-off-by: Will Deacon

    Will Deacon
     
  • Add ARM CoreLink CCI-550 cache coherent interconnect PMU
    driver support. The CCI-550 PMU shares all the attributes of CCI-500
    PMU, except for an additional master interface (MI-6 - 0xe).
    CCI-550 requires the same work around as for CCI-500 to
    write to the PMU counter.

    Acked-by: Olof Johansson
    Acked-by: Punit Agrawal
    Acked-by: Mark Rutland
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Will Deacon

    Suzuki K Poulose
     
  • CCI-550 PMU shares most of the CCI-500 PMU attributes including the
    event format, PMU event codes. The only difference is an additional
    master interface (MI6 - 0xe). Hence we share the driver code for both,
    except for a model specific event validate method.
    This patch renames the common CCI500 symbols to CCI5xx, including the
    Kconfig symbol.

    No functional changes to the PMU driver.

    Acked-by: Olof Johansson
    Acked-by: Punit Agrawal
    Acked-by: Mark Rutland
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Will Deacon

    Suzuki K Poulose
     
  • The CCI PMU driver sets the event counter to the half of the maximum
    value(2^31) it can count before we start the counters via
    pmu_event_set_period(). This is done to give us the best chance to
    handle the overflow interrupt, taking care of extreme interrupt latencies.

    However, CCI-500 comes with advanced power saving schemes, which
    disables the clock to the event counters unless the counters are enabled to
    count (PMCR.CEN). This prevents the driver from writing the period to the
    counters before starting them. Also, there is no way we can reset the
    individual event counter to 0 (PMCR.RST resets all the counters, losing
    their current readings). However the value of the counter is preserved and
    could be read back, when the counters are not enabled.

    So we cannot reliably use the counters and compute the number of events
    generated during the sampling period since we don't have the value of the
    counter at start.

    This patch works around this issue by changing writes to the counter
    with the following steps.

    1) Disable all the counters (remembering any counters which were enabled)
    2) Enable the PMU, now that all the counters are disabled.

    For each counter to be programmed, repeat steps 3-7
    3) Save the current event and program the target counter to count an
    invalid event, which by spec is guaranteed to not-generate any events.
    4) Enable the target counter.
    5) Write to the target counter.
    6) Disable the target counter
    7) Restore the event back on the target counter.

    8) Disable the PMU
    9) Restore the status of the all the counters

    Cc: Punit Agrawal
    Acked-by: Olof Johansson
    Acked-by: Mark Rutland
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Will Deacon

    Suzuki K Poulose
     
  • Add a hook for writing to CCI PMU counters. This callback
    can be used for CCI models which requires some extra work
    to program the PMU counter values. To accommodate group writes
    and single counter writes, the call back accepts a bitmask
    of the counter indices which need to be programmed with the
    given value.

    Cc: Punit Agrawal
    Acked-by: Olof Johansson
    Acked-by: Mark Rutland
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Will Deacon

    Suzuki K Poulose
     
  • On CCI-500 writing to a counter requires turning the PMU on. So,
    synchronising the counter state should not be performed for such special cases,
    while turning the PMU on. This patch adds a helper, __cci_pmu_enable_nosync(),
    without flushing the counter states.

    Cc: Punit Agrawal
    Acked-by: Olof Johansson
    Acked-by: Mark Rutland
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Will Deacon

    Suzuki K Poulose
     
  • Adds helper routines to disable the counter controls for
    all the counters on the CCI PMU and restore it back, by
    preserving the original state in caller provided mask.

    Cc: Punit Agrawal
    Acked-by: Olof Johansson
    Acked-by: Mark Rutland
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Will Deacon

    Suzuki K Poulose
     
  • Add helper routines to check if the counter is enabled or not.

    Cc: Punit Agrawal
    Acked-by: Olof Johansson
    Acked-by: Mark Rutland
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Will Deacon

    Suzuki K Poulose
     
  • pmu_write_counter() is now only called from pmu_write_counters(),
    which does so for each set index in the given mask, bounded by
    cci_pmu->num_cntrs. So, there is no need for an extra check to
    make sure the given counter is valid inside pmu_write_counter.
    This patch gets rid of that.

    Cc: Punit Agrawal
    Acked-by: Olof Johansson
    Acked-by: Mark Rutland
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Will Deacon

    Suzuki K Poulose
     
  • CCI PMU driver always reprograms the counters to a safe value (half of the
    counter max, = 2^31) before starting the profiling to account for extreme
    interrupt latencies. Also, the cost of writing to a PMU counter could be
    very costly on some PMUs(e.g, CCI-500). In order to ammortise the cost of
    programming the counters, this patch delays the counter writes to pmu::pmu_enable().
    We use the PER_HES_ARCH flag to keep track of the counters which need to
    be programmed. Before turning on the PMU, we go through the counters that
    were marked for write, and perform the operation in a batch.

    To unify all the counter writes to pmu_enable(), this patch also makes sure that
    we disable-and-enable the PMU in the irq handler to program any counters that
    overflowed.

    Cc: Punit Agrawal
    Cc: Peter Zijlstra
    Acked-by: Olof Johansson
    Acked-by: Mark Rutland
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Will Deacon

    Suzuki K Poulose
     
  • This patch refactors the CCI PMU driver code a little bit to
    make it easier share the code for enabling/disabling the CCI
    PMU. This will be used by the hooks to work around the special cases
    where writing to a counter is not always that easy(e.g, CCI-500)

    No functional changes.

    Cc: Punit Agrawal
    Acked-by: Olof Johansson
    Acked-by: Mark Rutland
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Will Deacon

    Suzuki K Poulose
     
  • Add a helper to group the writes to PMU counter, this will be
    used to delay setting the event period to pmu::pmu_enable()

    Cc: Punit Agrawal
    Acked-by: Olof Johansson
    Acked-by: Mark Rutland
    Signed-off-by: Suzuki K. Poulose
    Signed-off-by: Will Deacon

    Suzuki K Poulose
     
  • cpumask_any_but returns value >= nr_cpu_ids if there are no more CPUs.

    The problem has been detected using proposed semantic patch
    scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1].

    [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576

    Acked-by: Olof Johansson
    Signed-off-by: Andrzej Hajda
    Acked-by: Will Deacon
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Will Deacon

    Andrzej Hajda
     
  • There's no need to dynamically initialise attribute pointers when we can
    get the compiler to do it for us. We also don't need a dev_ext_attribute
    for the cpumask, as the drvdata for a PMU device is a pointer to struct
    pmu.

    Cc: Punit Agrawal
    Acked-by: Olof Johansson
    Signed-off-by: Mark Rutland
    Tested-by: Suzuki K Poulose
    Reviewed-by: Suzuki K Poulose
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Will Deacon

    Mark Rutland
     

02 Feb, 2016

2 commits

  • …rnel/git/sudeep.holla/linux into fixes

    vexpress fixes for v4.5

    Couple of minor fixes for vexpress platforms:
    1. Add missing of_node_put in vexpress config bus
    2. Add missing DMA-330 abort interrupt on Juno platforms

    * tag 'vexpress-for-v4.5/fixes-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
    arm64: dts: Add missing DMA Abort interrupt to Juno
    bus: vexpress-config: Add missing of_node_put

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • At first, commit 4b7f48d395a7 ("bus: uniphier-system-bus: add UniPhier
    System Bus driver") introduced this driver as a tristate one.

    Then, commit 326ea45aa827 ("bus: uniphier: allow only built-in
    driver") temporarily made it boolean in order to fix a link error
    in case it is compiled as a module.

    The root cause was fixed by commit b80443c2211c ("of/platform: export
    of_default_bus_match_table").

    Now this driver can really be a module.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Olof Johansson

    Masahiro Yamada
     

01 Feb, 2016

1 commit

  • for_each_compatible_node performs an of_node_get on each iteration, so
    to break out of the loop an of_node_put is required.

    Found using Coccinelle. The semantic patch used for this is as follows:

    //
    @@
    expression e;
    local idexpression n;
    @@

    for_each_compatible_node(n, ...) {
    ... when != of_node_put(n)
    when != e = n
    (
    return n;
    + of_node_put(n);
    ? return ...;
    )
    ...
    }
    //

    Acked-by: Liviu Dudau
    Signed-off-by: Amitoj Kaur Chawla
    Signed-off-by: Sudeep Holla

    Amitoj Kaur Chawla
     

25 Jan, 2016

1 commit


21 Jan, 2016

1 commit

  • Pull ARM SoC driver updates from Olof Johansson:
    "Driver updates for ARM SoCs. Some for SoC-family code under
    drivers/soc, but also some other driver updates that don't belong
    anywhere else. We also bring in the drivers/reset code through
    arm-soc.

    Some of the larger updates:

    - Qualcomm support for SMEM, SMSM, SMP2P. All used to communicate
    with other parts of the chip/board on these platforms, all
    proprietary protocols that don't fit into other subsystems and live
    in drivers/soc for now.

    - System bus driver for UniPhier

    - Driver for the TI Wakeup M3 IPC device

    - Power management for Raspberry PI

    + Again a bunch of other smaller updates and patches"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (38 commits)
    bus: uniphier: allow only built-in driver
    ARM: bcm2835: clarify RASPBERRYPI_FIRMWARE dependency
    MAINTAINERS: Drop Kumar Gala from QCOM
    bus: uniphier-system-bus: add UniPhier System Bus driver
    ARM: bcm2835: add rpi power domain driver
    dt-bindings: add rpi power domain driver bindings
    ARM: bcm2835: Define two new packets from the latest firmware.
    drivers/soc: make mediatek/mtk-scpsys.c explicitly non-modular
    soc: mediatek: SCPSYS: Add regulator support
    MAINTAINERS: Change QCOM entries
    soc: qcom: smd-rpm: Add existing platform support
    memory/tegra: Add number of TLB lines for Tegra124
    reset: hi6220: fix modular build
    soc: qcom: Introduce WCNSS_CTRL SMD client
    ARM: qcom: select ARM_CPU_SUSPEND for power management
    MAINTAINERS: Add rules for Qualcomm dts files
    soc: qcom: enable smsm/smp2p modular build
    serial: msm_serial: Make config tristate
    soc: qcom: smp2p: Qualcomm Shared Memory Point to Point
    soc: qcom: smsm: Add driver for Qualcomm SMSM
    ...

    Linus Torvalds
     

01 Jan, 2016

1 commit

  • Building the newly added uniphier system bus driver as a module
    causes a link error, so let's only allow it to be built-in for
    now, to fix allmodconfig:

    ERROR: "of_default_bus_match_table" [drivers/bus/uniphier-system-bus.ko] undefined!

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

23 Dec, 2015

2 commits