23 Feb, 2017

1 commit

  • As A9 and M4 share many resources on i.MX6SX, especially for
    clk and power related resource, so we need to handle the hardware
    conflict between these two cores, there are two cases that we
    need to consider currently:

    clk management: for every clk node, only when both A9 and
    M4 do NOT need it, then we can disable it from hardware;

    Here we use MU and hardware SEMA4 to achieve our goal, MU is
    for communiation between A9 and M4, SEMA4 is to protect the
    shared memory.

    For clk management, we use shared memory to maintain the clk
    status for both A9 and M4 side, and this shared memory is
    protected by hardware SEMA4, A9 and M4 will maintain their
    own clk tree info in their SW environment, and get other
    CORE's clk tree info from shared memory to decide whether
    to perform a hardware setting change when they plan to.

    Signed-off-by: Anson Huang

    Anson Huang
     

15 Oct, 2016

1 commit

  • Pull more powerpc updates from Michael Ellerman:
    "Some more powerpc updates for 4.9:

    Freescale updates from Scott Wood:
    - qbman support (a prerequisite for datapath drivers such as ethernet)
    - a PCI DMA fix+improvement
    - reset handler changes
    - more 8xx optimizations
    - some cleanups and fixes.'

    Fixes:
    - selftests/powerpc: Add missing binaries to .gitignores (Michael Ellerman)
    - selftests/powerpc: Fix build break caused by EXPORT_SYMBOL changes (Michael Ellerman)
    - powerpc/pseries: Fix stack corruption in htpe code (Laurent Dufour)
    - powerpc/64s: Fix power4_fixup_nap placement (Nicholas Piggin)
    - powerpc/64: Fix incorrect return value from __copy_tofrom_user (Paul Mackerras)
    - powerpc/mm/hash64: Fix might_have_hea() check (Michael Ellerman)

    Other:
    - MAINTAINERS: Remove myself from PA Semi entries (Olof Johansson)
    - MAINTAINERS: Drop separate pseries entry (Michael Ellerman)
    - MAINTAINERS: Update powerpc website & add selftests (Michael Ellerman):

    * tag 'powerpc-4.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (35 commits)
    powerpc/mm/hash64: Fix might_have_hea() check
    powerpc/64: Fix incorrect return value from __copy_tofrom_user
    powerpc/64s: Fix power4_fixup_nap placement
    powerpc/pseries: Fix stack corruption in htpe code
    selftests/powerpc: Fix build break caused by EXPORT_SYMBOL changes
    MAINTAINERS: Update powerpc website & add selftests
    MAINTAINERS: Drop separate pseries entry
    MAINTAINERS: Remove myself from PA Semi entries
    selftests/powerpc: Add missing binaries to .gitignores
    arch/powerpc: Add CONFIG_FSL_DPAA to corenetXX_smp_defconfig
    soc/qman: Add self-test for QMan driver
    soc/bman: Add self-test for BMan driver
    soc/fsl: Introduce DPAA 1.x QMan device driver
    soc/fsl: Introduce DPAA 1.x BMan device driver
    powerpc/8xx: make user addr DTLB miss the short path
    powerpc/8xx: Move additional DTLBMiss handlers out of exception area
    powerpc/8xx: use r3 to scratch CR in ITLBmiss
    soc/fsl/qe: fix gpio save_regs functions
    powerpc/8xx: add dedicated machine check handler
    powerpc/8xx: add system_reset_exception
    ...

    Linus Torvalds
     

05 Oct, 2016

1 commit

  • Pull clk framework updates from Stephen Boyd:
    "The core clk framework changes are small again. They're mostly minor
    fixes that weren't causing enough problems (or any problems when we're
    just clarifying things) to warrant sending outside the merge window.
    The majority of changes are in drivers for various SoCs. Full details
    are in the logs, but here's the summary.

    Core:

    - Better support for DeviceTree overlays with the addition of the
    CLK_OF_DECLARE_DRIVER macro. Now we won't probe a clk driver for a
    device node that matched during of_clk_init(), unless the driver
    uses CLK_OF_DECLARE_DRIVER instead of CLK_OF_DECLARE. This allows
    overlays to work cleanly for drivers that must probe before the
    device model is ready, and also after it's ready when an overlay is
    loaded.

    - Clarification in the code around how clk_hw pointers are returned
    from of clk providers

    - Proper migration of prepare/enable counts to parents when the clk
    tree is constructed

    New Drivers:

    - Socionext's UniPhier SoCs
    - Loongson1C
    - ZTE ZX296718
    - Qualcomm MDM9615
    - Amlogic GXBB AO clocks and resets
    - Broadcom BCM53573 ILP
    - Maxim MAX77620

    Updates:

    - Four Allwinner SoCs are migrated to the new style clk driver (A31,
    A31s, A23 and A33)
    - Exynos 5xxx audio and DRAM clks
    - Loongson1B AC97, DMA and NAND clks
    - Rockchip DDR clks and rk3399 driver tweaks
    - Renesas R-Car M3-W (r8a7796) SoC SDHI interface and Watchdog timer
    clks
    - Renasas R-Car H3 and M3-W CMT clks and RAVB+Thermal clks for M3-W
    - Amlogic GXBB MMC gate clks
    - at91 sama5d4 sckc
    - Removal of STiH415 and STiH416 clk support as the SoC is being
    removed
    - Rework of STiH4xx clk support for new style bindings
    - Continuation of driver migration to clk_hw based registration APIs
    - xgene PMD support
    - bcm2835 critical clk markings
    - ARM versatile ICST"

    * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (199 commits)
    CLK: Add Loongson1C clock support
    clk: Loongson1: Make use of GENMASK
    clk: Loongson1: Update clocks of Loongson1B
    clk: Loongson1: Refactor Loongson1 clock
    clk: change the type of clk_hw_onecell_data.num to unsigned int
    clk: zx296718: register driver earlier with core_initcall
    clk: mvebu: dynamically allocate resources in Armada CP110 system controller
    clk: mvebu: fix setting unwanted flags in CP110 gate clock
    clk: nxp: clk-lpc32xx: Unmap region obtained by of_iomap
    clk: mediatek: clk-mt8173: Unmap region obtained by of_iomap
    clk: sunxi-ng: Fix reset offset for the A23 and A33
    clk: at91: sckc: optimize boot time
    clk: at91: Add sama5d4 sckc support
    clk: at91: move slow clock controller clocks to sckc.c
    clk: imx6: initialize GPU clocks
    clk: imx6: fix i.MX6DL clock tree to reflect reality
    clk: imx53: Add clocks configuration
    clk: uniphier: add clock data for UniPhier SoCs
    clk: uniphier: add core support code for UniPhier clock driver
    clk: bcm: Add driver for BCM53573 ILP clock
    ...

    Linus Torvalds
     

25 Sep, 2016

2 commits

  • This driver enables the Freescale DPAA 1.x Queue Manager block.
    QMan is a hardware accelerator that manages frame queues. It allows
    CPUs and other accelerators connected to the SoC datapath to enqueue
    and dequeue ethernet frames, thus providing the infrastructure for
    data exchange among CPUs and datapath accelerators.

    Signed-off-by: Roy Pledge
    Signed-off-by: Claudiu Manoil
    Signed-off-by: Scott Wood

    Claudiu Manoil
     
  • This driver enables the Freescale DPAA 1.x Buffer Manager block.
    BMan is a hardware accelerator that manages buffer pools. It allows
    CPUs and other accelerators connected to the SoC datapath to acquire
    and release buffers during data processing.

    Signed-off-by: Roy Pledge
    Signed-off-by: Claudiu Manoil
    Signed-off-by: Scott Wood

    Claudiu Manoil
     

01 Sep, 2016

1 commit

  • Add a header for the SIP interface defined to access the dcf controller
    handling ddr rate changes on rk3399 (and most likely later socs).

    This interface is shared between the clock driver as well as the
    devfreq driver.

    The SIP interface counterpart was merged from pull-request #684 [0]
    into the upstream arm-trusted-firmware codebase.

    [0] https://github.com/ARM-software/arm-trusted-firmware/pull/684

    Signed-off-by: Lin Huang
    Signed-off-by: Heiko Stuebner

    Lin Huang
     

31 Aug, 2016

1 commit

  • The usb controller does not manage correctly the suspend mode for
    the ehci. In echi mode, there is no way to suspend without any
    device connected to it. This is why this specific control is added
    to fix this issue. Since the suspend mode works in ohci mode, this
    specific control works by suspend the usb controller in ohci mode.

    This specific control is by setting the SUSPEND_A/B/C fields of
    SFR_OHCIICR(OHCI Interrupt Configuration Register) in the SFR
    while the OHCI USB suspend.

    This set operation must be done before the USB clock disabled,
    clear operation after the USB clock enabled.

    Signed-off-by: Wenyou Yang
    Reviewed-by: Alexandre Belloni
    Acked-by: Nicolas Ferre
    Acked-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Wenyou Yang
     

02 Aug, 2016

2 commits

  • Pull ARM SoC driver updates from Olof Johansson:
    "Driver updates for ARM SoCs.

    A slew of changes this release cycle. The reset driver tree, that we
    merge through arm-soc for historical reasons, is also sizable this
    time around.

    Among the changes:

    - clps711x: Treewide changes to compatible strings, merged here for simplicity.
    - Qualcomm: SCM firmware driver cleanups, move to platform driver
    - ux500: Major cleanups, removal of old mach-specific infrastructure.
    - Atmel external bus memory driver
    - Move of brcmstb platform to the rest of bcm
    - PMC driver updates for tegra, various fixes and improvements
    - Samsung platform driver updates to support 64-bit Exynos platforms
    - Reset controller cleanups moving to devm_reset_controller_register() APIs
    - Reset controller driver for Amlogic Meson
    - Reset controller driver for Hisilicon hi6220
    - ARM SCPI power domain support"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (100 commits)
    ARM: ux500: consolidate base platform files
    ARM: ux500: move soc_id driver to drivers/soc
    ARM: ux500: call ux500_setup_id later
    ARM: ux500: consolidate soc_device code in id.c
    ARM: ux500: remove cpu_is_u* helpers
    ARM: ux500: use CLK_OF_DECLARE()
    ARM: ux500: move l2x0 init to .init_irq
    mfd: db8500 stop passing around platform data
    ASoC: ab8500-codec: remove platform data based probe
    ARM: ux500: move ab8500_regulator_plat_data into driver
    ARM: ux500: remove unused regulator data
    soc: raspberrypi-power: add CONFIG_OF dependency
    firmware: scpi: add CONFIG_OF dependency
    video: clps711x-fb: Changing the compatibility string to match with the smallest supported chip
    input: clps711x-keypad: Changing the compatibility string to match with the smallest supported chip
    pwm: clps711x: Changing the compatibility string to match with the smallest supported chip
    serial: clps711x: Changing the compatibility string to match with the smallest supported chip
    irqchip: clps711x: Changing the compatibility string to match with the smallest supported chip
    clocksource: clps711x: Changing the compatibility string to match with the smallest supported chip
    clk: clps711x: Changing the compatibility string to match with the smallest supported chip
    ...

    Linus Torvalds
     
  • Pull ARM SoC platform updates from Olof Johansson:
    "Improved and new platform support for various SoCs:

    New SoC support:
    - Broadcom BCM23550
    - Freescale i.MX7Solo
    - Qualcomm MDM9615
    - Renesas r8a7792

    Improvements:
    - convert clps711x to multiplatform
    - debug uart improvements for Atmel platforms
    - Tango platform improvements: HOTPLUG_CPU, Suspend-to-ram
    - OMAP tweaks and improvements to hwmod
    - OMAP support for kexec on SMP"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (109 commits)
    ARM: davinci: fix build break because of undeclared dm365_evm_snd_data
    ARM: s3c64xx: smartq: Avoid sparse warnings
    ARM: sti: Implement dummy L2 cache's write_sec
    ARM: STi: Update machine _namestr to be more generic.
    arm: meson: explicitly select clk drivers
    ARM: tango: add Suspend-to-RAM support
    ARM: hisi: consolidate the hisilicon machine entries
    ARM: tango: fix CONFIG_HOTPLUG_CPU=n build
    MAINTAINERS: Update BCM281XX/BCM11XXX/BCM216XX entry
    MAINTAINERS: Update BCM63XX entry
    MAINTAINERS: Add NS2 entry
    MAINTAINERS: Fix nsp false-positives
    MAINTAINERS: Change L to M for Broadcom ARM/ARM64 SoC entries
    ARM: debug: Enable DEBUG_BCM_5301X for Northstar Plus SoCs
    ARM: clps711x: Switch to MULTIPLATFORM
    ARM: clps711x: Remove boards support
    ARM: clps711x: Add basic DT support
    ARM: clps711x: Reduce static map size
    ARM: SAMSUNG: Constify iomem address passed to s5p_init_cpu
    ARM: oxnas: Change OX810SE default driver config
    ...

    Linus Torvalds
     

30 Jun, 2016

1 commit


21 Jun, 2016

1 commit

  • If both CONFIG_CPU_IDLE or CONFIG_SOC_IMX6Q are not set
    then the imx6q_cpuidle_fec_irqs_used() and other functions
    should be marked static inline to avoid the following
    warnings whilst building drivers/net/ethernet/freescale:

    include/soc/imx/cpuidle.h:21:6: warning: symbol 'imx6q_cpuidle_fec_irqs_used' was not declared. Should it be static?
    include/soc/imx/cpuidle.h:22:6: warning: symbol 'imx6q_cpuidle_fec_irqs_unused' was not declared. Should it be static?

    Signed-off-by: Ben Dooks
    Signed-off-by: Shawn Guo

    Ben Dooks
     

12 Jun, 2016

1 commit

  • The i.MX6 Q/DL has an erratum (ERR006687) that prevents the FEC from
    waking the CPUs when they are in wait(unclocked) state. As the hardware
    workaround isn't applicable to all boards, disable the deeper idle state
    when the workaround isn't present and the FEC is in use.

    This allows to safely run a kernel with CPUidle enabled on all i.MX6
    boards.

    Signed-off-by: Lucas Stach
    Acked-by: David S. Miller (for network changes)
    Signed-off-by: Shawn Guo

    Lucas Stach
     

09 Jun, 2016

1 commit


08 Jun, 2016

5 commits


20 May, 2016

1 commit

  • Pull ARC updates from Vineet Gupta:
    "We have a relatively big changeset for ARC for 4.7.

    The highlight is support for EZChip (now Mellanox) NPS-400 network
    processor, a 400-Gb throughput C-programmable packet processor based
    on ARC700 cores from Synopsys. See

    http://www.mellanox.com/related-docs/prod_npu/PB_NPS-400.pdf

    Also present are irqchip and clocksource drivers for NPS as agreed
    with respective maintainers to go via ARC tree due to an soc header
    dependency. I have the needed ACKs from Jason, Marc, Daniel. You
    might run into a trivial merge conflict in drivers/irqchip/*

    This EZChip platform support required some deep changes in ARC
    architecture code and also opportunity to cleanup past sins (legacy
    irq domains, missing irq domain lookup, hard coded timer irqs...)

    Summary:

    - Support for EZChip (now Mellanox) NPS-400 Network processor based
    on ARC700

    - NPS interrupt controller and clocksource drivers

    - ARC timers probed off DT

    - ARC iqrchips switching to linear domain (upgrade from legacy
    domains)"

    * tag 'arc-4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: (37 commits)
    arc: axs103_smp: Fix CPU frequency to 100MHz for dual-core
    arc: axs10x: Add DT bindings for I2S PLL Clock
    ARC: pae: STRICT_MM_TYPECHECKS was broken
    ARC: Add eznps platform to Kconfig and Makefile
    ARC: [plat-eznps] Use dedicated COMMAND_LINE_SIZE
    ARC: [plat-eznps] Use dedicated cpu_relax()
    ARC: [plat-eznps] Use dedicated identity auxiliary register.
    ARC: [plat-eznps] Use dedicated SMP barriers
    ARC: [plat-eznps] Use dedicated atomic/bitops/cmpxchg
    ARC: [plat-eznps] Use dedicated user stack top
    ARC: [plat-eznps] Add eznps platform
    ARC: [plat-eznps] Add eznps board defconfig and dts
    ARC: Mark secondary cpu online only after all HW setup is done
    ARC: rwlock: disable interrupts in !LLSC variant
    ARC: Make vmalloc size configurable
    ARC: clean out UAPI byteorder.h clean off Kconfig symbol
    irqchip: add nps Internal and external irqchips
    clocksource: Add NPS400 timers driver
    soc: Support for EZchip SoC
    Documentation: Add EZchip vendor to binding list
    ...

    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
     

09 May, 2016

3 commits

  • …/tegra/linux into next/drivers

    Merge "soc/tegra: Add generic PM domain support" from Thierry Reding:

    Implements generic PM domain support on top of the existing Tegra power-
    gate API. Drivers are thus allowed to move away from the Tegra-specific
    API and towards using generic power domains directly.

    * tag 'tegra-for-4.7-genpd' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
    soc/tegra: pmc: Add generic PM domain support
    dt-bindings: Add power domain info for NVIDIA PMC

    Arnd Bergmann
     
  • …egra/linux into next/drivers

    Merge "phy: tegra: Changes for v4.7-rc1" from Thierry Reding:

    This set of patches adds support for the Tegra XUSB pad controller. The
    controller provides a set of pads (lanes) that are used for I/O by other
    IP blocks within Tegra SoCs (PCIe, SATA and XUSB).

    * tag 'tegra-for-4.7-phy' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
    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

    Arnd Bergmann
     
  • This header file is for NPS400 SoC.
    It includes macros for accessing memory mapped registers.
    These are functional registers that core can use to configure SoC.

    Signed-off-by: Noam Camus
    Acked-by: Daniel Lezcano
    Acked-by: Vineet Gupta

    Noam Camus
     

29 Apr, 2016

2 commits

  • Adds generic PM domain support to the PMC driver where the PM domains
    are populated from device-tree and the PM domain consumer devices are
    bound to their relevant PM domains via device-tree as well.

    Update the tegra_powergate_sequence_power_up() API so that internally
    it calls the same tegra_powergate_xxx functions that are used by the
    Tegra generic PM domain code for consistency.

    To ensure that the Tegra power domains (a.k.a. powergates) cannot be
    controlled via both the legacy tegra_powergate_xxx functions as well
    as the generic PM domain framework, add a bit map for available
    powergates that can be controlled via the legacy powergate functions.

    Move the majority of the tegra_powergate_remove_clamping() function
    to a sub-function, so that this can be used by both the legacy and
    generic power domain code.

    This is based upon work by Thierry Reding
    and Vince Hsu .

    Signed-off-by: Jon Hunter
    Signed-off-by: Thierry Reding

    Jon Hunter
     
  • Add support for the XUSB pad controller found on Tegra210 SoCs. The
    hardware is roughly the same, but some of the registers have been moved
    around and the number and type of supported pads has changed.

    Signed-off-by: Thierry Reding

    Thierry Reding
     

05 Apr, 2016

1 commit


29 Mar, 2016

1 commit


23 Mar, 2016

1 commit

  • Pull IOMMU updates from Joerg Roedel:

    - updates for the Exynos IOMMU driver to make use of default domains
    and to add support for the SYSMMU v5

    - new Mediatek IOMMU driver

    - support for the ARMv7 short descriptor format in the io-pgtable code

    - default domain support for the ARM SMMU

    - couple of other small fixes all over the place

    * tag 'iommu-updates-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (41 commits)
    iommu/ipmmu-vmsa: Add r8a7795 DT binding
    iommu/mediatek: Check for NULL instead of IS_ERR()
    iommu/io-pgtable-armv7s: Fix kmem_cache_alloc() flags
    iommu/mediatek: Fix handling of of_count_phandle_with_args result
    iommu/dma: Fix NEED_SG_DMA_LENGTH dependency
    iommu/mediatek: Mark PM functions as __maybe_unused
    iommu/mediatek: Select ARM_DMA_USE_IOMMU
    iommu/exynos: Use proper readl/writel register interface
    iommu/exynos: Pointers are nto physical addresses
    dts: mt8173: Add iommu/smi nodes for mt8173
    iommu/mediatek: Add mt8173 IOMMU driver
    memory: mediatek: Add SMI driver
    dt-bindings: mediatek: Add smi dts binding
    dt-bindings: iommu: Add binding for mediatek IOMMU
    iommu/ipmmu-vmsa: Use ARCH_RENESAS
    iommu/exynos: Support multiple attach_device calls
    iommu/exynos: Add Maintainers entry for Exynos SYSMMU driver
    iommu/exynos: Add support for v5 SYSMMU
    iommu/exynos: Update device tree documentation
    iommu/exynos: Add support for SYSMMU controller with bogus version reg
    ...

    Linus Torvalds
     

10 Mar, 2016

1 commit


25 Feb, 2016

1 commit

  • This patch add SMI(Smart Multimedia Interface) driver. This driver
    is responsible to enable/disable iommu and control the power domain
    and clocks of each local arbiter.

    Signed-off-by: Yong Wu
    Tested-by: Philipp Zabel
    Reviewed-by: Daniel Kurtz
    Tested-by: Daniel Kurtz
    Signed-off-by: Matthias Brugger
    Signed-off-by: Joerg Roedel

    Yong Wu
     

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
     

23 Dec, 2015

1 commit


22 Dec, 2015

1 commit


11 Nov, 2015

1 commit

  • Pull ARM SoC driver updates from Olof Johansson:
    "As we've enabled multiplatform kernels on ARM, and greatly done away
    with the contents under arch/arm/mach-*, there's still need for
    SoC-related drivers to go somewhere.

    Many of them go in through other driver trees, but we still have
    drivers/soc to hold some of the "doesn't fit anywhere" lowlevel code
    that might be shared between ARM and ARM64 (or just in general makes
    sense to not have under the architecture directory).

    This branch contains mostly such code:

    - Drivers for qualcomm SoCs for SMEM, SMD and SMD-RPM, used to
    communicate with power management blocks on these SoCs for use by
    clock, regulator and bus frequency drivers.

    - Allwinner Reduced Serial Bus driver, again used to communicate with
    PMICs.

    - Drivers for ARM's SCPI (System Control Processor). Not to be
    confused with PSCI (Power State Coordination Interface). SCPI is
    used to communicate with the assistant embedded cores doing power
    management, and we have yet to see how many of them will implement
    this for their hardware vs abstracting in other ways (or not at all
    like in the past).

    - To make confusion between SCPI and PSCI more likely, this release
    also includes an update of PSCI to interface version 1.0.

    - Rockchip support for power domains.

    - A driver to talk to the firmware on Raspberry Pi"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (57 commits)
    soc: qcom: smd-rpm: Correct size of outgoing message
    bus: sunxi-rsb: Add driver for Allwinner Reduced Serial Bus
    bus: sunxi-rsb: Add Allwinner Reduced Serial Bus (RSB) controller bindings
    ARM: bcm2835: add mutual inclusion protection
    drivers: psci: make PSCI 1.0 functions initialization version dependent
    dt-bindings: Correct paths in Rockchip power domains binding document
    soc: rockchip: power-domain: don't try to print the clock name in error case
    soc: qcom/smem: add HWSPINLOCK dependency
    clk: berlin: add cpuclk
    ARM: berlin: dts: add CLKID_CPU for BG2Q
    ARM: bcm2835: Add the Raspberry Pi firmware driver
    soc: qcom: smem: Move RPM message ram out of smem DT node
    soc: qcom: smd-rpm: Correct the active vs sleep state flagging
    soc: qcom: smd: delete unneeded of_node_put
    firmware: qcom-scm: build for correct architecture level
    soc: qcom: smd: Correct SMEM items for upper channels
    qcom-scm: add missing prototype for qcom_scm_is_available()
    qcom-scm: fix endianess issue in __qcom_scm_is_call_available
    soc: qcom: smd: Reject send of too big packets
    soc: qcom: smd: Handle big endian CPUs
    ...

    Linus Torvalds
     

25 Oct, 2015

1 commit


15 Oct, 2015

1 commit


15 Sep, 2015

1 commit


09 Sep, 2015

1 commit

  • Pull iommu updates for from Joerg Roedel:
    "This time the IOMMU updates are mostly cleanups or fixes. No big new
    features or drivers this time. In particular the changes include:

    - Bigger cleanup of the DomainIOMMU data structures and the code
    that manages them in the Intel VT-d driver. This makes the code
    easier to understand and maintain, and also easier to keep the data
    structures in sync. It is also a preparation step to make use of
    default domains from the IOMMU core in the Intel VT-d driver.

    - Fixes for a couple of DMA-API misuses in ARM IOMMU drivers, namely
    in the ARM and Tegra SMMU drivers.

    - Fix for a potential buffer overflow in the OMAP iommu driver's
    debug code

    - A couple of smaller fixes and cleanups in various drivers

    - One small new feature: Report domain-id usage in the Intel VT-d
    driver to easier detect bugs where these are leaked"

    * tag 'iommu-updates-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (83 commits)
    iommu/vt-d: Really use upper context table when necessary
    x86/vt-d: Fix documentation of DRHD
    iommu/fsl: Really fix init section(s) content
    iommu/io-pgtable-arm: Unmap and free table when overwriting with block
    iommu/io-pgtable-arm: Move init-fn declarations to io-pgtable.h
    iommu/msm: Use BUG_ON instead of if () BUG()
    iommu/vt-d: Access iomem correctly
    iommu/vt-d: Make two functions static
    iommu/vt-d: Use BUG_ON instead of if () BUG()
    iommu/vt-d: Return false instead of 0 in irq_remapping_cap()
    iommu/amd: Use BUG_ON instead of if () BUG()
    iommu/amd: Make a symbol static
    iommu/amd: Simplify allocation in irq_remapping_alloc()
    iommu/tegra-smmu: Parameterize number of TLB lines
    iommu/tegra-smmu: Factor out tegra_smmu_set_pde()
    iommu/tegra-smmu: Extract tegra_smmu_pte_get_use()
    iommu/tegra-smmu: Use __GFP_ZERO to allocate zeroed pages
    iommu/tegra-smmu: Remove PageReserved manipulation
    iommu/tegra-smmu: Convert to use DMA API
    iommu/tegra-smmu: smmu_flush_ptc() wants device addresses
    ...

    Linus Torvalds
     

21 Aug, 2015

1 commit

  • …t/tegra/linux into next/drivers

    ARM: tegra: Memory controller updates for v4.3-rc1

    Adds support for Tegra210, which allows the SMMU to be used on this new
    SoC generation.

    * tag 'tegra-for-4.3-memory' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
    memory: tegra: Add Tegra210 support
    memory: tegra: Add support for a variable-size client ID bitfield
    memory: tegra: Expose supported rates via debugfs

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

    Olof Johansson
     

13 Aug, 2015

1 commit

  • The number of TLB lines was increased from 16 on Tegra30 to 32 on
    Tegra114 and later. Parameterize the value so that the initial default
    can be set accordingly.

    On Tegra30, initializing the value to 32 would effectively disable the
    TLB and hence cause massive latencies for memory accesses translated
    through the SMMU. This is especially noticeable for isochronuous clients
    such as display, whose FIFOs would continuously underrun.

    Fixes: 891846516317 ("memory: Add NVIDIA Tegra memory controller support")
    Signed-off-by: Thierry Reding

    Thierry Reding