summaryrefslogtreecommitdiffstats
path: root/freed-ora/current/f19/drm-qxl-backport-fixes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'freed-ora/current/f19/drm-qxl-backport-fixes.patch')
-rw-r--r--freed-ora/current/f19/drm-qxl-backport-fixes.patch154
1 files changed, 0 insertions, 154 deletions
diff --git a/freed-ora/current/f19/drm-qxl-backport-fixes.patch b/freed-ora/current/f19/drm-qxl-backport-fixes.patch
deleted file mode 100644
index 0979f2509..000000000
--- a/freed-ora/current/f19/drm-qxl-backport-fixes.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-diff --git a/drivers/gpu/drm/qxl/qxl_cmd.c b/drivers/gpu/drm/qxl/qxl_cmd.c
-index 08b0823..f867714 100644
---- a/drivers/gpu/drm/qxl/qxl_cmd.c
-+++ b/drivers/gpu/drm/qxl/qxl_cmd.c
-@@ -277,7 +277,7 @@ out_unref:
- return 0;
- }
-
--static int wait_for_io_cmd_user(struct qxl_device *qdev, uint8_t val, long port)
-+static int wait_for_io_cmd_user(struct qxl_device *qdev, uint8_t val, long port, bool intr)
- {
- int irq_num;
- long addr = qdev->io_base + port;
-@@ -285,20 +285,29 @@ static int wait_for_io_cmd_user(struct qxl_device *qdev, uint8_t val, long port)
-
- mutex_lock(&qdev->async_io_mutex);
- irq_num = atomic_read(&qdev->irq_received_io_cmd);
--
--
- if (qdev->last_sent_io_cmd > irq_num) {
-- ret = wait_event_interruptible(qdev->io_cmd_event,
-- atomic_read(&qdev->irq_received_io_cmd) > irq_num);
-- if (ret)
-+ if (intr)
-+ ret = wait_event_interruptible_timeout(qdev->io_cmd_event,
-+ atomic_read(&qdev->irq_received_io_cmd) > irq_num, 5*HZ);
-+ else
-+ ret = wait_event_timeout(qdev->io_cmd_event,
-+ atomic_read(&qdev->irq_received_io_cmd) > irq_num, 5*HZ);
-+ /* 0 is timeout, just bail the "hw" has gone away */
-+ if (ret <= 0)
- goto out;
- irq_num = atomic_read(&qdev->irq_received_io_cmd);
- }
- outb(val, addr);
- qdev->last_sent_io_cmd = irq_num + 1;
-- ret = wait_event_interruptible(qdev->io_cmd_event,
-- atomic_read(&qdev->irq_received_io_cmd) > irq_num);
-+ if (intr)
-+ ret = wait_event_interruptible_timeout(qdev->io_cmd_event,
-+ atomic_read(&qdev->irq_received_io_cmd) > irq_num, 5*HZ);
-+ else
-+ ret = wait_event_timeout(qdev->io_cmd_event,
-+ atomic_read(&qdev->irq_received_io_cmd) > irq_num, 5*HZ);
- out:
-+ if (ret > 0)
-+ ret = 0;
- mutex_unlock(&qdev->async_io_mutex);
- return ret;
- }
-@@ -308,7 +317,7 @@ static void wait_for_io_cmd(struct qxl_device *qdev, uint8_t val, long port)
- int ret;
-
- restart:
-- ret = wait_for_io_cmd_user(qdev, val, port);
-+ ret = wait_for_io_cmd_user(qdev, val, port, false);
- if (ret == -ERESTARTSYS)
- goto restart;
- }
-@@ -340,7 +349,7 @@ int qxl_io_update_area(struct qxl_device *qdev, struct qxl_bo *surf,
- mutex_lock(&qdev->update_area_mutex);
- qdev->ram_header->update_area = *area;
- qdev->ram_header->update_surface = surface_id;
-- ret = wait_for_io_cmd_user(qdev, 0, QXL_IO_UPDATE_AREA_ASYNC);
-+ ret = wait_for_io_cmd_user(qdev, 0, QXL_IO_UPDATE_AREA_ASYNC, true);
- mutex_unlock(&qdev->update_area_mutex);
- return ret;
- }
-diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
-index fcfd443..823d29e 100644
---- a/drivers/gpu/drm/qxl/qxl_display.c
-+++ b/drivers/gpu/drm/qxl/qxl_display.c
-@@ -428,10 +428,10 @@ static int qxl_framebuffer_surface_dirty(struct drm_framebuffer *fb,
- int inc = 1;
-
- qobj = gem_to_qxl_bo(qxl_fb->obj);
-- if (qxl_fb != qdev->active_user_framebuffer) {
-- DRM_INFO("%s: qxl_fb 0x%p != qdev->active_user_framebuffer 0x%p\n",
-- __func__, qxl_fb, qdev->active_user_framebuffer);
-- }
-+ /* if we aren't primary surface ignore this */
-+ if (!qobj->is_primary)
-+ return 0;
-+
- if (!num_clips) {
- num_clips = 1;
- clips = &norect;
-@@ -604,7 +604,6 @@ static int qxl_crtc_mode_set(struct drm_crtc *crtc,
- mode->hdisplay,
- mode->vdisplay);
- }
-- qdev->mode_set = true;
- return 0;
- }
-
-@@ -893,7 +892,6 @@ qxl_user_framebuffer_create(struct drm_device *dev,
- {
- struct drm_gem_object *obj;
- struct qxl_framebuffer *qxl_fb;
-- struct qxl_device *qdev = dev->dev_private;
- int ret;
-
- obj = drm_gem_object_lookup(dev, file_priv, mode_cmd->handles[0]);
-@@ -909,13 +907,6 @@ qxl_user_framebuffer_create(struct drm_device *dev,
- return NULL;
- }
-
-- if (qdev->active_user_framebuffer) {
-- DRM_INFO("%s: active_user_framebuffer %p -> %p\n",
-- __func__,
-- qdev->active_user_framebuffer, qxl_fb);
-- }
-- qdev->active_user_framebuffer = qxl_fb;
--
- return &qxl_fb->base;
- }
-
-diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
-index 52b582c..43d06ab 100644
---- a/drivers/gpu/drm/qxl/qxl_drv.h
-+++ b/drivers/gpu/drm/qxl/qxl_drv.h
-@@ -255,12 +255,6 @@ struct qxl_device {
- struct qxl_gem gem;
- struct qxl_mode_info mode_info;
-
-- /*
-- * last created framebuffer with fb_create
-- * only used by debugfs dumbppm
-- */
-- struct qxl_framebuffer *active_user_framebuffer;
--
- struct fb_info *fbdev_info;
- struct qxl_framebuffer *fbdev_qfb;
- void *ram_physical;
-@@ -270,7 +264,6 @@ struct qxl_device {
- struct qxl_ring *cursor_ring;
-
- struct qxl_ram_header *ram_header;
-- bool mode_set;
-
- bool primary_created;
-
-diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c
-index 04b64f9..6db7370 100644
---- a/drivers/gpu/drm/qxl/qxl_ioctl.c
-+++ b/drivers/gpu/drm/qxl/qxl_ioctl.c
-@@ -294,6 +294,7 @@ static int qxl_update_area_ioctl(struct drm_device *dev, void *data,
- goto out;
-
- if (!qobj->pin_count) {
-+ qxl_ttm_placement_from_domain(qobj, qobj->type);
- ret = ttm_bo_validate(&qobj->tbo, &qobj->placement,
- true, false);
- if (unlikely(ret))
OpenPOWER on IntegriCloud