1. 09 Dec, 2016 1 commit
  2. 08 Dec, 2016 6 commits
    • Tomi Valkeinen's avatar
      drm/omap: tpd12s015: fix error handling · 5c2a392d
      Tomi Valkeinen authored
      tpd12s015 driver is missing error value handling for gpio
      initialization, causing 0 to be returned as an error if gpiod_get_*
      fails. This may cause deferred probing to fail.
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      5c2a392d
    • Tomi Valkeinen's avatar
      drm/omap: fix primary-plane's possible_crtcs · e43f2c33
      Tomi Valkeinen authored
      We set the possible_crtc for all planes to "(1 << priv->num_crtcs) - 1",
      which is fine as the HW planes can be used fro all crtcs. However, when
      we're doing that, we are still incrementing 'num_crtcs', and we'll end
      up with bad possible_crtcs, preventing the use of the primary planes.
      
      This patch passes a possible_crtcs mask to plane init function so that
      we get correct possible_crtc.
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      e43f2c33
    • Tomi Valkeinen's avatar
      drm: fix possible_crtc's type · 5cd57a46
      Tomi Valkeinen authored
      drm_universal_plane_init() and drm_plane_init() take "unsigned long
      possible_crtcs" parameter, but then stuff it into uint32_t. Change the
      parameter to uint32_t.
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      5cd57a46
    • Dave Airlie's avatar
      Merge tag 'meson-drm-for-4.10' of github.com:superna9999/linux into drm-next · e783fd0c
      Dave Airlie authored
      Add support for the Amlogic Meson Video Processing Unit
      - Only CVBS/Composite output for Amlogic Meson GXBB/GXL/GXM SoCs
      - Add MAINTAINERS entry
      - Add DT bindings documentation
      
      * tag 'meson-drm-for-4.10' of github.com:superna9999/linux:
        MAINTAINERS: add entry for Amlogic DRM drivers
        dt-bindings: display: add Amlogic Meson DRM Bindings
        drm: Add support for Amlogic Meson Graphic Controller
      e783fd0c
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-fixes-2016-12-07' of... · 3eff97b2
      Dave Airlie authored
      Merge tag 'drm-intel-next-fixes-2016-12-07' of git://anongit.freedesktop.org/git/drm-intel into drm-next
      
      first set of fixes for -next.
      
      * tag 'drm-intel-next-fixes-2016-12-07' of git://anongit.freedesktop.org/git/drm-intel:
        drm/i915: Move priority bumping for flips earlier
        drm/i915: Hold a reference on the request for its fence chain
        drm/i915/audio: fix hdmi audio noise issue
        drm/i915/debugfs: Increment return value of gt.next_seqno
        drm/i915/debugfs: Drop i915_hws_info
        drm/i915: Initialize dev_priv->atomic_cdclk_freq at init time
        drm/i915: Fix cdclk vs. dev_cdclk mess when not recomputing things
        drm/i915: Make skl_write_{plane,cursor}_wm() static
        drm/i915: Complete requests in nop_submit_request
        drm/i915/gvt: fix lock not released bug for dispatch_workload() err path
        drm/i915/gvt: fix getting 64bit bar size error
        drm/i915/gvt: fix missing init param.primary
      3eff97b2
    • Marek Vasut's avatar
      drm: mxsfb: Select DRM_PANEL · 81662557
      Marek Vasut authored
      Select DRM_PANEL, since the MXSFB driver depends on it. Otherwise,
      we get the following error when compiling:
      
      drivers/built-in.o: In function `mxsfb_probe':
      core.c:(.text+0x9ce9c): undefined reference to `drm_panel_attach'
      core.c:(.text+0x9cff0): undefined reference to `drm_panel_detach'
      drivers/built-in.o: In function `mxsfb_panel_connector_destroy':
      core.c:(.text+0x9d614): undefined reference to `drm_panel_detach'
      drivers/built-in.o: In function `mxsfb_create_output':
      core.c:(.text+0x9d68c): undefined reference to `of_drm_find_panel'
      make: *** [Makefile:962: vmlinux] Error 1
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Dave Airlie <airlied@redhat.com>
      Reported-by: default avatarStefan Agner <stefan@agner.ch>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      81662557
  3. 06 Dec, 2016 9 commits
  4. 05 Dec, 2016 18 commits
  5. 04 Dec, 2016 2 commits
    • Linus Torvalds's avatar
      Linux 4.9-rc8 · 3e5de27e
      Linus Torvalds authored
      3e5de27e
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-for-v4.9-rc8' of git://people.freedesktop.org/~airlied/linux · 0cb65c83
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "A pretty small pull request: a couple of AMD powerxpress regression
        fixes and a power management fix, a couple of i915 fixes and one hdlcd
        fix, along with one core don't oops because of incorrect API usage fix"
      
      * tag 'drm-fixes-for-v4.9-rc8' of git://people.freedesktop.org/~airlied/linux:
        drm/i915: drop the struct_mutex when wedged or trying to reset
        drm/i915: Don't touch NULL sg on i915_gem_object_get_pages_gtt() error
        drm: Don't call drm_for_each_crtc with a non-KMS driver
        drm/radeon: fix check for port PM availability
        drm/amdgpu: fix check for port PM availability
        drm/amd/powerplay: initialize the soft_regs offset in struct smu7_hwmgr
        drm: hdlcd: Fix cleanup order
      0cb65c83
  6. 03 Dec, 2016 4 commits
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2016-12-01' of... · ab7cd8d8
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2016-12-01' of git://anongit.freedesktop.org/git/drm-intel into drm-fixes
      
      2 intel fixes.
      
      * tag 'drm-intel-fixes-2016-12-01' of git://anongit.freedesktop.org/git/drm-intel:
        drm/i915: drop the struct_mutex when wedged or trying to reset
        drm/i915: Don't touch NULL sg on i915_gem_object_get_pages_gtt() error
      ab7cd8d8
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 3c49de52
      Linus Torvalds authored
      Merge more fixes from Andrew Morton:
       "2 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        mm, vmscan: add cond_resched() into shrink_node_memcg()
        mm: workingset: fix NULL ptr in count_shadow_nodes
      3c49de52
    • Michal Hocko's avatar
      mm, vmscan: add cond_resched() into shrink_node_memcg() · bd041733
      Michal Hocko authored
      Boris Zhmurov has reported RCU stalls during the kswapd reclaim:
      
        INFO: rcu_sched detected stalls on CPUs/tasks:
         23-...: (22 ticks this GP) idle=92f/140000000000000/0 softirq=2638404/2638404 fqs=23
         (detected by 4, t=6389 jiffies, g=786259, c=786258, q=42115)
        Task dump for CPU 23:
        kswapd1         R  running task        0   148      2 0x00000008
        Call Trace:
          shrink_node+0xd2/0x2f0
          kswapd+0x2cb/0x6a0
          mem_cgroup_shrink_node+0x160/0x160
          kthread+0xbd/0xe0
          __switch_to+0x1fa/0x5c0
          ret_from_fork+0x1f/0x40
          kthread_create_on_node+0x180/0x180
      
      a closer code inspection has shown that we might indeed miss all the
      scheduling points in the reclaim path if no pages can be isolated from
      the LRU list.  This is a pathological case but other reports from Donald
      Buczek have shown that we might indeed hit such a path:
      
              clusterd-989   [009] .... 118023.654491: mm_vmscan_direct_reclaim_end: nr_reclaimed=193
               kswapd1-86    [001] dN.. 118023.987475: mm_vmscan_lru_isolate: isolate_mode=0 classzone=0 order=0 nr_requested=32 nr_scanned=4239830 nr_taken=0 file=1
               kswapd1-86    [001] dN.. 118024.320968: mm_vmscan_lru_isolate: isolate_mode=0 classzone=0 order=0 nr_requested=32 nr_scanned=4239844 nr_taken=0 file=1
               kswapd1-86    [001] dN.. 118024.654375: mm_vmscan_lru_isolate: isolate_mode=0 classzone=0 order=0 nr_requested=32 nr_scanned=4239858 nr_taken=0 file=1
               kswapd1-86    [001] dN.. 118024.987036: mm_vmscan_lru_isolate: isolate_mode=0 classzone=0 order=0 nr_requested=32 nr_scanned=4239872 nr_taken=0 file=1
               kswapd1-86    [001] dN.. 118025.319651: mm_vmscan_lru_isolate: isolate_mode=0 classzone=0 order=0 nr_requested=32 nr_scanned=4239886 nr_taken=0 file=1
               kswapd1-86    [001] dN.. 118025.652248: mm_vmscan_lru_isolate: isolate_mode=0 classzone=0 order=0 nr_requested=32 nr_scanned=4239900 nr_taken=0 file=1
               kswapd1-86    [001] dN.. 118025.984870: mm_vmscan_lru_isolate: isolate_mode=0 classzone=0 order=0 nr_requested=32 nr_scanned=4239914 nr_taken=0 file=1
        [...]
               kswapd1-86    [001] dN.. 118084.274403: mm_vmscan_lru_isolate: isolate_mode=0 classzone=0 order=0 nr_requested=32 nr_scanned=4241133 nr_taken=0 file=1
      
      this is minute long snapshot which didn't take a single page from the
      LRU.  It is not entirely clear why only 1303 pages have been scanned
      during that time (maybe there was a heavy IRQ activity interfering).
      
      In any case it looks like we can really hit long periods without
      scheduling on non preemptive kernels so an explicit cond_resched() in
      shrink_node_memcg which is independent on the reclaim operation is due.
      
      Link: http://lkml.kernel.org/r/20161202095841.16648-1-mhocko@kernel.orgSigned-off-by: default avatarMichal Hocko <mhocko@suse.com>
      Reported-by: default avatarBoris Zhmurov <bb@kernelpanic.ru>
      Tested-by: default avatarBoris Zhmurov <bb@kernelpanic.ru>
      Reported-by: default avatarDonald Buczek <buczek@molgen.mpg.de>
      Reported-by: default avatar"Christopher S. Aker" <caker@theshore.net>
      Reported-by: default avatarPaul Menzel <pmenzel@molgen.mpg.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bd041733
    • Michal Hocko's avatar
      mm: workingset: fix NULL ptr in count_shadow_nodes · 20ab67a5
      Michal Hocko authored
      Commit 0a6b76dd ("mm: workingset: make shadow node shrinker memcg
      aware") has made the workingset shadow nodes shrinker memcg aware.  The
      implementation is not correct though because memcg_kmem_enabled() might
      become true while we are doing a global reclaim when the sc->memcg might
      be NULL which is exactly what Marek has seen:
      
        BUG: unable to handle kernel NULL pointer dereference at 0000000000000400
        IP: [<ffffffff8122d520>] mem_cgroup_node_nr_lru_pages+0x20/0x40
        PGD 0
        Oops: 0000 [#1] SMP
        CPU: 0 PID: 60 Comm: kswapd0 Tainted: G           O   4.8.10-12.pvops.qubes.x86_64 #1
        task: ffff880011863b00 task.stack: ffff880011868000
        RIP: mem_cgroup_node_nr_lru_pages+0x20/0x40
        RSP: e02b:ffff88001186bc70  EFLAGS: 00010293
        RAX: 0000000000000000 RBX: ffff88001186bd20 RCX: 0000000000000002
        RDX: 000000000000000c RSI: 0000000000000000 RDI: 0000000000000000
        RBP: ffff88001186bc70 R08: 28f5c28f5c28f5c3 R09: 0000000000000000
        R10: 0000000000006c34 R11: 0000000000000333 R12: 00000000000001f6
        R13: ffffffff81c6f6a0 R14: 0000000000000000 R15: 0000000000000000
        FS:  0000000000000000(0000) GS:ffff880013c00000(0000) knlGS:ffff880013d00000
        CS:  e033 DS: 0000 ES: 0000 CR0: 0000000080050033
        CR2: 0000000000000400 CR3: 00000000122f2000 CR4: 0000000000042660
        Call Trace:
          count_shadow_nodes+0x9a/0xa0
          shrink_slab.part.42+0x119/0x3e0
          shrink_node+0x22c/0x320
          kswapd+0x32c/0x700
          kthread+0xd8/0xf0
          ret_from_fork+0x1f/0x40
        Code: 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 3b 35 dd eb b1 00 55 48 89 e5 73 2c 89 d2 31 c9 31 c0 4c 63 ce 48 0f a3 ca 73 13 <4a> 8b b4 cf 00 04 00 00 41 89 c8 4a 03 84 c6 80 00 00 00 83 c1
        RIP  mem_cgroup_node_nr_lru_pages+0x20/0x40
         RSP <ffff88001186bc70>
        CR2: 0000000000000400
        ---[ end trace 100494b9edbdfc4d ]---
      
      This patch fixes the issue by checking sc->memcg rather than
      memcg_kmem_enabled() which is sufficient because shrink_slab makes sure
      that only memcg aware shrinkers will get non-NULL memcgs and only if
      memcg_kmem_enabled is true.
      
      Fixes: 0a6b76dd ("mm: workingset: make shadow node shrinker memcg aware")
      Link: http://lkml.kernel.org/r/20161201132156.21450-1-mhocko@kernel.orgSigned-off-by: default avatarMichal Hocko <mhocko@suse.com>
      Reported-by: default avatarMarek Marczykowski-Górecki <marmarek@mimuw.edu.pl>
      Tested-by: default avatarMarek Marczykowski-Górecki <marmarek@mimuw.edu.pl>
      Acked-by: default avatarVladimir Davydov <vdavydov.dev@gmail.com>
      Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Acked-by: default avatarBalbir Singh <bsingharora@gmail.com>
      Cc: <stable@vger.kernel.org>	[4.6+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      20ab67a5