Permalink
Commits on Jun 5, 2013
  1. ARM: DTS: OMAP: add mailbox nodes for OMAP2+

    sumananna committed Apr 23, 2013
    The mailbox DT node data has been added for OMAP2420,
    OMAP2430, OMAP3430/OMAP3630, OMAP44xx and AM33xx devices.
    Data for OMAP5 is skipped for now since the corresponding
    hwmod entry is not present.
    
    The mailbox static device initialization logic is also
    adjusted for a DT boot.
    
    TODO:
    - Revise this to use interrupt macros from Florian's
      series.
    - Add dependent patches for OMAP5 & AM437x if base support
      is available for them in kernel.
    
    Signed-off-by: Suman Anna <s-anna@ti.com>
  2. mailbox/omap: add support for parsing dt devices

    sumananna committed Apr 25, 2013
    Logic has been added to the OMAP2+ mailbox code to
    parse the mailbox dt nodes and construct the different
    mailboxes associated with the instance. The design is
    based on gathering the same information that was being
    passed previously through the platform data, except for
    the interrupt type configuration information.
    
    Signed-off-by: Suman Anna <s-anna@ti.com>
  3. HACK: tidspbridge: enable the build for testing

    sumananna committed May 17, 2013
    Signed-off-by: Suman Anna <s-anna@ti.com>
  4. mailbox/omap: adapt to the new mailbox API & framework

    sumananna committed Feb 2, 2013
    The OMAP mailbox driver and its existing clients (remoteproc
    for OMAP4+ and TI DSP/Bridge for OMAP3) are adapted to use
    the generic mailbox framework.
    
    The main changes for the adaptation are:
      - The generic OMAP mailbox driver module is absorbed into the
        individual modules for OMAP1 and OMAP2+ (no more omap-mailbox.ko)
        The file is reused for supplying the common functionality between
        OMAP1 and OMAP2.
      - The tasklet used for Tx is replaced with the state machine from
        the generic mailbox framework. The workqueue used for processing
        the received messages stays intact for minimizing the effects on
        the mailbox clients.
      - The existing omap_mbox_ops are pruned to supply the abstraction to
        the common layer. This functionality is achieved through the
        ipc_link_ops from the new framework.
      - The remoteproc and tidspbridge drivers (current clients) are adapted
        to use the new API. The notifier callbacks used within these clients
        are replaced with the regular callbacks from the newer framework.
      - The exported OMAP mailbox API are limited to omap_mbox_save_ctx,
        omap_mbox_restore_ctx, omap_mbox_enable_irq & omap_mbox_disable_irq.
        The first 2 will be removed when the OMAP mailbox driver is adapted
        to runtime_pm.
    
    Signed-off-by: Suman Anna <s-anna@ti.com>
  5. mailbox: move the internal definitions into a private file

    sumananna committed May 16, 2013
    This is needed for extracting the omap_mbox. The OMAP mailbox
    code has a need for exporting some pre-existing API to not
    break the current clients.
    
    Signed-off-by: Suman Anna <s-anna@ti.com>
  6. mailbox: pl320: Introduce common API driver

    Jassi Brar committed with sumananna Apr 26, 2013
    Convert the PL320 controller driver to work with the common
    mailbox API. Also convert the only user of PL320, highbank-cpufreq.c
    to work with thee API. Drop the obsoleted driver pl320-ipc.c
    
    Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
  7. mailbox: Introduce a new common API

    Jassi Brar committed with sumananna Apr 26, 2013
    Introduce common framework for client/protocol drivers and
    controller drivers of Inter-Processor-Communication (IPC).
    
    Client driver developers should have a look at
     include/linux/mailbox_client.h to understand the part of
    the API exposed to client drivers.
    Similarly controller driver developers should have a look
    at include/linux/mailbox_controller.h
    
    Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
  8. mailbox: rename pl320-ipc specific mailbox.h

    sumananna committed Mar 6, 2013
    The patch 3005867 "ARM / highbank: add support for pl320 IPC"
    added a pl320 IPC specific header file as a generic mailbox.h.
    This file has been renamed appropriately to allow the
    introduction of the generic mailbox API framework.
    
    Acked-by: Mark Langsdorf <mark.langsdorf@calxeda.com>
    Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Suman Anna <s-anna@ti.com>
  9. mailbox/omap: add a parent structure common to all mboxes

    sumananna committed May 15, 2013
    A new structure, omap_mbox_device, is added to contain
    the global variables pertinent to a mailbox h/w IP block.
    This enables the support for having multiple instances of
    the same h/w IP block in the SoC. The startup sequence for
    each mailbox is also simplified along the way, removing the
    usage of single global configuration variables for all h/w
    instances.
    
    Signed-off-by: Suman Anna <s-anna@ti.com>
  10. mailbox/omap: remove omap_mbox_type_t from mailbox ops

    sumananna committed May 13, 2013
    The type definition omap_mbox_type_t used for distinguishing
    OMAP1 from OMAP2+ mailboxes does not really belong to the
    ops, and has been cleaned up.
    
    Signed-off-by: Loic Pallardy <loic.pallardy@st.com>
    Signed-off-by: Suman Anna <s-anna@ti.com>
Commits on Jun 4, 2013
  1. mailbox/omap: call request_irq after mbox queues are allocated

    sumananna committed Feb 2, 2013
    The OMAP mailbox startup code is enabling the interrupt even before
    any of the associated mailbox queues are allocated. Any pending
    received mailbox message could cause a kernel panic as soon as
    the interrupt is enabled due to the dereferencing of non-existing
    mailbox queues within the ISR.
    
    Signed-off-by: Fernando Guzman Lugo <lugo.fernando@gmail.com>
    Signed-off-by: Suman Anna <s-anna@ti.com>
  2. mailbox/omap: check iomem resource before dereferencing it

    sumananna committed Feb 2, 2013
    Add a NULL check for iomem resource in mailbox probe functions.
    
    Signed-off-by: Fernando Guzman Lugo <lugo.fernando@gmail.com>
    Signed-off-by: Suman Anna <s-anna@ti.com>
  3. mailbox/omap: move the OMAP mailbox framework to drivers

    sumananna committed Mar 12, 2013
    The mailbox hardware (in OMAP) uses a queued mailbox interrupt
    mechanism that provides a communication channel between processors
    through a set of registers and their associated interrupt signals
    by sending and receiving messages.
    
    The OMAP mailbox framework/driver code is moved to be under
    drivers/mailbox, in preparation for adapting to a common mailbox
    driver framework. This re-enables the OMAP mailbox build that was
    disabled during the multi-platform support.
    
    As part of the migration from plat and mach code:
    - Kconfig symbols have been renamed to build OMAP1 or OMAP2+ drivers.
    - mailbox.h under plat-omap/plat/include has been split into a public
      and private header files. The public header has only the API related
      functions and types.
    - The module name mailbox.ko is changed to omap-mailbox.ko
    - The module name mailbox_mach.ko is changed as
        mailbox_omap1.ko for OMAP1
        mailbox_omap2.ko for OMAP2+
    
    Cc: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Omar Ramirez Luna <omar.luna@linaro.org>
    Signed-off-by: Suman Anna <s-anna@ti.com>
    
    ----
    This is similar to Omar's earlier patches for moving the code, but is
    revised to prepare for adapting to a mailbox framework different from
    the OMAP-derived mailbox framework.
  4. ARM: OMAP2+: add user and fifo info to mailbox platform data

    sumananna committed May 7, 2013
    The different generations of OMAP2+ SoCs have almost the same
    mailbox IP, but the IP has configurable parameters for number
    of users (interrupts it can generate out towards processors)
    and number of fifos (the base unidirectional h/w communication
    channel). This data cannot be read from any registers, and so
    has been added to the platform data.
    
    This data together with the interrupt-type configuration can be
    used in properly figuring out the number of registers to save
    and restore in the OMAP mailbox driver code.
    
    Cc: Paul Walmsley <paul@pwsan.com>
    Signed-off-by: Suman Anna <s-anna@ti.com>
  5. ARM: OMAP2+: mbox: remove dependencies with soc.h

    sumananna committed Jan 28, 2013
    The OMAP mailbox platform driver code has been cleaned up to
    remove the dependencies with soc.h in preparation for moving
    the mailbox code to drivers folder.
    
    The code relied on cpu_is_xxx/soc_is_xxx macros previously to
    pick the the right set of mailbox devices and register with the
    mailbox driver. This data is now represented in a concise format
    and moved to the respective omap_hwmod data files and published
    to the driver through the platform data.
    
    Cc: Paul Walmsley <paul@pwsan.com>
    Signed-off-by: Suman Anna <s-anna@ti.com>
Commits on Jun 2, 2013
  1. Linux 3.10-rc4

    torvalds committed Jun 2, 2013
Commits on Jun 1, 2013
  1. Merge branch 'for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/…

    torvalds committed Jun 1, 2013
    …git/deller/parisc-linux
    
    Pull parisc fixes from Helge Deller:
     "This patcheset includes fixes for:
    
       - the PCI/LBA which brings back the stifb graphics framebuffer
         console
       - possible memory overflows in parisc kernel init code
       - parport support on older GSC machines
       - avoids that users by mistake enable PARPORT_PC_SUPERIO on parisc
       - MAINTAINERS file list updates for parisc."
    
    * 'for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
      parisc: parport0: fix this legacy no-device port driver!
      parport_pc: disable PARPORT_PC_SUPERIO on parisc architecture
      parisc/PCI: lba: fix: convert to pci_create_root_bus() for correct root bus resources (v2)
      parisc/PCI: Set type for LBA bus_num resource
      MAINTAINERS: update parisc architecture file list
      parisc: kernel: using strlcpy() instead of strcpy()
      parisc: rename "CONFIG_PA7100" to "CONFIG_PA7000"
      parisc: fix kernel BUG at arch/parisc/include/asm/mmzone.h:50
      parisc: memory overflow, 'name' length is too short for using
  2. parisc: parport0: fix this legacy no-device port driver!

    hdeller committed May 30, 2013
    Fix the above kernel error from parport_announce_port() on 32bit GSC
    machines (e.g. B160L). The parport driver requires now a pointer to the
    device struct.
    
    Signed-off-by: Helge Deller <deller@gmx.de>
  3. parport_pc: disable PARPORT_PC_SUPERIO on parisc architecture

    hdeller committed May 30, 2013
    If enabled, CONFIG_PARPORT_PC_SUPERIO scans on PC-like hardware for
    various super-io chips by accessing i/o ports in a range which will
    crash any parisc hardware at once.
    
    In addition, parisc has it's own incompatible superio chip
    (CONFIG_SUPERIO), so if we disable PARPORT_PC_SUPERIO completely for
    parisc we can avoid that people by accident enable the parport_pc
    superio option too.
    
    Signed-off-by: Helge Deller <deller@gmx.de>
  4. parisc/PCI: lba: fix: convert to pci_create_root_bus() for correct ro…

    hdeller committed May 31, 2013
    …ot bus resources (v2)
    
    commit dc7dce2
    Author: Bjorn Helgaas <bhelgaas@google.com>
    Date:   Fri Oct 28 16:27:27 2011 -0600
       parisc/PCI: lba: convert to pci_create_root_bus() for correct root bus
                        resources
    
      Supply root bus resources to pci_create_root_bus() so they're correct
      immediately.  This fixes the problem of "early" and "header" quirks seeing
      incorrect root bus resources.
    
    added tests for elmmio_space.start while it should use
    elmmio_space.flags.  This for example led to incorrect resource
    assignments and a non-working stifb framebuffer on most parisc machines.
    
    LBA 10:1: PCI host bridge to bus 0000:01
    pci_bus 0000:01: root bus resource [io  0x12000-0x13fff] (bus address [0x2000-0x3fff])
    pci_bus 0000:01: root bus resource [mem 0xfffffffffa000000-0xfffffffffbffffff] (bus address [0xfa000000-0xfbffffff])
    pci_bus 0000:01: root bus resource [mem 0xfffffffff4800000-0xfffffffff4ffffff] (bus address [0xf4800000-0xf4ffffff])
    pci_bus 0000:01: root bus resource [??? 0x00000001 flags 0x0]
    
    Signed-off-by: Helge Deller <deller@gmx.de>
    Acked-by: Bjorn Helgaas <bhelgaas@google.com>
  5. parisc/PCI: Set type for LBA bus_num resource

    bjorn-helgaas committed with hdeller May 30, 2013
    The non-PAT resource probing code failed to set the type of the LBA bus_num
    resource (30aa80d "parisc/PCI: register busn_res for root buses" did
    the corresponding thing for the PAT case).
    
    This causes incorrect resource assignments and a non-working stifb
    framebuffer on most parisc machines.
    
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: Helge Deller <deller@gmx.de>
  6. MAINTAINERS: update parisc architecture file list

    hdeller committed May 30, 2013
    Signed-off-by: Helge Deller <deller@gmx.de>
  7. parisc: kernel: using strlcpy() instead of strcpy()

    Chen Gang committed with hdeller May 30, 2013
    'boot_args' is an input args, and 'boot_command_line' has a fix length.
    So use strlcpy() instead of strcpy() to avoid memory overflow.
    
    Signed-off-by: Chen Gang <gang.chen@asianux.com>
    Acked-by: Kyle McMartin <kyle@mcmartin.ca>
    Signed-off-by: Helge Deller <deller@gmx.de>
  8. parisc: rename "CONFIG_PA7100" to "CONFIG_PA7000"

    pebolle committed with hdeller May 29, 2013
    There's a Makefile line setting cflags for CONFIG_PA7100. But that
    Kconfig macro doesn't exist. There is a Kconfig symbol PA7000, which
    covers both PA7000 and PA7100 processors. So let's use the corresponding
    Kconfig macro.
    
    Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
    Signed-off-by: Helge Deller <deller@gmx.de>
  9. parisc: fix kernel BUG at arch/parisc/include/asm/mmzone.h:50

    hdeller committed May 28, 2013
    With CONFIG_DISCONTIGMEM=y and multiple physical memory areas,
    cat /proc/kpageflags triggers this kernel bug:
    
    kernel BUG at arch/parisc/include/asm/mmzone.h:50!
    CPU: 2 PID: 7848 Comm: cat Tainted: G      D W 3.10.0-rc3-64bit #44
     IAOQ[0]: kpageflags_read0x128/0x238
     IAOQ[1]: kpageflags_read0x12c/0x238
     RP(r2): proc_reg_read0xbc/0x130
    Backtrace:
     [<00000000402ca2d4>] proc_reg_read0xbc/0x130
     [<0000000040235bcc>] vfs_read0xc4/0x1d0
     [<0000000040235f0c>] SyS_read0x94/0xf0
     [<0000000040105fc0>] syscall_exit0x0/0x14
    
    kpageflags_read() walks through the whole memory, even if some memory
    areas are physically not available. So, we should better not BUG on an
    unavailable pfn in pfn_to_nid() but just return the expected value -1 or
    0.
    
    Signed-off-by: Helge Deller <deller@gmx.de>
  10. parisc: memory overflow, 'name' length is too short for using

    Chen Gang committed with hdeller May 27, 2013
    'path.bc[i]' can be asigned by PCI_SLOT() which can '> 10', so sizeof(6
    * "%u:" + "%u" + '\0') may be 21.
    
    Since 'name' length is 20, it may be memory overflow.
    
    And 'path.bc[i]' is 'unsigned char' for printing, we can be sure the
    max length of 'name' must be less than 28.
    
    So simplify thinking, we can use 28 instead of 20 directly, and do not
    think of whether 'patchc.bc[i]' can '> 100'.
    
    Signed-off-by: Chen Gang <gang.chen@asianux.com>
    Signed-off-by: Helge Deller <deller@gmx.de>
  11. Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git…

    torvalds committed Jun 1, 2013
    …/benh/powerpc
    
    Pull powerpc fixes from Ben Herrenschmidt:
     "Here are a few more fixes for powerpc 3.10.  It's a bit more than I
      would have liked this late in the game but I suppose that's what
      happens with a brand new chip generation coming out.
    
      A few regression fixes, some last minute fixes for new P8 features
      such as transactional memory,...
    
      There's also one powerpc KVM patch that I requested that adds two
      missing functions to our in-kernel interrupt controller support which
      is itself a new 3.10 feature.  These are defined by the base
      hypervisor specification.  We didn't implement them originally because
      Linux doesn't use them but they are simple and I'm not comfortable
      having a half-implemented interface in 3.10 and having to deal with
      versionning etc...  later when something starts needing those calls.
      They cannot be emulated in qemu when using in-kernel interrupt
      controller (not enough shared state).
    
      Just added a last minute patch to fix a typo introducing a breakage in
      our cputable for Power7+ processors, sorry about that, but the
      regression it fixes just hurt me :-)"
    
    * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
      powerpc/cputable: Fix typo on P7+ cputable entry
      powerpc/perf: Add missing SIER support
      powerpc/perf: Revert to original NO_SIPR logic
      powerpc/pci: Remove the unused variables in pci_process_bridge_OF_ranges
      powerpc/pci: Remove the stale comments of pci_process_bridge_OF_ranges
      powerpc/pseries: Always enable CONFIG_HOTPLUG_CPU on PSERIES SMP
      powerpc/kvm/book3s: Add support for H_IPOLL and H_XIRR_X in XICS emulation
      powerpc/32bit:Store temporary result in r0 instead of r8
      powerpc/mm: Always invalidate tlb on hpte invalidate and update
      powerpc/pseries: Improve stream generation comments in copypage/user
      powerpc/pseries: Kill all prefetch streams on context switch
      powerpc/cputable: Fix oprofile_cpu_type on power8
      powerpc/mpic: Fix irq distribution problem when MPIC_SINGLE_DEST_CPU
      powerpc/tm: Fix userspace stack corruption on signal delivery for active transactions
      powerpc/tm: Move TM abort cause codes to uapi
      powerpc/tm: Abort on emulation and alignment faults
      powerpc/tm: Update cause codes documentation
      powerpc/tm: Make room for hypervisor in abort cause codes
  12. Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending

    torvalds committed Jun 1, 2013
    Pull scsi target fixes from Nicholas Bellinger:
     "The highlights include:
    
       - Re-instate sess->wait_list in target_wait_for_sess_cmds() for
         active I/O shutdown handling in fabrics using se_cmd->cmd_kref
       - Make ib_srpt call target_sess_cmd_list_set_waiting() during session
         shutdown
       - Fix FILEIO off-by-one READ_CAPACITY bug for !S_ISBLK export
       - Fix iscsi-target login error heap buffer overflow (Kees)
       - Fix iscsi-target active I/O shutdown handling regression in
         v3.10-rc1
    
      A big thanks to Kees Cook for fixing a long standing login error
      buffer overflow bug.
    
      All patches are CC'ed to stable with the exception of the v3.10-rc1
      specific regression + other minor target cleanup."
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
      iscsi-target: Fix iscsit_free_cmd() se_cmd->cmd_kref shutdown handling
      target: Propigate up ->cmd_kref put return via transport_generic_free_cmd
      iscsi-target: fix heap buffer overflow on error
      target/file: Fix off-by-one READ_CAPACITY bug for !S_ISBLK export
      ib_srpt: Call target_sess_cmd_list_set_waiting during shutdown_session
      target: Re-instate sess_wait_list for target_wait_for_sess_cmds
      target: Remove unused wait_for_tasks bit in target_wait_for_sess_cmds
  13. Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mturqu…

    torvalds committed Jun 1, 2013
    …ette/linux
    
    Pull clock subsystem fixes from Mike Turquette:
     "A mix of small fixes affecting mostly ARM platforms as well as a
      discrete clock expander chip.  Most fixes are corrections to lousy
      clock data of one form or another."
    
    * tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mturquette/linux:
      clk: mxs: Include clk mxs header file
      clk: vt8500: Fix unbalanced spinlock in vt8500_dclk_set_rate()
      clk: si5351: Set initial clkout rate when defined in platform data.
      clk: si5351: Fix clkout rate computation.
      clk: samsung: Add CLK_IGNORE_UNUSED flag for the sysreg clocks
      clk: ux500: clk-sysctrl: handle clocks with no parents
      clk: ux500: Provide device enumeration number suffix for SMSC911x
  14. Merge tag 'fbdev-for-3.10-rc4' of git://git.kernel.org/pub/scm/linux/…

    torvalds committed Jun 1, 2013
    …kernel/git/plagnioj/linux-fbdev
    
    Pull fbdev fixes from Jean-Christophe PLAGNIOL-VILLARD:
     "This contains some small fixes
    
       - Atmel LCDC: fix blank the backlight on remove
       - ps3fb: fix compile warning
       - OMAPDSS: Fix crash with DT boot"
    
    * tag 'fbdev-for-3.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/plagnioj/linux-fbdev:
      atmel_lcdfb: blank the backlight on remove
      trivial: atmel_lcdfb: add missing error message
      OMAPDSS: Fix crash with DT boot
      fbdev/ps3fb: fix compile warning
  15. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds committed Jun 1, 2013
    …/git/viro/vfs
    
    Pull assorted fixes from Al Viro:
     "There'll be more - I'm trying to dig out from under the pile of mail
      (a couple of weeks of something flu-like ;-/) and there's several more
      things waiting for review; this is just the obvious stuff."
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      zoran: racy refcount handling in vm_ops ->open()/->close()
      befs_readdir(): do not increment ->f_pos if filldir tells us to stop
      hpfs: deadlock and race in directory lseek()
      qnx6: qnx6_readdir() has a braino in pos calculation
      fix buffer leak after "scsi: saner replacements for ->proc_info()"
      vfs: Fix invalid ida_remove() call
  16. Merge tag 'nfs-for-3.10-4' of git://git.linux-nfs.org/projects/trondm…

    torvalds committed Jun 1, 2013
    …y/linux-nfs
    
    Pull two NFS client fixes from Trond Myklebust:
     - Fix a regression that broke NFS mounting using klibc and busybox
     - Stable fix to check access modes correctly on NFSv4 delegated open()
    
    * tag 'nfs-for-3.10-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
      NFS: Fix security flavor negotiation with legacy binary mounts
      NFSv4: Fix a thinko in nfs4_try_open_cached
Commits on May 31, 2013
  1. powerpc/cputable: Fix typo on P7+ cputable entry

    willschm committed with ozbenh May 20, 2013
    Fix a typo in setting COMMON_USER2_POWER7 bits to .cpu_user_features2
    cpu specs table.
    
    Signed-off-by: Will Schmidt <will_schmidt@vnet.ibm.com>
    Acked-by: Michael Neuling <mikey@neuling.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  2. powerpc/perf: Add missing SIER support

    mpe committed with ozbenh May 15, 2013
    Commit 8f61aa3 "Add support for SIER" missed updates to siar_valid()
    and perf_get_data_addr().
    
    In both cases we need to check the SIER instead of mmcra.
    
    Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  3. powerpc/perf: Revert to original NO_SIPR logic

    mpe committed with ozbenh May 15, 2013
    This is a revert and then some of commit 860aad7 "Add regs_no_sipr()".
    This workaround was only needed on early chip versions.
    
    As before NO_SIPR becomes a static flag of the PMU struct.
    
    Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>