summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/qxl/qxl_object.c
diff options
context:
space:
mode:
authorGerd Hoffmann2019-01-18 13:20:04 +0100
committerGerd Hoffmann2019-01-28 14:24:52 +0100
commit6957c6867baa104029904a2cf354227a182ca735 (patch)
tree3323765fe53df2c531d4e2ec8e6d54c62ddbb54b /drivers/gpu/drm/qxl/qxl_object.c
parentdrm/qxl: use separate offset spaces for the two slots / ttm memory types. (diff)
downloadkernel-qcow2-linux-6957c6867baa104029904a2cf354227a182ca735.tar.gz
kernel-qcow2-linux-6957c6867baa104029904a2cf354227a182ca735.tar.xz
kernel-qcow2-linux-6957c6867baa104029904a2cf354227a182ca735.zip
drm/qxl: allow both PRIV and VRAM placement for QXL_GEM_DOMAIN_SURFACE
qxl surfaces (used for framebuffers and gem objects) can live in both VRAM and PRIV ttm domains. Update placement setup to include both. Put PRIV first in the list so it is preferred, so VRAM will have more room for objects which must be allocated there. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Noralf Trønnes <noralf@tronnes.org> Link: http://patchwork.freedesktop.org/patch/msgid/20190118122020.27596-8-kraxel@redhat.com
Diffstat (limited to 'drivers/gpu/drm/qxl/qxl_object.c')
-rw-r--r--drivers/gpu/drm/qxl/qxl_object.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c
index 34eff8b21e91..024c8dd3174c 100644
--- a/drivers/gpu/drm/qxl/qxl_object.c
+++ b/drivers/gpu/drm/qxl/qxl_object.c
@@ -60,8 +60,10 @@ void qxl_ttm_placement_from_domain(struct qxl_bo *qbo, u32 domain, bool pinned)
qbo->placement.busy_placement = qbo->placements;
if (domain == QXL_GEM_DOMAIN_VRAM)
qbo->placements[c++].flags = TTM_PL_FLAG_CACHED | TTM_PL_FLAG_VRAM | pflag;
- if (domain == QXL_GEM_DOMAIN_SURFACE)
+ if (domain == QXL_GEM_DOMAIN_SURFACE) {
qbo->placements[c++].flags = TTM_PL_FLAG_CACHED | TTM_PL_FLAG_PRIV | pflag;
+ qbo->placements[c++].flags = TTM_PL_FLAG_CACHED | TTM_PL_FLAG_VRAM | pflag;
+ }
if (domain == QXL_GEM_DOMAIN_CPU)
qbo->placements[c++].flags = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM | pflag;
if (!c)