10 Dec, 2013

3 commits


31 Oct, 2013

1 commit


04 Jun, 2013

1 commit

  • The "runtime idle" helper routine, rpm_idle(), currently ignores
    return values from .runtime_idle() callbacks executed by it.
    However, it turns out that many subsystems use
    pm_generic_runtime_idle() which checks the return value of the
    driver's callback and executes pm_runtime_suspend() for the device
    unless that value is not 0. If that logic is moved to rpm_idle()
    instead, pm_generic_runtime_idle() can be dropped and its users
    will not need any .runtime_idle() callbacks any more.

    Moreover, the PCI, SCSI, and SATA subsystems' .runtime_idle()
    routines, pci_pm_runtime_idle(), scsi_runtime_idle(), and
    ata_port_runtime_idle(), respectively, as well as a few drivers'
    ones may be simplified if rpm_idle() calls rpm_suspend() after 0 has
    been returned by the .runtime_idle() callback executed by it.

    To reduce overall code bloat, make the changes described above.

    Tested-by: Mika Westerberg
    Tested-by: Kevin Hilman
    Signed-off-by: Rafael J. Wysocki
    Acked-by: Kevin Hilman
    Reviewed-by: Ulf Hansson
    Acked-by: Alan Stern

    Rafael J. Wysocki
     

16 Mar, 2013

1 commit


04 Mar, 2013

1 commit

  • Pull late ARM updates from Russell King:
    "Here is the late set of ARM updates for this merge window; in here is:

    - The ARM parts of the broadcast timer support, core parts merged
    through tglx's tree. This was left over from the previous merge to
    allow the dependency on tglx's tree to be resolved.

    - A fix to the VFP code which shows up on Raspberry Pi's, as well as
    fixing the fallout from a previous commit in this area.

    - A number of smaller fixes scattered throughout the ARM tree"

    * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm:
    ARM: Fix broken commit 0cc41e4a21d43 corrupting kernel messages
    ARM: fix scheduling while atomic warning in alignment handling code
    ARM: VFP: fix emulation of second VFP instruction
    ARM: 7656/1: uImage: Error out on build of multiplatform without LOADADDR
    ARM: 7640/1: memory: tegra_ahb_enable_smmu() depends on TEGRA_IOMMU_SMMU
    ARM: 7654/1: Preserve L_PTE_VALID in pte_modify()
    ARM: 7653/2: do not scale loops_per_jiffy when using a constant delay clock
    ARM: 7651/1: remove unused smp_timer_broadcast #define

    Linus Torvalds
     

21 Feb, 2013

1 commit

  • New SoC, Tegra114 also uses SMMU. Change tegra_ahb_enable_smmu()'s
    dependency from ARCH_TEGRA_3x_SOC to TEGRA_IOMMU_SMMU. No need to edit
    whenever a new Tegra SoC comes.

    The following combination caused build error, which this patch fixes.

    CONFIG_ARCH_TEGRA_2x_SOC=y
    CONFIG_ARCH_TEGRA_114_SOC=y

    drivers/iommu/tegra-smmu.c:485: undefined reference to gra_ahb_enable_smmu'

    Signed-off-by: Hiroshi Doyu
    Tested-by: Stephen Warren
    Signed-off-by: Russell King

    Hiroshi Doyu
     

26 Jan, 2013

1 commit

  • Convert all uses of devm_request_and_ioremap() to the newly introduced
    devm_ioremap_resource() which provides more consistent error handling.

    devm_ioremap_resource() provides its own error messages so all explicit
    error messages can be removed from the failure code paths.

    Signed-off-by: Thierry Reding
    Cc: Russell King
    Signed-off-by: Greg Kroah-Hartman

    Thierry Reding
     

04 Jan, 2013

1 commit

  • CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
    markings need to be removed, as well as the use of CONFIG_HOTPLUG.

    This patch does both, removing the use of CONFIG_HOTPLUG in the
    amba/bus.c file, and __devinit and __devinitconst in the tegra-ahb.c
    driver.

    Cc: Bill Pemberton
    Cc: Russell King
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

18 Dec, 2012

1 commit

  • …rnel/git/swarren/linux-tegra into fixes

    ARM: tegra: fixes for 3.8

    This branch contains a few miscellaneous fixes that have shown up in the
    last few weeks.

    By Sivaram Nair (2) and Hiroshi Doyu (1)
    via Stephen Warren
    * tag 'tegra-for-3.8-fixes-for-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
    amba: tegra-ahb: Fix warning w/o PM_SLEEP
    ARM: tegra: fix comment in dsib clk set_parent
    ARM: tegra: select correct parent clk for pll_p

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

    Olof Johansson
     

13 Dec, 2012

1 commit

  • Pull ARM SoC cleanups on various subarchitectures from Olof Johansson:
    "Cleanup patches for various ARM platforms and some of their associated
    drivers. There's also a branch in here that enables Freescale i.MX to
    be part of the multiplatform support -- the first "big" SoC that is
    moved over (more multiplatform work comes in a separate branch later
    during the merge window)."

    Conflicts fixed as per Olof, including a silent semantic one in
    arch/arm/mach-omap2/board-generic.c (omap_prcm_restart() was renamed to
    omap3xxx_restart(), and a new user of the old name was added).

    * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (189 commits)
    ARM: omap: fix typo on timer cleanup
    ARM: EXYNOS: Remove unused regs-mem.h file
    ARM: EXYNOS: Remove unused non-dt support for dwmci controller
    ARM: Kirkwood: Use hw_pci.ops instead of hw_pci.scan
    ARM: OMAP3: cm-t3517: use GPTIMER for system clock
    ARM: OMAP2+: timer: remove CONFIG_OMAP_32K_TIMER
    ARM: SAMSUNG: use devm_ functions for ADC driver
    ARM: EXYNOS: no duplicate mask/unmask in eint0_15
    ARM: S3C24XX: SPI clock channel setup is fixed for S3C2443
    ARM: EXYNOS: Remove i2c0 resource information and setting of device names
    ARM: Kirkwood: checkpatch cleanups
    ARM: Kirkwood: Fix sparse warnings.
    ARM: Kirkwood: Remove unused includes
    ARM: kirkwood: cleanup lsxl board includes
    ARM: integrator: use BUG_ON where possible
    ARM: integrator: push down SC dependencies
    ARM: integrator: delete static UART1 mapping
    ARM: integrator: delete SC mapping on the CP
    ARM: integrator: remove static CP syscon mapping
    ARM: integrator: remove static AP syscon mapping
    ...

    Linus Torvalds
     

03 Dec, 2012

1 commit


27 Nov, 2012

1 commit


06 Nov, 2012

1 commit


28 Jul, 2012

1 commit

  • Pull ARM updates from Russell King:
    "First ARM push of this merge window, post me coming back from holiday.
    This is what has been in linux-next for the last few weeks. Not much
    to say which isn't described by the commit summaries."

    * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (32 commits)
    ARM: 7463/1: topology: Update cpu_power according to DT information
    ARM: 7462/1: topology: factorize the update of sibling masks
    ARM: 7461/1: topology: Add arch_scale_freq_power function
    ARM: 7456/1: ptrace: provide separate functions for tracing syscall {entry,exit}
    ARM: 7455/1: audit: move syscall auditing until after ptrace SIGTRAP handling
    ARM: 7454/1: entry: don't bother with syscall tracing on ret_from_fork path
    ARM: 7453/1: audit: only allow syscall auditing for pure EABI userspace
    ARM: 7452/1: delay: allow timer-based delay implementation to be selected
    ARM: 7451/1: arch timer: implement read_current_timer and get_cycles
    ARM: 7450/1: dcache: select DCACHE_WORD_ACCESS for little-endian ARMv6+ CPUs
    ARM: 7449/1: use generic strnlen_user and strncpy_from_user functions
    ARM: 7448/1: perf: remove arm_perf_pmu_ids global enumeration
    ARM: 7447/1: rwlocks: remove unused branch labels from trylock routines
    ARM: 7446/1: spinlock: use ticket algorithm for ARMv6+ locking implementation
    ARM: 7445/1: mm: update CONTEXTIDR register to contain PID of current process
    ARM: 7444/1: kernel: add arch-timer C3STOP feature
    ARM: 7460/1: remove asm/locks.h
    ARM: 7439/1: head.S: simplify initial page table mapping
    ARM: 7437/1: zImage: Allow DTB command line concatenation with ATAG_CMDLINE
    ARM: 7436/1: Do not map the vectors page as write-through on UP systems
    ...

    Linus Torvalds
     

29 Jun, 2012

1 commit


12 Jun, 2012

1 commit


27 May, 2012

1 commit

  • Pull arm-soc driver specific updates from Olof Johansson:
    "These changes are specific to some driver that may be used by multiple
    boards or socs. The most significant change in here is the move of
    the samsung iommu code from a platform specific in-kernel interface to
    the generic iommu subsystem."

    Fix up trivial conflicts in arch/arm/mach-exynos/Kconfig

    * tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)
    mmc: dt: Consolidate DT bindings
    iommu/exynos: Add iommu driver for EXYNOS Platforms
    ARM: davinci: optimize the DMA ISR
    ARM: davinci: implement DEBUG_LL port choice
    ARM: tegra: Add SMMU enabler in AHB
    ARM: tegra: Add Tegra AHB driver
    Input: pxa27x_keypad add choice to set direct_key_mask
    Input: pxa27x_keypad direct key may be low active
    Input: pxa27x_keypad bug fix for direct_key_mask
    Input: pxa27x_keypad keep clock on as wakeup source
    ARM: dt: tegra: pinmux changes for USB ULPI
    ARM: tegra: add USB ULPI PHY reset GPIO to device tree
    ARM: tegra: don't hard-code USB ULPI PHY reset_gpio
    ARM: tegra: change pll_p_out4's rate to 24MHz
    ARM: tegra: fix pclk rate
    ARM: tegra: reparent sclk to pll_c_out1
    ARM: tegra: Add pllc clock init table
    ARM: dt: tegra cardhu: basic audio support
    ARM: dt: tegra30.dtsi: Add audio-related nodes
    ARM: tegra: add AUXDATA required for audio
    ...

    Linus Torvalds
     

09 May, 2012

2 commits

  • Add extern func, "tegra_ahb_enable_smmu()" to inform AHB that SMMU is
    ready.

    Signed-off-by: Hiroshi DOYU
    Cc: Felipe Balbi
    Signed-off-by: Stephen Warren

    Hiroshi DOYU
     
  • Tegra AHB Bus conforms to the AMBA Specification (Rev 2.0) Advanced
    High-performance Bus (AHB) architecture.

    The AHB Arbiter controls AHB bus master arbitration. This effectively
    forms a second level of arbitration for access to the memory
    controller through the AHB Slave Memory device. The AHB pre-fetch
    logic can be configured to enhance performance for devices doing
    sequential access. Each AHB master is assigned to either the high or
    low priority bin. Both Tegra20/30 have this AHB bus.

    Some of configuration params could be passed from DT too if needed.

    Signed-off-by: Hiroshi DOYU
    Acked-by: Arnd Bergmann
    Cc: Felipe Balbi
    Signed-off-by: Stephen Warren

    Hiroshi DOYU
     

03 May, 2012

1 commit


20 Apr, 2012

1 commit

  • Add two functions to add APB and AHB devices to the amba (PrimeCell)
    bus dynamically. This is modeled after the static definition
    macros recently introduced into and can
    help us in factoring out a bunch of code across the kernel.
    Since a lot of call sites seem to be using a returned struct
    amba device* pointer, let's use that.

    Signed-off-by: Linus Walleij
    Signed-off-by: Russell King

    Linus Walleij
     

13 Apr, 2012

1 commit

  • The AMBA bus regulator support is being used to model on/off switches
    for power domains which isn't terribly idiomatic for modern kernels with
    the generic power domain code and creates integration problems on platforms
    which don't use regulators for their power domains as it's hard to tell
    the difference between a regulator that is needed but failed to be provided
    and one that isn't supposed to be there (though DT does make that easier).

    Platforms that wish to use the regulator API to manage their power domains
    can indirect via the power domain interface.

    This feature is only used with the vape supply of the db8500 PRCMU
    driver which supplies the UARTs and MMC controllers, none of which have
    support for managing vcore at runtime in mainline (only pl022 SPI
    controller does). Update that supply to have an always_on constraint
    until the power domain support for the system is updated so that it is
    enabled for these users, this is likely to have no impact on practical
    systems as probably at least one of these devices will be active and
    cause AMBA to hold the supply on anyway.

    Signed-off-by: Mark Brown
    Acked-by: Linus Walleij
    Tested-by: Shawn Guo
    Signed-off-by: Russell King

    Mark Brown
     

25 Jan, 2012

3 commits


09 Jan, 2012

1 commit

  • * 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)
    PM / Hibernate: Implement compat_ioctl for /dev/snapshot
    PM / Freezer: fix return value of freezable_schedule_timeout_killable()
    PM / shmobile: Allow the A4R domain to be turned off at run time
    PM / input / touchscreen: Make st1232 use device PM QoS constraints
    PM / QoS: Introduce dev_pm_qos_add_ancestor_request()
    PM / shmobile: Remove the stay_on flag from SH7372's PM domains
    PM / shmobile: Don't include SH7372's INTCS in syscore suspend/resume
    PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode
    PM: Drop generic_subsys_pm_ops
    PM / Sleep: Remove forward-only callbacks from AMBA bus type
    PM / Sleep: Remove forward-only callbacks from platform bus type
    PM: Run the driver callback directly if the subsystem one is not there
    PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers
    PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412.
    PM / Sleep: Merge internal functions in generic_ops.c
    PM / Sleep: Simplify generic system suspend callbacks
    PM / Hibernate: Remove deprecated hibernation snapshot ioctls
    PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled()
    ARM: S3C64XX: Implement basic power domain support
    PM / shmobile: Use common always on power domain governor
    ...

    Fix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused
    XBT_FORCE_SLEEP bit

    Linus Torvalds
     

22 Dec, 2011

1 commit


22 Nov, 2011

1 commit

  • This patch adds the necessary support in file2alias.c to define
    suitable aliases based on the amba_id table in AMBA driver modules.

    This should be sufficient to allow such modules to be auto-loaded
    via udev. The AMBA bus driver's uevent hotplug code is also
    modified to pass an approriate MODALIAS string in the event.

    For simplicity, the AMBA ID is treated an an opaque 32-bit numeber.
    Module alises use patterns as appropriate to describe the value-
    mask pairs described in the driver's amba_id list.

    The proposed alias format is (extended regex):

    ^amba:d(HEX){8}$

    Where HEX is a single upper-case HEX digit or a pattern (? or []
    expression) matching a single upper-case HEX digit, as expected by
    udev.

    "d" is short for "device", following existing alias naming
    conventions for other device types. This adds some flexibility for
    unambiguously extending the alias format in the future by adding
    additional leading and trailing fields, if this turns out to be
    necessary.

    Signed-off-by: Dave Martin
    Acked-by: Pawel Moll

    Dave Martin
     

27 Sep, 2011

1 commit


22 Sep, 2011

1 commit

  • Add runtime PM support to the core Primecell driver, following the PCI
    model of how this is done.

    Rather than having every driver fiddle about with enabling runtime PM,
    that's dealt with in the core and instead, drivers just do a put() in
    their probe and a balancing get() in their remove function to activate
    runtime PM for the device.

    As we're dealing with enabling runtime PM in the core, fix up spi-pl022
    as it must not enable and disable runtime PM itself anymore.

    Tested-by: Linus Walleij
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Russell King

    Russell King
     

26 May, 2011

1 commit

  • This makes a hardcoded periphid from the platform override any
    magic number found in the hardware. This shall henceforth be used
    when the information found in the hardware is either missing,
    i.e. not encoding the CID with the magic cookie 0xb105f00d, or
    incorrect such that the revision number should have been bumped in
    hardware, but the silicon designer has failed to do so.

    Signed-off-by: Linus Walleij
    Signed-off-by: Russell King

    Linus Walleij
     

12 Apr, 2011

1 commit

  • Xen save/restore is going to use hibernate device callbacks for
    quiescing devices and putting them back to normal operations and it
    would need to select CONFIG_HIBERNATION for this purpose. However,
    that also would cause the hibernate interfaces for user space to be
    enabled, which might confuse user space, because the Xen kernels
    don't support hibernation. Moreover, it would be wasteful, as it
    would make the Xen kernels include a substantial amount of code that
    they would never use.

    To address this issue introduce new power management Kconfig option
    CONFIG_HIBERNATE_CALLBACKS, such that it will only select the code
    that is necessary for the hibernate device callbacks to work and make
    CONFIG_HIBERNATION select it. Then, Xen save/restore will be able to
    select CONFIG_HIBERNATE_CALLBACKS without dragging the entire
    hibernate code along with it.

    Signed-off-by: Rafael J. Wysocki
    Tested-by: Shriram Rajagopalan

    Rafael J. Wysocki
     

31 Mar, 2011

1 commit


24 Feb, 2011

3 commits


26 Nov, 2010

1 commit

  • On some contemporary sub-micron SoCs, peripherals on the chip have
    power domain switches, i.e. the voltage to the core may be turned
    off to conserve power. In the Ux500 we have this for out PrimeCell
    derivates.

    This patch makes it possible to specify an (optional) regulator to
    handle the voltage domain switch on AMBA PrimeCells, modeled very
    similar to how block clocks are handled.

    Additional amba_vcore_[enable|disable] calls are supplied to make
    it possible introduce optional powering off of the core voltage.
    Using this will require code to spool/unspool any core HW state.

    Cc: Rabin Vincent
    Cc: Bengt Jonsson
    Cc: Jonas Aaberg
    Signed-off-by: Linus Walleij
    Signed-off-by: Russell King

    Linus Walleij
     

08 Oct, 2010

1 commit

  • This make four macros for the PrimeCell ID register available to
    drivers that use them witout using the PrimeCell/AMBA bus
    abstraction and struct amba_device. It also moves the magic
    PrimeCell CID "B105F00D" to the bus.h header file.

    Signed-off-by: Linus Walleij
    Signed-off-by: Russell King

    Linus Walleij