30 Sep, 2011

9 commits

  • Add i2c bus number for DVI output for boards with DVI output where the
    i2c bus has been confirmed to be connected and working. The driver uses
    this to detect if a panel is connected and to read EDID.

    Acked-by: Tony Lindgren
    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • OMAP3 Stalker board has definitions for LCD, but uses the generic driver
    without any information what kind of LCD it has. The board should use a
    particular panel type from panel-generic-dpi driver, not the generic
    one.

    As I haven't gotten response the signer-off of stalker board about the
    issue, this patch removes the LCD support from the board file. This will
    allow us to clean up the panel-generic-dpi driver and make it support
    only fixed size panels.

    CC: Jason Lam
    Acked-by: Tony Lindgren
    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • Multiple OMAP3/4 boards have a DVI framer output. This patch makes the
    boards use the new panel-dvi driver, instead of the panel-generic-dpi
    driver.

    Separate drivers for fixed size panels and DVI framer gives us cleaner
    driver code.

    Acked-by: Tony Lindgren
    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • Use default regn and regm2 dividers in the hdmi driver if the board file
    does not define them.

    Cc: Mythri P K
    Acked-by: Tony Lindgren
    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • Change lcd driver from generic to AT070TN83.

    Signed-off-by: Thomas Weber
    Signed-off-by: Tomi Valkeinen

    Thomas Weber
     
  • Implement dsi_mux_pads for OMAP4. On enable the function enables the DSI
    pins and disables pull down. On disable the function disables the pins
    and enables pull down.

    It is unclear from the TRM whether the pull down is active if the pins
    are disabled, so this implementation may leave the pins floating when
    the DSI device is disabled.

    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • dsi_mux_pads() needs to know about the DSI HW module and the DSI lanes
    used. Split the function into two, enable and disable, which take
    necessary arguments, and add empty implementations for both.

    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • OMAP DSS normally gets power from VCXIO on OMAP4. Add configuration for
    this into twl-common.c

    Mark VCXIO as always_on, as VCXIO is used by multiple components,
    including the MPU, and turning it off when DSS doesn't need it would
    lead the device to halt.

    Acked-by: Tony Lindgren
    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • Currently, there are 2 differently named platform devices generated for
    the 2 DSS DSI modules. In order to use the same driver, the dsi devices
    should be 2 instances of the same platform device.

    Change the platform device names from "omapdss_dsi1" and "omapdss_dsi2"
    to omapdss_dsi", and set the device indices to 0 and 1.

    Signed-off-by: Archit Taneja
    Acked-by: Tony Lindgren
    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     

13 Sep, 2011

2 commits

  • * 'fixes' of git://git.linaro.org/people/arnd/arm-soc:
    ARM: CSR: add missing sentinels to of_device_id tables
    ARM: cns3xxx: Fix newly introduced warnings in the PCIe code
    ARM: cns3xxx: Fix compile error caused by hardware.h removed
    ARM: davinci: fix cache flush build error
    ARM: davinci: correct MDSTAT_STATE_MASK
    ARM: davinci: da850 EVM: read mac address from SPI flash
    OMAP: omap_device: fix !CONFIG_SUSPEND case in _noirq handlers
    OMAP2430: hwmod: musb: add missing terminator to omap2430_usbhsotg_addrs[]
    OMAP3: clock: indicate that gpt12_fck and wdt1_fck are in the WKUP clockdomain
    OMAP4: clock: fix compile warning
    OMAP4: clock: re-enable previous clockdomain enable/disable sequence
    OMAP: clockdomain: Wait for powerdomain to be ON when using clockdomain force wakeup
    OMAP: powerdomains: Make all powerdomain target states as ON at init

    Linus Torvalds
     
  • Arnd Bergmann
     

12 Sep, 2011

2 commits


11 Sep, 2011

5 commits


10 Sep, 2011

3 commits

  • Commit b03e7495a862 ("PCI: Set PCI-E Max Payload Size on fabric")
    introduced a potential NULL pointer dereference in calls to
    pcie_bus_configure_settings due to attempts to access pci_bus self
    variables when the self pointer is NULL.

    To correct this, verify that the self pointer in pci_bus is non-NULL
    before dereferencing it.

    Reported-by: Stanislaw Gruszka
    Signed-off-by: Shyam Iyer
    Signed-off-by: Jon Mason
    Acked-by: Jesse Barnes
    Signed-off-by: Linus Torvalds

    Shyam Iyer
     
  • commit d5341942d784134f2997b3ff82cd63cf71d1f932 ("PCI: Make the struct
    pci_dev * argument of pci_fixup_irqs const") did not change argument
    of pdev_to_cnspci(), and thus introduced the following warnings:

    CHECK arch/arm/mach-cns3xxx/pcie.c
    pcie.c:177:60: warning: incorrect type in argument 1 (different modifiers)
    pcie.c:177:60: expected struct pci_dev *dev
    pcie.c:177:60: got struct pci_dev const *dev
    CC arch/arm/mach-cns3xxx/pcie.o
    pcie.c: In function 'cns3xxx_pcie_map_irq':
    pcie.c:177: warning: passing argument 1 of 'pdev_to_cnspci' discards qualifiers from pointer target type
    pcie.c:52: note: expected 'struct pci_dev *' but argument is of type 'const struct pci_dev *'

    This patch fixes the issue.

    Signed-off-by: Anton Vorontsov

    Anton Vorontsov
     
  • Commit c9d95fbe59e426eed7f16e7cac812e46ac4772d0 "ARM: convert PCI defines
    to variables" deleted cns3xxx' hardware.h, but didn't remove references
    for it, so do it now.

    This patch removes lines that refer to hardware.h.

    Signed-off-by: Tommy Lin
    Signed-off-by: Imre Kaloz
    Signed-off-by: Anton Vorontsov

    Tommy Lin
     

08 Sep, 2011

1 commit


07 Sep, 2011

8 commits

  • * 'stable/bug.fixes' of git://oss.oracle.com/git/kwilk/xen:
    xen/smp: Warn user why they keel over - nosmp or noapic and what to use instead.
    xen: x86_32: do not enable iterrupts when returning from exception in interrupt context
    xen: use maximum reservation to limit amount of usable RAM

    Linus Torvalds
     
  • * 'kvm-updates/3.1' of git://github.com/avikivity/kvm:
    KVM: Fix instruction size issue in pvclock scaling

    Linus Torvalds
     
  • The TNET variant of DaVinci compiles some code that it shares
    with other DaVinci variants, however it has a V6 CPU rather than
    an ARM926T, thus the hardcoded call to arm926_flush_kern_cache_all()
    in sleep.S will obviously fail, and we need to build with the
    v6_flush_kern_cache_all() call instead. This was triggered by
    manually altering the DaVinci config to build the TNET version.

    Cc: Dave Martin
    Cc: Arnd Bergmann
    Signed-off-by: Linus Walleij
    Signed-off-by: Sekhar Nori
    Cc: stable@kernel.org

    Linus Walleij
     
  • MDSTAT.STATE occupies bits 0..5 according to all available documentation, so fix
    the #define MDSTAT_STATE_MASK at last. Using the wrong value seems to have been
    harmless though...

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Sekhar Nori

    Sergei Shtylyov
     
  • DA850/OMAP-L138 EMAC driver uses random mac address instead of
    a fixed one because the mac address is not stuffed into EMAC
    platform data.

    This patch provides a function which reads the mac address
    stored in SPI flash (registered as MTD device) and populates the
    EMAC platform data. The function which reads the mac address is
    registered as a callback which gets called upon addition of MTD
    device.

    NOTE: In case the MAC address stored in SPI flash is erased, follow
    the instructions at [1] to restore it.

    [1] http://processors.wiki.ti.com/index.php/GSG:_OMAP-L138_DVEVM_Additional_Procedures#Restoring_MAC_address_on_SPI_Flash

    Modifications in v2:
    Guarded registering the mtd_notifier only when MTD is enabled.
    Earlier this was handled using mtd_has_partitions() call, but
    this has been removed in Linux v3.0.

    Modifications in v3:
    a. Guarded da850_evm_m25p80_notify_add() function and
    da850evm_spi_notifier structure with CONFIG_MTD macros.
    b. Renamed da850_evm_register_mtd_user() function to
    da850_evm_setup_mac_addr() and removed the struct mtd_notifier
    argument to this function.
    c. Passed the da850evm_spi_notifier structure to register_mtd_user()
    function.

    Modifications in v4:
    Moved the da850_evm_setup_mac_addr() function within the first
    CONFIG_MTD ifdef construct.

    Signed-off-by: Rajashekhara, Sudhakar
    Signed-off-by: Sekhar Nori
    Cc: stable@kernel.org

    Rajashekhara, Sudhakar
     
  • Fighting unfixed U-Boots and other beasts that may the cache in
    a locked-down state when starting the kernel, we make sure to
    disable all cache lock-down when initializing the l2x0 so we
    are in a known state.

    Cc: Srinidhi Kasagar
    Cc: Rabin Vincent
    Cc: Adrian Bunk
    Cc: Rob Herring
    Cc: Catalin Marinas
    Cc: Will Deacon
    Reviewed-by: Santosh Shilimkar
    Reported-by: Jan Rinze
    Tested-by: Robert Marklund
    Signed-off-by: Linus Walleij
    Signed-off-by: Russell King

    Linus Walleij
     
  • I was intrigued by the fact that the clock stood still on
    the Integrator, but it wasn't strange at all, because the
    timer was set up all wrong and probably has been for a
    while. With this patch the clock starts ticking again:
    make the timer periodic (reload), |= on the divisor bit
    and load the timer before starting it.

    Cc: stable@kernel.org
    Signed-off-by: Linus Walleij
    Signed-off-by: Russell King

    Linus Walleij
     
  • The suspend/resume _noirq handlers were #ifdef'd out in the
    !CONFIG_SUSPEND case, but were still assigned to the dev_pm_ops
    struct. Fix by defining them to NULL in the !CONFIG_SUSPEND case.

    Reported-by: Arnd Bergmann
    Acked-by: Arnd Bergmann
    Signed-off-by: Kevin Hilman

    Kevin Hilman
     

05 Sep, 2011

3 commits

  • As it was decided not to export struct pt_regs to userspace, struct
    sigcontext shouldn't be using it either. The pt_regs struct for OpenRISC
    is kernel internal and the layout of the registers may change in the
    future. The struct user_regs_struct is what is guaranteed to remain
    stable, so struct sigcontext may use that instead.

    This patch removes the usage of struct pt_regs in struct sigcontext and
    makes according changes in signal.c to get the register layout right.

    The usp field is removed from the sigcontext structure as this information
    is already contained in the user_regs_struct.

    Signed-off-by: Jonas Bonn
    Reviewed-by: Emilio Cota

    Jonas Bonn
     
  • …4_clock_fixes_3.1rc', 'missing_2430_musb_adds_terminator_fix_3.1rc' and 'pwrdm_clkdm_fixes_3.1rc' into prcm-fixes-a-3.1rc

    Paul Walmsley
     
  • Add a missing array terminator to omap2430_usbhsotg_addrs[]. Without
    this terminator, the omap_hwmod resource building code runs off the
    end of the array, resulting in at least this error -- if not worse
    behavior:

    [ 0.578002] musb-omap2430: failed to claim resource 4
    [ 0.583465] omap_device: musb-omap2430: build failed (-16)
    [ 0.589294] Could not build omap_device for musb-omap2430 usb_otg_hs

    This should have been part of commit
    78183f3fdf76f422431a81852468be01b36db325 ("omap_hwmod: use a null
    structure record to terminate omap_hwmod_addr_space arrays") but was
    evidently missed.

    Signed-off-by: Paul Walmsley

    Paul Walmsley
     

04 Sep, 2011

1 commit

  • When ARCH_HAS_HOLES_MEMORYMODEL is selected, pfn_valid calls
    memblock_is_memory to test validity of a pfn:

    > memblock_is_memory(pfn << PAGE_SHIFT);

    On LPAE systems this cuts off the top bits, as the shift occurs before
    the value is promoted to a phys_addr_t.

    This patch replaces the shift with a call to __pfn_to_phys (which casts
    pfn to phys_addr_t before shifting), preventing the loss of significant
    bits.

    Signed-off-by: Mark Rutland
    Acked-by: Will Deacon
    Signed-off-by: Russell King

    Mark Rutland
     

02 Sep, 2011

2 commits

  • We have hit a couple of customer bugs where they would like to
    use those parameters to run an UP kernel - but both of those
    options turn of important sources of interrupt information so
    we end up not being able to boot. The correct way is to
    pass in 'dom0_max_vcpus=1' on the Xen hypervisor line and
    the kernel will patch itself to be a UP kernel.

    Fixes bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637308

    CC: stable@kernel.org
    Acked-by: Ian Campbell
    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     
  • If vmalloc page_fault happens inside of interrupt handler with interrupts
    disabled then on exit path from exception handler when there is no pending
    interrupts, the following code (arch/x86/xen/xen-asm_32.S:112):

    cmpw $0x0001, XEN_vcpu_info_pending(%eax)
    sete XEN_vcpu_info_mask(%eax)

    will enable interrupts even if they has been previously disabled according to
    eflags from the bounce frame (arch/x86/xen/xen-asm_32.S:99)

    testb $X86_EFLAGS_IF>>8, 8+1+ESP_OFFSET(%esp)
    setz XEN_vcpu_info_mask(%eax)

    Solution is in setting XEN_vcpu_info_mask only when it should be set
    according to
    cmpw $0x0001, XEN_vcpu_info_pending(%eax)
    but not clearing it if there isn't any pending events.

    Reproducer for bug is attached to RHBZ 707552

    CC: stable@kernel.org
    Signed-off-by: Igor Mammedov
    Acked-by: Jeremy Fitzhardinge
    Signed-off-by: Konrad Rzeszutek Wilk

    Igor Mammedov
     

01 Sep, 2011

1 commit

  • Use the domain's maximum reservation to limit the amount of extra RAM
    for the memory balloon. This reduces the size of the pages tables and
    the amount of reserved low memory (which defaults to about 1/32 of the
    total RAM).

    On a system with 8 GiB of RAM with the domain limited to 1 GiB the
    kernel reports:

    Before:

    Memory: 627792k/4472000k available

    After:

    Memory: 549740k/11132224k available

    A increase of about 76 MiB (~1.5% of the unused 7 GiB). The reserved
    low memory is also reduced from 253 MiB to 32 MiB. The total
    additional usable RAM is 329 MiB.

    For dom0, this requires at patch to Xen ('x86: use 'dom0_mem' to limit
    the number of pages for dom0') (c/s 23790)

    CC: stable@kernel.org
    Signed-off-by: David Vrabel
    Signed-off-by: Konrad Rzeszutek Wilk

    David Vrabel
     

31 Aug, 2011

3 commits

  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    powerpc/p1023rds: Fix the error of bank-width of nor flash
    powerpc/85xx: enable caam crypto driver by default
    powerpc/85xx: enable the audio drivers in the defconfigs

    Linus Torvalds
     
  • An event may occur when an mm is already released.

    I added an event in dequeue_entity() and caught a panic with
    the following backtrace:

    [ 434.421110] BUG: unable to handle kernel NULL pointer dereference at 0000000000000050
    [ 434.421258] IP: [] __get_user_pages_fast+0x9c/0x120
    ...
    [ 434.421258] Call Trace:
    [ 434.421258] [] copy_from_user_nmi+0x51/0xf0
    [ 434.421258] [] ? sched_clock_local+0x25/0x90
    [ 434.421258] [] perf_callchain_user+0x128/0x170
    [ 434.421258] [] ? __perf_event_header__init_id+0xed/0x100
    [ 434.421258] [] perf_prepare_sample+0x200/0x280
    [ 434.421258] [] __perf_event_overflow+0x1b8/0x290
    [ 434.421258] [] ? tg_shares_up+0x0/0x670
    [ 434.421258] [] ? walk_tg_tree+0x6a/0xb0
    [ 434.421258] [] perf_swevent_overflow+0xc4/0xf0
    [ 434.421258] [] do_perf_sw_event+0x1e0/0x250
    [ 434.421258] [] perf_tp_event+0x44/0x70
    [ 434.421258] [] ftrace_profile_sched_block+0xdf/0x110
    [ 434.421258] [] dequeue_entity+0x2ad/0x2d0
    [ 434.421258] [] dequeue_task_fair+0x1c/0x60
    [ 434.421258] [] dequeue_task+0x9a/0xb0
    [ 434.421258] [] deactivate_task+0x42/0xe0
    [ 434.421258] [] thread_return+0x191/0x808
    [ 434.421258] [] ? switch_task_namespaces+0x24/0x60
    [ 434.421258] [] do_exit+0x464/0x910
    [ 434.421258] [] do_group_exit+0x58/0xd0
    [ 434.421258] [] sys_exit_group+0x17/0x20
    [ 434.421258] [] system_call_fastpath+0x16/0x1b

    Signed-off-by: Andrey Vagin
    Signed-off-by: Peter Zijlstra
    Cc: stable@kernel.org
    Link: http://lkml.kernel.org/r/1314693156-24131-1-git-send-email-avagin@openvz.org
    Signed-off-by: Ingo Molnar

    Andrey Vagin
     
  • In the p1023rds, a physical bus of nor flash is 16 bits width.
    The bank-width is width (in bytes) of the bus width. So, the
    value of bank-width of nor flash is not one, and it should be
    two.

    Signed-off-by: Chunhe Lan
    Signed-off-by: Kumar Gala

    Chunhe Lan