]> Git Repo - linux.git/commitdiff
Merge branch 'akpm' (patches from Andrew)
authorLinus Torvalds <[email protected]>
Sun, 17 Jan 2016 20:58:52 +0000 (12:58 -0800)
committerLinus Torvalds <[email protected]>
Sun, 17 Jan 2016 20:58:52 +0000 (12:58 -0800)
Merge second patch-bomb from Andrew Morton:

 - more MM stuff:

    - Kirill's page-flags rework

    - Kirill's now-allegedly-fixed THP rework

    - MADV_FREE implementation

    - DAX feature work (msync/fsync).  This isn't quite complete but DAX
      is new and it's good enough and the guys have a handle on what
      needs to be done - I expect this to be wrapped in the next week or
      two.

  - some vsprintf maintenance work

  - various other misc bits

* emailed patches from Andrew Morton <[email protected]>: (145 commits)
  printk: change recursion_bug type to bool
  lib/vsprintf: factor out %pN[F] handler as netdev_bits()
  lib/vsprintf: refactor duplicate code to special_hex_number()
  printk-formats.txt: remove unimplemented %pT
  printk: help pr_debug and pr_devel to optimize out arguments
  lib/test_printf.c: test dentry printing
  lib/test_printf.c: add test for large bitmaps
  lib/test_printf.c: account for kvasprintf tests
  lib/test_printf.c: add a few number() tests
  lib/test_printf.c: test precision quirks
  lib/test_printf.c: check for out-of-bound writes
  lib/test_printf.c: don't BUG
  lib/kasprintf.c: add sanity check to kvasprintf
  lib/vsprintf.c: warn about too large precisions and field widths
  lib/vsprintf.c: help gcc make number() smaller
  lib/vsprintf.c: expand field_width to 24 bits
  lib/vsprintf.c: eliminate potential race in string()
  lib/vsprintf.c: move string() below widen_string()
  lib/vsprintf.c: pull out padding code from dentry_name()
  printk: do cond_resched() between lines while outputting to consoles
  ...

1  2 
drivers/gpu/drm/gma500/framebuffer.c

index ee95c03a8c54fcb7948bcb761aa84c38d40c8b00,72bc979fa0dcec41fca7a2c2c5d8f7a9a20a5ea3..cb95765050cc0aade141941dfde9e77993373179
@@@ -21,6 -21,7 +21,7 @@@
  #include <linux/kernel.h>
  #include <linux/errno.h>
  #include <linux/string.h>
+ #include <linux/pfn_t.h>
  #include <linux/mm.h>
  #include <linux/tty.h>
  #include <linux/slab.h>
@@@ -132,7 -133,8 +133,8 @@@ static int psbfb_vm_fault(struct vm_are
        for (i = 0; i < page_num; i++) {
                pfn = (phys_addr >> PAGE_SHIFT);
  
-               ret = vm_insert_mixed(vma, address, pfn);
+               ret = vm_insert_mixed(vma, address,
+                               __pfn_to_pfn_t(pfn, PFN_DEV));
                if (unlikely((ret == -EBUSY) || (ret != 0 && i > 0)))
                        break;
                else if (unlikely(ret != 0)) {
@@@ -241,7 -243,7 +243,7 @@@ static struct fb_ops psbfb_unaccel_ops 
   */
  static int psb_framebuffer_init(struct drm_device *dev,
                                        struct psb_framebuffer *fb,
 -                                      struct drm_mode_fb_cmd2 *mode_cmd,
 +                                      const struct drm_mode_fb_cmd2 *mode_cmd,
                                        struct gtt_range *gt)
  {
        u32 bpp, depth;
  
  static struct drm_framebuffer *psb_framebuffer_create
                        (struct drm_device *dev,
 -                       struct drm_mode_fb_cmd2 *mode_cmd,
 +                       const struct drm_mode_fb_cmd2 *mode_cmd,
                         struct gtt_range *gt)
  {
        struct psb_framebuffer *fb;
@@@ -406,6 -408,8 +408,6 @@@ static int psbfb_create(struct psb_fbde
  
        memset(dev_priv->vram_addr + backing->offset, 0, size);
  
 -      mutex_lock(&dev->struct_mutex);
 -
        info = drm_fb_helper_alloc_fbi(&fbdev->psb_fb_helper);
        if (IS_ERR(info)) {
                ret = PTR_ERR(info);
        dev_dbg(dev->dev, "allocated %dx%d fb\n",
                                        psbfb->base.width, psbfb->base.height);
  
 -      mutex_unlock(&dev->struct_mutex);
        return 0;
  out_unref:
        if (backing->stolen)
                psb_gtt_free_range(dev, backing);
        else
 -              drm_gem_object_unreference(&backing->gem);
 +              drm_gem_object_unreference_unlocked(&backing->gem);
  
        drm_fb_helper_release_fbi(&fbdev->psb_fb_helper);
  out_err1:
 -      mutex_unlock(&dev->struct_mutex);
        psb_gtt_free_range(dev, backing);
        return ret;
  }
   */
  static struct drm_framebuffer *psb_user_framebuffer_create
                        (struct drm_device *dev, struct drm_file *filp,
 -                       struct drm_mode_fb_cmd2 *cmd)
 +                       const struct drm_mode_fb_cmd2 *cmd)
  {
        struct gtt_range *r;
        struct drm_gem_object *obj;
@@@ -565,7 -571,7 +567,7 @@@ static int psb_fbdev_destroy(struct drm
        drm_framebuffer_cleanup(&psbfb->base);
  
        if (psbfb->gtt)
 -              drm_gem_object_unreference(&psbfb->gtt->gem);
 +              drm_gem_object_unreference_unlocked(&psbfb->gtt->gem);
        return 0;
  }
  
@@@ -780,8 -786,12 +782,8 @@@ void psb_modeset_cleanup(struct drm_dev
  {
        struct drm_psb_private *dev_priv = dev->dev_private;
        if (dev_priv->modeset) {
 -              mutex_lock(&dev->struct_mutex);
 -
                drm_kms_helper_poll_fini(dev);
                psb_fbdev_fini(dev);
                drm_mode_config_cleanup(dev);
 -
 -              mutex_unlock(&dev->struct_mutex);
        }
  }
This page took 0.090216 seconds and 4 git commands to generate.