1. 15 Jul, 2012 5 commits
  2. 05 Jul, 2012 6 commits
    • Ohad Ben-Cohen's avatar
      remoteproc: adopt the driver core's alloc/add/del/put naming · 160e7c84
      Ohad Ben-Cohen authored
      To make remoteproc's API more intuitive for developers, we adopt
      the driver core's naming, i.e. alloc -> add -> del -> put. We'll also
      add register/unregister when their first user shows up.
      
      Otherwise - there's no functional change here.
      
      Suggested by Russell King <linux@arm.linux.org.uk>.
      
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Fernando Guzman Lugo <fernando.lugo@ti.com>
      Cc: Sjur Brændeland <sjur.brandeland@stericsson.com>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Acked-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
      160e7c84
    • Ohad Ben-Cohen's avatar
      remoteproc: remove the get_by_name/put API · 40e575b1
      Ohad Ben-Cohen authored
      Remove rproc_get_by_name() and rproc_put(), and the associated
      remoteproc infrastructure that supports it (i.e. klist and friends),
      because:
      
      1. No one uses them
      2. Using them is highly discouraged, and any potential user
         will be deeply scrutinized and encouraged to move.
      
      If a user, that absolutely can't live with the direct boot/shutdown
      model, does show up one day, then bringing this functionality back
      is going to be trivial.
      
      At this point though, keeping this functionality around is way too
      much of a maintenance burden.
      
      Cc: Sjur Brændeland <sjur.brandeland@stericsson.com>
      Cc: Loic Pallardy <loic.pallardy@stericsson.com>
      Cc: Ludovic BARRE <ludovic.barre@stericsson.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Fernando Guzman Lugo <fernando.lugo@ti.com>
      Cc: Suman Anna <s-anna@ti.com>
      Cc: Mark Grosen <mgrosen@ti.com>
      Acked-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
      40e575b1
    • Ohad Ben-Cohen's avatar
      remoteproc: support non-iommu carveout assignment · 0e49b72c
      Ohad Ben-Cohen authored
      Publish carveout addresses on non-iommu setups too.
      Reported-and-acked-by: default avatarSjur Brændeland <sjur.brandeland@stericsson.com>
      Signed-off-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
      0e49b72c
    • Ohad Ben-Cohen's avatar
      remoteproc: simplify unregister/free interfaces · c6b5a276
      Ohad Ben-Cohen authored
      Simplify the unregister/free interfaces, and make them easier
      to understand and use, by moving to a symmetric and consistent
      alloc() -> register() -> unregister() -> free() flow.
      
      To create and register an rproc instance, one needed to invoke
      rproc_alloc() followed by rproc_register().
      
      To unregister and free an rproc instance, one now needs to invoke
      rproc_unregister() followed by rproc_free().
      
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
      c6b5a276
    • Ohad Ben-Cohen's avatar
      remoteproc: remove the now-redundant kref · 7183a2a7
      Ohad Ben-Cohen authored
      Now that every rproc instance contains a device, we don't need a
      kref anymore to maintain the refcount of the rproc instances:
      that's what device are good with!
      
      This patch removes the now-redundant kref, and switches to
      {get, put}_device instead of kref_{get, put}.
      
      We also don't need the kref's release function anymore, and instead,
      we just utilize the class's release handler (which is now responsible
      for all memory de-allocations).
      
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Cc: Fernando Guzman Lugo <fernando.lugo@ti.com>
      Signed-off-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
      7183a2a7
    • Ohad Ben-Cohen's avatar
      remoteproc: maintain a generic child device for each rproc · b5ab5e24
      Ohad Ben-Cohen authored
      For each registered rproc, maintain a generic remoteproc device whose
      parent is the low level platform-specific device (commonly a pdev, but
      it may certainly be any other type of device too).
      
      With this in hand, the resulting device hierarchy might then look like:
      
      omap-rproc.0
       |
       - remoteproc0  <---- new !
          |
          - virtio0
          |
          - virtio1
             |
             - rpmsg0
             |
             - rpmsg1
             |
             - rpmsg2
      
      Where:
      - omap-rproc.0 is the low level device that's bound to the
        driver which invokes rproc_register()
      - remoteproc0 is the result of this patch, and will be added by the
        remoteproc framework when rproc_register() is invoked
      - virtio0 and virtio1 are vdevs that are registered by remoteproc
        when it realizes that they are supported by the firmware
        of the physical remote processor represented by omap-rproc.0
      - rpmsg0, rpmsg1 and rpmsg2 are rpmsg devices that represent rpmsg
        channels, and are registerd by the rpmsg bus when it gets notified
        about their existence
      
      Technically, this patch:
      - changes 'struct rproc' to contain this generic remoteproc.x device
      - creates a new "remoteproc" type, to which this new generic remoteproc.x
        device belong to.
      - adds a super simple enumeration method for the indices of the
        remoteproc.x devices
      - updates all dev_* messaging to use the generic remoteproc.x device
        instead of the low level platform-specific device
      - updates all dma_* allocations to use the parent of remoteproc.x (where
        the platform-specific memory pools, most commonly CMA, are to be found)
      
      Adding this generic device has several merits:
      - we can now add remoteproc runtime PM support simply by hooking onto the
        new "remoteproc" type
      - all remoteproc log messages will now carry a common name prefix
        instead of having a platform-specific one
      - having a device as part of the rproc struct makes it possible to simplify
        refcounting (see subsequent patch)
      
      Thanks to Stephen Boyd <sboyd@codeaurora.org> for suggesting and
      discussing these ideas in one of the remoteproc review threads and
      to Fernando Guzman Lugo <fernando.lugo@ti.com> for trying them out
      with the (upcoming) runtime PM support for remoteproc.
      
      Cc: Fernando Guzman Lugo <fernando.lugo@ti.com>
      Reviewed-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
      b5ab5e24
  3. 04 Jul, 2012 1 commit
    • Ohad Ben-Cohen's avatar
      remoteproc: allocate vrings on demand, free when not needed · 6db20ea8
      Ohad Ben-Cohen authored
      Dynamically allocate the vrings' DMA when the remote processor
      is about to be powered on (i.e. when ->find_vqs() is invoked),
      and release them as soon as it is powered off (i.e. when ->del_vqs()
      is invoked).
      
      The obvious and immediate benefit is better memory utilization, since
      memory for the vrings is now only allocated when the relevant remote
      processor is used.
      
      Additionally, this approach also makes recovery of a (crashing)
      remote processor easier: one just needs to remove the relevant
      vdevs, and the entire vrings cleanup takes place automagically.
      Tested-by: default avatarFernando Guzman Lugo <fernando.lugo@ti.com>
      Signed-off-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
      6db20ea8
  4. 17 Jun, 2012 3 commits
  5. 16 Jun, 2012 14 commits
    • Linus Torvalds's avatar
      Merge tag 'fbdev-fixes-for-3.5-1' of git://github.com/schandinat/linux-2.6 · 88c144b1
      Linus Torvalds authored
      Pull fbdev fixes from Florian Tobias Schandinat:
      
       - two fixes for s3c-fb by Jingoo Han (including a fix for a potential
         division by zero)
      
       - a couple of randconfig fixes by Arnd Bergmann
      
       - a cleanup for bfin_adv7393fb by Emil Goode
      
      * tag 'fbdev-fixes-for-3.5-1' of git://github.com/schandinat/linux-2.6:
        video: s3c-fb: fix possible division by zero in s3c_fb_calc_pixclk
        video: s3c-fb: clear SHADOWCON register when clearing hardware window registers
        drivers/tosa: driver needs I2C and SPI to compile
        drivers/savagefb: use mdelay instead of udelay
        video/console: automatically select a font
        video/ili9320: do not mark exported functions __devexit
        drivers/video: use correct __devexit_p annotation
        video: bfin_adv7393fb: Convert to kstrtouint_from_user
      88c144b1
    • Chris Metcalf's avatar
      tile: fix bug in get_user() for 4-byte values · 6699c8cd
      Chris Metcalf authored
      The definition of 32-bit values in the 64-bit tilegx architecture is that
      they should be sign-extended regardless of whether they are considered
      signed or unsigned by the compiler.  Accordingly, we need to use an
      "ld4s" rather than "ld4u" to load and sign-extend for get_user().
      
      This fixes glibc bug 14238 (see http://sourceware.org/bugzilla),
      introduced during the 3.5 merge window.
      Signed-off-by: default avatarChris Metcalf <cmetcalf@tilera.com>
      6699c8cd
    • Hugh Dickins's avatar
      swap: fix shmem swapping when more than 8 areas · 9b15b817
      Hugh Dickins authored
      Minchan Kim reports that when a system has many swap areas, and tmpfs
      swaps out to the ninth or more, shmem_getpage_gfp()'s attempts to read
      back the page cannot locate it, and the read fails with -ENOMEM.
      
      Whoops.  Yes, I blindly followed read_swap_header()'s pte_to_swp_entry(
      swp_entry_to_pte()) technique for determining maximum usable swap
      offset, without stopping to realize that that actually depends upon the
      pte swap encoding shifting swap offset to the higher bits and truncating
      it there.  Whereas our radix_tree swap encoding leaves offset in the
      lower bits: it's swap "type" (that is, index of swap area) that was
      truncated.
      
      Fix it by reducing the SWP_TYPE_SHIFT() in swapops.h, and removing the
      broken radix_to_swp_entry(swp_to_radix_entry()) from read_swap_header().
      
      This does not reduce the usable size of a swap area any further, it
      leaves it as claimed when making the original commit: no change from 3.0
      on x86_64, nor on i386 without PAE; but 3.0's 512GB is reduced to 128GB
      per swapfile on i386 with PAE.  It's not a change I would have risked
      five years ago, but with x86_64 supported for ten years, I believe it's
      appropriate now.
      
      Hmm, and what if some architecture implements its swap pte with offset
      encoded below type? That would equally break the maximum usable swap
      offset check.  Happily, they all follow the same tradition of encoding
      offset above type, but I'll prepare a check on that for next.
      Reported-and-Reviewed-and-Tested-by: default avatarMinchan Kim <minchan@kernel.org>
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Cc: stable@vger.kernel.org [3.1, 3.2, 3.3, 3.4]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9b15b817
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · a2c2df86
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is a couple of minor fixes, one for a preempt warning in the
        mpt2sas driver and one is a config failure with the new sd async
        domain."
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        [SCSI] Fix sd_probe_domain config problem
        [SCSI] mpt2sas: Fix unsafe using smp_processor_id() in preemptible
      a2c2df86
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-3.5-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 873b779d
      Linus Torvalds authored
      Pull NFS client bugfixes from Trond Myklebust:
       "Highlights include:
      
         - Fix a couple of mount regressions due to the recent cleanups.
         - Fix an Oops in the open recovery code
         - Fix an rpc_pipefs upcall hang that results from some of the net
           namespace work from 3.4.x (stable kernel candidate).
         - Fix a couple of write and o_direct regressions that were found at
           last weeks Bakeathon testing event in Ann Arbor."
      
      * tag 'nfs-for-3.5-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFS: add an endian notation for sparse
        NFSv4.1: integer overflow in decode_cb_sequence_args()
        rpc_pipefs: allow rpc_purge_list to take a NULL waitq pointer
        NFSv4 do not send an empty SETATTR compound
        NFSv2: EOF incorrectly set on short read
        NFS: Use the NFS_DEFAULT_VERSION for v2 and v3 mounts
        NFS: fix directio refcount bug on commit
        NFSv4: Fix unnecessary delegation returns in nfs4_do_open
        NFSv4.1: Convert another trivial printk into a dprintk
        NFS4: Fix open bug when pnfs module blacklisted
        NFS: Remove incorrect BUG_ON in nfs_found_client
        NFS: Map minor mismatch error to protocol not support error.
        NFS: Fix a commit bug
        NFS4: Set parsed mount data version to 4
        NFSv4.1: Ensure we clear session state flags after a session creation
        NFSv4.1: Convert a trivial printk into a dprintk
        NFSv4: Fix up decode_attr_mdsthreshold
        NFSv4: Fix an Oops in the open recovery code
        NFSv4.1: Fix a request leak on the back channel
      873b779d
    • Linus Torvalds's avatar
      Merge branch 'fixes-for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping · 56b880e2
      Linus Torvalds authored
      Pull DMA-mapping fixes from Marek Szyprowski:
       "A set of minor fixes for dma-mapping code (ARM and x86) required for
        Contiguous Memory Allocator (CMA) patches merged in v3.5-rc1."
      
      * 'fixes-for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
        x86: dma-mapping: fix broken allocation when dma_mask has been provided
        ARM: dma-mapping: fix debug messages in dmabounce code
        ARM: mm: fix type of the arm_dma_limit global variable
        ARM: dma-mapping: Add missing static storage class specifier
      56b880e2
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc · 1043e3be
      Linus Torvalds authored
      Pull PowerPC fix from Paul Mackerras:
       "Just one commit, and a one-liner at that, but an important one;
        without it hard_irq_disable() does nothing on powerpc."
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
        Make hard_irq_disable() actually hard-disable interrupts
      1043e3be
    • Linus Torvalds's avatar
      Merge branch 'for-3.5' of git://linux-nfs.org/~bfields/linux · 93dd048d
      Linus Torvalds authored
      Pull two nfsd bugfixes from J. Bruce Fields.
      
      * 'for-3.5' of git://linux-nfs.org/~bfields/linux:
        nfsd4: BUG_ON(!is_spin_locked()) no good on UP kernels
        NFS: hard-code init_net for NFS callback transports
      93dd048d
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.5-rc2-tag' of... · 069915b9
      Linus Torvalds authored
      Merge tag 'stable/for-linus-3.5-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      Pull five Xen bug-fixes from Konrad Rzeszutek Wilk:
      
       - When booting as PVHVM we would try to use PV console - but would not validate
         the parameters causing us to crash during restore b/c we re-use the wrong event
         channel.
       - When booting on machines with SR-IOV PCI bridge we didn't check for the bridge
         and tried to use it.
       - Under AMD machines would advertise the APERFMPERF resulting in needless amount
         of MSRs from the guest.
       - A global value (xen_released_pages) was not subtracted at bootup when pages
         were added back in. This resulted in the balloon worker having the wrong
         account of how many pages were truly released.
       - Fix dead-lock when xen-blkfront is run in the same domain as xen-blkback.
      
      * tag 'stable/for-linus-3.5-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen: mark local pages as FOREIGN in the m2p_override
        xen/setup: filter APERFMPERF cpuid feature out
        xen/balloon: Subtract from xen_released_pages the count that is populated.
        xen/pci: Check for PCI bridge before using it.
        xen/events: Add WARN_ON when quick lookup found invalid type.
        xen/hvc: Check HVM_PARAM_CONSOLE_[EVTCHN|PFN] for correctness.
        xen/hvc: Fix error cases around HVM_PARAM_CONSOLE_PFN
        xen/hvc: Collapse error logic.
      069915b9
    • Linus Torvalds's avatar
      Merge tag 'usb-3.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 41c8c535
      Linus Torvalds authored
      Pull USB fixes from Greg Kroah-Hartman:
       "Here are a bunch of tiny fixes for the USB core and drivers for
        3.5-rc3
      
        A bunch of gadget fixes, and new device ids, as well as some fixes for
        a number of different regressions that have been reported recently.
        We also fixed some PCI host controllers to resolve a long-standing bug
        with a whole class of host controllers that have been plaguing people
        for a number of kernel releases, preventing their systems from
        suspending properly.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'usb-3.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (41 commits)
        USB: fix gathering of interface associations
        usb: ehci-sh: fix illegal phy_init() running when platform_data is NULL
        usb: cdc-acm: fix devices not unthrottled on open
        Fix OMAP EHCI suspend/resume failure (i693)
        USB: ohci-hub: Mark ohci_finish_controller_resume() as __maybe_unused
        usb: use usb_serial_put in usb_serial_probe errors
        USB: EHCI: Fix build warning in xilinx ehci driver
        USB: fix PS3 EHCI systems
        xHCI: Increase the timeout for controller save/restore state operation
        xhci: Don't free endpoints in xhci_mem_cleanup()
        xhci: Fix invalid loop check in xhci_free_tt_info()
        xhci: Fix error path return value.
        USB: Checking the wrong variable in usb_disable_lpm()
        usb-storage: Add 090c:1000 to unusal-devs
        USB: serial-generic: use a single set of device IDs
        USB: serial: Enforce USB driver and USB serial driver match
        USB: add NO_D3_DURING_SLEEP flag and revert 151b6128
        USB: option: add more YUGA device ids
        USB: mos7840: Fix compilation of usb serial driver
        USB: option: fix memory leak
        ...
      41c8c535
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide · 8e53ed10
      Linus Torvalds authored
      Pull IDE fixes from David S. Miller:
      
      1) Two fixes to icside, one for a build failure and another for a
         warning.  From Christian Dietrich.
      
      2) Fix a bit operation that did erroneous masking, from Julia Lawall.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
        drivers/ide/ide-cs.c: adjust suspicious bit operation
        ide: icside.c: fix printk format string compile warning
        ide: icside.c: Fix compile with CONFIG_BLK_DEV_IDEDMA_ICS=n
      8e53ed10
    • Chris Mason's avatar
      Btrfs: cast devid to unsigned long long for printk %llu · a8c4a33b
      Chris Mason authored
      Avoid warning in 32 bit machines
      Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
      a8c4a33b
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 06da0351
      Linus Torvalds authored
      Pull sparc update from David S. Miller:
       "This just removes some sparc headers that were never, ever, used."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc: remove two unused headers
      06da0351
    • Chris Mason's avatar
      Btrfs: init old_generation in get_old_root · 4325edd0
      Chris Mason authored
      gcc was giving an uninit variable warning here.  Strictly
      speaking we don't need to init it, but this will make things
      much less error prone.
      Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
      4325edd0
  6. 15 Jun, 2012 11 commits