1. 05 Feb, 2017 8 commits
    • Chris Zhong's avatar
      drm/rockchip: cdn-dp: retry to check sink count · 13e0e206
      Chris Zhong authored
      Sometimes the Dock is disconnected, but cdn_dp_encoder_disable is not
      triggered by DRM. For example, unplug the Dock in console mode, and
      re-plug it again, the cdn_dp_event_work will try to get the sink count
      of Dock, since the DP is still active. But the Dock has been powered
      down, it need re-power on, and wait for a while until it is ready to
      DPCD communication.
      Signed-off-by: default avatarChris Zhong <zyw@rock-chips.com>
      13e0e206
    • Jeffy Chen's avatar
      drm/rockchip: cdn-dp: Move mutex_init to probe · be0270e4
      Jeffy Chen authored
      We're trying to lock mutex when cdn-dp shutdown, so we need to make
      sure the mutex is inited in cdn-dp's probe.
      Signed-off-by: default avatarJeffy Chen <jeffy.chen@rock-chips.com>
      Reviewed-by: default avatarGuenter Roeck <groeck@chromium.org>
      Reviewed-by: default avatarChris Zhong <zyw@rock-chips.com>
      Signed-off-by: default avatarChris Zhong <zyw@rock-chips.com>
      be0270e4
    • Chris Zhong's avatar
      drm/rockchip: cdn-dp: do not use drm_helper_hpd_irq_event · 81632df6
      Chris Zhong authored
      The cdn_dp_pd_event_work is using drm_helper_hpd_irq_event to update the
      connector status, this function is used to update all connectors of
      drm_device. Therefore, the detect of other connector will be call, when
      cdn_dp_pd_event_work is triggered, every time. It is not necessary, and
      it may cause system crash. replace drm_helper_hpd_irq_event with
      drm_kms_helper_hotplug_event, only update cdn-dp status.
      Signed-off-by: default avatarChris Zhong <zyw@rock-chips.com>
      Tested-by: default avatarGuenter Roeck <groeck@chromium.org>
      Reviewed-by: default avatarGuenter Roeck <groeck@chromium.org>
      81632df6
    • Guenter Roeck's avatar
      drm/rockchip: cdn-dp: Do not run worker while suspended · 5eb2e6ee
      Guenter Roeck authored
      If the driver is in suspended mode, the dp block may be disabled, and
      chip registers may not be accessible. Yet, the worker may be triggered
      in this situation by an extcon event. If that happens, the following crash
      will be seen.
      
      cdn-dp fec00000.dp: [drm:cdn_dp_pd_event_work] *ERROR* Enable dp failed -19
      cdn-dp fec00000.dp: [drm:cdn_dp_pd_event_work] Connected, not enabled. Enabling cdn
      Bad mode in Error handler detected, code 0xbf000002 -- SError
      CPU: 1 PID: 10357 Comm: kworker/1:2 Not tainted 4.4.21-05903-ge0514ea #1
      Hardware name: Google Kevin (DT)
      Workqueue: events cdn_dp_pd_event_work
      task: ffffffc0cda67080 ti: ffffffc0b9b80000 task.ti: ffffffc0b9b80000
      PC is at cdn_dp_clock_reset+0x30/0xa8
      LR is at cdn_dp_enable+0x1e0/0x69c
      ...
      Call trace:
      [<ffffffc0005a7e24>] cdn_dp_pd_event_work+0x58/0x3f4
      [<ffffffc0002397f0>] process_one_work+0x240/0x424
      [<ffffffc00023a28c>] worker_thread+0x2fc/0x424
      [<ffffffc00023f5fc>] kthread+0x10c/0x114
      [<ffffffc000203dd0>] ret_from_fork+0x10/0x40
      
      Problem is two-fold: The worker should not run while suspended, and the
      suspend function should not call cdn_dp_disable() while the worker is
      running.
      Signed-off-by: default avatarGuenter Roeck <groeck@chromium.org>
      Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
      Signed-off-by: default avatarChris Zhong <zyw@rock-chips.com>
      5eb2e6ee
    • Guenter Roeck's avatar
      drm/rockchip: cdn-dp: Load firmware if no monitor connected · 83c132ed
      Guenter Roeck authored
      If no monitor is connected, suspend/resume cycles result in firmware
      load errors because the driver attempts to load the firmware while
      the system is in suspend state. This results in a kernel warning and
      traceback.
      
      Loading the firmware during boot fixes the problem. Note that we can not
      just call schedule_work conditionally in cdn_dp_pd_event() if the insertion
      status changed. The problem would still be seen if a monitor is connected
      for the first time during suspend.
      Signed-off-by: default avatarGuenter Roeck <groeck@chromium.org>
      Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
      Signed-off-by: default avatarChris Zhong <zyw@rock-chips.com>
      83c132ed
    • Chris Zhong's avatar
      drm/rockchip: cdn-dp: add cdn DP support for rk3399 · 1a0f7ed3
      Chris Zhong authored
      Add support for cdn DP controller which is embedded in the rk3399
      SoCs. The DP is compliant with DisplayPort Specification,
      Version 1.3, This IP is compatible with the rockchip type-c PHY IP.
      There is a uCPU in DP controller, it need a firmware to work,
      please put the firmware file to /lib/firmware/rockchip/dptx.bin. The
      uCPU in charge of aux communication and link training, the host use
      mailbox to communicate with the ucpu.
      The dclk pin_pol of vop must not be invert for DP.
      Signed-off-by: default avatarChris Zhong <zyw@rock-chips.com>
      [seanpaul fixed up some races between the worker and modeset]
      [seanpaul squashed ~15 commits from chromium.org gerrit]
      Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
      [groeck fixed compilation errors when building as module]
      Signed-off-by: default avatarGuenter Roeck <groeck@chromium.org>
      1a0f7ed3
    • Julia Lawall's avatar
      drm/rockchip: return ERR_PTR instead of NULL · 5a2c920c
      Julia Lawall authored
      rockchip_drm_framebuffer_init is only used in one case, in
      rockchip_drm_fbdev.c, where its return value is tested using IS_ERR.  To
      enable propagating the reason for the error, change the definition so that
      it returns an ERR_PTR value.
      
      Problem found with the help of Coccinelle.
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      5a2c920c
    • Chris Zhong's avatar
      drm/rockchip: vop: make vop register setting take effect · 17a794d7
      Chris Zhong authored
      The setting of vop registers need a reg_done writing to take effect.
      In vop_enable the vop return to work by by restoring registers, but the
      registers do not take effect immediately, it should a vop_cfg_done
      after it. The same thing is needed by windows_disabled in
      vop_crtc_disable.
      Signed-off-by: default avatarChris Zhong <zyw@rock-chips.com>
      17a794d7
  2. 02 Feb, 2017 9 commits
  3. 31 Jan, 2017 9 commits
    • Dave Airlie's avatar
      Merge branch 'exynos-drm-next' of... · 18566aca
      Dave Airlie authored
      Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next
      
      adding runtime PM support to MIC driver, and including some
      cleanups - especially using atomic helper functions
      instead of specific ones - and fixups.
      
      * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
        drm/exynos: g2d: prevent integer overflow in
        drm/exynos: fix a timeout loop
        drm/exynos: use atomic helper commit
        drm/exynos: remove unnecessary codes
        drm/exynos: mic: Add runtime PM support
        drm/exynos: Stop using drm_framebuffer_unregister_private
        drm/exynos: mic: Fix parse_dt function
        drm/exynos: mic: Add mode_set callback function
      18566aca
    • Dave Airlie's avatar
      Merge tag 'sunxi-drm-for-4.11' of... · 02a84c13
      Dave Airlie authored
      Merge tag 'sunxi-drm-for-4.11' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into drm-next
      
      Allwinner DRM changes for 4.11
      
      Just one minor fix.
      
      * tag 'sunxi-drm-for-4.11' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
        drm/sun4i: Fix a return value in case of error
      02a84c13
    • Dave Airlie's avatar
      Merge branch 'drm-vmwgfx-next' of git://people.freedesktop.org/~syeh/repos_linux into drm-next · b75e1695
      Dave Airlie authored
      This is to address what we've discussed, moving some of the minor changes
      into a drm-next request.
      
      * 'drm-vmwgfx-next' of git://people.freedesktop.org/~syeh/repos_linux:
        drm/vmwgfx: Use kmemdup instead of kmalloc and memcpy
        drm/vmwgfx: Fix depth input into drm_mode_legacy_fb_format
        drm/vmwgfx: Fix a potential integer overflow
        drm/vmwgfx: Clear an uninitialized struct member
        drm/vmwgfx: Annotate ignored return values
        drm/vmwgfx: Clear uninitialized fields of a parameter
      b75e1695
    • Dave Airlie's avatar
      Merge branch 'drm-next-4.11' of git://people.freedesktop.org/~agd5f/linux into drm-next · 29a73d90
      Dave Airlie authored
      This is the main feature pull for radeon and amdgpu for 4.11.  Highlights:
      - Power and clockgating improvements
      - Preliminary SR-IOV support
      - ttm buffer priority support
      - ttm eviction fixes
      - Removal of the ttm lru callbacks
      - Remove SI DPM quirks due to MC firmware issues
      - Handle VFCT with multiple vbioses
      - Powerplay improvements
      - Lots of driver cleanups
      
      * 'drm-next-4.11' of git://people.freedesktop.org/~agd5f/linux: (120 commits)
        drm/amdgpu: fix amdgpu_bo_va_mapping flags
        drm/amdgpu: access stolen VRAM directly on CZ (v2)
        drm/amdgpu: access stolen VRAM directly on KV/KB (v2)
        drm/amdgpu: fix kernel panic when dpm disabled on Kv.
        drm/amdgpu: fix dpm bug on Kv.
        drm/amd/powerplay: fix regresstion issue can't set manual dpm mode.
        drm/amdgpu: handle vfct with multiple vbios images
        drm/radeon: handle vfct with multiple vbios images
        drm/amdgpu: move misc si headers into amdgpu
        drm/amdgpu: remove unused header si_reg.h
        drm/radeon: drop pitcairn dpm quirks
        drm/amdgpu: drop pitcairn dpm quirks
        drm: radeon: radeon_ttm: Handle return NULL error from ioremap_nocache
        drm/amd/amdgpu/amdgpu_ttm: Handle return NULL error from ioremap_nocache
        drm/amdgpu: add new virtual display ID
        drm/amd/amdgpu: remove the uncessary parameter for ib scheduler
        drm/amdgpu: Bring bo creation in line with radeon driver (v2)
        drm/amd/powerplay: fix misspelling in header guard
        drm/ttm: revert "add optional LRU removal callback v2"
        drm/ttm: revert "implement LRU add callbacks v2"
        ...
      29a73d90
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2017-01-30' of git://anongit.freedesktop.org/git/drm-misc into drm-next · 012bbe28
      Dave Airlie authored
      Another round of -misc stuff:
      - Noralf debugfs cleanup cleanup (not yet everything, some more driver
        patches awaiting acks).
      - More doc work.
      - edid/infoframe fixes from Ville.
      - misc 1-patch fixes all over, as usual
      
      Noralf needs this for his tinydrm pull request.
      
      * tag 'drm-misc-next-2017-01-30' of git://anongit.freedesktop.org/git/drm-misc: (48 commits)
        drm/vc4: Remove vc4_debugfs_cleanup()
        dma/fence: Export enable-signaling tracepoint for emission by drivers
        drm/tilcdc: Remove tilcdc_debugfs_cleanup()
        drm/tegra: Remove tegra_debugfs_cleanup()
        drm/sti: Remove drm_debugfs_remove_files() calls
        drm/radeon: Remove drm_debugfs_remove_files() call
        drm/omap: Remove omap_debugfs_cleanup()
        drm/hdlcd: Remove hdlcd_debugfs_cleanup()
        drm/etnaviv: Remove etnaviv_debugfs_cleanup()
        drm/etnaviv: allow build with COMPILE_TEST
        drm/amd/amdgpu: Remove drm_debugfs_remove_files() call
        drm/prime: Clarify DMA-BUF/GEM Object lifetime
        drm/ttm: Make sure BOs being swapped out are cacheable
        drm/atomic: Remove drm_atomic_debugfs_cleanup()
        drm: drm_minor_register(): Clean up debugfs on failure
        drm: debugfs: Remove all files automatically on cleanup
        drm/fourcc: add vivante tiled layout format modifiers
        drm/edid: Set YQ bits in the AVI infoframe according to CEA-861-F
        drm/edid: Set AVI infoframe Q even when QS=0
        drm/edid: Introduce drm_hdmi_avi_infoframe_quant_range()
        ...
      012bbe28
    • Dave Airlie's avatar
      Merge tag 'drm/atmel-hlcdc/for-4.11' of... · bb7e9833
      Dave Airlie authored
      Merge tag 'drm/atmel-hlcdc/for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bbrezillon/linux into drm-next
      
      Contains a single patch to create the fbdev at driver's registration
      time instead of waiting for the connector status change.
      
      * tag 'drm/atmel-hlcdc/for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bbrezillon/linux:
        drm/atmel-hlcdc: Rework the fbdev creation logic
      bb7e9833
    • Dave Airlie's avatar
      Merge tag 'zxdrm-4.11' of... · 3a5e6bb9
      Dave Airlie authored
      Merge tag 'zxdrm-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into drm-next
      
      ZTE DRM driver updates for 4.11:
       - Add missing selection of VIDEOMODE_HELPERS in Kconfig, since ZTE DRM
         driver uses drm_display_mode_to_videomode().
       - Enable HDMI audio support through SPDIF interface based on generic
         hdmi-audio-codec driver.
       - Enable VOU VL (Video Layer) to support overlay plane with scaling
         function.
       - Refine zx_vou driver a bit and then add TV Encoder output device
         support.
      
      [airlied: fixup plane format change]
      
      * tag 'zxdrm-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
        drm: zte: add tvenc driver support
        dt: add bindings for ZTE tvenc device
        drm: zte: add function to configure vou_ctrl dividers
        drm: zte: move struct vou_inf into zx_vou driver
        drm: zte: add interlace mode support
        drm: zte: add overlay plane support
        drm: zte: add .atomic_disable hook to disable graphic layer
        drm: zte: make zx_plane accessible from zx_vou driver
        drm: zte: support hdmi audio through spdif
        drm: zte: select VIDEOMODE_HELPERS in Kconfig
      3a5e6bb9
    • Dave Airlie's avatar
      Merge branch 'drm-intel-next' of git://anongit.freedesktop.org/git/drm-intel into drm-next · 26431055
      Dave Airlie authored
      Updated pull request after I pulled first time :)
      
      * 'drm-intel-next' of git://anongit.freedesktop.org/git/drm-intel:
        drm/i915: Pevent copying uninitialised garbage into vma->ggtt_view
      26431055
    • Dave Airlie's avatar
      Merge branch 'for-upstream/mali-dp' of git://linux-arm.org/linux-ld into drm-next · a155b752
      Dave Airlie authored
      Hope I'm not too late before the cutoff for the v4.11 with these patches.
      Mostly an asorted set of fixes that we have discovered while playing with
      the code and preparing for the next set of features.
      
      * 'for-upstream/mali-dp' of git://linux-arm.org/linux-ld:
        drm: mali-dp: fix stride setting for multi-plane formats
        drm: mali-dp: Add plane offset to the plane's physical start address register
        drm: mali-dp: Check for sufficient address space
        drm: mali-dp: Check hw version matches device-tree
        drm: mali-dp: Rename malidp_input_format to malidp_pixel_format
        drm: mali-dp: fix Lx_CONTROL register fields clobber
        drm: mali-dp: Fix transposed horizontal/vertical flip
        drm: mali-dp: Fix destination size handling when rotating
        drm: mali-dp: Don't force source size == crtc size
        drm: mali-dp: Check more use cases in the plane's ->atomic_check()
        drm: malidp: Remove event_list member from struct malidp_drm
        drm/arm/malidp: Fix possible dereference of NULL
      a155b752
  4. 30 Jan, 2017 12 commits
  5. 28 Jan, 2017 2 commits