16 Dec, 2014

1 commit

  • Pull drm updates from Dave Airlie:
    "Highlights:

    - AMD KFD driver merge

    This is the AMD HSA interface for exposing a lowlevel interface for
    GPGPU use. They have an open source userspace built on top of this
    interface, and the code looks as good as it was going to get out of
    tree.

    - Initial atomic modesetting work

    The need for an atomic modesetting interface to allow userspace to
    try and send a complete set of modesetting state to the driver has
    arisen, and been suffering from neglect this past year. No more,
    the start of the common code and changes for msm driver to use it
    are in this tree. Ongoing work to get the userspace ioctl finished
    and the code clean will probably wait until next kernel.

    - DisplayID 1.3 and tiled monitor exposed to userspace.

    Tiled monitor property is now exposed for userspace to make use of.

    - Rockchip drm driver merged.

    - imx gpu driver moved out of staging

    Other stuff:

    - core:
    panel - MIPI DSI + new panels.
    expose suggested x/y properties for virtual GPUs

    - i915:
    Initial Skylake (SKL) support
    gen3/4 reset work
    start of dri1/ums removal
    infoframe tracking
    fixes for lots of things.

    - nouveau:
    tegra k1 voltage support
    GM204 modesetting support
    GT21x memory reclocking work

    - radeon:
    CI dpm fixes
    GPUVM improvements
    Initial DPM fan control

    - rcar-du:
    HDMI support added
    removed some support for old boards
    slave encoder driver for Analog Devices adv7511

    - exynos:
    Exynos4415 SoC support

    - msm:
    a4xx gpu support
    atomic helper conversion

    - tegra:
    iommu support
    universal plane support
    ganged-mode DSI support

    - sti:
    HDMI i2c improvements

    - vmwgfx:
    some late fixes.

    - qxl:
    use suggested x/y properties"

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (969 commits)
    drm: sti: fix module compilation issue
    drm/i915: save/restore GMBUS freq across suspend/resume on gen4
    drm: sti: correctly cleanup CRTC and planes
    drm: sti: add HQVDP plane
    drm: sti: add cursor plane
    drm: sti: enable auxiliary CRTC
    drm: sti: fix delay in VTG programming
    drm: sti: prepare sti_tvout to support auxiliary crtc
    drm: sti: use drm_crtc_vblank_{on/off} instead of drm_vblank_{on/off}
    drm: sti: fix hdmi avi infoframe
    drm: sti: remove event lock while disabling vblank
    drm: sti: simplify gdp code
    drm: sti: clear all mixer control
    drm: sti: remove gpio for HDMI hot plug detection
    drm: sti: allow to change hdmi ddc i2c adapter
    drm/doc: Document drm_add_modes_noedid() usage
    drm/i915: Remove '& 0xffff' from the mask given to WA_REG()
    drm/i915: Invert the mask and val arguments in wa_add() and WA_REG()
    drm: Zero out DRM object memory upon cleanup
    drm/i915/bdw: Fix the write setting up the WIZ hashing mode
    ...

    Linus Torvalds
     

15 Dec, 2014

1 commit

  • Pull driver core update from Greg KH:
    "Here's the set of driver core patches for 3.19-rc1.

    They are dominated by the removal of the .owner field in platform
    drivers. They touch a lot of files, but they are "simple" changes,
    just removing a line in a structure.

    Other than that, a few minor driver core and debugfs changes. There
    are some ath9k patches coming in through this tree that have been
    acked by the wireless maintainers as they relied on the debugfs
    changes.

    Everything has been in linux-next for a while"

    * tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
    Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
    fs: debugfs: add forward declaration for struct device type
    firmware class: Deletion of an unnecessary check before the function call "vunmap"
    firmware loader: fix hung task warning dump
    devcoredump: provide a one-way disable function
    device: Add dev__once variants
    ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
    ath: use seq_file api for ath9k debugfs files
    debugfs: add helper function to create device related seq_file
    drivers/base: cacheinfo: remove noisy error boot message
    Revert "core: platform: add warning if driver has no owner"
    drivers: base: support cpu cache information interface to userspace via sysfs
    drivers: base: add cpu_device_create to support per-cpu devices
    topology: replace custom attribute macros with standard DEVICE_ATTR*
    cpumask: factor out show_cpumap into separate helper function
    driver core: Fix unbalanced device reference in drivers_probe
    driver core: fix race with userland in device_add()
    sysfs/kernfs: make read requests on pre-alloc files use the buffer.
    sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
    fs: sysfs: return EGBIG on write if offset is larger than file size
    ...

    Linus Torvalds
     

10 Dec, 2014

2 commits

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "These are changes for drivers that are intimately tied to some SoC and
    for some reason could not get merged through the respective subsystem
    maintainer tree.

    The largest single change here this time around is the Tegra
    iommu/memory controller driver, which gets updated to the new iommu DT
    binding. More drivers like this are likely to follow for the
    following merge window, but we should be able to do those through the
    iommu maintainer.

    Other notable changes are:
    - reset controller drivers from the reset maintainer (socfpga, sti,
    berlin)
    - fixes for the keystone navigator driver merged last time
    - at91 rtc driver changes related to the at91 cleanups
    - ARM perf driver changes from Will Deacon
    - updates for the brcmstb_gisb driver"

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (53 commits)
    clocksource: arch_timer: Allow the device tree to specify uninitialized timer registers
    clocksource: arch_timer: Fix code to use physical timers when requested
    memory: Add NVIDIA Tegra memory controller support
    bus: brcmstb_gisb: Add register offset tables for older chips
    bus: brcmstb_gisb: Look up register offsets in a table
    bus: brcmstb_gisb: Introduce wrapper functions for MMIO accesses
    bus: brcmstb_gisb: Make the driver buildable on MIPS
    of: Add NVIDIA Tegra memory controller binding
    ARM: tegra: Move AHB Kconfig to drivers/amba
    amba: Add Kconfig file
    clk: tegra: Implement memory-controller clock
    serial: samsung: Fix serial config dependencies for exynos7
    bus: brcmstb_gisb: resolve section mismatch
    ARM: common: edma: edma_pm_resume may be unused
    ARM: common: edma: add suspend resume hook
    powerpc/iommu: Rename iommu_[un]map_sg functions
    rtc: at91sam9: add DT bindings documentation
    rtc: at91sam9: use clk API instead of relying on AT91_SLOW_CLOCK
    ARM: at91: add clk_lookup entry for RTT devices
    rtc: at91sam9: rework the Kconfig description
    ...

    Linus Torvalds
     
  • Pull ARM SoC platform changes from Arnd Bergmann:
    "New and updated SoC support, notable changes include:

    - bcm:
    brcmstb SMP support
    initial iproc/cygnus support
    - exynos:
    Exynos4415 SoC support
    PMU and suspend support for Exynos5420
    PMU support for Exynos3250
    pm related maintenance
    - imx:
    new LS1021A SoC support
    vybrid 610 global timer support
    - integrator:
    convert to using multiplatform configuration
    - mediatek:
    earlyprintk support for mt8127/mt8135
    - meson:
    meson8 soc and l2 cache controller support
    - mvebu:
    Armada 38x CPU hotplug support
    drop support for prerelease Armada 375 Z1 stepping
    extended suspend support, now works on Armada 370/XP
    - omap:
    hwmod related maintenance
    prcm cleanup
    - pxa:
    initial pxa27x DT handling
    - rockchip:
    SMP support for rk3288
    add cpu frequency scaling support
    - shmobile:
    r8a7740 power domain support
    various small restart, timer, pci apmu changes
    - sunxi:
    Allwinner A80 (sun9i) earlyprintk support
    - ux500:
    power domain support

    Overall, a significant chunk of changes, coming mostly from the usual
    suspects: omap, shmobile, samsung and mvebu, all of which already
    contain a lot of platform specific code in arch/arm"

    * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (187 commits)
    ARM: mvebu: use the cpufreq-dt platform_data for independent clocks
    soc: integrator: Add terminating entry for integrator_cm_match
    ARM: mvebu: add SDRAM controller description for Armada XP
    ARM: mvebu: adjust mbus controller description on Armada 370/XP
    ARM: mvebu: add suspend/resume DT information for Armada XP GP
    ARM: mvebu: synchronize secondary CPU clocks on resume
    ARM: mvebu: make sure MMU is disabled in armada_370_xp_cpu_resume
    ARM: mvebu: Armada XP GP specific suspend/resume code
    ARM: mvebu: reserve the first 10 KB of each memory bank for suspend/resume
    ARM: mvebu: implement suspend/resume support for Armada XP
    clk: mvebu: add suspend/resume for gatable clocks
    bus: mvebu-mbus: provide a mechanism to save SDRAM window configuration
    bus: mvebu-mbus: suspend/resume support
    clocksource: time-armada-370-xp: add suspend/resume support
    irqchip: armada-370-xp: Add suspend/resume support
    ARM: add lolevel debug support for asm9260
    ARM: add mach-asm9260
    ARM: EXYNOS: use u8 for val[] in struct exynos_pmu_conf
    power: reset: imx-snvs-poweroff: add power off driver for i.mx6
    ARM: imx: temporarily remove CONFIG_SOC_FSL from LS1021A
    ...

    Linus Torvalds
     

05 Dec, 2014

1 commit


02 Dec, 2014

1 commit

  • Some Tegra drivers might be compiled as kernel modules, and they need the
    fuse information for initialization. One example is the GK20A Nouveau
    driver. It needs the GPU speedo value to calculate frequency-voltage
    table. So export the tegra_sku_info.

    Signed-off-by: Vince Hsu
    Acked-by: Alexandre Courbot
    Acked-by: Thierry Reding
    Signed-off-by: Ben Skeggs

    Vince Hsu
     

13 Nov, 2014

1 commit

  • This creates a new SoC bus driver for the ARM Integrator
    family core modules to register the SoC bus and provide
    sysfs info for the core module. We delete the corresponding
    code from the Integrator machine and select this driver to
    get a clean result.

    Signed-off-by: Linus Walleij

    Linus Walleij
     

04 Nov, 2014

1 commit


29 Oct, 2014

1 commit


28 Oct, 2014

3 commits


20 Oct, 2014

3 commits


09 Oct, 2014

1 commit

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "These are changes for drivers that are intimately tied to some SoC and
    for some reason could not get merged through the respective subsystem
    maintainer tree.

    Most of the new code is for the Keystone Navigator driver, which is
    new base support that is going to be needed for their hardware
    accelerated network driver and other units.

    Most of the commits are for moving old code around from at91 and omap
    for things that are done in device drivers nowadays.

    - at91: move reset, poweroff, memory and clocksource code into
    drivers directories
    - socfpga: add edac driver (through arm-soc, as requested by Boris)
    - omap: move omap-intc code to drivers/irqchip
    - sunxi: added an RTC driver for sun6i
    - omap: mailbox driver related changes
    - keystone: support for the "Navigator" component
    - versatile: new reboot, led and soc drivers"

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (92 commits)
    bus: arm-ccn: Fix spurious warning message
    leds: add device tree bindings for register bit LEDs
    soc: add driver for the ARM RealView
    power: reset: driver for the Versatile syscon reboot
    leds: add a driver for syscon-based LEDs
    drivers/soc: ti: fix build break with modules
    MAINTAINERS: Add Keystone Multicore Navigator drivers entry
    soc: ti: add Keystone Navigator DMA support
    Documentation: dt: soc: add Keystone Navigator DMA bindings
    soc: ti: add Keystone Navigator QMSS driver
    Documentation: dt: soc: add Keystone Navigator QMSS bindings
    rtc: sunxi: Depend on platforms sun4i/sun7i that actually have the rtc
    rtc: sun6i: Add sun6i RTC driver
    irqchip: omap-intc: remove unnecessary comments
    irqchip: omap-intc: correct maximum number or MIR registers
    irqchip: omap-intc: enable TURBO idle mode
    irqchip: omap-intc: enable IP protection
    irqchip: omap-intc: remove unnecesary of_address_to_resource() call
    irqchip: omap-intc: comment style cleanup
    irqchip: omap-intc: minor improvement to omap_irq_pending()
    ...

    Linus Torvalds
     

26 Sep, 2014

1 commit

  • This adds a SoC driver to be used by the ARM RealView
    reference boards. We create the "versatile" directory to hold
    the different ARM reference designs as per the pattern of the
    clk directory layout. The driver utilze the syscon to get to
    the register needed. After this we can use sysfs to get at
    some SoC properties on RealView DT variants like this:

    > cd /sysbus/soc/devices/soc0
    > ls
    board family machine power subsystem
    build fpga manufacturer soc_id uevent
    > cat family
    Versatile
    > cat fpga
    Multi-layer AXI
    > cat board
    HBI-0147
    > cat build
    03

    Signed-off-by: Linus Walleij
    Signed-off-by: Arnd Bergmann

    Conflicts:
    drivers/soc/Kconfig
    drivers/soc/Makefile

    Linus Walleij
     

24 Sep, 2014

3 commits

  • The Keystone Navigator DMA driver sets up the dma channels and flows for
    the QMSS(Queue Manager SubSystem) who triggers the actual data movements
    across clients using destination queues. Every client modules like
    NETCP(Network Coprocessor), SRIO(Serial Rapid IO) and CRYPTO
    Engines has its own instance of packet dma hardware. QMSS has also
    an internal packet DMA module which is used as an infrastructure
    DMA with zero copy.

    Initially this driver was proposed as DMA engine driver but since the
    hardware is not typical DMA engine and hence doesn't comply with typical
    DMA engine driver needs, that approach was naked. Link to that
    discussion -
    https://lkml.org/lkml/2014/3/18/340

    As aligned, now we pair the Navigator DMA with its companion Navigator
    QMSS subsystem driver.

    Cc: Greg Kroah-Hartman
    Cc: Kumar Gala
    Cc: Olof Johansson
    Cc: Arnd Bergmann
    Cc: Grant Likely
    Cc: Rob Herring
    Cc: Mark Rutland
    Signed-off-by: Sandeep Nair
    Signed-off-by: Santosh Shilimkar

    Santosh Shilimkar
     
  • The QMSS (Queue Manager Sub System) found on Keystone SOCs is one of
    the main hardware sub system which forms the backbone of the Keystone
    Multi-core Navigator. QMSS consist of queue managers, packed-data structure
    processors(PDSP), linking RAM, descriptor pools and infrastructure
    Packet DMA.

    The Queue Manager is a hardware module that is responsible for accelerating
    management of the packet queues. Packets are queued/de-queued by writing or
    reading descriptor address to a particular memory mapped location. The PDSPs
    perform QMSS related functions like accumulation, QoS, or event management.
    Linking RAM registers are used to link the descriptors which are stored in
    descriptor RAM. Descriptor RAM is configurable as internal or external memory.

    The QMSS driver manages the PDSP setups, linking RAM regions,
    queue pool management (allocation, push, pop and notify) and descriptor
    pool management. The specifics on the device tree bindings for
    QMSS can be found in:
    Documentation/devicetree/bindings/soc/keystone-navigator-qmss.txt

    Cc: Greg Kroah-Hartman
    Cc: Kumar Gala
    Cc: Olof Johansson
    Cc: Arnd Bergmann
    Cc: Grant Likely
    Cc: Rob Herring
    Cc: Mark Rutland
    Signed-off-by: Sandeep Nair
    Signed-off-by: Santosh Shilimkar

    Sandeep Nair
     
  • since commit 31964ffebbb9 ("tty: serial: msm: Remove direct access to GSBI")'
    serial hangs if earlyprintk are enabled.

    This hang is noticed only when the GSBI driver is probed and all the
    earlyprintks before gsbi probe are seen on the console.
    The reason why it hangs is because GSBI driver disables hclk in its
    probe function without realizing that the serial IP might be in use by
    a bootconsole. As gsbi driver disables the clock in probe the
    bootconsole locks up.

    Turning off hclk's could be dangerous if there are system components
    like earlyprintk using the hclk.

    This patch fixes the issue by delegating the clock management to
    probe and remove functions in gsbi rather than disabling the clock in probe.

    More detailed problem description can be found here:
    http://www.spinics.net/lists/linux-arm-msm/msg10589.html

    Tested-by: Linus Walleij
    Signed-off-by: Srinivas Kandagatla
    Signed-off-by: Olof Johansson

    Srinivas Kandagatla
     

17 Jul, 2014

6 commits

  • This commit converts the PMC support code to a platform driver. Because
    the boot process needs to call into this driver very early, also set up
    a minimal environment via an early initcall.

    Signed-off-by: Thierry Reding

    Thierry Reding
     
  • Rather than rely on explicit initialization order called from SoC setup
    code, use a plain initcall and rely on initcall ordering to take care of
    dependencies.

    This driver exposes some functionality (querying the chip ID) needed at
    very early stages of the boot process. An early initcall is good enough
    provided that some of the dependencies are deferred to later stages. To
    make sure any abuses are easily caught, output a warning message if the
    chip ID is queried while it can't be read yet.

    Signed-off-by: Thierry Reding

    Thierry Reding
     
  • Subsequent patches will move some of the initialization code from SoC
    setup code to regular initcalls. To prevent breakage on other SoCs in
    multi-platform builds, these initcalls need to check that they indeed
    run on Tegra.

    Signed-off-by: Thierry Reding

    Thierry Reding
     
  • The Tegra fuse header's dummy functions for the case where Tegra20 is
    disabled are inconsistent with the correct prototypes, and have some
    syntax errors. Fix these. While at it, fix the indentation level of
    the dummy function bodies.

    Fixes: 783c8f4c8445 ("soc/tegra: Add efuse driver for Tegra")
    Cc: Peter De Schrijver
    Signed-off-by: Stephen Warren
    Signed-off-by: Thierry Reding

    Stephen Warren
     
  • The Tegra20 fuse driver is the only user of tegra_apb_readl_using_dma().
    Therefore we can simply the code by incorporating the APB DMA handling into
    the driver directly. tegra_apb_writel_using_dma() is dropped because there
    are no users.

    Signed-off-by: Peter De Schrijver
    Signed-off-by: Stephen Warren
    Signed-off-by: Thierry Reding

    Peter De Schrijver
     
  • Implement fuse driver for Tegra20, Tegra30, Tegra114 and Tegra124. This
    replaces functionality previously provided in arch/arm/mach-tegra, which
    is removed in this patch.

    While at it, move the only user of the global tegra_revision variable
    over to tegra_sku_info.revision and export tegra_fuse_readl() to allow
    drivers to read calibration fuses.

    Signed-off-by: Peter De Schrijver
    Signed-off-by: Stephen Warren
    Signed-off-by: Thierry Reding

    Peter De Schrijver
     

27 May, 2014

1 commit


24 May, 2014

2 commits

  • The GSBI (General Serial Bus Interface) driver controls the overarching
    configuration of the shared serial bus infrastructure on APQ8064, IPQ8064, and
    earlier QCOM processors. The GSBI supports UART, I2C, SPI, and UIM
    functionality in various combinations.

    Signed-off-by: Andy Gross
    Signed-off-by: Kumar Gala

    Andy Gross
     
  • Based on earlier thread "https://lkml.org/lkml/2013/10/7/662" and
    discussion at Kernel Summit'2013, it was agreed to create
    'driver/soc' for drivers which are quite SOC specific.

    Further discussion on the subject is in response to
    the earlier version of the patch is here:
    http://lwn.net/Articles/588942/

    Cc: Greg Kroah-Hartman
    Cc: Kumar Gala
    Cc: Paul Walmsley
    Cc: Olof Johansson
    Cc: Arnd Bergmann
    Signed-off-by: Sandeep Nair
    Signed-off-by: Santosh Shilimkar
    Signed-off-by: Kumar Gala

    Santosh Shilimkar