All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: daniel@ffwll.ch, airlied@linux.ie, kraxel@redhat.com,
	christian.koenig@amd.com, ray.huang@amd.com, Jerry.Zhang@amd.com,
	hdegoede@redhat.com, z.liuxinliang@hisilicon.com,
	zourongrong@gmail.com, kong.kongxinwei@hisilicon.com,
	puck.chen@hisilicon.com
Cc: Thomas Zimmermann <tzimmermann@suse.de>,
	dri-devel@lists.freedesktop.org,
	virtualization@lists.linux-foundation.org
Subject: [PATCH v3 06/19] drm: Add default instance for VRAM MM callback functions
Date: Mon, 29 Apr 2019 16:43:28 +0200	[thread overview]
Message-ID: <20190429144341.12615-7-tzimmermann__38016.780784686$1556549290$gmane$org@suse.de> (raw)
In-Reply-To: <20190429144341.12615-1-tzimmermann@suse.de>

VRAM MM is most likely be used with GEM VRAM. The latter now provides the
required instance of struct drm_vram_mm_funcs for drivers to use.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/drm_gem_vram_helper.c | 14 ++++++++++++++
 include/drm/drm_gem_vram_helper.h     |  3 +++
 2 files changed, 17 insertions(+)

diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c
index e5a0dcf97ba8..37979fb3062b 100644
--- a/drivers/gpu/drm/drm_gem_vram_helper.c
+++ b/drivers/gpu/drm/drm_gem_vram_helper.c
@@ -2,6 +2,7 @@
 
 #include <drm/drm_gem_vram_helper.h>
 #include <drm/drm_mode.h>
+#include <drm/drm_vram_mm_helper.h>
 #include <drm/ttm/ttm_page_alloc.h>
 
 /**
@@ -521,6 +522,19 @@ int drm_gem_vram_bo_driver_verify_access(struct ttm_buffer_object *bo,
 }
 EXPORT_SYMBOL(drm_gem_vram_bo_driver_verify_access);
 
+/**
+ * drm_gem_vram_mm_funcs - Functions for &struct drm_vram_mm
+ *
+ * Most users of @struct drm_gem_vram_object will also use
+ * @struct drm_vram_mm. This instance of &struct drm_vram_mm_funcs
+ * can be used to connect both.
+ */
+const struct drm_vram_mm_funcs drm_gem_vram_mm_funcs = {
+	.evict_flags = drm_gem_vram_bo_driver_evict_flags,
+	.verify_access = drm_gem_vram_bo_driver_verify_access
+};
+EXPORT_SYMBOL(drm_gem_vram_mm_funcs);
+
 /*
  * Helpers for struct drm_driver
  */
diff --git a/include/drm/drm_gem_vram_helper.h b/include/drm/drm_gem_vram_helper.h
index 1eb42919b9fb..3f250f59eaa5 100644
--- a/include/drm/drm_gem_vram_helper.h
+++ b/include/drm/drm_gem_vram_helper.h
@@ -9,6 +9,7 @@
 #include <linux/kernel.h> /* for container_of() */
 
 struct drm_mode_create_dumb;
+struct drm_vram_mm_funcs;
 struct filp;
 
 #define DRM_GEM_VRAM_PL_FLAG_VRAM	TTM_PL_FLAG_VRAM
@@ -107,6 +108,8 @@ void drm_gem_vram_bo_driver_evict_flags(struct ttm_buffer_object *bo,
 int drm_gem_vram_bo_driver_verify_access(struct ttm_buffer_object *bo,
 					 struct file *filp);
 
+extern const struct drm_vram_mm_funcs drm_gem_vram_mm_funcs;
+
 /*
  * Helpers for struct drm_driver
  */
-- 
2.21.0

  parent reply	other threads:[~2019-04-29 14:43 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-29 14:43 [PATCH v3 00/19] Share TTM code among DRM framebuffer drivers Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 01/19] drm: Add |struct drm_gem_vram_object| and helpers Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 19:58   ` Sam Ravnborg
2019-04-29 19:58   ` Sam Ravnborg
2019-04-30  7:18     ` Thomas Zimmermann
2019-04-30  9:23       ` Sam Ravnborg
2019-04-30  9:35         ` Koenig, Christian
2019-05-03 10:14           ` Thomas Zimmermann
2019-05-03 12:01             ` Daniel Vetter
2019-05-03 12:07               ` Koenig, Christian
2019-05-03 12:27                 ` Thomas Zimmermann
2019-05-03 12:27                 ` Thomas Zimmermann
2019-05-03 13:29                   ` Thomas Zimmermann
2019-04-30  9:35         ` Koenig, Christian
2019-04-30  9:23       ` Sam Ravnborg
2019-04-30  7:18     ` Thomas Zimmermann
2019-04-30 14:27     ` Daniel Vetter
2019-04-30 14:27     ` Daniel Vetter
2019-04-30 14:40     ` Daniel Vetter
2019-04-30 14:40     ` Daniel Vetter
2019-04-29 14:43 ` [PATCH v3 02/19] drm: Add |struct drm_gem_vram_object| callbacks for |struct ttm_bo_driver| Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 03/19] drm: Add |struct drm_gem_vram_object| callbacks for |struct drm_driver| Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 04/19] drm: Add drm_gem_vram_fill_create_dumb() to create dumb buffers Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 05/19] drm: Add VRAM MM, a simple memory manager for dedicated VRAM Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann [this message]
2019-04-29 14:43 ` [PATCH v3 06/19] drm: Add default instance for VRAM MM callback functions Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 07/19] drm: Integrate VRAM MM into struct drm_device Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 08/19] drm/ast: Convert AST driver to |struct drm_gem_vram_object| Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 09/19] drm/ast: Convert AST driver to VRAM MM Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 10/19] drm/ast: Replace mapping code with drm_gem_vram_{kmap/kunmap}() Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 11/19] drm/bochs: Convert bochs driver to |struct drm_gem_vram_object| Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 12/19] drm/bochs: Convert bochs driver to VRAM MM Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 13/19] drm/mgag200: Convert mgag200 driver to |struct drm_gem_vram_object| Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 14/19] drm/mgag200: Convert mgag200 driver to VRAM MM Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 15/19] drm/mgag200: Replace mapping code with drm_gem_vram_{kmap/kunmap}() Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-30 14:41   ` Daniel Vetter
2019-04-30 14:41   ` Daniel Vetter
2019-04-29 14:43 ` [PATCH v3 16/19] drm/vboxvideo: Convert vboxvideo driver to |struct drm_gem_vram_object| Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 17/19] drm/vboxvideo: Convert vboxvideo driver to VRAM MM Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 18/19] drm/hisilicon: Convert hibmc-drm driver to |struct drm_gem_vram_object| Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann
2019-04-29 14:43 ` [PATCH v3 19/19] drm/hisilicon: Convert hibmc-drm driver to VRAM MM Thomas Zimmermann
2019-04-29 14:43 ` Thomas Zimmermann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='20190429144341.12615-7-tzimmermann__38016.780784686$1556549290$gmane$org@suse.de' \
    --to=tzimmermann@suse.de \
    --cc=Jerry.Zhang@amd.com \
    --cc=airlied@linux.ie \
    --cc=christian.koenig@amd.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hdegoede@redhat.com \
    --cc=kong.kongxinwei@hisilicon.com \
    --cc=kraxel@redhat.com \
    --cc=puck.chen@hisilicon.com \
    --cc=ray.huang@amd.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=z.liuxinliang@hisilicon.com \
    --cc=zourongrong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.