drm/i915 Updates Daniel Vetter, Intel OTC FOSDEM 2013 bug - - PowerPoint PPT Presentation

drm i915 updates
SMART_READER_LITE
LIVE PREVIEW

drm/i915 Updates Daniel Vetter, Intel OTC FOSDEM 2013 bug - - PowerPoint PPT Presentation

drm/i915 Updates Daniel Vetter, Intel OTC FOSDEM 2013 bug squashing bugs fixed by the truckload especially regressions! intel-gpu-tools kernel tests no testsuite is worse than having none debugfs knobs for tricky cases


slide-1
SLIDE 1

drm/i915 Updates

Daniel Vetter, Intel OTC FOSDEM 2013

slide-2
SLIDE 2

bug squashing

  • bugs fixed by the truckload
  • especially regressions!
slide-3
SLIDE 3

intel-gpu-tools kernel tests

  • no testsuite is worse than having none
  • debugfs knobs for tricky cases
  • started with automake testrunner, now piglit
slide-4
SLIDE 4

i-g-t kernel tests: future

  • modeset coverage still really spotty
  • gpu hang&reset code is tricky
  • unified kernel tests for other gpus?
slide-5
SLIDE 5

dear gfx bug reporter

please file duplicates srly

slide-6
SLIDE 6

haswell display

  • LVDS, SDVO gone, VGA marginalised
  • ports on CPU, not PCH
slide-7
SLIDE 7
  • ld: PCH-split

CPU PCH PIPE A ports: DP SDVO HDMI LVDS VGA ... PIPE B FDI A FDI B MUX MUX eDP

slide-8
SLIDE 8

new: DDI ports

CPU PCH PIPE A VGA PIPE B FDI A MUX DDI E DDI A ... eDP DP/HDMI

slide-9
SLIDE 9

modeset rework

  • haswell DP DDI like old cpu eDP
  • „wrong“ enable/disable sequence
slide-10
SLIDE 10

crtc helpers

  • too flexible: independant encoders
  • not flexible enough:

simple encoder enable/disable sequence

slide-11
SLIDE 11

new i915 modeset code

  • dpms simplified
  • modeset sequence driven by crtc
slide-12
SLIDE 12

new modeset: code tools

  • output state staging
  • hw state read-out
slide-13
SLIDE 13

new modeset: results

  • simplified modeset state space
  • paranoid modeset state checker
  • enabled haswell DP support
  • drm helpers are in rather good shape
slide-14
SLIDE 14

new modeset: future

  • atomic modeset
  • fastboot
slide-15
SLIDE 15

minor modeset stuff

  • EDID improvements
  • hotplug is a mess
slide-16
SLIDE 16

drm modeset locking rework

  • per-crtc locking for pageflip/cursor/fb ops
  • required proper framebuffer refcounting
slide-17
SLIDE 17

drm modeset locking rework

  • per-crtc locking for pageflip/cursor/fb ops
  • required proper framebuffer refcounting
slide-18
SLIDE 18

GEM

  • little bits of tuning all over
  • hw context support
  • cachability control
slide-19
SLIDE 19

GEM: no more flushing list

  • GEM: per-cache GPU domains
  • complex and delayed flushing caused stalls
  • completely ripped out (almost)
slide-20
SLIDE 20

GEM: tuning

  • unbound tracking
  • reduce mappable pressure
  • no-reloc optimization
slide-21
SLIDE 21

GEM: the future

  • real per-process address spaces
  • userptr, maybe ...
  • more than One Lock to Rule Them All
slide-22
SLIDE 22

dma_buf: fences & reservations

  • Maarten Lankhorst & Rob Clark
  • essentially ttm, trimmed down
  • currently just for synchronization
slide-23
SLIDE 23

dma_buf: opens

  • needs review of mutex changes
  • android sync_points, SoC adoption
  • integration with i915/GEM will be fun
  • better i915 OOM handling
slide-24
SLIDE 24

summary

  • fewer bugs & better QA tools
  • improved modeset infrastructure
  • fastboot & atomic modeset in the future
  • tuned GEM
  • big changes around dma_buf ahead