aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/qxl/qxl_display.c1
-rw-r--r--drivers/gpu/drm/qxl/qxl_ioctl.c2
-rw-r--r--drivers/gpu/drm/qxl/qxl_object.c6
3 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
index 567a5328cfc4..fcfd4436ceed 100644
--- a/drivers/gpu/drm/qxl/qxl_display.c
+++ b/drivers/gpu/drm/qxl/qxl_display.c
@@ -84,6 +84,7 @@ void qxl_alloc_client_monitors_config(struct qxl_device *qdev, unsigned count)
84 if (qdev->client_monitors_config && 84 if (qdev->client_monitors_config &&
85 count > qdev->client_monitors_config->count) { 85 count > qdev->client_monitors_config->count) {
86 kfree(qdev->client_monitors_config); 86 kfree(qdev->client_monitors_config);
87 qdev->client_monitors_config = NULL;
87 } 88 }
88 if (!qdev->client_monitors_config) { 89 if (!qdev->client_monitors_config) {
89 qdev->client_monitors_config = kzalloc( 90 qdev->client_monitors_config = kzalloc(
diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c
index cec617222585..04b64f9cbfdb 100644
--- a/drivers/gpu/drm/qxl/qxl_ioctl.c
+++ b/drivers/gpu/drm/qxl/qxl_ioctl.c
@@ -347,7 +347,7 @@ static int qxl_clientcap_ioctl(struct drm_device *dev, void *data,
347 if (qdev->pdev->revision < 4) 347 if (qdev->pdev->revision < 4)
348 return -ENOSYS; 348 return -ENOSYS;
349 349
350 if (byte > 58) 350 if (byte >= 58)
351 return -ENOSYS; 351 return -ENOSYS;
352 352
353 if (qdev->rom->client_capabilities[byte] & (1 << idx)) 353 if (qdev->rom->client_capabilities[byte] & (1 << idx))
diff --git a/drivers/gpu/drm/qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c
index 51efb94a5dee..d9b12e7bc6e1 100644
--- a/drivers/gpu/drm/qxl/qxl_object.c
+++ b/drivers/gpu/drm/qxl/qxl_object.c
@@ -59,11 +59,11 @@ void qxl_ttm_placement_from_domain(struct qxl_bo *qbo, u32 domain)
59 qbo->placement.lpfn = 0; 59 qbo->placement.lpfn = 0;
60 qbo->placement.placement = qbo->placements; 60 qbo->placement.placement = qbo->placements;
61 qbo->placement.busy_placement = qbo->placements; 61 qbo->placement.busy_placement = qbo->placements;
62 if (domain & QXL_GEM_DOMAIN_VRAM) 62 if (domain == QXL_GEM_DOMAIN_VRAM)
63 qbo->placements[c++] = TTM_PL_FLAG_CACHED | TTM_PL_FLAG_VRAM; 63 qbo->placements[c++] = TTM_PL_FLAG_CACHED | TTM_PL_FLAG_VRAM;
64 if (domain & QXL_GEM_DOMAIN_SURFACE) 64 if (domain == QXL_GEM_DOMAIN_SURFACE)
65 qbo->placements[c++] = TTM_PL_FLAG_CACHED | TTM_PL_FLAG_PRIV0; 65 qbo->placements[c++] = TTM_PL_FLAG_CACHED | TTM_PL_FLAG_PRIV0;
66 if (domain & QXL_GEM_DOMAIN_CPU) 66 if (domain == QXL_GEM_DOMAIN_CPU)
67 qbo->placements[c++] = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM; 67 qbo->placements[c++] = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM;
68 if (!c) 68 if (!c)
69 qbo->placements[c++] = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM; 69 qbo->placements[c++] = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM;