1. 25 Jul, 2012 1 commit
  2. 24 Jul, 2012 6 commits
  3. 19 Jul, 2012 9 commits
  4. 08 Jul, 2012 6 commits
    • Ondrej Zary's avatar
      s3fb: Add Virge/MX (86C260) · 6fcdbc0c
      Ondrej Zary authored
      Add support for Virge/MX (86C260) chip. Although this is a laptop chip,
      there's an AGP card with this chip too.
      
      Tested with AGP card, will probably not work correctly with laptops.
      DDC does not work on this card (even in DOS or Windows).
      Signed-off-by: default avatarOndrej Zary <linux@rainbow-software.org>
      Signed-off-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      6fcdbc0c
    • 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
  5. 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
  6. 24 Jun, 2012 4 commits
  7. 20 Jun, 2012 4 commits
  8. 17 Jun, 2012 3 commits
  9. 16 Jun, 2012 4 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