12 Jan, 2012

1 commit

  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: (23 commits)
    [CPUFREQ] EXYNOS: Removed useless headers and codes
    [CPUFREQ] EXYNOS: Make EXYNOS common cpufreq driver
    [CPUFREQ] powernow-k8: Update copyright, maintainer and documentation information
    [CPUFREQ] powernow-k8: Fix indexing issue
    [CPUFREQ] powernow-k8: Avoid Pstate MSR accesses on systems supporting CPB
    [CPUFREQ] update lpj only if frequency has changed
    [CPUFREQ] cpufreq:userspace: fix cpu_cur_freq updation
    [CPUFREQ] Remove wall variable from cpufreq_gov_dbs_init()
    [CPUFREQ] EXYNOS4210: cpufreq code is changed for stable working
    [CPUFREQ] EXYNOS4210: Update frequency table for cpu divider
    [CPUFREQ] EXYNOS4210: Remove code about bus on cpufreq
    [CPUFREQ] s3c64xx: Use pr_fmt() for consistent log messages
    cpufreq: OMAP: fixup for omap_device changes, include
    cpufreq: OMAP: fix freq_table leak
    cpufreq: OMAP: put clk if cpu_init failed
    cpufreq: OMAP: only supports OPP library
    cpufreq: OMAP: dont support !freq_table
    cpufreq: OMAP: deny initialization if no mpudev
    cpufreq: OMAP: move clk name decision to init
    cpufreq: OMAP: notify even with bad boot frequency
    ...

    Linus Torvalds
     

11 Jan, 2012

1 commit

  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (53 commits)
    iommu/amd: Set IOTLB invalidation timeout
    iommu/amd: Init stats for iommu=pt
    iommu/amd: Remove unnecessary cache flushes in amd_iommu_resume
    iommu/amd: Add invalidate-context call-back
    iommu/amd: Add amd_iommu_device_info() function
    iommu/amd: Adapt IOMMU driver to PCI register name changes
    iommu/amd: Add invalid_ppr callback
    iommu/amd: Implement notifiers for IOMMUv2
    iommu/amd: Implement IO page-fault handler
    iommu/amd: Add routines to bind/unbind a pasid
    iommu/amd: Implement device aquisition code for IOMMUv2
    iommu/amd: Add driver stub for AMD IOMMUv2 support
    iommu/amd: Add stat counter for IOMMUv2 events
    iommu/amd: Add device errata handling
    iommu/amd: Add function to get IOMMUv2 domain for pdev
    iommu/amd: Implement function to send PPR completions
    iommu/amd: Implement functions to manage GCR3 table
    iommu/amd: Implement IOMMUv2 TLB flushing routines
    iommu/amd: Add support for IOMMUv2 domain mode
    iommu/amd: Add amd_iommu_domain_direct_map function
    ...

    Linus Torvalds
     

10 Jan, 2012

8 commits

  • power management changes for omap and imx

    A significant part of the changes for these two platforms went into
    power management, so they are split out into a separate branch.

    * tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (65 commits)
    ARM: imx6: remove __CPUINIT annotation from v7_invalidate_l1
    ARM: imx6: fix v7_invalidate_l1 by adding I-Cache invalidation
    ARM: imx6q: resume PL310 only when CACHE_L2X0 defined
    ARM: imx6q: build pm code only when CONFIG_PM selected
    ARM: mx5: use generic irq chip pm interface for pm functions on
    ARM: omap: pass minimal SoC/board data for UART from dt
    arm/dts: Add minimal device tree support for omap2420 and omap2430
    omap-serial: Add minimal device tree support
    omap-serial: Use default clock speed (48Mhz) if not specified
    omap-serial: Get rid of all pdev->id usage
    ARM: OMAP2+: hwmod: Add a new flag to handle hwmods left enabled at init
    ARM: OMAP4: PRM: use PRCM interrupt handler
    ARM: OMAP3: pm: use prcm chain handler
    ARM: OMAP: hwmod: add support for selecting mpu_irq for each wakeup pad
    ARM: OMAP2+: mux: add support for PAD wakeup interrupts
    ARM: OMAP: PRCM: add suspend prepare / finish support
    ARM: OMAP: PRCM: add support for chain interrupt handler
    ARM: OMAP3/4: PRM: add functions to read pending IRQs, PRM barrier
    ARM: OMAP2+: hwmod: Add API to enable IO ring wakeup
    ARM: OMAP2+: mux: add wakeup-capable hwmod mux entries to dynamic list
    ...

    Linus Torvalds
     
  • Driver specific changes

    Again, a lot of platforms have changes in here: pxa, samsung, omap,
    at91, imx, ...

    * tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
    ARM: sa1100: clean up of the clock support
    ARM: pxa: add dummy clock for sa1100-rtc
    RTC: sa1100: support sa1100, pxa and mmp soc families
    RTC: sa1100: remove redundant code of setting alarm
    RTC: sa1100: Clean out ost register
    Input: zylonite-wm97xx - replace IRQ_GPIO() with gpio_to_irq()
    pcmcia: pxa: replace IRQ_GPIO() with gpio_to_irq()
    ARM: EXYNOS: Modified files for SPI consolidation work
    ARM: S5P64X0: Enable SDHCI support
    ARM: S5P64X0: Add lookup of sdhci-s3c clocks using generic names
    ARM: S5P64X0: Add HSMMC setup for host Controller
    ARM: EXYNOS: Add USB OHCI support to ORIGEN board
    USB: Add Samsung Exynos OHCI diver
    ARM: EXYNOS: Add USB OHCI support to SMDKV310 board
    ARM: EXYNOS: Add USB OHCI device
    net: macb: fix build break with !CONFIG_OF
    i2c: tegra: Support DVC controller in device tree
    i2c: tegra: Add __devinit/exit to probe/remove
    net/at91_ether: use gpio_is_valid for phy IRQ line
    ARM: at91/net: add macb ethernet controller in 9g45/9g20 DT
    ...

    Linus Torvalds
     
  • New feature development

    This adds support for new features, and contains stuff from most
    platforms. A number of these patches could have fit into other
    branches, too, but were small enough not to cause too much
    confusion here.

    * tag 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)
    mfd/db8500-prcmu: remove support for early silicon revisions
    ARM: ux500: fix the smp_twd clock calculation
    ARM: ux500: remove support for early silicon revisions
    ARM: ux500: update register files
    ARM: ux500: register DB5500 PMU dynamically
    ARM: ux500: update ASIC detection for U5500
    ARM: ux500: support DB8520
    ARM: picoxcell: implement watchdog restart
    ARM: OMAP3+: hwmod data: Add the default clockactivity for I2C
    ARM: OMAP3: hwmod data: disable multiblock reads on MMC1/2 on OMAP34xx/35xx <= ES2.1
    ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP4
    ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP3
    ARM: OMAP: hwmod data: Add support for AM35xx UART4/ttyO3
    ARM: Orion: Remove address map info from all platform data structures
    ARM: Orion: Get address map from plat-orion instead of via platform_data
    ARM: Orion: mbus_dram_info consolidation
    ARM: Orion: Consolidate the address map setup
    ARM: Kirkwood: Add configuration for MPP12 as GPIO
    ARM: Kirkwood: Recognize A1 revision of 6282 chip
    ARM: ux500: update the MOP500 GPIO assignments
    ...

    Linus Torvalds
     
  • Board-level changes

    This adds and extends support for specific boards on a number of
    ARM platforms: omap, imx, samsung, tegra, ...

    * tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (49 commits)
    Enable 32 bit flash support for iMX21ADS board
    ARM: mx31pdk: Add MC13783 RTC support
    iomux-mx25: configuration to support CSPI3 on CSI pins
    MX1:apf9328: Add i2c support
    mioa701: add newly available DoC G3 chip
    arm/tegra: remove __initdata annotation from pinmux tables
    arm/tegra: Use bus notifiers to trigger pinmux setup
    arm/tegra: Refactor board-*-pinmux.c to share code
    arm/tegra: Fix mistake in Trimslice's pinmux
    arm/tegra: Rework Seaboard-vs-Ventana pinmux table
    arm/tegra: Remove useless entries from ventana_pinmux[]
    arm/tegra: PCIe: Remove include of mach/pinmux.h
    arm/tegra: Harmony PCIe: Don't touch pinmux
    arm/tegra: Add AUXDATA for tegra-pinmux and tegra-gpio
    arm/tegra: Split Seaboard GPIO table to allow for Ventana
    ARM: imx6q: generate imx6q dtb files
    arm/imx6q: Rename Sabreauto to Armadillo2
    arm/imx6q-sabrelite: add enet phy ksz9021rn fixup
    arm/imx6: add imx6q sabrelite board support
    dts/imx: rename uart labels to consistent with hw spec
    ...

    Linus Torvalds
     
  • SoC-level changes for tegra and omap

    This adds support for the new tegra30 SoC, as well as small
    changes to support minor variations of existing omap SoCs.

    * tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (26 commits)
    arm/tegra: Compile tegra_dt_init_irq only when CONFIG_OF
    arm/tegra: Make MACH_TEGRA_DT depend on ARCH_TEGRA_2x_SOC
    arm/tegra: Delete tegra_init_clock()
    arm/tegra: Fix section mismatch errors in tegra30 pinmux
    arm/tegra: Fix section mismatch errors in tegra20 pinmux
    arm/tegra: refresh defconfig for tegra30
    arm/tegra: add support for tegra30 based board cardhu
    arm/tegra: implement support for tegra30
    arm/tegra: pinmux tables and definitions for tegra30
    arm/tegra: add new fields to struct tegra_pingroup_desc
    arm/tegra: prepare pinmux code for multiple tegra variants
    arm/tegra: rename tegra20 pinmux files
    arm/tegra: generalize L2 cache initialization
    arm/tegra: use PMC reset
    arm/tegra: rename board-dt.c to board-dt-tegra20.c
    arm/tegra: prepare early init for multiple tegra variants
    arm/tegra: don't export clk_measure_input_freq
    arm/tegra: prepare clock code for multiple tegra variants
    arm/tegra: cleanup tegra20 support
    arm/tegra: clk_get should not be fatal
    ...

    Fix up trivial conflict in arch/arm/mach-tegra/board-dt-tegra20.c

    Linus Torvalds
     
  • Non-critical bug fixes

    Simple bug fixes that were not considered important enough for inclusion
    into 3.2.

    * tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    MAINTAINERS: update pxa and mmp
    ARM: pxa: Include linux/export.h in balloon3.c
    ARM: OMAP4: clock: Add CPU local timer clock node
    ARM: OMAP4: hwmod: Don't wait for the idle status if modulemode is not supported
    ARM: OMAP: AM3517/3505: fix crash on boot due to incorrect voltagedomain data
    ARM: OMAP: hwmod data: fix the panic on Nokia RM-680 during boot
    ARM: OMAP2+: DMA: Workaround for invalid destination position
    ARM: OMAP2+: DMA: Workaround for invalid source position

    Linus Torvalds
     
  • Conflicts:
    arch/arm/mach-imx/mach-imx6q.c
    arch/arm/mach-omap2/board-ti8168evm.c
    arch/arm/mach-s3c64xx/Kconfig
    arch/arm/mach-tegra/Makefile
    arch/arm/mach-tegra/board-dt-tegra20.c
    arch/arm/mach-tegra/common.c

    Lots of relatively simple conflicts between the board
    changes and stuff from the arm tree. This pulls in
    the resolution from the samsung/cleanup tree, so we
    don't get conflicting merges.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • Conflicts:
    arch/arm/mach-mxs/include/mach/common.h

    Pull in previous samsung conflict merges and do a trivial
    merge of an mxs double-add conflict.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

09 Jan, 2012

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)
    Kconfig: acpi: Fix typo in comment.
    misc latin1 to utf8 conversions
    devres: Fix a typo in devm_kfree comment
    btrfs: free-space-cache.c: remove extra semicolon.
    fat: Spelling s/obsolate/obsolete/g
    SCSI, pmcraid: Fix spelling error in a pmcraid_err() call
    tools/power turbostat: update fields in manpage
    mac80211: drop spelling fix
    types.h: fix comment spelling for 'architectures'
    typo fixes: aera -> area, exntension -> extension
    devices.txt: Fix typo of 'VMware'.
    sis900: Fix enum typo 'sis900_rx_bufer_status'
    decompress_bunzip2: remove invalid vi modeline
    treewide: Fix comment and string typo 'bufer'
    hyper-v: Update MAINTAINERS
    treewide: Fix typos in various parts of the kernel, and fix some comments.
    clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR
    gpio: Kconfig: drop unknown symbol 'CS5535_GPIO'
    leds: Kconfig: Fix typo 'D2NET_V2'
    sound: Kconfig: drop unknown symbol ARCH_CLPS7500
    ...

    Fix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new
    kconfig additions, close to removed commented-out old ones)

    Linus Torvalds
     

08 Jan, 2012

1 commit


05 Jan, 2012

4 commits


28 Dec, 2011

3 commits

  • * omap/ehci:
    MFD: OMAP: USB: Runtime PM support
    ARM: OMAP: USBHOST: Replace usbhs core driver APIs by Runtime pm APIs
    ARM: OMAP: USB: device name change for the clk names of usbhs
    ARM: OMAP: USB: register hwmods of usbhs

    Arnd Bergmann
     
  • This is needed as a dependency for omap/ehci.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • * omap/hwmod:
    ARM: OMAP3+: hwmod data: Add the default clockactivity for I2C
    ARM: OMAP3: hwmod data: disable multiblock reads on MMC1/2 on OMAP34xx/35xx <= ES2.1
    ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP4
    ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP3
    ARM: OMAP: hwmod data: Add support for AM35xx UART4/ttyO3
    ARM: OMAP: hwmod data: fix the panic on Nokia RM-680 during boot
    ARM: OMAP: hwmod data: fix iva and mailbox hwmods for OMAP 3
    ARM: OMAP: rx51: fix USB
    ARM: OMAP: mcbsp: Fix possible memory corruption

    Arnd Bergmann
     

20 Dec, 2011

1 commit


19 Dec, 2011

1 commit

  • sched_clock() is yet another blocker on the road to the single
    image. This patch implements an idea by Russell King:

    http://www.spinics.net/lists/linux-omap/msg49561.html

    Instead of asking the platform to implement both sched_clock()
    itself and the rollover callback, simply register a read()
    function, and let the ARM code care about sched_clock() itself,
    the conversion to ns and the rollover. sched_clock() uses
    this read() function as an indirection to the platform code.
    If the platform doesn't provide a read(), the code falls back
    to the jiffy counter (just like the default sched_clock).

    This allow some simplifications and possibly some footprint gain
    when multiple platforms are compiled in. Among the drawbacks,
    the removal of the *_fixed_sched_clock optimization which could
    negatively impact some platforms (sa1100, tegra, versatile
    and omap).

    Tested on 11MPCore, OMAP4 and Tegra.

    Cc: Imre Kaloz
    Cc: Eric Miao
    Cc: Colin Cross
    Cc: Erik Gilling
    Cc: Olof Johansson
    Cc: Sascha Hauer
    Cc: Alessandro Rubini
    Cc: STEricsson
    Cc: Lennert Buytenhek
    Cc: Ben Dooks
    Tested-by: Jamie Iles
    Tested-by: Tony Lindgren
    Tested-by: Kyungmin Park
    Acked-by: Linus Walleij
    Acked-by: Nicolas Pitre
    Acked-by: Krzysztof Halasa
    Acked-by: Kukjin Kim
    Signed-off-by: Marc Zyngier
    Signed-off-by: Russell King

    Marc Zyngier
     

17 Dec, 2011

5 commits

  • …nel/git/khilman/linux-omap-pm into uart

    Conflicts:
    arch/arm/mach-omap2/pm34xx.c

    Tony Lindgren
     
  • Conflicts:
    arch/arm/mach-omap2/Makefile

    Tony Lindgren
     
  • An hwmod with a 'HWMOD_INIT_NO_IDLE' flag set, is left in
    enabled state by the hwmod framework post the initial setup.
    Once a real user of the device (a driver) tries to enable it
    at a later point, the hwmod framework throws a WARN() about
    the device being already in enabled state.

    Fix this by introducing a new internal flag '_HWMOD_SKIP_ENABLE' to
    identify such devices/hwmods. When the device/hwmod is requested to be
    enabled (the first time) by its driver/user, nothing except the
    mux-enable is needed. The mux data is board specific and is
    unavailable during initial enable() of the device, done by the
    framework as part of setup().

    A good example of a such a device is an UART used as debug console.
    The UART module needs to be kept enabled through the boot, until the
    UART driver takes control of it, for debug prints to appear on
    the console.

    Acked-by: Kevin Hilman
    Acked-by: Benoit Cousson
    Signed-off-by: Rajendra Nayak
    [paul@pwsan.com: use a flag rather than a state; updated commit message;
    edited some documentation]
    Signed-off-by: Paul Walmsley
    Signed-off-by: Tony Lindgren

    Rajendra Nayak
     
  • By default all registered pads will trigger mpu_irqs[0]. Now there is
    an API for selecting used mpu_irq on pad basis, which can be used to
    trigger different irq handlers for different pads in the same hwmod.
    Each pad that requires its interrupt to be re-routed this way must
    have a separate call to omap_hwmod_pad_route_irq(hwmod, pad, irq).

    Signed-off-by: Tero Kristo
    Acked-by: Tony Lindgren
    Tested-by: Kevin Hilman
    Reviewed-by: Kevin Hilman
    [paul@pwsan.com: moved fn to omap_hwmod.c; separated fn from mux scan_wakeups
    changes; added kerneldoc]
    Signed-off-by: Paul Walmsley

    Tero Kristo
     
  • OMAP mux now parses active wakeup events from pad registers and calls
    corresponding hwmod ISRs once a wakeup is detected. This is
    accomplished by registering an interrupt handler for PRCM IO event,
    which is raised every time the HW detects wakeups.

    [paul@pwsan.com: This patch is a merge of Govindraj R's "ARM: OMAP2+:
    hwmod: Add API to check IO PAD wakeup status" patch, Tero Kristo's
    "ARM: OMAP2+: mux: add support for PAD wakeup interrupts" patch, and
    part of Tero's "ARM: OMAP: mux: add support for selecting mpu_irq for
    each wakeup pad" patch.]

    Signed-off-by: Tero Kristo
    Cc: Govindraj.R
    Tested-by: Kevin Hilman
    Reviewed-by: Kevin Hilman
    Acked-by: Tony Lindgren
    [paul@pwsan.com: reduced indentation level; renamed omap_hwmod function;
    improved function documentation; modified to iterate only through dynamic
    pads; modified to skip pads where idle mode doesn't enable wakeups; split
    patches]
    Signed-off-by: Paul Walmsley

    Tero Kristo
     

16 Dec, 2011

2 commits


15 Dec, 2011

11 commits

  • Omap_uart_can_sleep function blocks system wide low power state until
    uart is active remove this func and add qos requests to prevent
    MPU from transitioning.

    Keep qos request to default value which will allow MPU to transition
    and while uart baud rate is available calculate the latency value
    from the baudrate and use the same to hold constraint while uart clocks
    are enabled, and if uart is auto-idled the constraint is updated with
    default constraint value allowing MPU to transition.

    Qos requests are blocking notifier calls so put these requests to
    work queue, also the driver uses irq_safe version of runtime API's
    and callbacks can be called in interrupt disabled context.
    So to avoid warn on slow path warning while using qos update
    API's from runtime callbacks use the qos_work_queue.

    During bootup the runtime_resume call backs might not be called and runtime
    callback gets called only after uart is idled by setting the autosuspend
    timeout. So qos_request from runtime resume callback might not activated during
    boot if uart baudrate is calculated during bootup for console uart, so schedule
    the qos_work queue once we calc_latency while configuring the uart port.

    Flush and complete any pending qos jobs in work queue while suspending.

    Signed-off-by: Govindraj.R
    Acked-by: Greg Kroah-Hartman (for drivers/tty changes)
    Signed-off-by: Kevin Hilman

    Govindraj.R
     
  • When using DMA there are two timeouts defined. The first timeout,
    rx_timeout, is really a polling rate in which software polls the
    DMA status to see if the DMA has finished. This is necessary for
    the RX side because we do not know how much data we will receive.
    The secound timeout, RX_TIMEOUT, is a timeout after which the
    DMA will be stopped if no more data is received. To make this
    clearer, rename rx_timeout as rx_poll_rate and rename the
    function serial_omap_rx_timeout() to serial_omap_rxdma_poll().

    The OMAP-Serial driver defines an RX_TIMEOUT of 3 seconds that is
    used to indicate when the DMA for UART can be stopped if no more
    data is received. The value is a global definition that is applied
    to all instances of the UART.

    Each UART may be used for a different purpose and so the timeout
    required may differ. Make this value configurable for each UART so
    that this value can be optimised for power savings.

    Signed-off-by: Jon Hunter
    Signed-off-by: Govindraj.R
    Acked-by: Greg Kroah-Hartman (for drivers/tty changes)
    Signed-off-by: Kevin Hilman

    Jon Hunter
     
  • The following UART parameters are defined within the UART driver:

    1). Whether the UART uses DMA (dma_enabled), by default set to 0
    2). The size of dma buffer (set to 4096 bytes)
    3). The time after which the dma should stop if no more data is received.
    4). The auto suspend delay that will be passed for pm_runtime_autosuspend
    where uart will be disabled after timeout

    Different UARTs may be used for different purpose such as the console,
    for interfacing bluetooth chip, for interfacing to a modem chip, etc.
    Therefore, it is necessary to be able to customize the above settings
    for a given board on a per UART basis.

    This change allows these parameters to be configured from the board file
    and allows the parameters to be configured for each UART independently.

    If a board does not define its own custom parameters for the UARTs, then
    use the default parameters in the structure "omap_serial_default_info".
    The default parameters are defined to be the same as the current settings
    in the UART driver to avoid breaking the UART for any cuurnelty supported
    boards. By default, make all boards use the default UART parameters.

    Signed-off-by: Deepak K
    Signed-off-by: Jon Hunter
    Signed-off-by: Govindraj.R
    Acked-by: Greg Kroah-Hartman (for drivers/tty changes)
    Signed-off-by: Kevin Hilman

    Deepak K
     
  • From the runtime callbacks enable hwmod wakeups for uart which will
    internally enable io-pad wakeups for uarts if they have rx-pad pins
    set as wakeup capabale.

    Use the io-ring wakeup mechanism after uart clock gating and leave
    the PM_WKST set for uart to default reset values cleanup the
    code in serial.c which was handling PM_WKST reg.
    Irq_chaing(PRM_DRIVER) is used to wakeup uart after uart clocks are gated
    using pad wakeup mechanism.

    Signed-off-by: Govindraj.R
    Acked-by: Greg Kroah-Hartman (for drivers/tty changes)
    Signed-off-by: Kevin Hilman

    Govindraj.R
     
  • Move the errata handling mechanism from serial.c to omap-serial file
    and utilise the same func in driver file.

    Errata i202, i291 are moved to be handled with omap-serial
    Moving the errata macro from serial.c file to driver header file
    as from on errata will be handled in driver file itself.
    Corrected errata id from chapter reference 2.15 to errata id i291.

    Removed errata and dma_enabled fields from omap_uart_state struct
    as they are no more needed with errata handling done within omap-serial.

    Signed-off-by: Govindraj.R
    Acked-by: Alan Cox
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Kevin Hilman

    Govindraj.R
     
  • Avoid unconditional context restore every time we gate uart
    clocks. Check whether context loss happened based on which
    we can context restore uart regs from uart_port structure.

    Signed-off-by: Govindraj.R
    Acked-by: Greg Kroah-Hartman (for drivers/tty changes)
    Signed-off-by: Kevin Hilman

    Govindraj.R
     
  • Remove the uart reset function which is configuring the
    TX empty irq which can now be handled within omap-serial driver.

    Signed-off-by: Govindraj.R
    Acked-by: Greg Kroah-Hartman (for drivers/tty changes)
    Signed-off-by: Kevin Hilman

    Govindraj.R
     
  • Add missing uart regs to uart_port structure which can be used in
    context restore. Store dll, dlh, mdr1, scr, efr, lcr, mcr reg values
    into uart_port structure while configuring individual port in termios
    function.

    Signed-off-by: Govindraj.R
    Acked-by: Greg Kroah-Hartman (for drivers/tty changes)
    Signed-off-by: Kevin Hilman

    Govindraj.R
     
  • The mapbase (start_address), membase(io_remap cookie) part of
    pdata struct omap_uart_port_info are removed as this should be
    derived within driver.

    Signed-off-by: Govindraj.R
    Acked-by: Greg Kroah-Hartman (for drivers/tty changes)
    Signed-off-by: Kevin Hilman

    Govindraj.R
     
  • Currently we use a shared irq handler to identify uart activity and then
    trigger a timer. By default the timeout value is zero and can be set or
    modified from sysfs. If there was no uart activity for the period set
    through sysfs, the timer will expire and call timer handler this will
    set a flag can_sleep using which decision to gate uart clocks can be taken.

    Since the clock gating mechanism is outside the uart driver, we currently
    use this mechanism. In preparation to runtime implementation for omap-serial
    driver we can cleanup this mechanism and use runtime API's to gate uart clocks.

    Removes the following:
    * timer related info from local uart_state struct
    * the code used to set timeout value from sysfs.
    * irqflags used to set shared irq handler.
    * un-used function omap_uart_check_wakeup.

    Signed-off-by: Govindraj.R
    Acked-by: Greg Kroah-Hartman (for drivers/tty changes)
    Signed-off-by: Kevin Hilman

    Govindraj.R
     
  • In preparation to UART runtime conversion remove uart specific calls
    from pm24xx/34xx files and their definition from serial.c
    These func calls will no more be used with upcoming uart runtime design.

    1.) omap_uart_prepare_suspend :- can be taken care with driver suspend hooks.
    2.) omap_uart_enable_irqs :- Used to enable/disable uart irq's in suspend
    path from PM code, this is removed as same is handled by
    uart_suspend_port/uart_resume_port in omap-serial driver which will
    do an port_shutdown on suspend freeing irq and port_startup on resume
    enabling back irq.
    3.) Remove prepare_idle/resume_idle calls used to gate uart clocks.
    UART clocks can be gated within driver using runtime funcs
    and be woken up using irq_chaining from omap_prm driver.
    4.) Remove console_locking from idle path as clock gating is done withing
    driver itself with runtime API. Remove is_suspending check used to acquire
    console_lock.

    Signed-off-by: Govindraj.R
    Signed-off-by: Kevin Hilman

    Govindraj.R
     

14 Dec, 2011

1 commit