rpms/kernel/devel drm-modesetting-radeon.patch, 1.13, 1.14 kernel.spec, 1.906, 1.907 drm-fix-i915-sarea.patch, 1.2, NONE drm-radeon-pre-r300-no-kms.patch, 1.1, NONE

Dave Airlie airlied at fedoraproject.org
Wed Aug 27 05:53:04 UTC 2008


Author: airlied

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

Modified Files:
	drm-modesetting-radeon.patch kernel.spec 
Removed Files:
	drm-fix-i915-sarea.patch drm-radeon-pre-r300-no-kms.patch 
Log Message:
* Wed Aug 27 2008 Dave Airlie <airlied at redhat.com>
- drm update - add opregion support - fix some bugs in radeon modesetting


drm-modesetting-radeon.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.13 -r 1.14 drm-modesetting-radeon.patch
Index: drm-modesetting-radeon.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-modesetting-radeon.patch,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- drm-modesetting-radeon.patch	26 Aug 2008 08:07:03 -0000	1.13
+++ drm-modesetting-radeon.patch	27 Aug 2008 05:53:03 -0000	1.14
@@ -1,10 +1,28 @@
-commit 888b217cc83037647ac699ddce77b791cd80c6ac
+commit 9d3a0f1a7aee4fa9e5083fe544c03ab3e3060736
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Wed Aug 27 15:39:17 2008 +1000
+
+    radeon: fix after rebase
+
+commit 79fb1ef078552b455e7bfdb60be6aa7b5de0b5d8
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Wed Aug 27 13:43:23 2008 +1000
+
+    drm: fix whitespace
+
+commit 784ca5f9c619c493aec35be840baccefd731d68d
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Wed Aug 27 13:43:04 2008 +1000
+
+    radeon: avoid oops on encdoers with no crtc set
+
+commit db42aceda15c0762dbd7e068133cc82ad9034457
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Tue Aug 26 17:23:21 2008 +1000
 
     radeon: fix warning from radeon_legacy_state removal
 
-commit 2e5c214e96c498f08b7151dbce88359439ebea40
+commit c251a3431163f4a08dd1da13d8589dd6d699c01a
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Tue Aug 26 17:22:37 2008 +1000
 
@@ -13,7 +31,7 @@
     - done: primary dac, vga on tvdac
     - todo: ext dac, tv on tvdac
 
-commit 87908680dbe14e45ef0ad6eb64dff78a537810fd
+commit 450c44cd577fc7ec6dfc547732da6a6c8768b3a8
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Tue Aug 26 17:22:11 2008 +1000
 
@@ -21,25 +39,25 @@
     
     - todo: updated connected status
 
-commit a58a275bb8a076362e262a43f7fe739441277e17
+commit 6cd9376cc768965342c95ff4347ee813945794c5
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Tue Aug 26 17:20:54 2008 +1000
 
     radeon: remove unused legacy state
 
-commit 1265715d1bb29c03f62927dc719dd546c0309e2c
+commit afdc87faf976a30ec715d5117cb888e5434ac88f
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Tue Aug 26 17:20:15 2008 +1000
 
     radeon: get primary dac adj info from bios tables
 
-commit b6c8ba8c336aea04f31dd58c83e59db2b097efa9
+commit b3200c71adde06620774ce8c626655a01161ea9e
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Tue Aug 26 17:03:13 2008 +1000
 
     x86: export pat_enabled
 
-commit db2426d29c6de8ae7d16d058cd431da5c8def6ed
+commit 428f0c7d0ac1820d44f36a8d9693cdbb31957674
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Tue Aug 26 17:02:43 2008 +1000
 
@@ -48,7 +66,7 @@
     If PAT is enabled, enable write combining support for kernel/user mappings
     when pat is enabled. Also set memory to WC instead of uncached in ttm
 
-commit 913c27f3d38f7758a26082becf07dc857f564753
+commit ec150348a144d9646b30a7e77fe4d24af4885df0
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Tue Aug 26 17:01:35 2008 +1000
 
@@ -57,7 +75,7 @@
     move domain validate function to separate function
     call it from correct places
 
-commit dcd1af6aa6b7a52a17c41eb55f7cabfeb165be22
+commit d688b522c7418ba6bc946f0fa93b19806f1be4ec
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Tue Aug 26 17:00:49 2008 +1000
 
@@ -66,37 +84,37 @@
     If a BO hasn't been dirtied, do a solid fill on VRAM instead of
     migrating pages to VRAM
 
-commit 7ed46e053578ec6d1117c5d9c084eb57b5913ca0
+commit 8ee9317b374610251308f43bcb59768388e0f29d
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Tue Aug 26 16:59:45 2008 +1000
 
     drm: set clean flags in new flags so it doesn't disappear
 
-commit 27600913f4d9acec2b3184978266b04b69e615fe
+commit d4e4bd65f50fd71289e3074de7241e311aa6e345
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Aug 22 10:16:20 2008 +1000
 
     radeon: wait for dma gui idle on 2D idle
 
-commit e918d57ad3d68a2e301995a7f9484da26c4133e8
+commit 0025cedac00f740e0ab3a28178f79a39680eb5dd
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Aug 22 10:16:01 2008 +1000
 
     radeon_gem: fix some misplace ==
 
-commit fbf27d3d4ad15412c8845f4105c484b1159cc340
+commit 03ac4ffe65da40ab132a40ffe7ab1d5fe2c179e3
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Aug 22 10:13:25 2008 +1000
 
     radeon: get buffer upload working
 
-commit 0f6ee4dca1878c8070dd6ab371093625e7d6c751
+commit c5bdb9921794de9068358f75bedc3f26f072c426
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Aug 22 10:12:57 2008 +1000
 
     radeon: read back register between on gart flush
 
-commit 033ab1fe303c53edf49f02ce7f4e4c015a28732f
+commit 444193249240bec62e1e4fbae2df8f7130f40788
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Aug 22 10:11:55 2008 +1000
 
@@ -105,7 +123,7 @@
     We need a buffer zeroing function for before we have
     accel running etc
 
-commit 37a74683b6a230f32a65196c2799125c955bdfb0
+commit f702db51e761232e40c92407f85b90e01070b454
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Aug 22 09:49:16 2008 +1000
 
@@ -116,79 +134,97 @@
     Primarily for the move code when we get a buffer in VRAM, we don't need
     to copy the contents just zero them.
 
-commit 225c5dcd2708349e8be259b65ad30cdc8d1d7a3f
+commit 1c84867cca75120b49a4dda167846037f5c56d1a
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Aug 22 09:39:07 2008 +1000
 
     ati_pcigart: add memory barrier and volatile for table access
 
-commit 462ea6ea951773fc681ff9cdc1a3de0e901b9d7f
+commit 78c6482f37c118b1d7c928dc6c6b7720ddc26951
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Aug 22 09:35:26 2008 +1000
 
     drm: remove tlb flush logic from ttm
 
-commit bc59561560606afe6a973aad6668d980f7fa972b
+commit b9d8088c0461c1fae8232f20c55baf888cb54c51
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Aug 22 09:34:51 2008 +1000
 
     drm: wbinvd is cache coherent no need to ipi
 
-commit bd2c663e50c0cb7d62a7f9560ef4cc71ab17ceb5
+commit 4a4e427a83d96464497884a5310dfc4e76661d15
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Wed Aug 20 09:56:33 2008 +1000
 
     drm: edid don't probe 3 times because don't
 
-commit c24111899736706b49f0158394a60a0f982d4880
+commit ea1f16e273672dcb54b5c1e7d476fdeadc84a0e7
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Tue Aug 19 12:16:13 2008 +1000
 
     FEDORA: add radeon copy root patch
 
-commit 83449243807223c5b4c41f2ccef0335622568b2d
+commit 21f1ed14aeabedc4209b63f575bb528a518131f3
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Tue Aug 19 12:15:10 2008 +1000
 
     radeon: fix bug in scratch retreival
 
-commit 33093adf39eceb3d4035c3b107218bbf7dd919ec
+commit 2689bab6ce993e91ff8ffb7cde59600644c7eca1
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Tue Aug 19 12:14:38 2008 +1000
 
[...2905 lines suppressed...]
+ #define RADEON_PURGE_ZCACHE() do {					\
+ 	if ((dev_priv->flags & RADEON_FAMILY_MASK) <= CHIP_RV280) {	\
  		OUT_RING(CP_PACKET0(RADEON_RB3D_ZCACHE_CTLSTAT, 0));	\
- 		OUT_RING(RADEON_RB3D_ZC_FLUSH_ALL);			\
+-		OUT_RING(RADEON_RB3D_ZC_FLUSH_ALL);			\
++		OUT_RING(RADEON_RB3D_ZC_FLUSH | RADEON_RB3D_ZC_FREE);			\
  	} else {                                                        \
 -		OUT_RING(CP_PACKET0(R300_RB3D_DSTCACHE_CTLSTAT, 0));	\
-+		OUT_RING(CP_PACKET0(R300_RB3D_ZCACHE_CTLSTAT, 0));	\
- 		OUT_RING(R300_ZC_FLUSH_ALL);				\
+-		OUT_RING(R300_ZC_FLUSH_ALL);				\
++		OUT_RING(CP_PACKET0(R300_ZB_ZCACHE_CTLSTAT, 0));	\
++		OUT_RING(R300_ZC_FLUSH | R300_ZC_FREE);				\
  	}                                                               \
  } while (0)
-@@ -1296,8 +1433,9 @@ do {									\
+ 
+@@ -1296,8 +1444,9 @@ do {									\
  } while (0)
  
  #define VB_AGE_TEST_WITH_RETURN( dev_priv )				\
@@ -33017,7 +34014,7 @@
  	if ( sarea_priv->last_dispatch >= RADEON_MAX_VB_AGE ) {		\
  		int __ret = radeon_do_cp_idle( dev_priv );		\
  		if ( __ret ) return __ret;				\
-@@ -1403,4 +1541,139 @@ do {									\
+@@ -1403,4 +1552,139 @@ do {									\
  	write &= mask;						\
  } while (0)
  
@@ -33159,10 +34156,10 @@
  #endif				/* __RADEON_DRV_H__ */
 diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c b/drivers/gpu/drm/radeon/radeon_encoders.c
 new file mode 100644
-index 0000000..ec36e43
+index 0000000..787102e
 --- /dev/null
 +++ b/drivers/gpu/drm/radeon/radeon_encoders.c
-@@ -0,0 +1,1061 @@
+@@ -0,0 +1,1068 @@
 +/*
 + * Copyright 2007-8 Advanced Micro Devices, Inc.
 + * Copyright 2008 Red Hat Inc.
@@ -34028,11 +35025,18 @@
 +	struct drm_device *dev = encoder->dev;
 +	struct drm_radeon_private *dev_priv = dev->dev_private;
 +	struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
-+	struct radeon_crtc *radeon_crtc = to_radeon_crtc(encoder->crtc);
++	struct radeon_crtc *radeon_crtc = NULL;
++	int crtc_id = 0;
 +	int atom_type = -1;
 +	int index = -1;
 +	uint32_t bios_2_scratch, bios_3_scratch;
 +
++	if (encoder->crtc) {
++		radeon_crtc = to_radeon_crtc(encoder->crtc);
++		crtc_id = radeon_crtc->crtc_id;
++	} else if (mode == DRM_MODE_DPMS_ON)
++		return;
++
 +	if (radeon_encoder->atom_device & ATOM_DEVICE_DFP1_SUPPORT)
 +		atom_type = ATOM_DEVICE_DFP1_INDEX;
 +	if (radeon_encoder->atom_device & ATOM_DEVICE_DFP2_SUPPORT)
@@ -34055,7 +35059,7 @@
 +	case ATOM_DEVICE_DFP1_INDEX:
 +		index = GetIndexIntoMasterTable(COMMAND, TMDSAOutputControl);
 +		bios_2_scratch &= ~ATOM_S3_DFP1_CRTC_ACTIVE;
-+		bios_3_scratch |= (radeon_crtc->crtc_id << 19);
++		bios_3_scratch |= (crtc_id << 19);
 +		switch(mode) {
 +		case DRM_MODE_DPMS_ON:
 +			bios_2_scratch &= ~ATOM_S2_DFP1_DPMS_STATE;
@@ -34072,7 +35076,7 @@
 +	case ATOM_DEVICE_DFP2_INDEX:
 +		index = GetIndexIntoMasterTable(COMMAND, DVOOutputControl);
 +		bios_2_scratch &= ~ATOM_S3_DFP2_CRTC_ACTIVE;
-+		bios_3_scratch |= (radeon_crtc->crtc_id << 23);
++		bios_3_scratch |= (crtc_id << 23);
 +		switch(mode) {
 +		case DRM_MODE_DPMS_ON:
 +			bios_2_scratch &= ~ATOM_S2_DFP2_DPMS_STATE;
@@ -34089,7 +35093,7 @@
 +	case ATOM_DEVICE_DFP3_INDEX:
 +		index = GetIndexIntoMasterTable(COMMAND, LVTMAOutputControl);
 +		bios_2_scratch &= ~ATOM_S3_DFP3_CRTC_ACTIVE;
-+		bios_3_scratch |= (radeon_crtc->crtc_id << 25);
++		bios_3_scratch |= (crtc_id << 25);
 +		switch(mode) {
 +		case DRM_MODE_DPMS_ON:
 +			bios_2_scratch &= ~ATOM_S2_DFP3_DPMS_STATE;
@@ -45651,7 +46655,7 @@
   * By replacing the four outb_p with two back to back outw, we can reduce
   * the window of opportunity to see text mislocated to the RHS of the
 diff --git a/include/drm/drm.h b/include/drm/drm.h
-index 38d3c6b..47c3bf5 100644
+index 38d3c6b..276a746 100644
 --- a/include/drm/drm.h
 +++ b/include/drm/drm.h
 @@ -36,7 +36,6 @@
@@ -45915,11 +46919,11 @@
 +/* copy the previous fb contents - note needs root */
 +#define DRM_FB_COPY_ROOT (1 << 1)
 +struct drm_mode_fb_cmd {
-+        unsigned int buffer_id;
-+        unsigned int width, height;
-+        unsigned int pitch;
-+        unsigned int bpp;
-+        unsigned int handle;
++	unsigned int buffer_id;
++	unsigned int width, height;
++	unsigned int pitch;
++	unsigned int bpp;
++	unsigned int handle;
 +	unsigned int depth;
 +	unsigned int flags;
 +};
@@ -48489,10 +49493,54 @@
  
  /** Maximum number of drawables in the SAREA */
 diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h
-index 05c66cf..6853875 100644
+index 05c66cf..3c1f545 100644
 --- a/include/drm/i915_drm.h
 +++ b/include/drm/i915_drm.h
-@@ -143,6 +143,22 @@ typedef struct _drm_i915_sarea {
+@@ -63,7 +63,7 @@ typedef struct _drm_i915_init {
+ 	unsigned int chipset;
+ } drm_i915_init_t;
+ 
+-typedef struct _drm_i915_sarea {
++typedef struct drm_i915_sarea {
+ 	struct drm_tex_region texList[I915_NR_TEX_REGIONS + 1];
+ 	int last_upload;	/* last time texture was uploaded */
+ 	int last_enqueue;	/* last time a buffer was enqueued */
+@@ -105,14 +105,26 @@ typedef struct _drm_i915_sarea {
+ 	unsigned int rotated_tiled;
+ 	unsigned int rotated2_tiled;
+ 
+-	int pipeA_x;
+-	int pipeA_y;
+-	int pipeA_w;
+-	int pipeA_h;
+-	int pipeB_x;
+-	int pipeB_y;
+-	int pipeB_w;
+-	int pipeB_h;
++	int planeA_x;
++	int planeA_y;
++	int planeA_w;
++	int planeA_h;
++	int planeB_x;
++	int planeB_y;
++	int planeB_w;
++	int planeB_h;
++
++	/* triple buffering - not in kernel */
++	drm_handle_t third_handle;
++	int third_offset;
++	int third_size;
++	unsigned int third_tiled;
++
++	/* buffer object handles for static buffers */
++	unsigned int front_bo_handle;
++	unsigned int back_bo_handle;
++	unsigned int third_bo_handle;
++	unsigned int depth_bo_handle;
+ } drm_i915_sarea_t;
+ 
+ /* Flags for perf_boxes
+@@ -143,6 +155,22 @@ typedef struct _drm_i915_sarea {
  #define DRM_I915_GET_VBLANK_PIPE	0x0e
  #define DRM_I915_VBLANK_SWAP	0x0f
  #define DRM_I915_HWS_ADDR	0x11
@@ -48515,7 +49563,7 @@
  
  #define DRM_IOCTL_I915_INIT		DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t)
  #define DRM_IOCTL_I915_FLUSH		DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH)
-@@ -160,11 +176,27 @@ typedef struct _drm_i915_sarea {
+@@ -160,11 +188,27 @@ typedef struct _drm_i915_sarea {
  #define DRM_IOCTL_I915_SET_VBLANK_PIPE	DRM_IOW( DRM_COMMAND_BASE + DRM_I915_SET_VBLANK_PIPE, drm_i915_vblank_pipe_t)
  #define DRM_IOCTL_I915_GET_VBLANK_PIPE	DRM_IOR( DRM_COMMAND_BASE + DRM_I915_GET_VBLANK_PIPE, drm_i915_vblank_pipe_t)
  #define DRM_IOCTL_I915_VBLANK_SWAP	DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_VBLANK_SWAP, drm_i915_vblank_swap_t)
@@ -48544,7 +49592,7 @@
  	int start;		/* agp offset */
  	int used;		/* nr bytes in use */
  	int DR1;		/* hw flags for GFX_OP_DRAWRECT_INFO */
-@@ -200,6 +232,7 @@ typedef struct drm_i915_irq_wait {
+@@ -200,6 +244,7 @@ typedef struct drm_i915_irq_wait {
  #define I915_PARAM_IRQ_ACTIVE            1
  #define I915_PARAM_ALLOW_BATCHBUFFER     2
  #define I915_PARAM_LAST_DISPATCH         3
@@ -48552,7 +49600,7 @@
  
  typedef struct drm_i915_getparam {
  	int param;
-@@ -267,4 +300,305 @@ typedef struct drm_i915_hws_addr {
+@@ -267,4 +312,305 @@ typedef struct drm_i915_hws_addr {
  	uint64_t addr;
  } drm_i915_hws_addr_t;
  


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.906
retrieving revision 1.907
diff -u -r1.906 -r1.907
--- kernel.spec	27 Aug 2008 00:40:33 -0000	1.906
+++ kernel.spec	27 Aug 2008 05:53:04 -0000	1.907
@@ -606,8 +606,6 @@
 
 # nouveau + drm fixes
 Patch1811: drm-modesetting-radeon.patch
-Patch1812: drm-radeon-pre-r300-no-kms.patch
-Patch1813: drm-fix-i915-sarea.patch
 
 # kludge to make ich9 e1000 work
 Patch2000: linux-2.6-e1000-ich9.patch
@@ -1149,8 +1147,6 @@
 
 # Nouveau DRM + drm fixes
 ApplyPatch drm-modesetting-radeon.patch
-ApplyPatch drm-radeon-pre-r300-no-kms.patch
-ApplyPatch drm-fix-i915-sarea.patch
 
 # linux1394 git patches
 ApplyPatch linux-2.6-firewire-git-update.patch
@@ -1743,6 +1739,9 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Wed Aug 27 2008 Dave Airlie <airlied at redhat.com>
+- drm update - add opregion support - fix some bugs in radeon modesetting
+
 * Tue Aug 26 2008 Dave Jones <davej at redhat.com>
 - 2.6.27-rc4-git6
 


--- drm-fix-i915-sarea.patch DELETED ---


--- drm-radeon-pre-r300-no-kms.patch DELETED ---




More information about the fedora-extras-commits mailing list