1. 10 7月, 2009 1 次提交
  2. 09 7月, 2009 1 次提交
  3. 07 7月, 2009 1 次提交
  4. 05 7月, 2009 1 次提交
    • P
      video: sm501fb: Early initialization of mm_lock mutex. · f50bf2b2
      Paul Mundt 提交于
      Commit 537a1bf0 (fbdev: add mutex for
      fb_mmap locking) introduces a ->mm_lock mutex for protecting smem
      assignments. Unfortunately in the case of sm501fb these happen quite
      early in the initialization code, well before the mutex_init() that takes
      place in register_framebuffer(), leading to:
      
         Badness at kernel/mutex.c:207
      
         Pid : 1, Comm:          swapper
         CPU : 0                 Not tainted  (2.6.31-rc1-00284-g529ba0d9-dirty #2273)
      
         PC is at __mutex_lock_slowpath+0x72/0x1bc
         PR is at __mutex_lock_slowpath+0x66/0x1bc
         ...
      
      matroxfb appears to have the same issue and has solved it with an early
      mutex_init(), so we do the same for sm501fb.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      Cc: Krzysztof Helt <krzysztof.h1@wp.pl>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f50bf2b2
  5. 01 7月, 2009 1 次提交
    • K
      fbdev: add mutex for fb_mmap locking · 537a1bf0
      Krzysztof Helt 提交于
      Add a mutex to avoid a circular locking problem between the mm layer
      semaphore and fbdev ioctl mutex through the fb_mmap() call.
      
      Also, add mutex to all places where smem_start and smem_len fields change
      so the mutex inside the fb_mmap() is actually used.  Changing of these
      fields before calling the framebuffer_register() are not mutexed.
      
      This is 2.6.31 material.  It removes one lockdep (fb_mmap() and
      register_framebuffer()) but there is still another one (fb_release() and
      register_framebuffer()).  It also cleans up handling of the smem_start and
      smem_len fields used by mutexed section of the fb_mmap().
      Signed-off-by: NKrzysztof Helt <krzysztof.h1@wp.pl>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      537a1bf0
  6. 01 4月, 2009 1 次提交
  7. 07 1月, 2009 1 次提交
  8. 25 7月, 2008 3 次提交
  9. 25 5月, 2008 1 次提交
  10. 05 3月, 2008 4 次提交
  11. 07 2月, 2008 3 次提交
    • B
      FB/SM501: ensure console suspended before saving state · 40488db2
      Ben Dooks 提交于
      Move the console suspend to before we save the state of
      the framebuffer to ensure that it does not try and change
      the fb state again once we have copied it out.
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Cc: Vincent Sanders <vince@simtec.co.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      40488db2
    • M
      sm501fb: clear framebuffer memory and palette · b1230ee5
      Magnus Damm 提交于
      Avoid displaying garbage on unused framebuffers.  For most users a single
      framebuffer is used together with fbcon.  sm501fb supports two framebuffers
      where one often is assigned to fbcon and the other one is left unused during
      the boot.
      
      The problem here is that framebuffers not in use by fbcon happen to display
      garbage.  This can easily be solved by making sure that framebuffer memory and
      palette ram are cleared.
      
      The problem can be observed by using looking at the panel output (fb1) after
      booting the kernel with fbcon on crt (fb0).  This is the default
      configuration.  It's also possible to watch the garbage on the crt framebuffer
      by passing "fbcon=map:1" on the kernel cmdline.  This will assign fbcon to the
      panel (fb1) and leave the crt (fb0) unused.
      Signed-off-by: NMagnus Damm <damm@igel.co.jp>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b1230ee5
    • M
      sm501fb: control panel pin usage with platform data flags · dfcffa46
      Magnus Damm 提交于
      This patch makes it possible to control panel pins usage with flags passed
      from the platform data.  Without this patch the sm501fb driver always controls
      the VBIASEN and FPEN pins.  The polarity and use of these pins are very
      platform specific, so this patch introduces the flags
      SM501FB_FLAG_PANEL_USE_VBIASEN and SM501FB_FLAG_PANEL_USE_FPEN which enable
      the use of these pins.
      
      This patch is needed to support the a Sharp LQ104V1DG21 lcd panel on SuperH
      platforms such as R2D-1 and R2D-PLUS boards.  Letting the sm501fb driver
      control the FPEN and VBIASEN pins like today just results in lcd panel
      flicker.
      Signed-off-by: NMagnus Damm <damm@igel.co.jp>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      dfcffa46
  12. 03 2月, 2008 1 次提交
  13. 17 10月, 2007 3 次提交
  14. 09 5月, 2007 1 次提交
  15. 05 3月, 2007 1 次提交
    • P
      [PATCH] fb: sm501fb off-by-1 sysfs store · 1f2b69f9
      Paul Mundt 提交于
      Currently sm501fb_crtsrc_store() won't allow the routing to be changed via
      echos from userspace in to the sysfs file.  The reason for this is that the
      strnicmp() for both heads uses a sizeof() for the string length, which ends
      up being strlen() + 1 (\0 in the normal case, but the echo gives a newline,
      which is where the issue occurs), this then causes a mismatch and
      subsequently bails with the -EINVAL.
      
      In addition to this, the hardcoded lengths were then used for the store
      length that was returned, which ended up being erroneous and resulting in a
      write error.  There's also no point in returning anything but the full
      length since it will -EINVAL out on a mismatch well before then anyways.
      
      sizeof("string") is great for making sure you have space in your buffer,
      but rather less so for string comparisons :-)
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      Acked-by: NBen Dooks <ben-linux@fluff.org>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1f2b69f9
  16. 02 3月, 2007 1 次提交
  17. 21 2月, 2007 1 次提交