1. 04 4月, 2014 1 次提交
  2. 27 2月, 2014 4 次提交
    • T
      drm/dp: Allow registering AUX channels as I2C busses · 88759686
      Thierry Reding 提交于
      Implements an I2C-over-AUX I2C adapter on top of the generic drm_dp_aux
      infrastructure. It extracts the retry logic from existing drivers, which
      should help in porting those drivers to this new helper.
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: NJani Nikula <jani.nikula@intel.com>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      ---
      Changes in v5:
      - move comments partially to to header file
      - keep MOT set between I2C messages
      - return -EPROTO on short reads
      
      Changes in v4:
      - fix typo "bitrate" -> "bit rate"
      
      Changes in v3:
      - add back DRM_DEBUG_KMS and DRM_ERROR messages
      - embed i2c_adapter within struct drm_dp_aux
      - fix typo in comment
      88759686
    • T
      drm/dp: Add DisplayPort link helpers · 516c0f7c
      Thierry Reding 提交于
      Add a helper to probe a DP link (read out the supported DPCD revision,
      maximum rate, link count and capabilities) as well as power up the DP
      link and configure it accordingly.
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: NJani Nikula <jani.nikula@intel.com>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      ---
      Changes in v5:
      - export helpers
      
      Changes in v4:
      - fix a couple of typos in comments as pointed out by Alex Deucher
      
      Changes in v3:
      - split into drm_dp_link_power_up() and drm_dp_link_configure()
      - do not change sink state for DPCD versions earlier than 1.1
      - sleep for 1-2 ms after setting local sink to D0 state
      - read and write consecutive registers where possible
      - read DPCD revision when link is probed
      - remove duplicate kerneldoc
      516c0f7c
    • T
      drm/dp: Add drm_dp_dpcd_read_link_status() · 8d4adc6a
      Thierry Reding 提交于
      The function reads the link status (6 bytes starting at offset 0x202)
      from the DPCD so that it can be conveniently passed to other DPCD
      helpers.
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: NJani Nikula <jani.nikula@intel.com>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      8d4adc6a
    • T
      drm/dp: Add AUX channel infrastructure · c197db75
      Thierry Reding 提交于
      This is a superset of the current i2c_dp_aux bus functionality and can
      be used to transfer native AUX in addition to I2C-over-AUX messages.
      
      Helpers are provided to read and write the DPCD, either blockwise or
      byte-wise. Many of the existing helpers for DisplayPort take a copy of a
      portion of the DPCD and operate on that, without a way to write data
      back to the DPCD (e.g. for configuration of the link).
      
      Subsequent patches will build upon this infrastructure to provide common
      functionality in a generic way.
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: NJani Nikula <jani.nikula@intel.com>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      ---
      Changes in v5:
      - move comments partially to struct drm_dp_aux_msg in header file
      - return -EPROTO on short reads in DPCD helpers
      
      Changes in v4:
      - fix a typo in a comment
      
      Changes in v3:
      - reorder drm_dp_dpcd_writeb() arguments to be more intuitive
      - return number of bytes transferred in drm_dp_dpcd_write()
      - factor out drm_dp_dpcd_access()
      - describe error codes
      c197db75
  3. 30 1月, 2014 15 次提交
  4. 29 1月, 2014 1 次提交
    • D
      drm: ast,cirrus,mgag200: use drm_can_sleep · f4b4718b
      Dave Airlie 提交于
      these 3 were checking in_interrupt but we have situations where
      calling vunmap under this could cause a BUG to be hit in
      smp_call_function_many. Use the drm_can_sleep macro instead,
      which should stop this path from been taken in this case.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      f4b4718b
  5. 28 1月, 2014 4 次提交
  6. 25 1月, 2014 2 次提交
    • S
      i915: remove pm_qos request on error · 22accca0
      Stanislaw Gruszka 提交于
      Not removing pm qos request and free memory for it can cause crash,
      when some other driver use pm qos. For example, this oops:
      
      BUG: unable to handle kernel paging request at fffffffffffffff8
      IP: [<ffffffff81307a6b>] plist_add+0x5b/0xd0
      Call Trace:
       [<ffffffff810acf25>] pm_qos_update_target+0x125/0x1e0
       [<ffffffff810ad071>] pm_qos_add_request+0x91/0x100
       [<ffffffffa053ec14>] e1000_open+0xe4/0x5b0 [e1000e]
      
      was caused by earlier i915 probe failure:
      
      [drm:i915_report_and_clear_eir] *ERROR* EIR stuck: 0x00000010, masking
      [drm:init_ring_common] *ERROR* render ring initialization failed ctl 0001f001 head 00003004 tail 00000000 start 00003000
      [drm:i915_driver_load] *ERROR* failed to init modeset
      i915: probe of 0000:00:02.0 failed with error -5
      
      Bug report:
      http://bugzilla.redhat.com/show_bug.cgi?id=1057533Reported-by: NGiandomenico De Tullio <ghisha@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      [danvet: Drop unnecessary code movement.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      22accca0
    • D
      Revert "drm/i915: Mask reserved bits in display/sprite address registers" · 85ba7b7d
      Daniel Vetter 提交于
      This reverts commit 446f2545.
      
      I've left the masking in the pageflip code since that seems to be some
      useful piece of preemptive robustness.
      
      Iirc I've merged this patch under the assumption that the BIOS leaves
      some random gunk in the lower bits and gets unhappy if we trample on
      them. We have quite a few case like this, so this made sense.
      
      Now I've just learned that there's actual hardware features bits in
      the low 12 bits, and the kernel needs to preserve them to allow a
      userspace blob to do its job. Given Dave Airlie's clear stance on
      userspace blob drivers I've quickly chatted with him and he doesn't
      seem too happy. So let's revert this.
      
      If there are indeed bits that we must preserve in this range then we
      can ressurrect this patch, but with proper documentation for those
      bits supplied. And we probably also need to think a bit about
      interactions with our driver.
      
      Cc: Armin Reese <armin.c.reese@intel.com>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Dave Airlie <airlied@linux.ie>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      85ba7b7d
  7. 24 1月, 2014 1 次提交
  8. 23 1月, 2014 12 次提交