1. 21 Apr, 2016 4 commits
    • Dave Airlie's avatar
      Merge tag 'topic/drm-misc-2016-04-21' of git://anongit.freedesktop.org/drm-intel into drm-next · d57d4773
      Dave Airlie authored
      misc pull req all over. Biggest thing is the
      drm_connector_(un)register_all cleanup from Alexey for drivers without the
      load/unload midlayer hooks. I.e. all the new ones, and a bunch of the
      pending new atomic drivers depend upon this. Or at least I asked them to
      rebase ;-)
      
      * tag 'topic/drm-misc-2016-04-21' of git://anongit.freedesktop.org/drm-intel:
        drm: Make drm.debug parameter description more helpful
        drm: Remove warning from drm_connector_unregister_all()
        drm: probe_helper: Hide ugly ifdef
        drm: rcar-du: Use generic drm_connector_register_all() helper
        drm: atmel_hldc: Use generic drm_connector_register_all() helper
        drm: Introduce drm_connector_register_all() helper
        drm: fix lut value extraction function
        drm/atomic-helper: Print an error if vblank wait times out
        drm/dp/mst: Restore primary hub guid on resume
        drm: Release driver references to handle before making it available again
        drm/i915/dp/mst: Add source port info to debugfs output
        drm/dp/mst: Enhance DP MST debugfs output
        drm/edid: Add drm_edid_get_monitor_name()
        include/drm: Reword debug categories comment.
        drm/crtc_helper: Reset empty plane state in drm_helper_crtc_mode_set_base()
        drm/virtio: Drop dummy gamma table support
        drm/bochs: Drop fake gamma support
        drm/core: Fix ordering in drm_mode_config_cleanup.
      d57d4773
    • Dave Airlie's avatar
      Merge tag 'topic/struct_mutex-2016-04-21' of git://anongit.freedesktop.org/drm-intel into drm-next · f230ffa1
      Dave Airlie authored
      struct_mutex cleanups and error paths fixes. Unfortunately I didn't manage
      to get acks from everyone, but this stuff has been hanging out for months
      now and imo simple enough to just land the remaining few patches. But
      separate pull request so that you can take a look yourself.
      
      * tag 'topic/struct_mutex-2016-04-21' of git://anongit.freedesktop.org/drm-intel:
        drm/vma_manage: Drop has_offset
        drm/vgem: Drop dev->struct_mutex
        drm/vgem: Move get_pages to gem_create
        drm/vgem: Simplify dumb_map
        drm/exynos: drop struct_mutex from fbdev setup
        drm/exynos: drop struct_mutex from exynos_drm_gem_get_ioctl
        drm/exynos: drop struct_mutex from exynos_gem_map_sgt_with_dma
        drm/exynos: Drop dev->struct_mutex from mmap offset function
        drm/nouveau: Drop dev->struct_mutex from fbdev init
        drm/qxl: Use unlocked gem unreferencing
        drm/omapdrm: Use unlocked gem unreferencing
        drm/nouveau: Use unlocked gem unreferencing
      f230ffa1
    • Ezequiel Garcia's avatar
      drm: Make drm.debug parameter description more helpful · 6dc3e22e
      Ezequiel Garcia authored
      Let's be user-friendly and print an actually helpful parameter
      description.
      
      This makes modinfo output the debug parameter like this:
      
      parm:           debug:Enable debug output, where each bit enables a debug category.
      		Bit 0 (0x01) will enable CORE messages (drm core code)
      		Bit 1 (0x02) will enable DRIVER messages (drm controller code)
      		Bit 2 (0x04) will enable KMS messages (modesetting code)
      		Bit 3 (0x08) will enable PRIME messages (prime code)
      		Bit 4 (0x10) will enable ATOMIC messages (atomic code)
      		Bit 5 (0x20) will enable VBL messages (vblank code) (int)
      
      Changes from v1:
      
        * Fixed s/PRMIE/PRIME typo.
        * Add ATOMIC and VBL debug parameter documentation.
        * Prefix the continuation lines with two tabs and
          removed the last new line.
        * Remove spurious whitespace.
      Signed-off-by: default avatarEzequiel Garcia <ezequiel@vanguardiasur.com.ar>
      Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/1461170703-11216-1-git-send-email-ezequiel@vanguardiasur.com.ar
      6dc3e22e
    • Laurent Pinchart's avatar
      drm: Remove warning from drm_connector_unregister_all() · 14ba0031
      Laurent Pinchart authored
      Commit 6c87e5c3 ("drm: Rename drm_connector_unplug_all() to
      drm_connector_unregister_all()") replaced a manual connectors list walk
      in drm_connector_unregister_all() with drm_for_each_connector(). The
      list was walked without the mode config mutex locked as that ends up in
      a clash with sysfs, but drm_connector_unregister_all() warns when the
      mutex isn't locked.
      
      The problem is known and doesn't require a large warning every time
      drm_connector_unregister_all() is called. Fix it by reverting to manual
      list walk.
      
      Fixes: 6c87e5c3 ("drm: Rename drm_connector_unplug_all() to drm_connector_unregister_all()")
      Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/1461190874-32674-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com
      14ba0031
  2. 20 Apr, 2016 17 commits
  3. 18 Apr, 2016 1 commit
  4. 15 Apr, 2016 5 commits
  5. 14 Apr, 2016 3 commits
  6. 12 Apr, 2016 3 commits
  7. 08 Apr, 2016 3 commits
  8. 05 Apr, 2016 4 commits
    • Dave Airlie's avatar
      Merge branch 'drm-next-analogix-dp-v2' of github.com:yakir-Yang/linux into drm-next · d00b39c1
      Dave Airlie authored
      This pull request want to land the analogix_dp driver into drm/bridge directory,
      which reused the Exynos DP code, and add Rockchip DP support. And those
      patches have been:
      
      * 'drm-next-analogix-dp-v2' of github.com:yakir-Yang/linux:
        drm: bridge: analogix/dp: Fix the possible dead lock in bridge disable time
        drm: bridge: analogix/dp: add panel prepare/unprepare in suspend/resume time
        drm: bridge: analogix/dp: add edid modes parse in get_modes method
        drm: bridge: analogix/dp: move hpd detect to connector detect function
        drm: bridge: analogix/dp: try force hpd after plug in lookup failed
        drm: bridge: analogix/dp: add max link rate and lane count limit for RK3288
        drm: bridge: analogix/dp: add some rk3288 special registers setting
        dt-bindings: add document for rockchip variant of analogix_dp
        drm: rockchip: dp: add rockchip platform dp driver
        ARM: dts: exynos/dp: remove some properties that deprecated by analogix_dp driver
        dt-bindings: add document for analogix display port driver
        drm: bridge: analogix/dp: dynamic parse sync_pol & interlace & dynamic_range
        drm: bridge: analogix/dp: remove duplicate configuration of link rate and link count
        drm: bridge: analogix/dp: fix some obvious code style
        drm: bridge: analogix/dp: rename register constants
        drm/exynos: dp: rename implementation specific driver part
        drm: bridge: analogix/dp: split exynos dp driver to bridge directory
      d00b39c1
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2016-03-30' of git://anongit.freedesktop.org/drm-intel into drm-next · 85bd5ac3
      Dave Airlie authored
      - VBT code refactor for a clean split between parsing&using of firmware
        information (Jani)
      - untangle the pll computation code, and splitting up the monster
        i9xx_crtc_compute_clocks (Ander)
      - dsi support for bxt (Jani, Shashank Sharma and others)
      - color manager (i.e. de-gamma, color conversion matrix & gamma support) from
        Lionel Landwerlin
      - Vulkan hsw support in the command parser (Jordan Justen)
      - large-scale renaming of intel_engine_cs variables/parameters to avoid the epic
        ring vs. engine confusion introduced in gen8 (Tvrtko Ursulin)
      - few atomic patches from Maarten&Matt, big one is two-stage wm programming on ilk-bdw
      - refactor driver load and add infrastructure to inject load failures for
        testing, from Imre
      - various small things all over
      
      * tag 'drm-intel-next-2016-03-30' of git://anongit.freedesktop.org/drm-intel: (179 commits)
        drm/i915: Update DRIVER_DATE to 20160330
        drm/i915: Call intel_dp_mst_resume() before resuming displays
        drm/i915: Fix races on fbdev
        drm/i915: remove unused dev_priv->render_reclock_avail
        drm/i915: move sdvo mappings to vbt data
        drm/i915: move edp low vswing config to vbt data
        drm/i915: use a substruct in vbt data for edp
        drm/i915: replace for_each_engine()
        drm/i915: introduce for_each_engine_id()
        drm/i915/bxt: Fix DSI HW state readout
        drm/i915: Remove vblank wait from hsw_enable_ips, v2.
        drm/i915: Tidy aliasing_gtt_bind_vma()
        drm/i915: Split PNV version of crtc_compute_clock()
        drm/i915: Split g4x_crtc_compute_clock()
        drm/i915: Split i8xx_crtc_compute_clock()
        drm/i915: Split CHV and VLV specific crtc_compute_clock() hooks
        drm/i915: Merge ironlake_compute_clocks() and ironlake_crtc_compute_clock()
        drm/i915: Move fp divisor calculation into ironlake_compute_dpll()
        drm/i915: Pass crtc_state->dpll directly to ->find_dpll()
        drm/i915: Simplify ironlake_crtc_compute_clock() CPU eDP case
        ...
      85bd5ac3
    • Dave Airlie's avatar
      Merge tag 'topic/drm-misc-2016-04-01' of git://anongit.freedesktop.org/drm-intel into drm-next · e7c8e544
      Dave Airlie authored
      * tag 'topic/drm-misc-2016-04-01' of git://anongit.freedesktop.org/drm-intel:
        drm: Add new DCS commands in the enum list
        drm: Make uapi headers C89 pendantic compliant
        drm/atomic: export drm_atomic_helper_wait_for_fences()
        drm: Untangle __KERNEL__ guards
        drm: Move DRM_MODE_OBJECT_* to uapi headers
        drm: align #include directives with libdrm in uapi headers
        drm: Make drm.h uapi header safe for C++
        vgacon: dummy implementation for vgacon_text_force
        drm/sysfs: Nuke TV/DVI property files
        drm/ttm: Remove TTM_HAS_AGP
        drm: bridge/dw-hdmi: Remove pre_enable/post_disable dummy funcs
        Revert "drm: Don't pass negative delta to ktime_sub_ns()"
        drm/atmel: Fixup drm_connector_/unplug/unregister/_all
        drm: Rename drm_connector_unplug_all() to drm_connector_unregister_all()
        drm: bridge: Make (pre/post) enable/disable callbacks optional
      e7c8e544
    • Yakir Yang's avatar
      drm: bridge: analogix/dp: Fix the possible dead lock in bridge disable time · 7b4b7a8d
      Yakir Yang authored
      It may caused a dead lock if we flush the hpd work in bridge disable time.
      
      The normal flow would like:
        IN --> DRM IOCTL
              1. Acquire crtc_ww_class_mutex (DRM IOCTL)
        IN --> analogix_dp_bridge
              2. Acquire hpd work lock (Flush hpd work)
              3. HPD work already in idle, no need to run the work function.
        OUT <-- analogix_dp_bridge
        OUT <-- DRM IOCTL
      
      The dead lock flow would like:
        IN --> DRM IOCTL
              1. Acquire crtc_ww_class_mutex (DRM IOCTL)
        IN --> analogix_dp_bridge
              2. Acquire hpd work lock (Flush hpd work)
        IN --> analogix_dp_hotplug
        IN --> drm_helper_hpd_irq_event
              3. Acquire mode_config lock (This lock already have been acquired in previous step 1)
      ** Dead Lock Now **
      
      It's wrong to flush the hpd work in bridge->disable time, I guess the
      original code just want to ensure the delay work must be finish before
      encoder disabled.
      
      The flush work in bridge disable time is try to ensure the HPD event
      won't be missed before display card disabled, actually we can take a
      fast respond way(interrupt thread) to update DRM HPD event to fix the
      delay update and possible dead lock.
      Tested-by: default avatarCaesar Wang <wxt@rock-chips.com>
      Tested-by: default avatarDouglas Anderson <dianders@chromium.org>
      Tested-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Tested-by: default avatarJavier Martinez Canillas <javier@osg.samsung.com>
      Signed-off-by: default avatarYakir Yang <ykk@rock-chips.com>
      7b4b7a8d