15 Dec, 2011

3 commits

  • 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
     
  • We had been using traditional 8250 driver as uart console driver
    prior to omap-serial driver. Since we have omap-serial driver
    in mainline kernel for some time now it has been used as default
    uart console driver on omap2+ platforms. Remove 8250 support for
    omap-uarts.

    Serial_in and serial_out override for 8250 serial driver is also
    removed. Empty fifo read fix is already taken care with omap-serial
    driver with data ready bit check from LSR reg before reading RX fifo.
    Also waiting for THRE(transmit hold reg empty) is done with wait_for_xmitr
    in omap-serial driver.

    Serial_in/out overrides are not neceesary for omap-serial driver
    and things that are taken with omap-serial driver are removed here.

    Remove headers that were necessary to support 8250 support
    and remove all config bindings done to keep 8250 backward compatibility
    while adding omap-serial driver. Remove omap_uart_reset needed for
    8250 autoconf.

    Signed-off-by: Govindraj.R
    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

6 commits

  • This patch adds cpu type, macros for identification of TI814X device.

    Signed-off-by: Hemant Pedanekar
    [tony@atomide.com: left out CK_TI814X for now]
    Signed-off-by: Tony Lindgren

    Hemant Pedanekar
     
  • This patch updates existing macros, functions used for TI816X, to enable
    addition of other SoCs belonging to TI81XX family (e.g., TI814X).

    The approach taken is to use TI81XX/ti81xx for code/data going to be common
    across all TI81XX devices.

    cpu_is_ti81xx() is introduced to handle code common across TI81XX devices.

    In addition, ti8168_evm_map_io() is now replaced with ti81xx_map_io() and moved
    in mach-omap2/common.c as same will be used for TI814X and is not board
    specific.

    Signed-off-by: Hemant Pedanekar
    Signed-off-by: Tony Lindgren

    Hemant Pedanekar
     
  • Add support for detection of the next chip in the OMAP4 family: OMAP4470 ES1.0

    For more details on OMAP4470, visit:
    http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12869&contentId=123362

    Signed-off-by: Leonid Iziumtsev
    Signed-off-by: Tony Lindgren

    Leonid Iziumtsev
     
  • allow for the omap4430 es2.3 revision to be recognized in the
    omap4_check_revision() function.

    most aspects of all omap4430 es2.x versions are identical, however
    a number of small variations such as default pullup or pulldown
    resistor configurations vary between revisions.

    detailed information on silicon errata for omap4430 revisions can
    be found at http://focus.ti.com/pdfs/wtbu/swpz009D.pdf

    Signed-off-by: David Anders
    Signed-off-by: Tony Lindgren

    David Anders
     
  • This patch updates the common machine specific source files for
    support for AM33XX/AM335x with cpu type, macros for identification of
    AM33XX/AM335X device.

    Signed-off-by: Afzal Mohammed
    Signed-off-by: Vaibhav Hiremath
    Reviewed-by: Kevin Hilman
    Tested-by: Kevin Hilman
    [tony@atomide.com: updated for map_io and common.h changes, dropped CK_AM33XX]
    Signed-off-by: Tony Lindgren

    Afzal Mohammed
     
  • This patch updates the common platform files with AM335X device
    support (AM33XX family).

    The approach taken in this patch is,
    AM33XX device will be considered as OMAP3 variant, and a separate
    SoC class created for AM33XX family of devices with a subclass type
    for AM335X device, which is newly added device in the family.

    This means, cpu_is_omap34xx(), cpu_is_am33xx() and cpu_is_am335x()
    checks will return success on AM335X device.
    A kernel config option CONFIG_SOC_OMAPAM33XX is added under OMAP3
    to include support for AM33XX build.

    Also, cpu_mask and RATE_IN_XXX flags have crossed 8 bit hence
    struct clksel_rate.flags, struct prcm_config.flags and cpu_mask
    are changed to u16 from u8.

    Signed-off-by: Afzal Mohammed
    Signed-off-by: Vaibhav Hiremath
    Cc: Hemant Pedanekar
    [tony@atomide.com: left out CK_AM33XX for now]
    Signed-off-by: Tony Lindgren

    Afzal Mohammed
     

07 Dec, 2011

1 commit


06 Dec, 2011

5 commits


03 Dec, 2011

1 commit


02 Dec, 2011

13 commits

  • Will Deacon
     
  • This patch introduces .enable_irq and .disable_irq into
    struct arm_pmu_platdata, so platform specific irq enablement
    can be handled after request_irq, and platform specific irq
    disablement can be handled before free_irq.

    This patch is for support of pmu irq routed from CTI on omap4.

    Acked-by: Jean Pihet
    Reviewed-by: Will Deacon
    Signed-off-by: Ming Lei
    Signed-off-by: Will Deacon

    Ming Lei
     
  • OMAP4 uses cross trigger interface(CTI) to route
    performance monitor irq to GIC, so introduce cti
    helpers to make access for cti easily.

    Acked-by: Jean Pihet
    Signed-off-by: Ming Lei
    Signed-off-by: Will Deacon

    Ming Lei
     
  • armpmu_get_max_events is only called from perf_num_counters, so we can
    inline it there. It existed as a separate entity as a hangover from
    the original perf-based oprofile implementation.

    Signed-off-by: Will Deacon

    Will Deacon
     
  • Commit 8f622422 ("perf events: Add generic front-end and back-end
    stalled cycle event definitions") added two new ABI events for counting
    stalled cycles.

    This patch adds support for these new events to the ARM perf
    implementation.

    Cc: Jamie Iles
    Cc: Jean Pihet
    Signed-off-by: Will Deacon

    Will Deacon
     
  • This patch updates the ARMv7 perf event numbers so that:

    (1) A consistent naming scheme is used between different CPUs.

    (2) Only events actually used by Linux are described.

    (3) Where possible, architected events are used in preference to
    CPU-specific events.

    This results in the removal of a load of unused, hardcoded data and
    makes it more clear as to which events are supported on each PMU.

    Cc: Jean Pihet
    Signed-off-by: Will Deacon

    Will Deacon
     
  • Trivial fix to fix below build error:

    CC arch/arm/mach-exynos/mach-universal_c210.o
    arch/arm/mach-exynos/mach-universal_c210.c:24: error: expected identifier or '(' before '
    Signed-off-by: Marc Zyngier

    Axel Lin
     
  • Fix below build error:
    CC arch/arm/mach-exynos/cpu.o
    arch/arm/mach-exynos/cpu.c: In function 'exynos4_init_irq':
    arch/arm/mach-exynos/cpu.c:245: error: 'gic_bank_offset' undeclared (first use in this function)
    arch/arm/mach-exynos/cpu.c:245: error: (Each undeclared identifier is reported only once
    arch/arm/mach-exynos/cpu.c:245: error: for each function it appears in.)
    arch/arm/mach-exynos/cpu.c:243: warning: unused variable 'bank_offset'
    make[1]: *** [arch/arm/mach-exynos/cpu.o] Error 1
    make: *** [arch/arm/mach-exynos] Error 2

    Signed-off-by: Axel Lin
    Signed-off-by: Marc Zyngier

    Axel Lin
     
  • Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (31 commits)
    ocfs2: avoid unaligned access to dqc_bitmap
    ocfs2: Use filemap_write_and_wait() instead of write_inode_now()
    ocfs2: honor O_(D)SYNC flag in fallocate
    ocfs2: Add a missing journal credit in ocfs2_link_credits() -v2
    ocfs2: send correct UUID to cleancache initialization
    ocfs2: Commit transactions in error cases -v2
    ocfs2: make direntry invalid when deleting it
    fs/ocfs2/dlm/dlmlock.c: free kmem_cache_zalloc'd data using kmem_cache_free
    ocfs2: Avoid livelock in ocfs2_readpage()
    ocfs2: serialize unaligned aio
    ocfs2: Implement llseek()
    ocfs2: Fix ocfs2_page_mkwrite()
    ocfs2: Add comment about orphan scanning
    ocfs2: Clean up messages in the fs
    ocfs2/cluster: Cluster up now includes network connections too
    ocfs2/cluster: Add new function o2net_fill_node_map()
    ocfs2/cluster: Fix output in file elapsed_time_in_ms
    ocfs2/dlm: dlmlock_remote() needs to account for remastery
    ocfs2/dlm: Take inflight reference count for remotely mastered resources too
    ocfs2/dlm: Cleanup dlm_wait_for_node_death() and dlm_wait_for_node_recovery()
    ...

    Linus Torvalds
     
  • The dqc_bitmap field of struct ocfs2_local_disk_chunk is 32-bit aligned,
    but not 64-bit aligned. The dqc_bitmap is accessed by ocfs2_set_bit(),
    ocfs2_clear_bit(), ocfs2_test_bit(), or ocfs2_find_next_zero_bit(). These
    are wrapper macros for ext2_*_bit() which need to take an unsigned long
    aligned address (though some architectures are able to handle unaligned
    address correctly)

    So some 64bit architectures may not be able to access the dqc_bitmap
    correctly.

    This avoids such unaligned access by using another wrapper functions for
    ext2_*_bit(). The code is taken from fs/ext4/mballoc.c which also need to
    handle unaligned bitmap access.

    Signed-off-by: Akinobu Mita
    Acked-by: Joel Becker
    Cc: Mark Fasheh
    Signed-off-by: Andrew Morton
    Signed-off-by: Joel Becker

    Akinobu Mita
     
  • * 'fixes' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm:
    ARM: 7182/1: ARM cpu topology: fix warning
    ARM: 7181/1: Restrict kprobes probing SWP instructions to ARMv5 and below
    ARM: 7180/1: Change kprobes testcase with unpredictable STRD instruction
    ARM: 7177/1: GIC: avoid skipping non-existent PPIs in irq_start calculation
    ARM: 7176/1: cpu_pm: register GIC PM notifier only once
    ARM: 7175/1: add subname parameter to mfp_set_groupg callers
    ARM: 7174/1: Fix build error in kprobes test code on Thumb2 kernels
    ARM: 7172/1: dma: Drop GFP_COMP for DMA memory allocations
    ARM: 7171/1: unwind: add unwind directives to bitops assembly macros
    ARM: 7170/2: fix compilation breakage in entry-armv.S
    ARM: 7168/1: use cache type functions for arch_get_unmapped_area
    ARM: perf: check that we have a platform device when reserving PMU
    ARM: 7166/1: Use PMD_SHIFT instead of PGDIR_SHIFT in dma-consistent.c
    ARM: 7165/2: PL330: Fix typo in _prepare_ccr()
    ARM: 7163/2: PL330: Only register usable channels
    ARM: 7162/1: errata: tidy up Kconfig options for PL310 errata workarounds
    ARM: 7161/1: errata: no automatic store buffer drain
    ARM: perf: initialise used_mask for fake PMU during validation
    ARM: PMU: remove pmu_init declaration
    ARM: PMU: re-export release_pmu symbol to modules

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: fix meta data raid-repair merge problem
    Btrfs: skip allocation attempt from empty cluster
    Btrfs: skip block groups without enough space for a cluster
    Btrfs: start search for new cluster at the beginning
    Btrfs: reset cluster's max_size when creating bitmap
    Btrfs: initialize new bitmaps' list
    Btrfs: fix oops when calling statfs on readonly device
    Btrfs: Don't error on resizing FS to same size
    Btrfs: fix deadlock on metadata reservation when evicting a inode
    Fix URL of btrfs-progs git repository in docs
    btrfs scrub: handle -ENOMEM from init_ipath()

    Linus Torvalds
     

01 Dec, 2011

11 commits

  • Commit 4a54c8c16 introduced raid-repair, killing the individual
    readpage_io_failed_hook entries from inode.c and disk-io.c. Commit
    4bb31e92 introduced new readahead code, adding a readpage_io_failed_hook to
    disk-io.c.

    The raid-repair commit had logic to disable raid-repair, if
    readpage_io_failed_hook is set. Thus, the readahead commit effectively
    disabled raid-repair for meta data.

    This commit changes the logic to always attempt raid-repair when needed and
    call the readpage_io_failed_hook in case raid-repair fails. This is much
    more straight forward and should have been like that from the beginning.

    Signed-off-by: Jan Schmidt
    Reported-by: Stefan Behrens
    Signed-off-by: Chris Mason

    Jan Schmidt
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    IB: Fix RCU lockdep splats
    IB/ipoib: Prevent hung task or softlockup processing multicast response
    IB/qib: Fix over-scheduling of QSFP work
    RDMA/cxgb4: Fix retry with MPAv1 logic for MPAv2
    RDMA/cxgb4: Fix iw_cxgb4 count_rcqes() logic
    IB/qib: Don't use schedule_work()

    Linus Torvalds
     
  • * 'dt-for-linus' of git://sources.calxeda.com/kernel/linux:
    of: Add Silicon Image vendor prefix
    of/irq: of_irq_init: add check for parent equal to child node

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
    regulator: twl: fix twl4030 support for smps regulators
    regulator: fix use after free bug
    regulator: aat2870: Fix the logic of checking if no id is matched in aat2870_get_regulator

    Linus Torvalds
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits)
    ARM: ux500: update defconfig
    ARM: u300: update defconfig
    ARM: at91: enable additional boards in existing soc defconfig files
    ARM: at91: refresh soc defconfig files for 3.2
    ARM: at91: rename defconfig files appropriately
    ARM: OMAP2+: Fix Compilation error when omap_l3_noc built as module
    ARM: OMAP2+: Remove empty io.h
    ARM: OMAP2: select ARM_AMBA if OMAP3_EMU is defined
    ARM: OMAP: smartreflex: fix IRQ handling bug
    ARM: OMAP: PM: only register TWL with voltage layer when device is present
    ARM: OMAP: hwmod: Fix the addr space, irq, dma count APIs
    arm: mx28: fix bit operation in clock setting
    ARM: imx: export imx_ioremap
    ARM: imx/mm-imx3: conditionally compile i.MX31 and i.MX35 code
    ARM: mx5: Fix checkpatch warnings in cpu-imx5.c
    MAINTAINERS: Add missing directory
    ARM: imx: drop 'ARCH_MX31' and 'ARCH_MX35'
    ARM: imx6q: move clock register map to machine_desc.map_io
    ARM: pxa168/gplugd: add the correct SSP device
    ARM: Update mach-types to fix mxs build breakage
    ...

    Linus Torvalds
     
  • kernel/sched.c:7354:2: warning: initialization from incompatible pointer type

    Align cpu_coregroup_mask prototype interface with sched_domain_mask_f typedef
    use int cpu instead of unsigned int cpu

    Cc:
    Signed-off-by: Vincent Guittot
    Signed-off-by: Russell King

    Vincent Guittot
     
  • The SWP instruction is deprecated on ARMv6 and with ARMv7 it will be
    UNDEFINED when CONFIG_SWP_EMULATE is selected. In this case, probing a
    SWP instruction will cause an oops when the kprobes emulation code
    executes an undefined instruction.

    As the SWP instruction should be rare or non-existent in kernels for
    ARMv6 and later, we can simply avoid these problems by not allowing
    probing of these.

    Reported-by: Leif Lindholm
    Tested-by: Leif Lindholm
    Acked-by: Nicolas Pitre
    Signed-off-by: Jon Medhurst
    Signed-off-by: Russell King

    Jon Medhurst (Tixy)
     
  • There is a kprobes testcase for the instruction "strd r2, [r3], r4".
    This has unpredictable behaviour as it uses r3 for register writeback
    addressing and also stores it to memory.

    On a cortex A9, this testcase would fail because the instruction writes
    the updated value of r3 to memory, whereas the kprobes emulation code
    writes the original value.

    Fix this by changing testcase to used r5 instead of r3.

    Reported-by: Leif Lindholm
    Tested-by: Leif Lindholm
    Acked-by: Nicolas Pitre
    Signed-off-by: Jon Medhurst
    Signed-off-by: Russell King

    Jon Medhurst (Tixy)
     
  • If we don't have a cluster, don't bother trying to allocate from it,
    jumping right away to the attempt to allocate a new cluster.

    Signed-off-by: Alexandre Oliva
    Signed-off-by: Chris Mason

    Alexandre Oliva
     
  • We test whether a block group has enough free space to hold the
    requested block, but when we're doing clustered allocation, we can
    save some cycles by testing whether it has enough room for the cluster
    upfront, otherwise we end up attempting to set up a cluster and
    failing. Only in the NO_EMPTY_SIZE loop do we attempt an unclustered
    allocation, and by then we'll have zeroed the cluster size, so this
    patch won't stop us from using the block group as a last resort.

    Signed-off-by: Alexandre Oliva
    Signed-off-by: Chris Mason

    Alexandre Oliva
     
  • Instead of starting at zero (offset is always zero), request a cluster
    starting at search_start, that denotes the beginning of the current
    block group.

    Signed-off-by: Alexandre Oliva
    Signed-off-by: Chris Mason

    Alexandre Oliva