rpms/kernel/devel drm-page-flip.patch, 1.2, 1.3 kernel.spec, 1.1713, 1.1714

Kristian Høgsberg krh at fedoraproject.org
Wed Aug 12 21:14:00 UTC 2009


Author: krh

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv23798

Modified Files:
	drm-page-flip.patch kernel.spec 
Log Message:
* Wed Aug 12 2009 Kristian Høgsberg <krh at redhat.com>
- Fix drm-page-flip.patch to not break radeon kms and to not reset
  crtc offset into fb on flip.


drm-page-flip.patch:
 b/drivers/gpu/drm/drm_crtc.c                          |  169 +++++++++++++++++-
 b/drivers/gpu/drm/drm_crtc_helper.c                   |   12 +
 b/drivers/gpu/drm/drm_drv.c                           |    1 
 b/drivers/gpu/drm/drm_fops.c                          |   68 +++++++
 b/drivers/gpu/drm/drm_irq.c                           |   43 ++++
 b/drivers/gpu/drm/i915/i915_drv.c                     |    1 
 b/drivers/gpu/drm/i915/intel_display.c                |   24 +-
 b/drivers/gpu/drm/radeon/radeon_display.c             |    3 
 b/include/drm/drm.h                                   |   25 ++
 b/include/drm/drmP.h                                  |   32 +++
 b/include/drm/drm_crtc.h                              |   27 ++
 b/include/drm/drm_crtc_helper.h                       |    4 
 b/include/drm/drm_mode.h                              |   16 +
 linux-2.6.30.i686/drivers/gpu/drm/nouveau/nv04_crtc.c |    2 
 linux-2.6.30.i686/drivers/gpu/drm/nouveau/nv50_crtc.c |    2 
 15 files changed, 415 insertions(+), 14 deletions(-)

Index: drm-page-flip.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-page-flip.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- drm-page-flip.patch	26 Jul 2009 22:11:09 -0000	1.2
+++ drm-page-flip.patch	12 Aug 2009 21:13:59 -0000	1.3
@@ -1,50 +1,32 @@
-From 2c6289cd75e125745e38dc563fa33301d05923a0 Mon Sep 17 00:00:00 2001
-From: =?utf-8?q?Kristian=20H=C3=B8gsberg?= <krh at hinata.local>
-Date: Mon, 13 Jul 2009 09:07:19 -0400
-Subject: [PATCH] Add modesetting pageflip ioctl and corresponding drm event
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
+commit f2884697ef0e0064a189d5baacf565d6742687f1
+Author: Kristian Høgsberg <krh at hinata.local>
+Date:   Mon Jul 13 09:07:19 2009 -0400
 
-This patch adds a vblank synced pageflip ioctl for to the modesetting
-family of ioctls.  The ioctl takes a crtc and an fb and schedules a
-pageflip to the new fb at the next coming vertical blank event.  This
-feature lets userspace implement tear-free updating of the screen contents
-with hw-guaranteed low latency page flipping.
-
-The ioctl is asynchronous in that it returns immediately and then later
-notifies the client by making an event available for reading on the drm fd.
-This lets applications add the drm fd to their main loop and handle other
-tasks while waiting for the flip to happen.  The event includes the time
-of the flip, the frame counter and a 64 bit opaque token provided by
-user space in the ioctl.
-
-Based on work and suggestions from
-	Jesse Barnes <jbarnes at virtuousgeek.org>,
-	Jakob Bornecrantz <wallbraker at gmail.com>,
-	Chris Wilson <chris at chris-wilson.co.uk>
-
-Signed-off-by: Kristian Høgsberg <krh at redhat.com>
-Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
----
- drivers/gpu/drm/drm_crtc.c              |  169 ++++++++++++++++++++++++++++++-
- drivers/gpu/drm/drm_crtc_helper.c       |   12 ++
- drivers/gpu/drm/drm_drv.c               |    1 +
- drivers/gpu/drm/drm_fops.c              |   68 ++++++++++++-
- drivers/gpu/drm/drm_irq.c               |   43 ++++++++
- drivers/gpu/drm/i915/i915_drv.c         |    1 +
- drivers/gpu/drm/i915/intel_display.c    |   24 +++--
- drivers/gpu/drm/radeon/atombios_crtc.c  |    1 -
- drivers/gpu/drm/radeon/radeon_display.c |    3 +-
- include/drm/drm.h                       |   25 +++++
- include/drm/drmP.h                      |   32 ++++++
- include/drm/drm_crtc.h                  |   27 +++++
- include/drm/drm_crtc_helper.h           |    4 +
- include/drm/drm_mode.h                  |   16 +++
- 14 files changed, 413 insertions(+), 13 deletions(-)
+    Add modesetting pageflip ioctl and corresponding drm event
+    
+    This patch adds a vblank synced pageflip ioctl for to the modesetting
+    family of ioctls.  The ioctl takes a crtc and an fb and schedules a
+    pageflip to the new fb at the next coming vertical blank event.  This
+    feature lets userspace implement tear-free updating of the screen contents
+    with hw-guaranteed low latency page flipping.
+    
+    The ioctl is asynchronous in that it returns immediately and then later
+    notifies the client by making an event available for reading on the drm fd.
+    This lets applications add the drm fd to their main loop and handle other
+    tasks while waiting for the flip to happen.  The event includes the time
+    of the flip, the frame counter and a 64 bit opaque token provided by
+    user space in the ioctl.
+    
+    Based on work and suggestions from
+    	Jesse Barnes <jbarnes at virtuousgeek.org>,
+    	Jakob Bornecrantz <wallbraker at gmail.com>,
+    	Chris Wilson <chris at chris-wilson.co.uk>
+    
+    Signed-off-by: Kristian Høgsberg <krh at redhat.com>
+    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
 
 diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
-index 8fab789..32212e6 100644
+index 8fab789..f598ce0 100644
 --- a/drivers/gpu/drm/drm_crtc.c
 +++ b/drivers/gpu/drm/drm_crtc.c
 @@ -34,6 +34,8 @@
@@ -76,7 +58,7 @@ index 8fab789..32212e6 100644
 +	BUG_ON(crtc->pending_flip == NULL);
 +
 +	mutex_lock(&dev->struct_mutex);
-+	crtc->funcs->set_base(crtc, 0, 0, NULL);
++	crtc->funcs->set_base(crtc, crtc->x, crtc->y, NULL);
 +
 +	pending = crtc->pending_flip;
 +	crtc->pending_flip = NULL;
@@ -593,27 +575,15 @@ index 508838e..697c31a 100644
  };
  
  int intel_framebuffer_create(struct drm_device *dev,
-diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c
-index c0080cc..501209d 100644
---- a/drivers/gpu/drm/radeon/atombios_crtc.c
-+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
-@@ -535,7 +535,6 @@ static const struct drm_crtc_helper_funcs atombios_helper_funcs = {
- 	.dpms = atombios_crtc_dpms,
- 	.mode_fixup = atombios_crtc_mode_fixup,
- 	.mode_set = atombios_crtc_mode_set,
--	.mode_set_base = atombios_crtc_set_base,
- 	.prepare = atombios_crtc_prepare,
- 	.commit = atombios_crtc_commit,
- };
 diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
-index 3efcf1a..372ba35 100644
+index 3efcf1a..4d73f0b 100644
 --- a/drivers/gpu/drm/radeon/radeon_display.c
 +++ b/drivers/gpu/drm/radeon/radeon_display.c
 @@ -171,6 +171,7 @@ static const struct drm_crtc_funcs radeon_crtc_funcs = {
  	.gamma_set = radeon_crtc_gamma_set,
  	.set_config = drm_crtc_helper_set_config,
  	.destroy = radeon_crtc_destroy,
-+	.set_base = radeon_crtc_set_base,
++	.set_base = drm_crtc_helper_set_base,
  };
  
  static void radeon_crtc_init(struct drm_device *dev, int index)
@@ -874,9 +844,6 @@ index ae304cc..464b779 100644
 +};
 +
  #endif
--- 
-1.6.3.3
-
 diff -up linux-2.6.30.i686/drivers/gpu/drm/nouveau/nv04_crtc.c~ linux-2.6.30.i686/drivers/gpu/drm/nouveau/nv04_crtc.c
 --- linux-2.6.30.i686/drivers/gpu/drm/nouveau/nv04_crtc.c~	2009-07-24 19:38:36.000000000 -0400
 +++ linux-2.6.30.i686/drivers/gpu/drm/nouveau/nv04_crtc.c	2009-07-26 18:06:06.000000000 -0400


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1713
retrieving revision 1.1714
diff -u -p -r1.1713 -r1.1714
--- kernel.spec	12 Aug 2009 15:58:25 -0000	1.1713
+++ kernel.spec	12 Aug 2009 21:13:59 -0000	1.1714
@@ -1980,6 +1980,10 @@ fi
 # and build.
 
 %changelog
+* Wed Aug 12 2009 Kristian Høgsberg <krh at redhat.com>
+- Fix drm-page-flip.patch to not break radeon kms and to not reset
+  crtc offset into fb on flip.
+
 * Wed Aug 12 2009 Adam Jackson <ajax at redhat.com>
 - Update drm-intel-next patch
 




More information about the fedora-extras-commits mailing list