rpms/kernel/devel drm-modesetting-radeon.patch, 1.12, 1.13 kernel.spec, 1.902, 1.903

Dave Airlie airlied at fedoraproject.org
Tue Aug 26 08:07:33 UTC 2008


Author: airlied

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

Modified Files:
	drm-modesetting-radeon.patch kernel.spec 
Log Message:
* Tue Aug 26 2008 Dave Airlie <airlied at redhat.com>
- radeon improved memory manager/modesetting fixups


drm-modesetting-radeon.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.12 -r 1.13 drm-modesetting-radeon.patch
Index: drm-modesetting-radeon.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-modesetting-radeon.patch,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- drm-modesetting-radeon.patch	14 Aug 2008 09:58:46 -0000	1.12
+++ drm-modesetting-radeon.patch	26 Aug 2008 08:07:03 -0000	1.13
@@ -1,3 +1,684 @@
+commit 888b217cc83037647ac699ddce77b791cd80c6ac
+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
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date:   Tue Aug 26 17:22:37 2008 +1000
+
+    radeon: first pass at legacy dac detect
+    
+    - done: primary dac, vga on tvdac
+    - todo: ext dac, tv on tvdac
+
+commit 87908680dbe14e45ef0ad6eb64dff78a537810fd
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date:   Tue Aug 26 17:22:11 2008 +1000
+
+    radeon: first pass at bios scratch regs
+    
+    - todo: updated connected status
+
+commit a58a275bb8a076362e262a43f7fe739441277e17
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date:   Tue Aug 26 17:20:54 2008 +1000
+
+    radeon: remove unused legacy state
+
+commit 1265715d1bb29c03f62927dc719dd546c0309e2c
+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
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Aug 26 17:03:13 2008 +1000
+
+    x86: export pat_enabled
+
+commit db2426d29c6de8ae7d16d058cd431da5c8def6ed
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Aug 26 17:02:43 2008 +1000
+
+    drm: enable PAT and writecombining support.
+    
+    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
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Aug 26 17:01:35 2008 +1000
+
+    radeon: add more domain support to GEM code.
+    
+    move domain validate function to separate function
+    call it from correct places
+
+commit dcd1af6aa6b7a52a17c41eb55f7cabfeb165be22
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Aug 26 17:00:49 2008 +1000
+
+    radeon: implement zero fill for VRAM migration
+    
+    If a BO hasn't been dirtied, do a solid fill on VRAM instead of
+    migrating pages to VRAM
+
+commit 7ed46e053578ec6d1117c5d9c084eb57b5913ca0
+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
+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
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Fri Aug 22 10:16:01 2008 +1000
+
+    radeon_gem: fix some misplace ==
+
+commit fbf27d3d4ad15412c8845f4105c484b1159cc340
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Fri Aug 22 10:13:25 2008 +1000
+
+    radeon: get buffer upload working
+
+commit 0f6ee4dca1878c8070dd6ab371093625e7d6c751
+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
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Fri Aug 22 10:11:55 2008 +1000
+
+    drm: export buffer zeroing function for sw fallback
+    
+    We need a buffer zeroing function for before we have
+    accel running etc
+
+commit 37a74683b6a230f32a65196c2799125c955bdfb0
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Fri Aug 22 09:49:16 2008 +1000
+
+    ttm: add clean bo flags
+    
+    This can be used to denote a bo hasn't been mapped or validated yet.
+    
+    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
+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
+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
+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
+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
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Aug 19 12:16:13 2008 +1000
+
+    FEDORA: add radeon copy root patch
+
+commit 83449243807223c5b4c41f2ccef0335622568b2d
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Aug 19 12:15:10 2008 +1000
+
+    radeon: fix bug in scratch retreival
+
+commit 33093adf39eceb3d4035c3b107218bbf7dd919ec
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Aug 19 12:14:38 2008 +1000
+
+    radeon: add GTT domain
+
+commit 72ed16b28c1d1c6d737b61ccef1c40184949b3a6
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Aug 19 12:13:50 2008 +1000
+
+    radeon: export emit copy blit and fix it
+
+commit 0a011cb1ff2548df3e6d907fbe8e7a8e2dbfe181
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Fri Aug 15 09:36:21 2008 +1000
+
+    radeon: set the base after mode is programmed
+
+commit c6f487d95c1279e97e3980044b3aab12884d345d
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Fri Aug 15 09:35:55 2008 +1000
+
+    radeon: fix LVDS modes problem
+
+commit 613657a61377feeb58169aa692bb4c0bc6ec393a
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Thu Aug 14 19:29:03 2008 +1000
+
+    i915: fix some missing gem defines for ddx build
+
+commit 69db1ad26d785a8e749f5e648b200c2b0e94121f
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Thu Aug 14 18:06:31 2008 +1000
+
+    radeon: reserve 64k of VRAM for now for text mode so we don't trample it
+
+commit 8f6c288f69bf613c9656dcd9dd2fd2287fd5490e
[...3060 lines suppressed...]
-+
-+	uint16_t h_code_timing[MAX_H_CODE_TIMING_LEN];
-+	uint16_t v_code_timing[MAX_V_CODE_TIMING_LEN];
-+
-+
-+};
-+
 +struct radeon_mode_info {
 +	struct atom_context *atom_context;
 +	struct radeon_bios_connector bios_connector[RADEON_MAX_BIOS_CONNECTOR];
 +	struct radeon_pll pll;
-+	struct radeon_legacy_state legacy_state;
 +};
 +
 +struct radeon_crtc {
@@ -37876,6 +39377,9 @@
 +	bool use_bios_dividers;
 +	uint32_t lvds_gen_cntl;
 +
++	/* legacy primary dac */
++	uint32_t ps2_pdac_adj;
++
 +	/* legacy tv dac */
 +	uint32_t ps2_tvdac_adj;
 +	uint32_t ntsc_tvdac_adj;
@@ -37947,6 +39451,11 @@
 +extern bool radeon_combios_get_tmds_info(struct radeon_encoder *encoder);
 +extern bool radeon_combios_get_tv_info(struct radeon_encoder *encoder);
 +extern bool radeon_combios_get_tv_dac_info(struct radeon_encoder *encoder);
++extern bool radeon_combios_get_primary_dac_info(struct radeon_encoder *encoder);
++extern void radeon_combios_output_lock(struct drm_encoder *encoder, bool lock);
++extern void radeon_combios_initialize_bios_scratch_regs(struct drm_device *dev);
++extern void radeon_atom_output_lock(struct drm_encoder *encoder, bool lock);
++extern void radeon_atom_initialize_bios_scratch_regs(struct drm_device *dev);
 +extern void radeon_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green,
 +				     u16 blue, int regno);
 +struct drm_framebuffer *radeon_user_framebuffer_create(struct drm_device *dev,
@@ -37965,6 +39474,7 @@
 +
 +void radeon_atom_static_pwrmgt_setup(struct drm_device *dev, int enable);
 +void radeon_atom_dyn_clk_setup(struct drm_device *dev, int enable);
++void radeon_combios_dyn_clk_setup(struct drm_device *dev, int enable);
 +void radeon_get_clock_info(struct drm_device *dev);
 +extern bool radeon_get_atom_connector_info_from_bios_connector_table(struct drm_device *dev);
 +
@@ -37972,7 +39482,11 @@
 +			   struct drm_display_mode *mode,
 +			   struct drm_display_mode *adjusted_mode);
 +void radeon_enc_destroy(struct drm_encoder *encoder);
-+
++void radeon_emit_copy_blit(struct drm_device * dev,
++			   uint32_t src_offset,
++			   uint32_t dst_offset,
++			   uint32_t pages);
++void radeon_copy_fb(struct drm_device *dev, struct drm_gem_object *dst_obj);
 +#endif
 diff --git a/drivers/gpu/drm/radeon/radeon_reg.h b/drivers/gpu/drm/radeon/radeon_reg.h
 new file mode 100644
@@ -44137,7 +45651,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..28719eb 100644
+index 38d3c6b..47c3bf5 100644
 --- a/include/drm/drm.h
 +++ b/include/drm/drm.h
 @@ -36,7 +36,6 @@
@@ -44179,7 +45693,7 @@
  };
  
  /**
-@@ -573,6 +557,279 @@ struct drm_set_version {
+@@ -573,6 +557,282 @@ struct drm_set_version {
  	int drm_dd_minor;
  };
  
@@ -44398,6 +45912,8 @@
 +	uint64_t data;
 +};
 +
++/* 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;
@@ -44405,6 +45921,7 @@
 +        unsigned int bpp;
 +        unsigned int handle;
 +	unsigned int depth;
++	unsigned int flags;
 +};
 +
 +struct drm_mode_mode_cmd {
@@ -44459,7 +45976,7 @@
  #define DRM_IOCTL_BASE			'd'
  #define DRM_IO(nr)			_IO(DRM_IOCTL_BASE,nr)
  #define DRM_IOR(nr,type)		_IOR(DRM_IOCTL_BASE,nr,type)
-@@ -587,6 +844,9 @@ struct drm_set_version {
+@@ -587,6 +847,9 @@ struct drm_set_version {
  #define DRM_IOCTL_GET_CLIENT            DRM_IOWR(0x05, struct drm_client)
  #define DRM_IOCTL_GET_STATS             DRM_IOR( 0x06, struct drm_stats)
  #define DRM_IOCTL_SET_VERSION		DRM_IOWR(0x07, struct drm_set_version)
@@ -44469,7 +45986,7 @@
  
  #define DRM_IOCTL_SET_UNIQUE		DRM_IOW( 0x10, struct drm_unique)
  #define DRM_IOCTL_AUTH_MAGIC		DRM_IOW( 0x11, struct drm_auth)
-@@ -605,6 +865,9 @@ struct drm_set_version {
+@@ -605,6 +868,9 @@ struct drm_set_version {
  #define DRM_IOCTL_SET_SAREA_CTX		DRM_IOW( 0x1c, struct drm_ctx_priv_map)
  #define DRM_IOCTL_GET_SAREA_CTX 	DRM_IOWR(0x1d, struct drm_ctx_priv_map)
  
@@ -44479,7 +45996,7 @@
  #define DRM_IOCTL_ADD_CTX		DRM_IOWR(0x20, struct drm_ctx)
  #define DRM_IOCTL_RM_CTX		DRM_IOWR(0x21, struct drm_ctx)
  #define DRM_IOCTL_MOD_CTX		DRM_IOW( 0x22, struct drm_ctx)
-@@ -635,6 +898,29 @@ struct drm_set_version {
+@@ -635,6 +901,29 @@ struct drm_set_version {
  
  #define DRM_IOCTL_UPDATE_DRAW		DRM_IOW(0x3f, struct drm_update_draw)
  
@@ -46054,10 +47571,10 @@
 +#endif /* __DRM_EDID_H__ */
 diff --git a/include/drm/drm_objects.h b/include/drm/drm_objects.h
 new file mode 100644
-index 0000000..ac2cc0b
+index 0000000..e0ec1ba
 --- /dev/null
 +++ b/include/drm/drm_objects.h
-@@ -0,0 +1,885 @@
+@@ -0,0 +1,893 @@
 +/**************************************************************************
 + *
 + * Copyright (c) 2006-2007 Tungsten Graphics, Inc., Cedar Park, TX., USA
@@ -46206,6 +47723,12 @@
 +#define DRM_BO_FLAG_TILE           (1ULL << 15)
 +
 +/*
++ * Buffer has been mapped or touched since creation
++ * for VRAM we don't need to migrate, just fill with 0s for non-dirty
++ */
++#define DRM_BO_FLAG_CLEAN  (1ULL << 16)
++
++/*
 + * Memory type flags that can be or'ed together in the mask, but only
 + * one appears in flags.
 + */
@@ -46268,7 +47791,6 @@
 + */
 +#define DRM_BO_HINT_PRESUMED_OFFSET 0x00000010
 +
-+
 +#define DRM_BO_MEM_LOCAL 0
 +#define DRM_BO_MEM_TT 1
 +#define DRM_BO_MEM_VRAM 2
@@ -46852,12 +48374,15 @@
 + * drm_bo_move.c
 + */
 +
++extern int drm_bo_add_ttm(struct drm_buffer_object *bo);
 +extern int drm_bo_move_ttm(struct drm_buffer_object *bo,
 +			   int evict, int no_wait,
 +			   struct drm_bo_mem_reg *new_mem);
 +extern int drm_bo_move_memcpy(struct drm_buffer_object *bo,
 +			      int evict,
 +			      int no_wait, struct drm_bo_mem_reg *new_mem);
++extern int drm_bo_move_zero(struct drm_buffer_object *bo,
++			    int evict, int no_wait, struct drm_bo_mem_reg *new_mem);
 +extern int drm_bo_move_accel_cleanup(struct drm_buffer_object *bo,
 +				     int evict, int no_wait,
 +				     uint32_t fence_class, uint32_t fence_type,
@@ -47334,7 +48859,7 @@
 +
  #endif				/* _I915_DRM_H_ */
 diff --git a/include/drm/radeon_drm.h b/include/drm/radeon_drm.h
-index 73ff51f..e4c53e4 100644
+index 73ff51f..77b97fb 100644
 --- a/include/drm/radeon_drm.h
 +++ b/include/drm/radeon_drm.h
 @@ -453,6 +453,15 @@ typedef struct {
@@ -47408,16 +48933,13 @@
  /* 1.14: Clients can allocate/free a surface
   */
  typedef struct drm_radeon_surface_alloc {
-@@ -746,4 +782,105 @@ typedef struct drm_radeon_surface_free {
+@@ -746,4 +782,102 @@ typedef struct drm_radeon_surface_free {
  #define	DRM_RADEON_VBLANK_CRTC1		1
  #define	DRM_RADEON_VBLANK_CRTC2		2
  
-+#define RADEON_GEM_DOMAIN_CPU 0x1
-+#define RADEON_GEM_DOMAIN_VRAM 0x2
-+#define RADEON_GEM_DOMAIN_2D 0x4
-+#define RADEON_GEM_DOMAIN_3D 0x8
-+#define RADEON_GEM_DOMAIN_TEXTURE 0x10
-+#define RADEON_GEM_DOMAIN_GPU 0x20 // for vertex buffers
++#define RADEON_GEM_DOMAIN_CPU 0x1   // Cached CPU domain
++#define RADEON_GEM_DOMAIN_GTT 0x2   // GTT or cache flushed
++#define RADEON_GEM_DOMAIN_VRAM 0x4  // VRAM domain
 +
 +/* return to userspace start/size of gtt and vram apertures */
 +struct drm_radeon_gem_info {


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.902
retrieving revision 1.903
diff -u -r1.902 -r1.903
--- kernel.spec	26 Aug 2008 01:55:23 -0000	1.902
+++ kernel.spec	26 Aug 2008 08:07:03 -0000	1.903
@@ -1739,6 +1739,9 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Tue Aug 26 2008 Dave Airlie <airlied at redhat.com>
+- radeon improved memory manager/modesetting fixups
+
 * Mon Aug 25 2008 Roland McGrath <roland at redhat.com>
 - utrace update
 




More information about the fedora-extras-commits mailing list