1. 09 3月, 2018 1 次提交
  2. 01 3月, 2018 1 次提交
  3. 18 2月, 2018 1 次提交
  4. 08 12月, 2017 1 次提交
  5. 18 9月, 2017 1 次提交
  6. 08 9月, 2017 1 次提交
  7. 10 8月, 2017 1 次提交
    • J
      drm/rockchip: Fix suspend crash when drm is not bound · 0fa375e6
      Jeffy Chen 提交于
      Currently we are allocating drm_device in rockchip_drm_bind, so if the
      suspend/resume code access it when drm is not bound, we would hit this
      crash:
      
      [  253.402836] Unable to handle kernel NULL pointer dereference at virtual address 00000028
      [  253.402837] pgd = ffffffc06c9b0000
      [  253.402841] [00000028] *pgd=0000000000000000, *pud=0000000000000000
      [  253.402844] Internal error: Oops: 96000005 [#1] PREEMPT SMP
      [  253.402859] Modules linked in: btusb btrtl btbcm btintel bluetooth ath10k_pci ath10k_core ar10k_ath ar10k_mac80211 cfg80211 ip6table_filter asix usbnet mii
      [  253.402864] CPU: 4 PID: 1331 Comm: cat Not tainted 4.4.70 #15
      [  253.402865] Hardware name: Google Scarlet (DT)
      [  253.402867] task: ffffffc076c0ce00 ti: ffffffc06c2c8000 task.ti: ffffffc06c2c8000
      [  253.402871] PC is at rockchip_drm_sys_suspend+0x20/0x5c
      
      Add sanity checks to prevent that.
      Reported-by: NBrian Norris <briannorris@chromium.com>
      Signed-off-by: NJeffy Chen <jeffy.chen@rock-chips.com>
      Signed-off-by: NSean Paul <seanpaul@chromium.org>
      Link: https://patchwork.kernel.org/patch/9890297/
      0fa375e6
  8. 04 8月, 2017 1 次提交
    • M
      drm/rockchip: fix race with kms hotplug and fbdev · 8415ab56
      Mark yao 提交于
      According to the kerneldoc[0], should do fbdev setup before calling
      drm_kms_helper_poll_init(), otherwise, Kms hotplug event may race
      into fbdev helper initial, and fb_helper->dev may be NULL pointer,
      that would cause the bug:
      [    0.735411] [00000200] *pgd=00000000f6ffe003, *pud=00000000f6ffe003, *pmd=0000000000000000
      [    0.736156] Internal error: Oops: 96000005 [#1] PREEMPT SMP
      [    0.736648] Modules linked in:
      [    0.736930] CPU: 2 PID: 20 Comm: kworker/2:0 Not tainted 4.4.41 #20
      [    0.737480] Hardware name: Rockchip RK3399 Board rev2 (BOX) (DT)
      [    0.738020] Workqueue: events cdn_dp_pd_event_work
      [    0.738447] task: ffffffc0f21f3100 ti: ffffffc0f2218000 task.ti: ffffffc0f2218000
      [    0.739109] PC is at mutex_lock+0x14/0x44
      [    0.739469] LR is at drm_fb_helper_hotplug_event+0x30/0x114
      [    0.756253] [<ffffff8008a344f4>] mutex_lock+0x14/0x44
      [    0.756260] [<ffffff8008445708>] drm_fb_helper_hotplug_event+0x30/0x114
      [    0.756271] [<ffffff8008473c84>] rockchip_drm_output_poll_changed+0x18/0x20
      [    0.756280] [<ffffff8008439fcc>] drm_kms_helper_hotplug_event+0x28/0x34
      [    0.756286] [<ffffff800846c444>] cdn_dp_pd_event_work+0x394/0x3c4
      [    0.756295] [<ffffff80080b2b38>] process_one_work+0x218/0x3e0
      [    0.756302] [<ffffff80080b3538>] worker_thread+0x2e8/0x404
      [    0.756308] [<ffffff80080b7e70>] kthread+0xe8/0xf0
      [    0.756316] [<ffffff8008082690>] ret_from_fork+0x10/0x40
      
      [0]: https://01.org/linuxgraphics/gfx-docs/drm/gpu/drm-kms-helpers.htmlSigned-off-by: NMark Yao <mark.yao@rock-chips.com>
      Reviewed-by: NSandy huang <sandy.huang@rock-chips.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/1501575103-20136-1-git-send-email-mark.yao@rock-chips.com
      8415ab56
  9. 29 7月, 2017 1 次提交
  10. 26 7月, 2017 1 次提交
    • R
      drm: Convert to using %pOF instead of full_name · 4bf99144
      Rob Herring 提交于
      Now that we have a custom printf format specifier, convert users of
      full_name to use %pOF instead. This is preparation to remove storing
      of the full path string for each node.
      Signed-off-by: NRob Herring <robh@kernel.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Sean Paul <seanpaul@chromium.org>
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Joonyoung Shim <jy0922.shim@samsung.com>
      Cc: Seung-Woo Kim <sw0312.kim@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Krzysztof Kozlowski <krzk@kernel.org>
      Cc: Javier Martinez Canillas <javier@osg.samsung.com>
      Cc: Xinliang Liu <z.liuxinliang@hisilicon.com>
      Cc: Rongrong Zou <zourongrong@gmail.com>
      Cc: Xinwei Kong <kong.kongxinwei@hisilicon.com>
      Cc: Chen Feng <puck.chen@hisilicon.com>
      Cc: CK Hu <ck.hu@mediatek.com>
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Cc: Matthias Brugger <matthias.bgg@gmail.com>
      Cc: Neil Armstrong <narmstrong@baylibre.com>
      Cc: Carlo Caione <carlo@caione.org>
      Cc: Kevin Hilman <khilman@baylibre.com>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Mark Yao <mark.yao@rock-chips.com>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
      Cc: Chen-Yu Tsai <wens@csie.org>
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: dri-devel@lists.freedesktop.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: linux-mediatek@lists.infradead.org
      Cc: linux-amlogic@lists.infradead.org
      Cc: linux-renesas-soc@vger.kernel.org
      Cc: linux-rockchip@lists.infradead.org
      Partially-Reviewed-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Reviewed-by: NPhilipp Zabel <p.zabel@pengutronix.de>
      Acked-by: NMaxime Ripard <maxime.ripard@free-electrons.com>
      [seanpaul changed subject prefix and fixed conflict in stm/ltdc.c]
      Signed-off-by: NSean Paul <seanpaul@chromium.org>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      4bf99144
  11. 26 6月, 2017 1 次提交
  12. 08 4月, 2017 2 次提交
  13. 25 3月, 2017 1 次提交
  14. 15 2月, 2017 1 次提交
  15. 09 2月, 2017 1 次提交
  16. 08 2月, 2017 1 次提交
  17. 30 12月, 2016 1 次提交
  18. 02 11月, 2016 1 次提交
  19. 25 10月, 2016 1 次提交
  20. 04 10月, 2016 1 次提交
  21. 22 9月, 2016 1 次提交
  22. 23 8月, 2016 2 次提交
    • S
      drm/rockchip: Convert psr_list_mutex to spinlock and use it · 18d8d4d2
      Sean Paul 提交于
      This patch converts the psr_list_mutex to a spinlock and locks
      all access to psr_list to avoid races (however unlikely they
      were).
      Reviewed-by: NYakir Yang <ykk@rock-chips.com>
      Signed-off-by: NSean Paul <seanpaul@chromium.org>
      18d8d4d2
    • Y
      drm/rockchip: add an common abstracted PSR driver · 5182c1a5
      Yakir Yang 提交于
      The PSR driver have exported four symbols for specific device driver, and
      it's safe to call them in interrupt context:
      - rockchip_drm_psr_register()
      - rockchip_drm_psr_unregister()
      - rockchip_drm_psr_enable()
      - rockchip_drm_psr_disable()
      - rockchip_drm_psr_flush()
      
      Encoder driver should call the register/unregister interfaces to hook
      itself into common PSR driver, encoder have implement the 'psr_set'
      callback which use the set PSR state in hardware side.
      
      Crtc driver would call the enable/disable interfaces when vblank is
      enable/disable, after that the common PSR driver would call the encoder
      registered callback to set the PSR state.
      
      Fb driver would call the flush interface in 'fb->dirty' callback, this
      helper function would force all PSR enabled encoders to exit from PSR
      for 3 seconds.
      Signed-off-by: NYakir Yang <ykk@rock-chips.com>
      [seanpaul removed leftover psr_enabled/psr_work kruft from drm_vop.c]
      Signed-off-by: NSean Paul <seanpaul@chromium.org>
      5182c1a5
  23. 19 7月, 2016 2 次提交
  24. 12 7月, 2016 1 次提交
  25. 21 6月, 2016 1 次提交
  26. 10 6月, 2016 4 次提交
  27. 01 6月, 2016 2 次提交
  28. 21 5月, 2016 1 次提交
    • D
      drm: Nuke ->vblank_disable_allowed · fcee5906
      Daniel Vetter 提交于
      This was added in
      
      commit 0a3e67a4
      Author: Jesse Barnes <jbarnes@virtuousgeek.org>
      Date:   Tue Sep 30 12:14:26 2008 -0700
      
          drm: Rework vblank-wait handling to allow interrupt reduction.
      
      to stay backwards-compatible with old UMS code that didn't even tell
      the kernel when it did a modeset, so that the kernel could
      save/restore vblank counters. At worst this means vblanks will be
      somewhat funky on a setup that very likely no one still runs.
      
      So let's just nuke it.
      
      Plan B would be to set it unconditionally in drm_vblank_init for kms
      drivers, instead of in each driver separately. So if this patch breaks
      anything please only restore the hunks in drmP.h and drm_irq.c, plus
      add a check for DRIVER_MODESET in drm_vblank_init.
      
      Stumbled over this in a discussion on irc with Chris.
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Liviu Dudau <liviu.dudau@arm.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Eric Anholt <eric@anholt.net>
      Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Mark Yao <mark.yao@rock-chips.com>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Acked-by: NLiviu Dudau <Liviu.Dudau@arm.com>
      Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Tested-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      fcee5906
  29. 03 5月, 2016 3 次提交
  30. 28 3月, 2016 1 次提交
    • J
      drm/rockchip: cancel pending vblanks on close · f135046e
      John Keeping 提交于
      When closing the DRM device while a vblank is pending, we access
      file_priv after it has been free'd, which gives:
      
        Unable to handle kernel NULL pointer dereference at virtual address 00000000
        ...
        PC is at __list_add+0x5c/0xe8
        LR is at send_vblank_event+0x54/0x1f0
        ...
        [<c02952e8>] (__list_add) from [<c031a7b4>] (send_vblank_event+0x54/0x1f0)
        [<c031a760>] (send_vblank_event) from [<c031a9c0>] (drm_send_vblank_event+0x70/0x78)
        [<c031a950>] (drm_send_vblank_event) from [<c031a9f8>] (drm_crtc_send_vblank_event+0x30/0x34)
        [<c031a9c8>] (drm_crtc_send_vblank_event) from [<c0339ad8>] (vop_isr+0x224/0x28c)
        [<c03398b4>] (vop_isr) from [<c0081780>] (handle_irq_event_percpu+0x12c/0x3e4)
      
      This can be triggered somewhat reliably with:
      
      	modetest -M rockchip -v -s ...
      
      Add a preclose hook to the driver so that we can discard any pending
      vblank events when the device is closed.
      Signed-off-by: NJohn Keeping <john@metanate.com>
      f135046e
  31. 01 3月, 2016 1 次提交