On Sun, Mar 18, 2012 at 01:39:40PM -0700, Ben Widawsky wrote: > The patches have changed quite a bit since the RFC, and therefore I > didn't feel comfortable trying to do v2 information. I didn't feel > comfortable taking the few r-bs that I had from the RFC except for the > one patch that I applied wholesale. > > Summary: > - Completely redid the patch splitting. I've only done a quick and cursory reading, but I like the new splitting _much_ more. The storyline behind these patches is now much clearer. I'll try to do a more in-depth review later this week. Cheers, Daniel > The number of patches increased, but LOC is about the same, and a > handful of the new patches are either because of more splitting, or > completely new bits. > - Reference counted context allows freeing the data structure and > freeing the BO independently. This is probably the most significant > change. > - Convert ILK RC6 code to use context code. I'm hopefuly this will make > things more stable, but have no proof. > - Added trace events for context create/destroy/switch. > - Only support render ring context switch (previous code supported any > ring, though media ring is the only other ring which *should* work). > > Testing summary. > ILK > RC6, just booted to desktop > SNB > module load/unload testing > 20 consecutive suspend resume cycles > nexuiz with experimental mesa > piglit quick.tests with experimental mesa > I've seen time-elapsed, and polygonOffset intermittently fail, I > believe this is caused by the following... > Missed IRQs now seem to occur once every other piglit run. > I have some new code to try to fix this... coming soon, I hope. > IVB > No testing done since RFC > > I'll respond to this email with links to what I used to test (code is > currently not in pushable form). > kernel > libdrm > mesa > intel-gpu-tools > > Thanks to Chris Wilson, Daniel Vetter, and Eric Anholt for providing > useful feedback in the RFC. > > Ben Widawsky (18): > drm/i915: CXT_SIZE register offsets added > drm/i915: preliminary context support > drm/i915: context basic create & destroy > drm/i915: add context information to objects > drm/i915: context switch implementation > drm/i915: trace events for contexts > drm/i915: Ivybridge MI_ARB_ON_OFF context w/a > drm/i915: PIPE_CONTROL_TLB_INVALIDATE > drm/i915: possibly invalidate TLB before context switch > drm/i915: use the default context > drm/i915: switch to default context on idle > drm/i915: try to reset the gpu before unload > drm/i915/context: create & destroy ioctls > drm/i915/context: switch contexts with execbuf2 > drm/i915/context: add params > drm/i915/context: anonymous context interfaces > drm/i915: Ironlake rc6 can use context interfaces > drm/i915: try to enable rc6 on Ironlake... again > > drivers/gpu/drm/i915/Makefile | 1 + > drivers/gpu/drm/i915/i915_debugfs.c | 8 +- > drivers/gpu/drm/i915/i915_dma.c | 9 + > drivers/gpu/drm/i915/i915_drv.c | 1 + > drivers/gpu/drm/i915/i915_drv.h | 43 ++- > drivers/gpu/drm/i915/i915_gem.c | 11 + > drivers/gpu/drm/i915/i915_gem_context.c | 513 ++++++++++++++++++++++++++++ > drivers/gpu/drm/i915/i915_gem_execbuffer.c | 6 + > drivers/gpu/drm/i915/i915_reg.h | 26 ++ > drivers/gpu/drm/i915/i915_trace.h | 59 ++++ > drivers/gpu/drm/i915/intel_display.c | 95 +----- > drivers/gpu/drm/i915/intel_ringbuffer.c | 49 +++ > drivers/gpu/drm/i915/intel_ringbuffer.h | 11 + > include/drm/i915_drm.h | 21 +- > 14 files changed, 755 insertions(+), 98 deletions(-) > create mode 100644 drivers/gpu/drm/i915/i915_gem_context.c > > -- > 1.7.9.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Mail: daniel at ffwll.ch Mobile: +41 (0)79 365 57 48