rpms/kernel/devel drm-modesetting-radeon.patch, 1.66, 1.67 drm-next.patch, 1.11, 1.12 kernel.spec, 1.1440, 1.1441
Dave Airlie
airlied at fedoraproject.org
Wed Mar 18 06:47:18 UTC 2009
- Previous message: rpms/springlobby/F-10 .cvsignore,1.1,1.2 sources,1.1,1.2
- Next message: rpms/spring-maps-default/devel sources, 1.1, 1.2 Comet_Catcher_Redux.sd7, 1.1, NONE Sands_of_War_v2.sd7, 1.1, NONE SmallDivide.sd7, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: airlied
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv13173
Modified Files:
drm-modesetting-radeon.patch drm-next.patch kernel.spec
Log Message:
* Wed Mar 18 2009 Dave Airlie <airlied at redhat.com>
- drm-next.patch: fix rs600 GART setup
- drm-modesetting-radeon.patch: allocator fixups
drm-modesetting-radeon.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.66 -r 1.67 drm-modesetting-radeon.patch
Index: drm-modesetting-radeon.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-modesetting-radeon.patch,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- drm-modesetting-radeon.patch 13 Mar 2009 04:46:38 -0000 1.66
+++ drm-modesetting-radeon.patch 18 Mar 2009 06:47:16 -0000 1.67
@@ -1,4 +1,163 @@
-commit 784e2287e60f91c16814fbb757ea316b3027ddd1
+commit 4a90f1edefee2cba39d135f2866e1bacc1ac647e
+Author: Dave Airlie <airlied at redhat.com>
+Date: Thu Mar 19 00:16:00 2009 +1000
+
+ drm/ttm: re-org the whole cached/uncached allocator yet again.
+
+ This removes the allocator type, and instead tracks when pages
+ were allocated from which pool and frees them back into that pool
+
+commit c8ae93fa4ac69112f4fc16477f73e0a98bba2765
+Author: Dave Airlie <airlied at redhat.com>
+Date: Sun Mar 15 18:26:42 2009 +1000
+
+ ttm: prefetch pages on pagefault
+
+commit f4df0e7870378ec40c268b95fb4b5d13533095fd
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date: Mon Mar 16 03:52:13 2009 -0400
+
+ radeon: make sure to free connector priv when done
+
+ Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+
+commit 96d923793eb924750b26e8ab2a4264131e17cd5b
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date: Mon Mar 16 03:36:16 2009 -0400
+
+ radeon: fix combios asic init
+
+ - igp chips don't have asic_init3/4 or ram reset tables
+ - write out the detected ram size to the CONFIG_MEMSIZE register
+ - some r1xx chips require ram detection rather than reading size
+ from bios tables
+ - asic_init5 table isn't needed
+
+ Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+
+commit 68f14af742eda9fd28c920776ce5396e304f8a82
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date: Mon Mar 16 03:16:35 2009 -0400
+
+ radeon: rework bios scratch regsiter handling
+
+ split bios scratch reg handling into 3 functions:
+
+ - connected/active
+ - crtc to encoder mapping
+ - encoder dpms state
+
+ Hook the functions in at the appropriate places in
+ the driver. DVI-I is a bit messy since we need to know
+ digital vs analog so we have to update the scratch regs
+ twice: once in detect() and again after we know digital/analog
+ in get_modes().
+
+ Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+
+commit 3ba04861b4d399a7c6e21f0a7279d5f087fc4a8c
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date: Sat Mar 14 16:43:14 2009 -0400
+
+ radeon: rework combios encoder/connector setup
+
+ - along the same lines as atom
+ - re-enable atom and legacy paths for r4xx cards
+ - remove bios_connector struct
+
+ Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+
+commit 2ed15179f72e66a020a7f318cc4c3fa57865e4ba
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date: Thu Mar 12 16:02:01 2009 -0400
+
+ radeon: fix misleading messages
+
+ Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+
+commit cb917ec2b585f5ac873ab2e6938da9a3b730c0a1
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date: Thu Mar 12 14:27:06 2009 -0400
+
+ atom: fix up encoder routines to deal with connector setup
+
+ often times the links or lanes used are dependant on the
+ connector rather than the encoder.
+
+ Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+
+commit abe11890fc272189712f2e6268a8751e25b7b7b5
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date: Thu Mar 12 13:43:03 2009 -0400
+
+ atom: re-enable quirks
+
+ Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+
+commit 6a45dbd73c14735711f1803e8a3dd1063b7b3021
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date: Thu Mar 12 13:21:32 2009 -0400
+
+ object table: don't add ddc for tv/cv
+
+ Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+
+commit 6fb018a3740510f140bcd5b6b89904e9d3167811
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date: Thu Mar 12 13:10:50 2009 -0400
+
+ radeon: major restructuring of atom output/connector setup
+
+ - add connectors and encoders while parsing the bios tables.
+ - pull in fixed up object header parsing for r6xx+
+
+ Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+
+commit 034267381be779a1bbdb5f6f97c1471fb8538a04
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date: Wed Mar 4 13:02:26 2009 -0500
+
+ RS600 doesn't have DFP quirk in connector table
+
+ Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+
+commit b7936094db13c736e4bee7494c2b99a8e5ced042
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date: Thu Mar 5 16:37:57 2009 -0500
+
+ R6xx/R7xx: don't mess with RADEON_HOST_PATH_CNTL
+
+ these chips don't have this reg at this location.
+
+ Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+
+commit a1fdbf2f4de3988f5e3319ee9f267f7b27e8fc6e
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date: Wed Mar 11 16:50:19 2009 -0400
+
+ radeon: make sure to free enc_priv when done
+
+ Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+
+commit d54586a52852497d82f322c536515d223697fdf4
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date: Wed Mar 11 15:43:16 2009 -0400
+
+ radeon: restructure encoders
+
+ move encoder specific data into encoder specific structs
+
+ Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+
+commit 0215044d42faded71b8591a79550c0bf04908458
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date: Wed Mar 11 11:23:16 2009 -0400
+
+ radeon: atom modesetting updates
+
+ Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+
+commit 121d45a2e9562836138c658224def839bb166f68
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Mar 12 11:39:05 2009 +1000
@@ -17,7 +176,7 @@
Signed-off-by: Tom "spot" Callaway <tcallawa at redhat.com>
-commit 42a73c53bce752bca305c4ec40bff9873042ba6d
+commit 36bbbdea9a2e77c1d1da7504bc5f03267d0e0d6c
Author: Dave Airlie <airlied at dhcp-1-203.bne.redhat.com>
Date: Thu Mar 12 10:58:05 2009 +1000
@@ -26,7 +185,7 @@
This makes the IB get routine a lot smarter and hopefully
fixes some cases where it exits
-commit 64e61a039f5e28b5d288fd2b50d44d3d42327976
+commit 5047f54c5cf7cbd48c4894ba4950dbad158c3184
Author: Dave Airlie <airlied at dhcp-1-203.bne.redhat.com>
Date: Thu Mar 12 10:57:17 2009 +1000
@@ -38,7 +197,7 @@
only happens on r300 hw for me
-commit a446cfcfdb7d6c4b23796d6bd1fccba058543ad0
+commit 1ab7dd4499309c36936a1b56806a09d2687d604e
Author: Dave Airlie <airlied at redhat.com>
Date: Wed Mar 11 18:50:06 2009 +1000
[...9461 lines suppressed...]
++ struct radeon_native_mode native_mode;
++};
+
-+ /* legacy primary dac */
-+ uint32_t ps2_pdac_adj;
-+
++struct radeon_encoder_tv_dac {
+ /* legacy tv dac */
+ uint32_t ps2_tvdac_adj;
+ uint32_t ntsc_tvdac_adj;
+ uint32_t pal_tvdac_adj;
++
+ enum radeon_tv_std tv_std;
++};
+
++struct radeon_encoder_int_tmds {
+ /* legacy int tmds */
+ struct radeon_tmds_pll tmds_pll[4];
+};
+
++struct radeon_encoder_atom_dig {
++ /* atom dig */
++ uint32_t transmitter_config;
++ bool coherent_mode;
++ /* atom lvds */
++ uint32_t lvds_misc;
++ uint16_t panel_pwr_delay;
++ /* panel mode */
++ struct radeon_native_mode native_mode;
++};
++
++struct radeon_encoder {
++ struct drm_encoder base;
++ uint32_t encoder_id;
++ uint32_t devices;
++ uint32_t flags;
++ enum radeon_rmx_type rmx_type;
++ struct radeon_native_mode native_mode;
++ void *enc_priv;
++};
++
++struct radeon_connector_atom_dig {
++ uint32_t igp_lane_info;
++ bool linkb;
++};
++
+struct radeon_connector {
+ struct drm_connector base;
++ uint32_t connector_id;
++ uint32_t devices;
+ struct radeon_i2c_chan *ddc_bus;
+ int use_digital;
++ void *con_priv;
+};
+
+struct radeon_framebuffer {
@@ -29798,16 +31447,14 @@
+ uint32_t *post_div_p,
+ int flags);
+
-+struct drm_encoder *radeon_encoder_lvtma_add(struct drm_device *dev, int bios_index);
-+struct drm_encoder *radeon_encoder_atom_dac_add(struct drm_device *dev, int bios_index, int dac_id, int with_tv);
-+struct drm_encoder *radeon_encoder_atom_tmds_add(struct drm_device *dev, int bios_index, int tmds_type);
+struct drm_encoder *radeon_encoder_legacy_lvds_add(struct drm_device *dev, int bios_index);
+struct drm_encoder *radeon_encoder_legacy_primary_dac_add(struct drm_device *dev, int bios_index, int with_tv);
+struct drm_encoder *radeon_encoder_legacy_tv_dac_add(struct drm_device *dev, int bios_index, int with_tv);
+struct drm_encoder *radeon_encoder_legacy_tmds_int_add(struct drm_device *dev, int bios_index);
+struct drm_encoder *radeon_encoder_legacy_tmds_ext_add(struct drm_device *dev, int bios_index);
-+extern void atombios_ext_tmds_setup(struct drm_encoder *encoder,
-+ struct drm_display_mode *mode);
++extern void atombios_external_tmds_setup(struct drm_encoder *encoder,
++ struct drm_display_mode *mode);
++extern int atombios_get_encoder_mode(struct drm_encoder *encoder);
+
+extern void radeon_crtc_load_lut(struct drm_crtc *crtc);
+extern int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y,
@@ -29833,18 +31480,31 @@
+
+extern bool radeon_atom_get_clock_info(struct drm_device *dev);
+extern bool radeon_combios_get_clock_info(struct drm_device *dev);
-+extern void radeon_atombios_get_lvds_info(struct radeon_encoder *encoder);
-+extern void radeon_atombios_get_tmds_info(struct radeon_encoder *encoder);
-+extern bool radeon_combios_get_lvds_info(struct radeon_encoder *encoder);
-+extern bool radeon_combios_get_tmds_info(struct radeon_encoder *encoder);
++extern struct radeon_encoder_atom_dig *
++radeon_atombios_get_lvds_info(struct radeon_encoder *encoder);
++extern struct radeon_encoder_int_tmds *
++radeon_atombios_get_tmds_info(struct radeon_encoder *encoder);
++extern struct radeon_encoder_lvds *
++radeon_combios_get_lvds_info(struct radeon_encoder *encoder);
++extern struct radeon_encoder_int_tmds *
++radeon_combios_get_tmds_info(struct radeon_encoder *encoder);
+extern void radeon_combios_get_ext_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 struct radeon_encoder_tv_dac *
++radeon_combios_get_tv_dac_info(struct radeon_encoder *encoder);
++extern struct radeon_encoder_primary_dac *
++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_atombios_encoder_crtc_scratch_regs(struct drm_encoder *encoder, int crtc);
++extern void
++radeon_atombios_encoder_dpms_scratch_regs(struct drm_encoder *encoder, bool on);
++extern void
++radeon_combios_encoder_crtc_scratch_regs(struct drm_encoder *encoder, int crtc);
++extern void
++radeon_combios_encoder_dpms_scratch_regs(struct drm_encoder *encoder, bool on);
+extern void radeon_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green,
+ u16 blue, int regno);
+struct drm_framebuffer *radeon_framebuffer_create(struct drm_device *dev,
@@ -29865,7 +31525,9 @@
+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);
++
++extern bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev);
++extern bool radeon_get_atom_connector_info_from_supported_devices_table(struct drm_device *dev);
+
+void radeon_rmx_mode_fixup(struct drm_encoder *encoder,
+ struct drm_display_mode *mode,
@@ -30145,10 +31807,10 @@
+
diff --git a/drivers/gpu/drm/radeon/radeon_reg.h b/drivers/gpu/drm/radeon/radeon_reg.h
new file mode 100644
-index 0000000..9ccf839
+index 0000000..0edb592
--- /dev/null
+++ b/drivers/gpu/drm/radeon/radeon_reg.h
-@@ -0,0 +1,5337 @@
+@@ -0,0 +1,5344 @@
+/*
+ * Copyright 2000 ATI Technologies Inc., Markham, Ontario, and
+ * VA Linux Systems Inc., Fremont, California.
@@ -30328,6 +31990,13 @@
+# define RADEON_CV1_CRTC_SHIFT 13
+# define RADEON_DFP2_CRTC_MASK (1 << 14)
+# define RADEON_DFP2_CRTC_SHIFT 14
++# define RADEON_ACC_REQ_LCD1 (1 << 16)
++# define RADEON_ACC_REQ_CRT1 (1 << 17)
++# define RADEON_ACC_REQ_TV1 (1 << 18)
++# define RADEON_ACC_REQ_DFP1 (1 << 19)
++# define RADEON_ACC_REQ_CRT2 (1 << 21)
++# define RADEON_ACC_REQ_TV2 (1 << 22)
++# define RADEON_ACC_REQ_DFP2 (1 << 23)
+#define RADEON_BIOS_6_SCRATCH 0x0028
+# define RADEON_ACC_MODE_CHANGE (1 << 2)
+# define RADEON_EXT_DESKTOP_MODE (1 << 3)
@@ -35933,7 +37602,7 @@
#endif
diff --git a/include/drm/drm_objects.h b/include/drm/drm_objects.h
new file mode 100644
-index 0000000..60016d6
+index 0000000..686a6c4
--- /dev/null
+++ b/include/drm/drm_objects.h
@@ -0,0 +1,913 @@
@@ -36385,7 +38054,7 @@
+extern void drm_ttm_fixup_caching(struct drm_ttm *ttm);
+extern struct page *drm_ttm_get_page(struct drm_ttm *ttm, int index);
+extern void drm_ttm_cache_flush(struct page *pages[], unsigned long num_pages);
-+extern int drm_ttm_populate(struct drm_ttm *ttm);
++extern int drm_ttm_populate(struct drm_ttm *ttm, int cached);
+extern int drm_ttm_set_user(struct drm_ttm *ttm,
+ struct task_struct *tsk,
+ unsigned long start,
@@ -36452,6 +38121,10 @@
+ * intent was.
+ */
+#define DRM_TTM_PAGE_USER_DMA (1 << 8)
++/*
++ * The pages in this TTM were allocated cached
++ */
++#define DRM_TTM_PAGE_ALLOC_CACHED (1 << 9)
+
+/***************************************************
+ * Buffer objects. (drm_bo.c, drm_bo_move.c)
@@ -36600,9 +38273,6 @@
+#define _DRM_FLAG_MEMTYPE_CMA 0x00000010 /* Can't map aperture */
+#define _DRM_FLAG_MEMTYPE_CSELECT 0x00000020 /* Select caching */
+
-+#define _DRM_BM_ALLOCATOR_CACHED 0x0
-+#define _DRM_BM_ALLOCATOR_UNCACHED 0x1
-+
+struct drm_buffer_manager {
+ struct drm_bo_lock bm_lock;
+ struct mutex evict_mutex;
@@ -36617,7 +38287,6 @@
+ unsigned long cur_pages;
+ atomic_t count;
+ struct page *dummy_read_page;
-+ int allocator_type;
+};
+
+struct drm_bo_driver {
drm-next.patch:
Index: drm-next.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-next.patch,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- drm-next.patch 13 Mar 2009 04:46:39 -0000 1.11
+++ drm-next.patch 18 Mar 2009 06:47:16 -0000 1.12
@@ -1,3 +1,14 @@
+commit 41f13fe81dd1b08723ab9f3fc3c7f29cfa81f1a5
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date: Mon Mar 16 15:37:02 2009 -0400
+
+ drm/radeon: fix logic in r600_page_table_init() to match ati_gart
+
+ This fixes page table init on rs600.
+
+ Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+ Signed-off-by: Dave Airlie <airlied at redhat.com>
+
commit 06f0a488c1b642d3cd7769da66600e5148c3fad8
Author: Dave Airlie <airlied at redhat.com>
Date: Fri Mar 13 09:35:32 2009 +1000
@@ -3949,7 +3960,7 @@
cmdbuf->bufsz -= sizeof(u64);
diff --git a/drivers/gpu/drm/radeon/r600_cp.c b/drivers/gpu/drm/radeon/r600_cp.c
new file mode 100644
-index 0000000..76eb0d5
+index 0000000..9d14eee
--- /dev/null
+++ b/drivers/gpu/drm/radeon/r600_cp.c
@@ -0,0 +1,2253 @@
@@ -4127,7 +4138,6 @@
+ if (entry->busaddr[i] == 0) {
+ DRM_ERROR("unable to map PCIGART pages!\n");
+ r600_page_table_cleanup(dev, gart_info);
-+ ret = -EINVAL;
+ goto done;
+ }
+ entry_addr = entry->busaddr[i];
@@ -4146,6 +4156,7 @@
+ entry_addr += ATI_PCIGART_PAGE_SIZE;
+ }
+ }
++ ret = 1;
+done:
+ return ret;
+}
@@ -6050,7 +6061,7 @@
+ dev_priv->gart_info.addr,
+ dev_priv->pcigart_offset);
+
-+ if (r600_page_table_init(dev)) {
++ if (!r600_page_table_init(dev)) {
+ DRM_ERROR("Failed to init GART table\n");
+ r600_do_cleanup_cp(dev);
+ return -EINVAL;
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1440
retrieving revision 1.1441
diff -u -r1.1440 -r1.1441
--- kernel.spec 18 Mar 2009 05:04:17 -0000 1.1440
+++ kernel.spec 18 Mar 2009 06:47:17 -0000 1.1441
@@ -1822,6 +1822,10 @@
# and build.
%changelog
+* Wed Mar 18 2009 Dave Airlie <airlied at redhat.com>
+- drm-next.patch: fix rs600 GART setup
+- drm-modesetting-radeon.patch: allocator fixups
+
* Wed Mar 18 2009 Ben Skeggs <bskeggs at redhat.com>
- enable CONFIG_MMIOTRACE on x86/x86_64
- Previous message: rpms/springlobby/F-10 .cvsignore,1.1,1.2 sources,1.1,1.2
- Next message: rpms/spring-maps-default/devel sources, 1.1, 1.2 Comet_Catcher_Redux.sd7, 1.1, NONE Sands_of_War_v2.sd7, 1.1, NONE SmallDivide.sd7, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list