dri-devel Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH 0/6] make gem_object embedable and convert i915 driver
@ 2010-04-09 19:05 Daniel Vetter
  2010-04-09 19:05 ` [PATCH 1/6] drm: extract drm_gem_object_init Daniel Vetter
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Daniel Vetter @ 2010-04-09 19:05 UTC (permalink / raw)
  To: intel-gfx; +Cc: dri-devel, Daniel Vetter

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
--

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, back to index

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-04-09 19:05 [PATCH 0/6] make gem_object embedable and convert i915 driver Daniel Vetter
2010-04-09 19:05 ` [PATCH 1/6] drm: extract drm_gem_object_init Daniel Vetter
2010-04-09 19:05 ` [PATCH 2/6] drm: free core gem object from driver callbacks Daniel Vetter
2010-04-09 19:05 ` [PATCH 3/6] drm/i915: introduce i915_gem_alloc_object Daniel Vetter
2010-04-09 19:05 ` [PATCH 4/6] drm/i915: embed the gem object into drm_i915_gem_object Daniel Vetter
2010-04-09 19:05 ` [PATCH 5/6] drm/i915: don't use ->driver_private anymore Daniel Vetter
2010-04-09 19:05 ` [PATCH 6/6] drm/i915: drop pointer to drm_gem_object Daniel Vetter
2010-04-12 17:51 ` [PATCH 0/6] make gem_object embedable and convert i915 driver Eric Anholt
2010-04-12 19:19   ` Daniel Vetter
2010-04-13  5:33     ` Dave Airlie
2010-04-13 23:59       ` Eric Anholt

dri-devel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/dri-devel/0 dri-devel/git/0.git
	git clone --mirror https://lore.kernel.org/dri-devel/1 dri-devel/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dri-devel dri-devel/ https://lore.kernel.org/dri-devel \
		dri-devel@lists.freedesktop.org
	public-inbox-index dri-devel

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.freedesktop.lists.dri-devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git