Hi all, As promised here's my patch series to make struct drm_gem_object embedable. Also converts drm/i915 as a proof of concept.
I've already looked at the radeon and nouveau modules and a straightforward replament of the gem_object pointer looks simple. But I think embedding it into the ttm_bo is better long-term. Stuff like duplicated ref-counting between the ttm object and the gem one just doesn't make too much sense. Tested on my i945GM. The changes to radeon and nouveau in patch 2 are only compile-tested, but the identical change to the i915 survived testing. Comments on the patches and my future plans highly welcome. Yours, Daniel Daniel Vetter (6): drm: extract drm_gem_object_init drm: free core gem object from driver callbacks drm/i915: introduce i915_gem_alloc_object drm/i915: embed the gem object into drm_i915_gem_object drm/i915: don't use ->driver_private anymore drm/i915: drop pointer to drm_gem_object drivers/gpu/drm/drm_gem.c | 49 +++++++++++++------- drivers/gpu/drm/i915/i915_debugfs.c | 15 +++--- drivers/gpu/drm/i915/i915_drv.h | 6 ++- drivers/gpu/drm/i915/i915_gem.c | 80 ++++++++++++++++++--------------- drivers/gpu/drm/i915/i915_gem_debug.c | 2 +- drivers/gpu/drm/i915/i915_irq.c | 4 +- drivers/gpu/drm/i915/intel_display.c | 2 +- drivers/gpu/drm/i915/intel_fb.c | 2 +- drivers/gpu/drm/i915/intel_overlay.c | 8 ++-- drivers/gpu/drm/nouveau/nouveau_gem.c | 3 + drivers/gpu/drm/radeon/radeon_gem.c | 3 + include/drm/drmP.h | 3 + 12 files changed, 105 insertions(+), 72 deletions(-) ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel