07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

01 Nov, 2011

1 commit


20 Oct, 2011

1 commit


10 Jul, 2011

1 commit


28 Jan, 2011

1 commit


23 Dec, 2010

1 commit


22 Dec, 2010

9 commits

  • Now that OMAP4-specific PRCM functions have been added, distinguish the
    existing OMAP2/3-specific PRCM functions by prefixing them with "omap2_".

    This patch should not result in any functional change.

    Signed-off-by: Paul Walmsley
    Cc: Kevin Hilman
    Cc: Jarkko Nikula
    Cc: Peter Ujfalusi
    Cc: Liam Girdwood
    Cc: Mark Brown
    Tested-by: Santosh Shilimkar
    Tested-by: Rajendra Nayak

    Paul Walmsley
     
  • Move the OMAP4 global software reset function to the OMAP4-specific
    prm44xx.c file, where it belongs. Part of the long-term process of
    moving all of the direct PRCM register writes into lower-layer code.

    Also add OCP barriers on OMAP2/3/4 to reduce the chance that the MPU
    will continue executing while the system is supposed to be resetting
    itself.

    Signed-off-by: Paul Walmsley
    Tested-by: Santosh Shilimkar
    Tested-by: Rajendra Nayak

    Paul Walmsley
     
  • In some ways, the OMAP4 PRCM register layout is quite different than
    the OMAP2/3 PRCM register layout. For example, on OMAP2/3, from a
    register layout point of view, all CM instances were located in the CM
    subsystem, and all PRM instances were located in the PRM subsystem.
    OMAP4 changes this. Now, for example, some CM instances, such as
    WKUP_CM and EMU_CM, are located in the system PRM subsystem. And a
    "local PRCM" exists for the MPU - this PRCM combines registers that
    would normally appear in both CM and PRM instances, but uses its own
    register layout which matches neither the OMAP2/3 PRCM layout nor the
    OMAP4 PRCM layout.

    To try to deal with this, introduce some new functions, omap4_cminst*
    and omap4_prminst*. The former is to be used when writing to a CM
    instance register (no matter what subsystem or hardware module it
    exists in), and the latter, similarly, with PRM instance registers.
    To determine which "PRCM partition" to write to, the functions take a
    PRCM instance ID argument. Subsequent patches add these partition IDs
    to the OMAP4 powerdomain and clockdomain definitions.

    As far as I can see, there's really no good way to handle these types
    of register access inconsistencies. This patch seemed like the least
    bad approach.

    Moving forward, the long-term goal is to remove all direct PRCM
    register access from the PM code. PRCM register access should go
    through layers such as the powerdomain and clockdomain code that can
    hide the details of how to interact with the specific hardware
    variant.

    While here, rename cm4xxx.c to cm44xx.c to match the naming convention
    of the other OMAP4 PRCM files.

    Thanks to Santosh Shilimkar , Rajendra Nayak
    , and Benoît Cousson for some comments.

    Signed-off-by: Paul Walmsley
    Cc: Benoît Cousson
    Cc: Rajendra Nayak
    Cc: Santosh Shilimkar

    Paul Walmsley
     
  • The OMAP3 PRM module is in the WKUP powerdomain, which is always
    powered when the chip is powered, so it shouldn't be necessary to save
    and restore those PRM registers. Remove the PRM register save/restore
    code, which should save several microseconds during off-mode
    entry/exit, since PRM register accesses are relatively slow.

    While doing so, move the CM register save/restore code into
    CM-specific code. The CM module has been distinct from the PRM module
    since 2430.

    This patch includes some minor changes to pm34xx.c.

    Signed-off-by: Paul Walmsley
    Cc: Kevin Hilman
    Cc: Rajendra Nayak
    Cc: Tero Kristo
    Cc: Kalle Jokiniemi
    Reviewed-by: Kevin Hilman
    Tested-by: Kevin Hilman
    Tested-by: Santosh Shilimkar
    Tested-by: Rajendra Nayak

    Paul Walmsley
     
  • In preparation for adding OMAP4-specific PRCM accessor/mutator
    functions, split the existing OMAP2/3 PRCM code into OMAP2/3-specific
    files. Most of what was in mach-omap2/{cm,prm}.{c,h} has now been
    moved into mach-omap2/{cm,prm}2xxx_3xxx.{c,h}, since it was
    OMAP2xxx/3xxx-specific.

    This process also requires the #includes in each of these files to be
    changed to reference the new file name. As part of doing so, add some
    comments into plat-omap/sram.c and plat-omap/mcbsp.c, which use
    "sideways includes", to indicate that these users of the PRM/CM includes
    should not be doing so.

    Thanks to Felipe Contreras for comments on this
    patch.

    Signed-off-by: Paul Walmsley
    Cc: Jarkko Nikula
    Cc: Peter Ujfalusi
    Cc: Liam Girdwood
    Cc: Omar Ramirez Luna
    Acked-by: Omar Ramirez Luna
    Cc: Felipe Contreras
    Acked-by: Felipe Contreras
    Cc: Greg Kroah-Hartman
    Acked-by: Mark Brown
    Reviewed-by: Kevin Hilman
    Tested-by: Kevin Hilman
    Tested-by: Rajendra Nayak
    Tested-by: Santosh Shilimkar

    Paul Walmsley
     
  • Back in the OMAP2/3 PRCM interface days, the macros that referred to
    the offsets of individual PRM/CM instances from the top of the PRM/CM
    hardware modules were incorrectly suffixed with "_MOD". (They should
    have been suffixed with something like "_INST" or "_INSTANCE".) These
    days, now that we have better contact with the OMAP hardware people,
    we know that this naming is wrong. And in fact in OMAP4, there are
    actual hardware module offsets inside the instances, so the incorrect
    naming gets confusing very quickly for anyone who knows the hardware.

    Fix this naming for OMAP4, before things get too far along, by
    changing "_MOD" to "_INST" on the end of these macros. So, for
    example, OMAP4430_CM2_INSTR_MOD becomes OMAP4430_CM2_INSTR_INST.

    This unfortunately creates quite a large diff, but it is a
    straightforward rename. This patch should not result in any
    functional changes.

    The autogeneration scripts have been updated accordingly.

    Signed-off-by: Paul Walmsley
    Cc: Benoît Cousson
    Cc: Rajendra Nayak
    Cc: Santosh Shilimkar
    Reviewed-by: Kevin Hilman
    Tested-by: Kevin Hilman
    Tested-by: Santosh Shilimkar
    Tested-by: Rajendra Nayak

    Paul Walmsley
     
  • Split the existing cm44xx.h file into cm1_44xx.h and cm2_44xx.h files
    so they match their underlying OMAP hardware modules. Add clockdomain
    offset information.

    Add header files for the MPU local PRCM, prcm_mpu44xx.h, and for the
    SCRM, scrm44xx.h. SCRM register offsets still need to be added; TI
    should do this.

    Move the "_MOD" macros out of the prcm-common.h header file, into the
    header file of the hardware module that they belong to. For example,
    OMAP4430_PRM_*_MOD macros have been moved into the prm44xx.h header.

    Adjust #includes of all files that used the old PRCM header file names
    to point to the new filenames.

    The autogeneration scripts have been updated accordingly.

    Signed-off-by: Paul Walmsley
    Cc: Benoît Cousson
    Cc: Rajendra Nayak
    Reviewed-by: Kevin Hilman
    Tested-by: Kevin Hilman
    Tested-by: Rajendra Nayak
    Tested-by: Santosh Shilimkar

    Paul Walmsley
     
  • For some reason, the PRCM context save/restore code also saves and
    restores a single System Control Module register,
    CONTROL_PADCONF_SYS_NIRQ. This is probably just an error -- the
    register should be handled by SCM code -- so this patch moves it
    there.

    If this register really does need to be saved and restored before the
    rest of the PRCM registers, the code to do so should live in the SCM
    code, and the PM code should call this separate function. This
    register pertains to devices with a stacked modem, so this patch is
    unlikely to affect most OMAP devices out there.

    Signed-off-by: Paul Walmsley
    Cc: Kevin Hilman
    Reviewed-by: Kevin Hilman
    Tested-by: Kevin Hilman
    Tested-by: Santosh Shilimkar
    Tested-by: Rajendra Nayak

    Paul Walmsley
     
  • Get rid of the open-coded scratchpad write in mach-omap2/prcm.c and
    replace it with an actual API, omap3_ctrl_write_boot_mode(). While
    there, get rid of the gratuitous omap_writel().

    There's not much documentation available for what should wind up in
    the scratchpad here, so more documentation would be appreciated.
    Also, at some point, we should formalize our treatment of the scratchpad;
    right now, accesses to the scratchpad are not well-documented.

    Signed-off-by: Paul Walmsley
    Reviewed-by: Kevin Hilman
    Tested-by: Kevin Hilman
    Tested-by: Santosh Shilimkar

    Paul Walmsley
     

09 Oct, 2010

2 commits

  • Only OMAP2+ platforms have the System Control Module (SCM) IP block.
    In the past, we've kept the SCM header file in plat-omap. This has
    led to abuse - device drivers including it; includes being added that
    create implicit dependencies on OMAP2+ builds; etc.

    In response, move the SCM headers into mach-omap2/.

    As part of this, remove the direct SCM access from the OMAP UDC
    driver. It was clearly broken. The UDC code needs an indepth review for
    use on OMAP2+ chips.

    Signed-off-by: Paul Walmsley
    Cc: Cory Maccarrone
    Cc: Kyungmin Park

    Paul Walmsley
     
  • This patch fixes sparse warnings due to non declaration of
    static structures and variables.

    Sparse warning logs fixed:
    arch/arm/mach-omap2/control.c:88:6: warning: symbol 'omap3_secure_ram_storage' was not declared. Should it be static?
    n
    arch/arm/mach-omap2/timer-gp.c:50:22: warning: symbol 'gptimer_wakeup' was not declared. Should it be static?
    arch/arm/mach-omap2/timer-gp.c:240:18: warning: symbol 'omap_timer' was not declared. Should it be static?
    arch/arm/mach-omap2/prcm.c:121:24: warning: symbol 'prcm_context' was not declared. Should it be static?
    arch/arm/mach-omap2/mux2420.c:510:29: warning: symbol 'omap2420_pop_ball' was not declared. Should it be static?
    arch/arm/mach-omap2/mux2430.c:589:29: warning: symbol 'omap2430_pop_ball' was not declared. Should it be static?
    arch/arm/mach-omap2/mux34xx.c:934:28: warning: symbol 'omap3_cus_subset' was not declared. Should it be static?
    arch/arm/mach-omap2/mux34xx.c:1080:29: warning: symbol 'omap3_cus_ball' was not declared. Should it be static?
    arch/arm/mach-omap2/mux34xx.c:1272:28: warning: symbol 'omap3_cbb_subset' was not declared. Should it be static?
    arch/arm/mach-omap2/mux34xx.c:1393:29: warning: symbol 'omap3_cbb_ball' was not declared. Should it be static?
    arch/arm/mach-omap2/mux34xx.c:1603:28: warning: symbol 'omap36xx_cbp_subset' was not declared. Should it be static?
    arch/arm/mach-omap2/mux34xx.c:1821:29: warning: symbol 'omap36xx_cbp_ball' was not declared. Should it be static?
    arch/arm/mach-omap2/pm-debug.c:165:15: warning: symbol 'pm_dbg_dir' was not declared. Should it be static?
    arch/arm/mach-omap2/board-omap3evm.c:587:30: warning: symbol 'ads7846_config' was not declared. Should it be static?
    arch/arm/mach-omap2/board-omap3evm.c:606:23: warning: symbol 'omap3evm_spi_board_info' was not declared. Should it be static?
    arch/arm/mach-omap2/board-rx51-sdram.c:46:25: warning: symbol 'rx51_sdrc_params' was not declared. Should it be static?
    arch/arm/mach-omap2/board-rx51-sdram.c:211:25: warning: symbol 'rx51_get_sdram_timings' was not declared. Should it be static?
    arch/arm/mach-omap2/board-omap3touchbook.c:64:15: warning: symbol 'touchbook_revision' was not declared. Should it be static?
    arch/arm/mach-omap2/board-am3517evm.c:350:24: warning: symbol 'am3517_evm_dss_device' was not declared. Should it be static?
    arch/arm/mach-omap2/board-omap3stalker.c:567:23: warning: symbol 'omap3stalker_spi_board_info' was not declared. Should it be static?

    Signed-off-by: Manjunath Kondaiah G
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Nishanth Menon
    Signed-off-by: Tony Lindgren

    Manjunath Kondaiah G
     

22 Sep, 2010

2 commits


21 May, 2010

1 commit


31 Mar, 2010

1 commit


12 Mar, 2010

1 commit

  • This patch follows the commit be093beb608edf821b45fe00a8a080fb5c6ed4af
    by Russell King:

    OMAP wishes to pass state to the boot loader upon reboot in order
    to instruct it whether to wait for USB-based reflashing or not.
    There is already a facility to do this via the reboot() syscall,
    except we ignore the string passed to machine_restart().

    The patch adds the missing parameter to omap1_arch_reset() and
    omap_prcm_arch_reset(), and modifies the latter to pass the reboot
    command parameter to the boot loader instead of reboot mode (which is
    for kernel internal use only and cannot be modified by the userspace).

    Signed-off-by: Aaro Koskinen
    Signed-off-by: Tony Lindgren

    Aaro Koskinen
     

25 Feb, 2010

3 commits


24 Feb, 2010

1 commit

  • This is a clean-up patch towards dynamic allocation of IO space
    instead of using harcoded macros to calculate virtual addresses.

    Also update the sdrc, prcm and control module to allocate
    iospace dynamically

    Signed-off-by: Santosh Shilimkar
    Reviewed-by: Kevin Hilman
    Reviewed-by: Paul Walmsley
    Signed-off-by: Tony Lindgren

    Santosh Shilimkar
     

30 Jan, 2010

1 commit


27 Jan, 2010

3 commits

  • Move clockdomain wakeup dependency and sleep dependency data
    structures from the powerdomain layer to the clockdomain layer, where
    they belong. These dependencies were originally placed in the
    powerdomain layer due to unclear documentation; however, it is clear
    now that these dependencies are between clockdomains. For OMAP2/3,
    this is not such a big problem, but for OMAP4 this needs to be fixed.

    Thanks to Benoît Cousson for his advice on this
    patch.

    Signed-off-by: Paul Walmsley
    Cc: Benoît Cousson

    Paul Walmsley
     
  • Here the ".clkstctrl_reg" field is added to the clockdomain stucture
    as the module offsets for OMAP4 do not map one to one for powerdomains
    and clockdomains as it used to for OMAP3. Hence we need to use absolute
    addresses to access the control registers. Some of the clock domains have
    modules falling in the address space of PRM partition. Hence necessitating
    the use of absolute adresses.

    Signed-off-by: Abhijit Pagare
    Signed-off-by: Paul Walmsley
    Cc: Benoit Cousson
    Cc: Rajendra Nayak

    Abhijit Pagare
     
  • Module offsets were same for OMAP2 and OMAP3 while they differ for OMAP4.
    Hence we need different macros for identifying platform specific offsets.

    Signed-off-by: Abhijit Pagare
    Signed-off-by: Paul Walmsley
    Cc: Benoit Cousson
    Cc: Rajendra Nayak

    Abhijit Pagare
     

21 Jan, 2010

1 commit

  • As part of Core domain context restoration while coming out of off mode
    there are some registers being restored which are not required to be restored.
    ROM code will have restored them already. Overwriting some of them can have
    potential side effect. Eg: CM_CLKEN_PLL register should not be written while dpll is locked.
    Tested on OMAP 3430 SDP for suspend/resume and off mode with sleep_while_idle enabled.

    Signed-off-by: Vishwanath BS
    Signed-off-by: Kevin Hilman

    Sripathy, Vishwanath
     

12 Dec, 2009

3 commits


12 Nov, 2009

3 commits


21 Oct, 2009

1 commit

  • Move the remaining headers under plat-omap/include/mach
    to plat-omap/include/plat. Also search and replace the
    files using these headers to include using the right path.

    This was done with:

    #!/bin/bash
    mach_dir_old="arch/arm/plat-omap/include/mach"
    plat_dir_new="arch/arm/plat-omap/include/plat"
    headers=$(cd $mach_dir_old && ls *.h)
    omap_dirs="arch/arm/*omap*/ \
    drivers/video/omap \
    sound/soc/omap"
    other_files="drivers/leds/leds-ams-delta.c \
    drivers/mfd/menelaus.c \
    drivers/mfd/twl4030-core.c \
    drivers/mtd/nand/ams-delta.c"

    for header in $headers; do
    old="#include

    Tony Lindgren
     

25 Jul, 2009

1 commit

  • Some OMAP2/3 hardware modules have CM_IDLEST attributes that are not
    handled by the current omap2_wait_clock_ready() code. In preparation
    for patches that fix the unusual devices, rename the function
    omap2_wait_clock_ready() to omap2_wait_module_ready() and split it
    into three parts:

    1. A clkops-specific companion clock return function (by default,
    omap2_clk_dflt_find_companion())

    2. A clkops-specific CM_IDLEST register address and bit shift return
    function (by default, omap2_clk_dflt_find_idlest())

    3. Code to wait for the CM to indicate that the module is ready
    (omap2_cm_wait_idlest())

    Clocks can now specify their own custom find_companion() and find_idlest()
    functions; used in subsequent patches.

    Signed-off-by: Paul Walmsley

    Paul Walmsley
     

07 Aug, 2008

1 commit