1. 03 Dec, 2013 2 commits
    • Chris Wilson's avatar
      drm/i915: Do not clobber config status after a forced restore of hw state · edd5b133
      Chris Wilson authored
      We call intel_modeset_setup_hw_state() along two paths, driver
      load/resume and after a lid event notification. During initialisation of
      the driver, it is imperative that we reset the config state. This
      correctly sets up the initial connector statuses and prepares the
      hardware for a thorough probing. However, during a lid event, we only
      want to undo the damage caused by the bios by resetting our last known
      mode. In this cirumstance, we do not want to clobber our desired state.
      
      In order to try and keep sanity between the config state and our own
      tracking, do the drm_mode_config_reset() first along the load/resume
      paths before reading out the hw state and apply any definite known
      corrections.
      
      v2: "As discussed on irc I don't think we should force the connector
      state to anything here: Imo connector->status should reflect what we
      believe to be the true output connection state, whereas connector->encoder
      reflects whether this connector is wired up to a pipe. And since we no
      longer reject modeset on disconnected connectors and never nuked the pipe
      if the connector gets disconnected there's no reason for that - such policy
      is userspace's job.
      
      This regression has been introduced in
      
      commit 2e938892
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Thu Oct 11 20:08:24 2012 +0200
      
          drm/i915/crt: explicitly set up HOTPLUG_BITS on resume"
      so sayeth Daniel.
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: stable@vger.kernel.org (v3.8 and later)
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      edd5b133
    • Ville Syrjälä's avatar
      drm/i915: Take modeset locks around intel_modeset_setup_hw_state() · 02747664
      Ville Syrjälä authored
      Some lower level things get angry if we don't have modeset locks
      during intel_modeset_setup_hw_state(). Actually the resume and
      lid_notify codepaths alreday hold the locks, but the init codepath
      doesn't, so fix that.
      
      Note: This slipped through since we only disable pipes if the
      plane/pipe linking doesn't match. Which is only relevant on older
      gen3 mobile machines, if the BIOS fails to set up our preferred
      linking.
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Cc: stable@vger.kernel.org
      Tested-and-reported-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      [danvet: Add note now that I could confirm my theory with the log
      files Paul Bolle provided.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      02747664
  2. 29 Nov, 2013 4 commits
  3. 28 Nov, 2013 3 commits
  4. 27 Nov, 2013 2 commits
  5. 26 Nov, 2013 1 commit
  6. 25 Nov, 2013 1 commit
  7. 21 Nov, 2013 1 commit
  8. 20 Nov, 2013 1 commit
    • Daniel Vetter's avatar
      drm/i915: Fix gen3 self-refresh watermarks · f727b490
      Daniel Vetter authored
      This regression has been introduced in
      
      commit 4fe8590a
      Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Date:   Wed Sep 4 18:25:22 2013 +0300
      
          drm/i915: Use adjusted_mode appropriately when computing watermarks
      
      I guess we should renable the enabled local variable into something a
      notch more descriptive, but that's something for -next.
      
      The effect on my i945gme netbook is pretty severe amounts of underruns
      - usually the very first pixel gets used for the entire screeen.
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Damien Lespiau <damien.lespiau@intel.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      f727b490
  9. 19 Nov, 2013 3 commits
  10. 18 Nov, 2013 2 commits
  11. 17 Nov, 2013 1 commit
    • Daniel Vetter's avatar
      drm/i915: restore the early forcewake cleanup · ef46e0d2
      Daniel Vetter authored
      Some BIOS just leak the forcewak bits, which we clean up.
      Unfortunately this has been broken in
      
      commit 521198a2
      Author: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Date:   Fri Aug 23 16:52:30 2013 +0300
      
          drm/i915: sanitize forcewake registers on reset
      
      To make this work both for resets and for BIOS takeover just add the
      forcewake clearing call back to intel_uncore_early_sanitize.
      
      We need to clear the forcewake in early sanitize so that the forcewak
      dance in intel_uncore_init (to figure out whether we have mt or legacy
      forcewake on ivb) works. That cleanup fits in nicely with the general
      topic of early_sanitize to prepare for the very first mmio ops.
      
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Reported-by: default avatarJörg Otte <jrg.otte@gmail.com>
      Cc: Jörg Otte <jrg.otte@gmail.com>
      References: https://lkml.org/lkml/2013/11/16/40
      Cc: stable@vger.kernel.org (for 3.12 only)
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      ef46e0d2
  12. 16 Nov, 2013 1 commit
  13. 15 Nov, 2013 1 commit
    • Daniel Vetter's avatar
      drm/i915: flush cursors harder · b2ea8ef5
      Daniel Vetter authored
      Apparently they need the same treatment as primary planes. This fixes
      modesetting failures because of stuck cursors (!) on Thomas' i830M
      machine.
      
      I've figured while at it I'll also roll it out for the ivb 3 pipe
      version of this function. I didn't do this for i845/i865 since Bspec
      says the update mechanism works differently, and there's some
      additional rules about what can be updated in which order.
      Tested-by: default avatarThomas Richter <thor@math.tu-berlin.de>
      Cc: stable@vger.kernel.org
      Cc:  Thomas Richter <thor@math.tu-berlin.de>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      b2ea8ef5
  14. 14 Nov, 2013 3 commits
  15. 13 Nov, 2013 7 commits
  16. 11 Nov, 2013 1 commit
  17. 10 Nov, 2013 5 commits
    • Dave Airlie's avatar
      Merge branch 'gma500-next' of git://github.com/patjak/drm-gma500 into drm-next · cf0613d2
      Dave Airlie authored
      SDVO support for minnowboard
      
      * 'gma500-next' of git://github.com/patjak/drm-gma500:
        drm/gma500/mrst: Add SDVO to output init
        drm/gma500/mrst: Don't blindly guess a mode for LVDS
        drm/gma500/mrst: Setup GMBUS for oaktrail/mrst
        drm/gma500/mrst: Replace WMs and chickenbits with values from EMGD
        drm/gma500/mrst: Add aux register writes to SDVO
        drm/gma500/mrst: Properly route oaktrail hdmi hooks
        drm/gma500/mrst: Add aux register writes when programming pipe
        drm/gma500/mrst: Add SDVO clock calculation
        drm/gma500: Add aux device support for gmbus
        drm/gma500: Add support for aux pci vdc device
        drm/gma500: Add chip specific sdvo masks
        drm/gma500: Add Minnowboard to the IS_MRST() macro
      cf0613d2
    • Laurent Pinchart's avatar
      drm: shmob_drm: Convert to clk_prepare/unprepare · 8d01e1ef
      Laurent Pinchart authored
      Turn clk_enable() and clk_disable() calls into clk_prepare_enable() and
      clk_disable_unprepare() to get ready for the migration to the common
      clock framework.
      
      Cc: David Airlie <airlied@linux.ie>
      Cc: dri-devel@lists.freedesktop.org
      Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      8d01e1ef
    • Dave Airlie's avatar
      Merge tag 'bdw-stage1-2013-11-08-v2' of... · ab0169bb
      Dave Airlie authored
      Merge tag 'bdw-stage1-2013-11-08-v2' of git://people.freedesktop.org/~danvet/drm-intel into drm-next
      
      So here's the Broadwell pull request. From a kernel driver pov there's
      two areas with big changes in Broadwell:
      - Completely new enumerated interrupt bits. On the plus side it now looks
        fairly unform and sane.
      - Completely new pagetable layout.
      
      To ensure minimal impact on existing platforms we've refactored both the
      irq and low-level gtt handling code a lot in anticipation of the bdw push.
      So now bdw enabling in these areas just plugs in a bunch of vfuncs.
      
      Otherwise it's all fairly harmless adjusting of switch cases and
      if-ladders to shovel bdw into the right blocks. So minimized impact on
      existing platforms. I've also merged the bdw-stage1 branch into our
      -nightly integration branch for the past week to make sure we don't break
      anything.
      
      Note that there's still quite a flurry or patches floating around, but
      I've figured I'll push this out. I plan to keep the bdw fixes separate
      from my usual -fixes stream so that you can reject them easily in case it
      still looks like too much churn. Also, bdw is for now hidden behind the
      preliminary hw enabling module option. So there's no real pressure to get
      follow-up patches all into 3.13.
      
      * tag 'bdw-stage1-2013-11-08-v2' of git://people.freedesktop.org/~danvet/drm-intel: (75 commits)
        drm/i915: Mask the vblank interrupt on bdw by default
        drm/i915: Wire up cpu fifo underrun reporting support for bdw
        drm/i915: Optimize gen8_enable|disable_vblank functions
        drm/i915: Wire up pipe CRC support for bdw
        drm/i915: Wire up PCH interrupts for bdw
        drm/i915: Wire up port A aux channel
        drm/i915: Fix up the bdw pipe interrupt enable lists
        drm/i915: Optimize pipe irq handling on bdw
        drm/i915/bdw: Take render error interrupt out of the mask
        drm/i915/bdw: Add BDW PCH check first
        drm/i915: Use hsw_crt_get_config on BDW
        drm/i915/bdw: Change dp aux timeout to 600us on DDIA
        drm/i915/bdw: Enable trickle feed on Broadwell
        drm/i915/bdw: WaSingleSubspanDispatchOnAALinesAndPoints
        drm/i915/bdw: conservative SBE VUE cache mode
        drm/i915/bdw: Limit SDE poly depth FIFO to 2
        drm/i915/bdw: Sampler power bypass disable
        ddrm/i915/bdw: Disable centroid pixel perf optimization
        drm/i915/bdw: BWGTLB clock gate disable
        drm/i915/bdw: Implement edp PSR workarounds
        ...
      ab0169bb
    • Dave Airlie's avatar
      Merge branch 'drm-next-3.13' of git://people.freedesktop.org/~agd5f/linux into drm-next · 8d0a2215
      Dave Airlie authored
      A few more patches for 3.13.  The big one here is Hawaii support.
      I wanted to get that out sooner, but was sick earlier this week.  That
      said, it's mostly self contained, so it shouldn't impact other asics.
      The rest are just bug fixes and a merge fix.
      
      * 'drm-next-3.13' of git://people.freedesktop.org/~agd5f/linux: (23 commits)
        Revert "drm/radeon/audio: don't set speaker allocation on DCE4+"
        drm/radeon/audio: improve ACR calculation
        drm/radeon/audio: correct ACR table
        drm/radeon: fix mismerge of drm-next with 3.12
        drm/radeon: add pci ids for hawaii
        drm/radeon: fill in radeon_asic_init for hawaii
        drm/radeon: modesetting updates for hawaii
        drm/radeon: atombios.h updates for hawaii
        drm/radeon: update cik_get_csb_buffer for hawaii
        drm/radeon: add hawaii dpm support
        drm/radeon/cik: add hawaii UVD support
        drm/radeon: update firmware loading for hawaii
        drm/radeon: update rb setup for hawaii
        drm/radeon: add golden register settings for hawaii
        drm/radeon: update cik_tiling_mode_table_init() for hawaii
        drm/radeon: minor updates to cik.c for hawaii
        drm/radeon: update cik_gpu_init() for hawaii
        drm/radeon: add Hawaii chip family
        drm/radeon: fix-up some float to fixed conversion thinkos
        drm/radeon: use HDP_MEM_COHERENCY_FLUSH_CNTL for sdma as well
        ...
      8d0a2215
    • Dave Airlie's avatar
      Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next · c4b3a81f
      Dave Airlie authored
      prime support, inactive rework, render nodes
      * 'msm-next' of git://people.freedesktop.org/~robclark/linux:
        drm/msm/mdp4: page_flip cleanups/fixes
        drm/msm: EBUSY status handling in msm_gem_fault()
        drm/msm: rework inactive-work
        drm/msm: add plane support
        drm/msm: resync generated headers
        drm/msm: support render nodes
        drm/msm: prime support
      c4b3a81f
  18. 09 Nov, 2013 1 commit