[openchrome-devel] drm-openchrome: Branch 'drm-next-5.4' - 4 commits - drivers/gpu/drm
Kevin Brace
kevinbrace at kemper.freedesktop.org
Tue Aug 27 21:49:35 UTC 2019
drivers/gpu/drm/openchrome/openchrome_crtc.c | 42 --------
drivers/gpu/drm/openchrome/openchrome_drv.c | 83 +---------------
drivers/gpu/drm/openchrome/openchrome_drv.h | 12 +-
drivers/gpu/drm/openchrome/openchrome_fb.c | 57 ++---------
drivers/gpu/drm/openchrome/openchrome_ioc32.c | 3
drivers/gpu/drm/openchrome/openchrome_object.c | 129 +++++++++++++++++--------
drivers/gpu/drm/openchrome/openchrome_ttm.c | 2
7 files changed, 124 insertions(+), 204 deletions(-)
New commits:
commit 4fa6d8c922a0c6d8c5ad8447be2f4a2e1036509f
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Tue Aug 27 14:48:33 2019 -0700
drm/openchrome: Version bumped to 3.1.14
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h b/drivers/gpu/drm/openchrome/openchrome_drv.h
index 408c3d97b97c..82e66ba92efd 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -51,10 +51,10 @@
#define DRIVER_MAJOR 3
#define DRIVER_MINOR 1
-#define DRIVER_PATCHLEVEL 13
+#define DRIVER_PATCHLEVEL 14
#define DRIVER_NAME "openchrome"
#define DRIVER_DESC "OpenChrome DRM for VIA Technologies Chrome IGP"
-#define DRIVER_DATE "20190814"
+#define DRIVER_DATE "20190827"
#define DRIVER_AUTHOR "OpenChrome Project"
commit c822af111d81f27b83f5daf9b95c0522c26963b9
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Tue Aug 27 14:44:35 2019 -0700
drm/openchrome: Add kmap parameter to openchrome_bo_create()
Also, created openchrome_bo_destroy() for destroying a BO created by
openchrome_bo_create().
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/drivers/gpu/drm/openchrome/openchrome_crtc.c b/drivers/gpu/drm/openchrome/openchrome_crtc.c
index 7c9ceb94785b..5309e7f42d78 100644
--- a/drivers/gpu/drm/openchrome/openchrome_crtc.c
+++ b/drivers/gpu/drm/openchrome/openchrome_crtc.c
@@ -543,27 +543,12 @@ static int via_iga2_gamma_set(struct drm_crtc *crtc,
static void via_crtc_destroy(struct drm_crtc *crtc)
{
struct via_crtc *iga = container_of(crtc, struct via_crtc, base);
- int ret;
if (iga->cursor_bo->kmap.bo) {
- ret = ttm_bo_reserve(iga->cursor_bo->kmap.bo,
- true, false, NULL);
- if (ret) {
- goto exit;
- }
-
- ttm_bo_kunmap(&iga->cursor_bo->kmap);
-
- ret = openchrome_bo_unpin(iga->cursor_bo);
- ttm_bo_unreserve(iga->cursor_bo->kmap.bo);
- if (ret) {
- goto exit;
- }
-
- ttm_bo_put(iga->cursor_bo->kmap.bo);
+ openchrome_bo_destroy(iga->cursor_bo, true);
+ iga->cursor_bo = NULL;
}
-exit:
drm_crtc_cleanup(crtc);
}
@@ -2551,7 +2536,6 @@ int via_crtc_init(struct drm_device *dev, int index)
struct via_crtc *iga = &dev_private->iga[index];
struct drm_plane *primary;
struct drm_crtc *crtc = &iga->base;
- struct openchrome_bo *bo;
int cursor_size = 64 * 64 * 4, i;
u16 *gamma;
int ret;
@@ -2747,31 +2731,13 @@ int via_crtc_init(struct drm_device *dev, int index)
cursor_size,
ttm_bo_type_kernel,
TTM_PL_FLAG_VRAM,
- &bo);
+ true,
+ &iga->cursor_bo);
if (ret) {
DRM_ERROR("Failed to create cursor.\n");
goto exit;
}
- ret = ttm_bo_reserve(&bo->ttm_bo, true, false, NULL);
- if (ret) {
- goto exit;
- }
-
- ret = openchrome_bo_pin(bo, TTM_PL_FLAG_VRAM);
- if (ret) {
- ttm_bo_unreserve(&bo->ttm_bo);
- goto exit;
- }
-
- ret = ttm_bo_kmap(&bo->ttm_bo, 0, bo->ttm_bo.num_pages,
- &bo->kmap);
- ttm_bo_unreserve(&bo->ttm_bo);
- if (ret) {
- goto exit;
- }
-
- iga->cursor_bo = bo;
exit:
return ret;
}
diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.c b/drivers/gpu/drm/openchrome/openchrome_drv.c
index 1049cf352a55..60f1bf1caf3c 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.c
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.c
@@ -89,6 +89,7 @@ static int openchrome_drm_driver_dumb_create(
args->size,
ttm_bo_type_device,
TTM_PL_FLAG_VRAM,
+ false,
&bo);
if (ret) {
goto exit;
@@ -136,7 +137,6 @@ exit:
static void via_driver_unload(struct drm_device *dev)
{
struct openchrome_drm_private *dev_private = dev->dev_private;
- int ret;
DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -144,47 +144,19 @@ static void via_driver_unload(struct drm_device *dev)
via_modeset_fini(dev);
if (dev_private->vq_bo) {
- ret = ttm_bo_reserve(&dev_private->vq_bo->ttm_bo,
- true, false, NULL);
- if (ret) {
- goto exit_vq;
- }
-
- ttm_bo_kunmap(&dev_private->vq_bo->kmap);
-
- ret = openchrome_bo_unpin(dev_private->vq_bo);
- ttm_bo_unreserve(&dev_private->vq_bo->ttm_bo);
- if (ret) {
- goto exit_vq;
- }
-
- ttm_bo_put(&dev_private->vq_bo->ttm_bo);
+ openchrome_bo_destroy(dev_private->vq_bo, true);
+ dev_private->vq_bo = NULL;
}
-exit_vq:
if (dev_private->gart_bo) {
/* enable gtt write */
if (pci_is_pcie(dev->pdev))
svga_wseq_mask(VGABASE, 0x6C, 0, BIT(7));
- ret = ttm_bo_reserve(&dev_private->gart_bo->ttm_bo,
- true, false, NULL);
- if (ret) {
- goto exit_gart;
- }
-
- ttm_bo_kunmap(&dev_private->gart_bo->kmap);
-
- ret = openchrome_bo_unpin(dev_private->gart_bo);
- ttm_bo_unreserve(&dev_private->gart_bo->ttm_bo);
- if (ret) {
- goto exit_gart;
- }
-
- ttm_bo_put(&dev_private->gart_bo->ttm_bo);
+ openchrome_bo_destroy(dev_private->gart_bo, true);
+ dev_private->gart_bo = NULL;
}
-exit_gart:
openchrome_mm_fini(dev_private);
/*
@@ -204,7 +176,6 @@ static int via_driver_load(struct drm_device *dev,
unsigned long chipset)
{
struct openchrome_drm_private *dev_private;
- struct openchrome_bo *bo;
int ret = 0;
DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -244,31 +215,13 @@ static int via_driver_load(struct drm_device *dev,
SGDMA_MEMORY,
ttm_bo_type_kernel,
TTM_PL_FLAG_VRAM,
- &bo);
+ true,
+ &dev_private->gart_bo);
if (ret) {
DRM_ERROR("Failed to allocate DMA memory.\n");
goto init_error;
}
- ret = ttm_bo_reserve(&bo->ttm_bo, true, false, NULL);
- if (ret) {
- goto init_error;
- }
-
- ret = openchrome_bo_pin(bo, TTM_PL_FLAG_VRAM);
- if (ret) {
- ttm_bo_unreserve(&bo->ttm_bo);
- goto init_error;
- }
-
- ret = ttm_bo_kmap(&bo->ttm_bo, 0, bo->ttm_bo.num_pages,
- &bo->kmap);
- ttm_bo_unreserve(&bo->ttm_bo);
- if (ret) {
- goto init_error;
- }
-
- dev_private->gart_bo = bo;
DRM_INFO("Allocated %u KB of DMA memory.\n",
SGDMA_MEMORY >> 10);
}
@@ -279,32 +232,14 @@ static int via_driver_load(struct drm_device *dev,
VQ_MEMORY,
ttm_bo_type_kernel,
TTM_PL_FLAG_VRAM,
- &bo);
+ true,
+ &dev_private->vq_bo);
if (ret) {
DRM_ERROR("Failed to allocate VQ (Virtual Queue) "
"memory.\n");
goto init_error;
}
- ret = ttm_bo_reserve(&bo->ttm_bo, true, false, NULL);
- if (ret) {
- goto init_error;
- }
-
- ret = openchrome_bo_pin(bo, TTM_PL_FLAG_VRAM);
- if (ret) {
- ttm_bo_unreserve(&bo->ttm_bo);
- goto init_error;
- }
-
- ret = ttm_bo_kmap(&bo->ttm_bo, 0, bo->ttm_bo.num_pages,
- &bo->kmap);
- ttm_bo_unreserve(&bo->ttm_bo);
- if (ret) {
- goto init_error;
- }
-
- dev_private->vq_bo = bo;
DRM_INFO("Allocated %u KB of VQ (Virtual Queue) memory.\n",
VQ_MEMORY >> 10);
diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h b/drivers/gpu/drm/openchrome/openchrome_drv.h
index 36d10420241f..408c3d97b97c 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -291,7 +291,9 @@ int openchrome_bo_create(struct drm_device *dev,
uint64_t size,
enum ttm_bo_type type,
uint32_t ttm_domain,
+ bool kmap,
struct openchrome_bo **bo_ptr);
+void openchrome_bo_destroy(struct openchrome_bo *bo, bool kmap);
int openchrome_mm_init(struct openchrome_drm_private *dev_private);
void openchrome_mm_fini(struct openchrome_drm_private *dev_private);
diff --git a/drivers/gpu/drm/openchrome/openchrome_fb.c b/drivers/gpu/drm/openchrome/openchrome_fb.c
index 6d8d0f323aca..6723060a2320 100644
--- a/drivers/gpu/drm/openchrome/openchrome_fb.c
+++ b/drivers/gpu/drm/openchrome/openchrome_fb.c
@@ -179,12 +179,10 @@ via_fb_probe(struct drm_fb_helper *helper,
struct drm_framebuffer *fb = &via_fbdev->via_fb.fb;
struct fb_info *info = helper->fbdev;
const struct drm_format_info *format_info;
- struct openchrome_bo *bo;
struct drm_mode_fb_cmd2 mode_cmd;
struct apertures_struct *ap;
int size, cpp;
int ret = 0;
- int fake_ret = 0;
DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -205,31 +203,12 @@ via_fb_probe(struct drm_fb_helper *helper,
size,
ttm_bo_type_kernel,
TTM_PL_FLAG_VRAM,
- &bo);
+ true,
+ &via_fbdev->bo);
if (ret) {
goto exit;
}
- ret = ttm_bo_reserve(&bo->ttm_bo, true, false, NULL);
- if (ret) {
- goto out_err;
- }
-
- ret = openchrome_bo_pin(bo, TTM_PL_FLAG_VRAM);
- if (ret) {
- ttm_bo_unreserve(&bo->ttm_bo);
- goto out_err;
- }
-
- ret = ttm_bo_kmap(&bo->ttm_bo, 0, bo->ttm_bo.num_pages,
- &bo->kmap);
- ttm_bo_unreserve(&bo->ttm_bo);
- if (ret) {
- goto out_err;
- }
-
- via_fbdev->bo = bo;
-
info = drm_fb_helper_alloc_fbi(helper);
if (IS_ERR(info)) {
ret = PTR_ERR(info);
@@ -244,16 +223,16 @@ via_fb_probe(struct drm_fb_helper *helper,
goto out_err;
}
- via_fb->gem = &bo->gem;
+ via_fb->gem = &via_fbdev->bo->gem;
via_fbdev->helper.fb = fb;
via_fbdev->helper.fbdev = info;
info->fbops = &via_fb_ops;
- info->fix.smem_start = bo->kmap.bo->mem.bus.base +
- bo->kmap.bo->mem.bus.offset;
+ info->fix.smem_start = via_fbdev->bo->kmap.bo->mem.bus.base +
+ via_fbdev->bo->kmap.bo->mem.bus.offset;
info->fix.smem_len = size;
- info->screen_base = bo->kmap.virtual;
+ info->screen_base = via_fbdev->bo->kmap.virtual;
info->screen_size = size;
/* Setup aperture base / size for takeover (i.e., vesafb). */
@@ -263,29 +242,17 @@ via_fb_probe(struct drm_fb_helper *helper,
goto out_err;
}
- ap->ranges[0].size = bo->kmap.bo->bdev->
- man[bo->kmap.bo->mem.mem_type].size;
- ap->ranges[0].base = bo->kmap.bo->mem.bus.base;
+ ap->ranges[0].size = via_fbdev->bo->kmap.bo->bdev->
+ man[via_fbdev->bo->kmap.bo->mem.mem_type].size;
+ ap->ranges[0].base = via_fbdev->bo->kmap.bo->mem.bus.base;
info->apertures = ap;
drm_fb_helper_fill_info(info, helper, sizes);
goto exit;
out_err:
- if (bo->kmap.bo) {
- fake_ret = ttm_bo_reserve(&bo->ttm_bo, true, false, NULL);
- if (fake_ret) {
- goto exit;
- }
-
- ttm_bo_kunmap(&bo->kmap);
-
- fake_ret = openchrome_bo_unpin(bo);
- if (fake_ret) {
- ttm_bo_unreserve(&bo->ttm_bo);
- goto exit;
- }
-
- ttm_bo_put(&bo->ttm_bo);
+ if (via_fbdev->bo) {
+ openchrome_bo_destroy(via_fbdev->bo, true);
+ via_fbdev->bo = NULL;
}
if (via_fb->gem) {
diff --git a/drivers/gpu/drm/openchrome/openchrome_ioc32.c b/drivers/gpu/drm/openchrome/openchrome_ioc32.c
index 4f88e614ecd0..6087bfd4fb5e 100644
--- a/drivers/gpu/drm/openchrome/openchrome_ioc32.c
+++ b/drivers/gpu/drm/openchrome/openchrome_ioc32.c
@@ -77,6 +77,7 @@ via_gem_alloc(struct drm_device *dev, void *data,
args->size,
ttm_bo_type_device,
args->domains,
+ false,
&bo);
if (ret) {
@@ -90,7 +91,7 @@ via_gem_alloc(struct drm_device *dev, void *data,
drm_gem_object_put_unlocked(&bo->gem);
if (ret) {
- ttm_bo_put(&bo->ttm_bo);
+ openchrome_bo_destroy(bo, false);
goto exit;
}
diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c b/drivers/gpu/drm/openchrome/openchrome_object.c
index 1ffa2c9b5f93..7ec9d3c53d1b 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -138,6 +138,7 @@ int openchrome_bo_create(struct drm_device *dev,
uint64_t size,
enum ttm_bo_type type,
uint32_t ttm_domain,
+ bool kmap,
struct openchrome_bo **bo_ptr)
{
struct openchrome_drm_private *dev_private = dev->dev_private;
@@ -185,6 +186,28 @@ int openchrome_bo_create(struct drm_device *dev,
goto exit;
}
+ if (kmap) {
+ ret = ttm_bo_reserve(&bo->ttm_bo, true, false, NULL);
+ if (ret) {
+ ttm_bo_put(&bo->ttm_bo);
+ goto exit;
+ }
+
+ ret = openchrome_bo_pin(bo, ttm_domain);
+ if (!ret) {
+ ret = ttm_bo_kmap(&bo->ttm_bo, 0,
+ bo->ttm_bo.num_pages,
+ &bo->kmap);
+
+ }
+
+ ttm_bo_unreserve(&bo->ttm_bo);
+ if (ret) {
+ ttm_bo_put(&bo->ttm_bo);
+ goto exit;
+ }
+ }
+
*bo_ptr = bo;
goto exit;
error:
@@ -194,6 +217,32 @@ exit:
return ret;
}
+void openchrome_bo_destroy(struct openchrome_bo *bo, bool kmap)
+{
+ int ret;
+
+ DRM_DEBUG_KMS("Entered %s.\n", __func__);
+
+ if (kmap) {
+ ret = ttm_bo_reserve(&bo->ttm_bo, true, false, NULL);
+ if (ret) {
+ goto exit;
+ }
+
+ ttm_bo_kunmap(&bo->kmap);
+
+ ret = openchrome_bo_unpin(bo);
+ ttm_bo_unreserve(&bo->ttm_bo);
+ if (ret) {
+ goto exit;
+ }
+ }
+
+ ttm_bo_put(&bo->ttm_bo);
+exit:
+ DRM_DEBUG_KMS("Exiting %s.\n", __func__);
+}
+
int openchrome_mm_init(struct openchrome_drm_private *dev_private)
{
struct drm_device *dev = dev_private->dev;
commit e37fec7029a9a7972023acbeb15e8650453a3786
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Tue Aug 27 14:43:06 2019 -0700
drm/openchrome: Rename openchrome_bo_destroy()
The new name is openchrome_ttm_bo_destroy().
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h b/drivers/gpu/drm/openchrome/openchrome_drv.h
index 664c1dce62f4..36d10420241f 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -281,9 +281,9 @@ extern int openchrome_vram_init(
extern void openchrome_vram_fini(
struct openchrome_drm_private *dev_private);
-void openchrome_bo_destroy(struct ttm_buffer_object *tbo);
void openchrome_ttm_domain_to_placement(struct openchrome_bo *bo,
uint32_t ttm_domain);
+void openchrome_ttm_bo_destroy(struct ttm_buffer_object *tbo);
int openchrome_bo_pin(struct openchrome_bo *bo, uint32_t ttm_domain);
int openchrome_bo_unpin(struct openchrome_bo *bo);
int openchrome_bo_create(struct drm_device *dev,
diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c b/drivers/gpu/drm/openchrome/openchrome_object.c
index b0920f94a67b..1ffa2c9b5f93 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -41,19 +41,6 @@
#include "openchrome_drv.h"
-void openchrome_bo_destroy(struct ttm_buffer_object *tbo)
-{
- struct openchrome_bo *bo = container_of(tbo,
- struct openchrome_bo, ttm_bo);
-
- DRM_DEBUG_KMS("Entered %s.\n", __func__);
-
- drm_gem_object_release(&bo->gem);
- kfree(bo);
-
- DRM_DEBUG_KMS("Exiting %s.\n", __func__);
-}
-
void openchrome_ttm_domain_to_placement(struct openchrome_bo *bo,
uint32_t ttm_domain)
{
@@ -95,6 +82,19 @@ void openchrome_ttm_domain_to_placement(struct openchrome_bo *bo,
DRM_DEBUG_KMS("Exiting %s.\n", __func__);
}
+void openchrome_ttm_bo_destroy(struct ttm_buffer_object *tbo)
+{
+ struct openchrome_bo *bo = container_of(tbo,
+ struct openchrome_bo, ttm_bo);
+
+ DRM_DEBUG_KMS("Entered %s.\n", __func__);
+
+ drm_gem_object_release(&bo->gem);
+ kfree(bo);
+
+ DRM_DEBUG_KMS("Exiting %s.\n", __func__);
+}
+
int openchrome_bo_pin(struct openchrome_bo *bo,
uint32_t ttm_domain)
{
@@ -179,7 +179,7 @@ int openchrome_bo_create(struct drm_device *dev,
PAGE_SIZE >> PAGE_SHIFT,
false, acc_size,
NULL, NULL,
- openchrome_bo_destroy);
+ openchrome_ttm_bo_destroy);
if (ret) {
DRM_ERROR("Cannot initialize a TTM object.\n");
goto exit;
diff --git a/drivers/gpu/drm/openchrome/openchrome_ttm.c b/drivers/gpu/drm/openchrome/openchrome_ttm.c
index 9a4bfdf4c86f..7ecfd15daee1 100644
--- a/drivers/gpu/drm/openchrome/openchrome_ttm.c
+++ b/drivers/gpu/drm/openchrome/openchrome_ttm.c
@@ -80,7 +80,7 @@ static void openchrome_bo_evict_flags(struct ttm_buffer_object *bo,
DRM_DEBUG_KMS("Entered %s.\n", __func__);
- if (bo->destroy == &openchrome_bo_destroy) {
+ if (bo->destroy == &openchrome_ttm_bo_destroy) {
goto exit;
}
commit ade333b4c7fa2d9b80936e67b0f1d37de6b3af44
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Wed Aug 14 17:57:51 2019 -0700
drm/openchrome: Move openchrome_bo_pin() and openchrome_bo_unpin()
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h b/drivers/gpu/drm/openchrome/openchrome_drv.h
index e8b714ec188e..664c1dce62f4 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -284,14 +284,14 @@ extern void openchrome_vram_fini(
void openchrome_bo_destroy(struct ttm_buffer_object *tbo);
void openchrome_ttm_domain_to_placement(struct openchrome_bo *bo,
uint32_t ttm_domain);
+int openchrome_bo_pin(struct openchrome_bo *bo, uint32_t ttm_domain);
+int openchrome_bo_unpin(struct openchrome_bo *bo);
int openchrome_bo_create(struct drm_device *dev,
struct ttm_bo_device *bdev,
uint64_t size,
enum ttm_bo_type type,
uint32_t ttm_domain,
struct openchrome_bo **bo_ptr);
-int openchrome_bo_pin(struct openchrome_bo *bo, uint32_t ttm_domain);
-int openchrome_bo_unpin(struct openchrome_bo *bo);
int openchrome_mm_init(struct openchrome_drm_private *dev_private);
void openchrome_mm_fini(struct openchrome_drm_private *dev_private);
diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c b/drivers/gpu/drm/openchrome/openchrome_object.c
index 927aa5b9c22c..b0920f94a67b 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -95,6 +95,44 @@ void openchrome_ttm_domain_to_placement(struct openchrome_bo *bo,
DRM_DEBUG_KMS("Exiting %s.\n", __func__);
}
+int openchrome_bo_pin(struct openchrome_bo *bo,
+ uint32_t ttm_domain)
+{
+ struct ttm_operation_ctx ctx = {false, false};
+ uint32_t i;
+ int ret;
+
+ DRM_DEBUG_KMS("Entered %s.\n", __func__);
+
+ openchrome_ttm_domain_to_placement(bo, ttm_domain);
+ for (i = 0; i < bo->placement.num_placement; i++) {
+ bo->placements[i].flags |= TTM_PL_FLAG_NO_EVICT;
+ }
+
+ ret = ttm_bo_validate(&bo->ttm_bo, &bo->placement, &ctx);
+
+ DRM_DEBUG_KMS("Exiting %s.\n", __func__);
+ return ret;
+}
+
+int openchrome_bo_unpin(struct openchrome_bo *bo)
+{
+ struct ttm_operation_ctx ctx = {false, false};
+ uint32_t i;
+ int ret;
+
+ DRM_DEBUG_KMS("Entered %s.\n", __func__);
+
+ for (i = 0; i < bo->placement.num_placement; i++) {
+ bo->placements[i].flags &= ~TTM_PL_FLAG_NO_EVICT;
+ }
+
+ ret = ttm_bo_validate(&bo->ttm_bo, &bo->placement, &ctx);
+
+ DRM_DEBUG_KMS("Exiting %s.\n", __func__);
+ return ret;
+}
+
int openchrome_bo_create(struct drm_device *dev,
struct ttm_bo_device *bdev,
uint64_t size,
@@ -156,44 +194,6 @@ exit:
return ret;
}
-int openchrome_bo_pin(struct openchrome_bo *bo,
- uint32_t ttm_domain)
-{
- struct ttm_operation_ctx ctx = {false, false};
- uint32_t i;
- int ret;
-
- DRM_DEBUG_KMS("Entered %s.\n", __func__);
-
- openchrome_ttm_domain_to_placement(bo, ttm_domain);
- for (i = 0; i < bo->placement.num_placement; i++) {
- bo->placements[i].flags |= TTM_PL_FLAG_NO_EVICT;
- }
-
- ret = ttm_bo_validate(&bo->ttm_bo, &bo->placement, &ctx);
-
- DRM_DEBUG_KMS("Exiting %s.\n", __func__);
- return ret;
-}
-
-int openchrome_bo_unpin(struct openchrome_bo *bo)
-{
- struct ttm_operation_ctx ctx = {false, false};
- uint32_t i;
- int ret;
-
- DRM_DEBUG_KMS("Entered %s.\n", __func__);
-
- for (i = 0; i < bo->placement.num_placement; i++) {
- bo->placements[i].flags &= ~TTM_PL_FLAG_NO_EVICT;
- }
-
- ret = ttm_bo_validate(&bo->ttm_bo, &bo->placement, &ctx);
-
- DRM_DEBUG_KMS("Exiting %s.\n", __func__);
- return ret;
-}
-
int openchrome_mm_init(struct openchrome_drm_private *dev_private)
{
struct drm_device *dev = dev_private->dev;
More information about the openchrome-devel
mailing list