1. 24 Jun, 2016 8 commits
    • Lukas Wunner's avatar
      drm/radeon: Don't leak runtime pm ref on driver unload · 19de659c
      Lukas Wunner authored
      radeon_driver_load_kms() calls pm_runtime_put_autosuspend() if
      radeon_is_px(dev), but radeon_driver_unload_kms() calls
      pm_runtime_get_sync() unconditionally. We therefore leak a runtime pm
      ref whenever radeon is unloaded on a non-PX machine or if runpm=0. The
      GPU will subsequently never runtime suspend after loading radeon again.
      
      Fix by taking the runtime pm ref under the same condition that it was
      released on driver load.
      
      Fixes: 10ebc0bc ("drm/radeon: add runtime PM support (v2)")
      Cc: Dave Airlie <airlied@redhat.com>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarLukas Wunner <lukas@wunner.de>
      Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/aaf71106c042126817aeca8b8e54ed468ab61ef7.1465392124.git.lukas@wunner.de
      19de659c
    • Lukas Wunner's avatar
      drm/nouveau: Forbid runtime pm on driver unload · 55c868a3
      Lukas Wunner authored
      The PCI core calls pm_runtime_forbid() on device probe in pci_pm_init(),
      making this the default state when nouveau is loaded. nouveau_drm_load()
      therefore calls pm_runtime_allow(), but there's no pm_runtime_forbid()
      in nouveau_drm_unload() to balance it. Add it so that we leave the
      device in the same state that we found it.
      
      This isn't a bug, it's just good housekeeping. When nouveau is first
      loaded with runpm=1, then unloaded and loaded again with runpm=0,
      pm_runtime_forbid() will be called from nouveau_pmops_runtime_idle() or
      nouveau_pmops_runtime_suspend(), so the behaviour is correct. The nvidia
      blob doesn't use runtime pm, but if it ever does, this commit avoids
      that it has to clean up behind nouveau.
      
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Tested-by: default avatarKarol Herbst <karolherbst@gmail.com>
      Tested-by: default avatarPeter Wu <peter@lekensteyn.nl>
      Signed-off-by: default avatarLukas Wunner <lukas@wunner.de>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/92cf96445088217a4d7d7081b90140f2d6f047da.1465392124.git.lukas@wunner.de
      55c868a3
    • Lukas Wunner's avatar
      drm/nouveau: Don't leak runtime pm ref on driver unload · c1b16b45
      Lukas Wunner authored
      nouveau_drm_load() calls pm_runtime_put() if nouveau_runtime_pm != 0,
      but nouveau_drm_unload() calls pm_runtime_get_sync() unconditionally.
      We therefore leak a runtime pm ref whenever nouveau is loaded with
      runpm=0 and then unloaded. The GPU will subsequently never runtime
      suspend even if nouveau is loaded again with runpm=1.
      
      Fix by taking the runtime pm ref under the same condition that it was
      released on driver load.
      
      Fixes: 5addcf0a ("nouveau: add runtime PM support (v0.9)")
      Cc: Dave Airlie <airlied@redhat.com>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Reported-by: default avatarKarol Herbst <karolherbst@gmail.com>
      Tested-by: default avatarKarol Herbst <karolherbst@gmail.com>
      Tested-by: default avatarPeter Wu <peter@lekensteyn.nl>
      Signed-off-by: default avatarLukas Wunner <lukas@wunner.de>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/1544b82007037601fbc510b1a50edc56c529e75f.1465392124.git.lukas@wunner.de
      c1b16b45
    • Dave Airlie's avatar
      Merge tag 'mediatek-drm-2016-06-20' of git://git.pengutronix.de/git/pza/linux into drm-next · 2a346706
      Dave Airlie authored
      MT8173 HDMI support
      
      - device tree binding documentation for MT8173 HDMI encoder, CEC, DDC,
        and PHY
      - drivers for MT8173 HDMI encoder, CEC (HPD only for now), DDC, and PHY
      - enable HDMI output via a custom SMCCC call
      - add ddc-i2c-bus property to HDMI connector device tree binding
      
      * tag 'mediatek-drm-2016-06-20' of git://git.pengutronix.de/git/pza/linux:
        dt-bindings: hdmi-connector: add DDC I2C bus phandle documentation
        drm/mediatek: enable hdmi output control bit
        drm/mediatek: Add HDMI support
        dt-bindings: drm/mediatek: Add Mediatek HDMI dts binding
      2a346706
    • Dave Airlie's avatar
      Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/media into drm-next · 6559436d
      Dave Airlie authored
      some rcar-du fixes.
      
      * 'drm/next/du' of git://linuxtv.org/pinchartl/media:
        drm: rcar-du: error message is not needed for EPROBE_DEFER
        drm: rcar-du: error message is not needed for drm_vblank_init()
        rcar-du: add/rename DEFR6 TCON bits
      6559436d
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2016-06-20' of git://anongit.freedesktop.org/drm-intel into drm-next · 9da1030e
      Dave Airlie authored
      - Infrastructure for GVT-g (paravirtualized gpu on gen8+), from Zhi Wang
      - another attemp at nonblocking atomic plane updates
      - bugfixes and refactoring for GuC doorbell code (Dave Gordon)
      - GuC command submission enabled by default, if fw available (Dave Gordon)
      - more bxt w/a (Arun Siluvery)
      - bxt phy improvements (Imre Deak)
      - prep work for stolen objects support (Ankitprasa Sharma & Chris Wilson)
      - skl/bkl w/a update from Mika Kuoppala
      - bunch of small improvements and fixes all over, as usual
      
      * tag 'drm-intel-next-2016-06-20' of git://anongit.freedesktop.org/drm-intel: (81 commits)
        drm/i915: Update DRIVER_DATE to 20160620
        drm/i915: Introduce GVT context creation API
        drm/i915: Support LRC context single submission
        drm/i915: Introduce execlist context status change notification
        drm/i915: Make addressing mode bits in context descriptor configurable
        drm/i915: Make ring buffer size of a LRC context configurable
        drm/i915: gvt: Introduce the basic architecture of GVT-g
        drm/i915: Fold vGPU active check into inner functions
        drm/i915: Use offsetof() to calculate the offset of members in PVINFO page
        drm/i915: Factor out i915_pvinfo.h
        drm/i915: Serialise presentation with imported dmabufs
        drm/i915: Use atomic commits for legacy page_flips
        drm/i915: Move fb_bits updating later in atomic_commit
        drm/i915: nonblocking commit
        Reapply "drm/i915: Pass atomic states to fbc update, functions."
        drm/i915: Roll out the helper nonblock tracking
        drm/i915: Signal drm events for atomic
        drm/i915/ilk: Don't disable SSC source if it's in use
        drm/i915/guc: (re)initialise doorbell h/w when enabling GuC submission
        drm/i915/guc: replace assign_doorbell() with select_doorbell_register()
        ...
      9da1030e
    • Dave Airlie's avatar
      Merge tag 'topic/drm-misc-2016-06-22-updated' of... · 9253d059
      Dave Airlie authored
      Merge tag 'topic/drm-misc-2016-06-22-updated' of git://anongit.freedesktop.org/drm-intel into drm-next
      
      Again a pile of things all over
      - Conversion to rst from docbook from Jani. Looks real pretty, and the
        source is now actually readable (compared to horrible, horrible docbook
        xml)! https://01.org/linuxgraphics/gfx-docs/drm/
      - device register/unregister rework from Chris, with follow-up work from
        Benjamin. Allows more drivers to demidlayer load/unload and others to
        remove a bit of boilerplate.
      - master/auth related cleanup, with docs
      - some dma-buf polish, merged by Sumit
      - small stuff all over (like build fixes from Arnd)
      
      Group maintainership seems to slowly take off, with both Thierry and Sumit
      pushing a few things. No hiccups thus far.
      
      * tag 'topic/drm-misc-2016-06-22-updated' of git://anongit.freedesktop.org/drm-intel: (68 commits)
        drm/vc4: Remove unused connector
        drm/fb-helper: Reduce READ_ONCE(master) to lockless_dereference
        drm/sun4i: Remove open-coded drm_connector_register_all()
        drm/vc4: Remove open-coded drm_connector_register_all()
        drm/atmel-hlcdc: Remove redundant call to drm_connector_unregister_all()
        drm: document drm_auth.c
        drm: Clear up master tracking booleans
        drm: Extract drm_is_current_master
        drm: Refactor drop/set master code a bit
        drm: Lobotomize set_busid nonsense for !pci drivers
        drm: Nuke SET_UNIQUE ioctl
        drm: Don't call drm_dev_set_unique from platform drivers
        drm/vgem: Stop calling drm_drv_set_unique
        drm: Use dev->name as fallback for dev->unique
        drm: Clean up drm_crtc.h
        drm: Move master pointer from drm_minor to drm_device
        drm: sti: rework init sequence
        drm: sti: use late_register and early_unregister callbacks
        drm/amdkfd: Clean up inline handling
        drm: Add callbacks for late registering
        ...
      9253d059
    • Dave Airlie's avatar
      Merge tag 'drm-sii902x' of github.com:bbrezillon/linux-at91 into drm-next · 4b01ec97
      Dave Airlie authored
      Add basic support for the sii902x RGB -> HDMI bridge.
      
      * tag 'drm-sii902x' of github.com:bbrezillon/linux-at91:
        drm/bridge: Add sii902x DT bindings doc
        drm/bridge: Add sii902x driver
      4b01ec97
  2. 22 Jun, 2016 5 commits
  3. 21 Jun, 2016 27 commits