1. 08 Jul, 2012 5 commits
    • Emil Goode's avatar
      grvga: Fix error handling issues · 42eb317f
      Emil Goode authored
      This patch fixes two problems with the error handling in the
      grvga_probe function and simplifies it making the code
      easier to read.
      
      - If the call to grvga_parse_custom on line 370 fails we use
        the wrong label so that release_mem_region will be called
        without a call to request_mem_region being made.
      
      - If the call to ioremap on line 436 fails we should not try
        to call iounmap in the error handling code.
      
      This patch introduces the following changes:
      
      - Converts request_mem_region into its devm_ equivalent
        which simplifies the otherwise messy clean up code.
      
      - Changes the labels for correct error handling and their
        names to make the code easier to read.
      Signed-off-by: default avatarEmil Goode <emilgoode@gmail.com>
      Signed-off-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      42eb317f
    • Paul Parsons's avatar
      video: w100fb: Reduce sleep mode battery discharge · fb181559
      Paul Parsons authored
      In 2006 and 2007 the handhelds.org kernel w100fb driver was patched to
      reduce sleep mode battery discharge. Unfortunately those two patches
      never migrated to the mainline kernel.
      
      Fortunately the function affected - w100_suspend() - has not changed
      since; thus those patches still apply cleanly.
      
      Applying those patches to linux-3.4-rc3 running on an HP iPAQ hx4700
      reduces the sleep mode battery discharge from approximately 26 mA to
      approximately 11 mA.
      
      This patch combines those two patches into a single unified patch.
      Signed-off-by: default avatarPaul Parsons <lost.distance@yahoo.com>
      Cc: Matt Reimer <mreimer@sdgsystems.com>
      Cc: Philipp Zabel <philipp.zabel@gmail.com>
      Signed-off-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      fb181559
    • Florian Tobias Schandinat's avatar
    • Tomi Valkeinen's avatar
      OMAPDSS: fix warnings if CONFIG_PM_RUNTIME=n · 373b4365
      Tomi Valkeinen authored
      If runtime PM is not enabled in the kernel config, pm_runtime_get_sync()
      will always return 1 and pm_runtime_put_sync() will always return
      -ENOSYS. pm_runtime_get_sync() returning 1 presents no problem to the
      driver, but -ENOSYS from pm_runtime_put_sync() causes the driver to
      print a warning.
      
      One option would be to ignore errors returned by pm_runtime_put_sync()
      totally, as they only say that the call was unable to put the hardware
      into suspend mode.
      
      However, I chose to ignore the returned -ENOSYS explicitly, and print a
      warning for other errors, as I think we should get notified if the HW
      failed to go to suspend properly.
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Jassi Brar <jaswinder.singh@linaro.org>
      Cc: Grazvydas Ignotas <notasas@gmail.com>
      Signed-off-by: default avatarArchit Taneja <archit@ti.com>
      Signed-off-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      373b4365
    • Tomi Valkeinen's avatar
      OMAPDSS: Use PM notifiers for system suspend · 736f29cd
      Tomi Valkeinen authored
      The current way how omapdss handles system suspend and resume is that
      omapdss device (a platform device, which is not part of the device
      hierarchy of the DSS HW devices, like DISPC and DSI, or panels.) uses
      the suspend and resume callbacks from platform_driver to handle system
      suspend. It does this by disabling all enabled panels on suspend, and
      resuming the previously disabled panels on resume.
      
      This presents a few problems.
      
      One is that as omapdss device is not related to the panel devices or the
      DSS HW devices, there's no ordering in the suspend process. This means
      that suspend could be first ran for DSS HW devices and panels, and only
      then for omapdss device. Currently this is not a problem, as DSS HW
      devices and panels do not handle suspend.
      
      Another, more pressing problem, is that when suspending or resuming, the
      runtime PM functions return -EACCES as runtime PM is disabled during
      system suspend. This causes the driver to print warnings, and operations
      to fail as they think that they failed to bring up the HW.
      
      This patch changes the omapdss suspend handling to use PM notifiers,
      which are called before suspend and after resume. This way we have a
      normally functioning system when we are suspending and resuming the
      panels.
      
      This patch, I believe, creates a problem that somebody could enable or
      disable a panel between PM_SUSPEND_PREPARE and the system suspend, and
      similarly the other way around in resume. I choose to ignore the problem
      for now, as it sounds rather unlikely, and if it happens, it's not
      fatal.
      
      In the long run the system suspend handling of omapdss and panels should
      be thought out properly. The current approach feels rather hacky.
      Perhaps the panel drivers should handle system suspend, or the users of
      omapdss (omapfb, omapdrm) should handle system suspend.
      
      Note that after this patch we could probably revert
      0eaf9f52 (OMAPDSS: use sync versions of
      pm_runtime_put). But as I said, this patch may be temporary, so let's
      leave the sync version still in place.
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Reported-by: default avatarJassi Brar <jaswinder.singh@linaro.org>
      Tested-by: default avatarJassi Brar <jaswinder.singh@linaro.org>
      Tested-by: default avatarJoe Woodward <jw@terrafix.co.uk>
      Signed-off-by: default avatarArchit Taneja <archit@ti.com>
      [fts: fixed 2 brace coding style issues]
      Signed-off-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      736f29cd
  2. 27 Jun, 2012 3 commits
    • Aditya Nellutla's avatar
      da8xx-fb: Rounding FB size to satisfy SGX buffer requirements · 3b9cc4ea
      Aditya Nellutla authored
      In the real time use-case when SGX is used for rendering to FB buffers it has been
      observed that, the available memory from framebuffer driver is not sufficient for
      SGX under certain cases (like 16-bit WVGA resolution). SGX requires 2 swap buffers
      with each of the buffers aligned to lcm(line_length, PAGE_SIZE).
      
      Inorder to satisfy this requirement, we have two options,
      
      	- Increase number of FB buffers (LCD_NUM_BUFFERS) to 3. This is not
      	  recommended as we end up wasting huge memory in most of the cases.
      
      	- Align FB buffers to lcm(line_length, PAGE_SIZE).This ensures framebuffer
      	  size is increased to satisfy SGX requirements keeping alignment intact.
      
      This patch makes sure that FB allocates buffers aligned to above formula.
      Signed-off-by: default avatarAditya Nellutla <aditya.n@ti.com>
      Signed-off-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      3b9cc4ea
    • Liu Ying's avatar
      mx3fb: avoid screen flash when panning with fb_set_var · 41a490ec
      Liu Ying authored
      Users may call FBIOPUT_VSCREENINFO ioctrl to do pan display.
      This ioctrl relies on fb_set_var() to do the job. fb_set_var()
      calls custom fb_set_par() method and then calls custom
      fb_pan_display() method. The current implementation of mx3fb
      reinitializes IPU display controller every time the custom
      fb_set_par() method is called, which makes the screen flash
      if fb_set_var() is called to do panning frequently. This patch
      compares the new var info with the cached old one to decide
      whether we really need to reinitialize IPU display controller.
      We ignore xoffset and yoffset update because it doesn't require
      to reinitialize the controller. Users may specify activate field
      of var info with FB_ACTIVATE_NOW and FB_ACTIVATE_FORCE to
      reinialize the controller by force.
      Signed-off-by: default avatarLiu Ying <Ying.Liu@freescale.com>
      Signed-off-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      41a490ec
    • Liu Ying's avatar
      mx3fb: support pan display with fb_set_var · 6cd77e00
      Liu Ying authored
      Users may call FBIOPUT_VSCREENINFO ioctrl to do pan display.
      This ioctrl relies on fb_set_var() to do the job. fb_set_var()
      calls the custom fb_set_par() method and then calls the custom
      fb_pan_display() method. Before calling the custom fb_pan_display()
      method, info->var is already updated from the new *var in fb_set_var().
      And, the custom fb_pan_display() method checks if xoffset and yoffset
      in info->var and the new *var are different before doing actual panning,
      which prevents the panning from happening within fb_set_var() context.
      This patch caches the current var info locally in mx3fb driver so that
      pan display with fb_set_var is supported.
      Signed-off-by: default avatarLiu Ying <Ying.Liu@freescale.com>
      Signed-off-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      6cd77e00
  3. 24 Jun, 2012 4 commits
  4. 20 Jun, 2012 4 commits
  5. 17 Jun, 2012 3 commits
  6. 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
  7. 15 Jun, 2012 7 commits