[PULL] bdw basic enabling for 3.13

Daniel Vetter daniel at ffwll.ch
Fri Nov 8 11:14:34 PST 2013


Hi Dave,

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.

Cheers, Daniel

PS: Last minute rebase was to quench a bisect fail since I've fumbled
squashing in some of the bugfixes from yesterday. Hence the -v2 tag.

The following changes since commit 7f16e5c1416070dc590dd333a2d677700046a4ab:

  Merge tag 'v3.12' into drm-intel-next (2013-11-04 16:28:52 +0100)

are available in the git repository at:


  git://people.freedesktop.org/~danvet/drm-intel tags/bdw-stage1-2013-11-08-v2

for you to fetch changes up to 13b3a0a77625c09c84825ef6ba81d957ec207841:

  drm/i915: Mask the vblank interrupt on bdw by default (2013-11-08 18:10:14 +0100)

----------------------------------------------------------------
Art Runyan (1):
      drm/i915/bdw: Add BDW DDI buffer translation values

Ben Widawsky (46):
      drm/i915/bdw: IS_GEN8 definition
      drm/i915/bdw: Handle forcewake for writes on gen8
      drm/i915/bdw: Initialize BDW forcewake vfuncs
      drm/i915/bdw: Add device IDs
      drm/i915/bdw: Fences on gen8 look just like gen7
      drm/i915/bdw: Swizzling support
      drm/i915/bdw: HW context support
      drm/i915/bdw: Clock gating init
      drm/i915/bdw: display stuff
      drm/i915/bdw: support GMS and GGMS changes
      drm/i915/bdw: Implement interrupt changes
      drm/i915/bdw: Add interrupt info to debugfs
      drm/i915/bdw: Support 64b relocations
      drm/i915/bdw: dispatch updates (64b related)
      drm/i915/bdw: Update MI_FLUSH_DW
      drm/i915/bdw: debugfs updates
      drm/i915/bdw: Update relevant error state
      drm/i915/bdw: Make gen8_gmch_probe
      drm/i915/bdw: Create gen8_gtt_pte_t
      drm/i915/bdw: Add GTT functions
      drm/i915/bdw: Support BDW caching
      drm/i915/bdw: PPGTT init & cleanup
      drm/i915/bdw: Initialize the PDEs
      drm/i915/bdw: Implement PPGTT clear range
      drm/i915/bdw: Implement PPGTT insert
      drm/i915/bdw: Implement PPGTT enable
      drm/i915/bdw: unleash PPGTT
      drm/i915/bdw: Render ring flushing
      drm/i915/bdw: ppgtt info in debugfs
      drm/i915/bdw: BSD init for gen8 also
      drm/i915/bdw: Implement WaSwitchSolVfFArbitrationPriority
      drm/i915/bdw: Use The GT mailbox for IPS enable/disable
      drm/i915/bdw: Support eDP PSR
      drm/i915/bdw: Use HSW formula for ring freq scaling
      drm/i915/bdw: Don't wait for c0 threads on forcewake
      drm/i915/bdw: Create a separate BDW rps enable
      drm/i915/bdw: Disable semaphores
      drm/i915/bdw: Implement edp PSR workarounds
      drm/i915/bdw: BWGTLB clock gate disable
      ddrm/i915/bdw: Disable centroid pixel perf optimization
      drm/i915/bdw: Sampler power bypass disable
      drm/i915/bdw: Limit SDE poly depth FIFO to 2
      drm/i915/bdw: conservative SBE VUE cache mode
      drm/i915/bdw: WaSingleSubspanDispatchOnAALinesAndPoints
      drm/i915/bdw: Change dp aux timeout to 600us on DDIA
      drm/i915/bdw: Add BDW PCH check first

Damien Lespiau (2):
      drm/i915/bdw: Broadwell has 3 pipes
      drm/i915/bdw: Broadwell has a max port clock of 300Mhz on HDMI

Daniel Vetter (10):
      drm/i915/bdw: Disable PPGTT for now
      drm/i915/bdw: Take render error interrupt out of the mask
      drm/i915: Optimize pipe irq handling on bdw
      drm/i915: Fix up the bdw pipe interrupt enable lists
      drm/i915: Wire up port A aux channel
      drm/i915: Wire up PCH interrupts for bdw
      drm/i915: Wire up pipe CRC support for bdw
      drm/i915: Optimize gen8_enable|disable_vblank functions
      drm/i915: Wire up cpu fifo underrun reporting support for bdw
      drm/i915: Mask the vblank interrupt on bdw by default

Paulo Zanoni (11):
      drm/i915/bdw: add IS_BROADWELL macro
      drm/i915/bdw: add Broadwell sprite/plane/cursor checks
      drm/i915/bdw: Broadwell also has the "power down well"
      drm/i915/bdw: pretend we have LPT LP on Broadwell
      drm/i915/bdw: on Broadwell, the panel fitter is on the pipe
      drm/i915/bdw: Broadwell has PIPEMISC
      drm/i915/bdw: get the correct LCPLL frequency on Broadwell
      drm/i915/bdw: add BDW DDI buf translations for eDP
      drm/i915/bdw: add support for BDW DP voltage swings and pre-emphasis
      drm/i915/bdw: BDW also has only 2 FDI lanes
      drm/i915/bdw: check DPD on port D when setting the DDI buffers

Ville Syrjälä (5):
      drm/i915/bdw: Don't muck with gtt_size on Gen8 when PPGTT setup fails
      drm/i915/bdw: Use pipe CSC on Broadwell
      drm/i915/bdw: Add Broadwell display FIFO limits
      drm/i915/bdw: Enable trickle feed on Broadwell
      drm/i915: Use hsw_crt_get_config on BDW

 arch/x86/kernel/early-quirks.c             |  12 +
 drivers/gpu/drm/i915/i915_debugfs.c        | 109 ++++++-
 drivers/gpu/drm/i915/i915_drv.c            |  34 +-
 drivers/gpu/drm/i915/i915_drv.h            |  36 ++-
 drivers/gpu/drm/i915/i915_gem.c            |   3 +
 drivers/gpu/drm/i915/i915_gem_context.c    |   3 +
 drivers/gpu/drm/i915/i915_gem_execbuffer.c |  35 +-
 drivers/gpu/drm/i915/i915_gem_gtt.c        | 504 +++++++++++++++++++++++++++--
 drivers/gpu/drm/i915/i915_gpu_error.c      |   2 +
 drivers/gpu/drm/i915/i915_irq.c            | 375 +++++++++++++++++++++
 drivers/gpu/drm/i915/i915_reg.h            | 123 ++++++-
 drivers/gpu/drm/i915/intel_crt.c           |  11 +-
 drivers/gpu/drm/i915/intel_ddi.c           | 124 ++++++-
 drivers/gpu/drm/i915/intel_display.c       |  82 +++--
 drivers/gpu/drm/i915/intel_dp.c            |  66 +++-
 drivers/gpu/drm/i915/intel_hdmi.c          |   2 +-
 drivers/gpu/drm/i915/intel_pm.c            | 164 +++++++++-
 drivers/gpu/drm/i915/intel_ringbuffer.c    | 194 ++++++++++-
 drivers/gpu/drm/i915/intel_sprite.c        |   7 +-
 drivers/gpu/drm/i915/intel_uncore.c        |  58 +++-
 include/drm/i915_drm.h                     |   4 +
 include/drm/i915_pciids.h                  |  25 ++
 22 files changed, 1847 insertions(+), 126 deletions(-)
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list