X Strike Force X.Org X11 SVN commit: r1977 - in trunk/driver/xserver-xorg-video-ati/debian: . patches
Author: dnusinow
Date: 2006-04-25 22:12:36 -0400 (Tue, 25 Apr 2006)
New Revision: 1977
Removed:
trunk/driver/xserver-xorg-video-ati/debian/patches/02_ppc_fix.diff
Modified:
trunk/driver/xserver-xorg-video-ati/debian/changelog
trunk/driver/xserver-xorg-video-ati/debian/patches/series
Log:
* Remove obsolete 02_ppc_fix.diff. Now incorporated upstream.
Modified: trunk/driver/xserver-xorg-video-ati/debian/changelog
===================================================================
--- trunk/driver/xserver-xorg-video-ati/debian/changelog 2006-04-26 01:56:41 UTC (rev 1976)
+++ trunk/driver/xserver-xorg-video-ati/debian/changelog 2006-04-26 02:12:36 UTC (rev 1977)
@@ -3,8 +3,9 @@
* New upstream release
* Use dh_install with --list-missing
* Add build-dep on quilt
+ * Remove obsolete 02_ppc_fix.diff. Now incorporated upstream.
- -- David Nusinow <dnusinow@debian.org> Tue, 25 Apr 2006 21:56:09 -0400
+ -- David Nusinow <dnusinow@debian.org> Tue, 25 Apr 2006 22:11:48 -0400
xserver-xorg-video-ati (1:6.5.7.3-3) unstable; urgency=low
Deleted: trunk/driver/xserver-xorg-video-ati/debian/patches/02_ppc_fix.diff
===================================================================
--- trunk/driver/xserver-xorg-video-ati/debian/patches/02_ppc_fix.diff 2006-04-26 01:56:41 UTC (rev 1976)
+++ trunk/driver/xserver-xorg-video-ati/debian/patches/02_ppc_fix.diff 2006-04-26 02:12:36 UTC (rev 1977)
@@ -1,362 +0,0 @@
-Index: xf86-video-ati-X11R7.0-6.5.7.3/src/radeon.h
-===================================================================
---- xf86-video-ati-X11R7.0-6.5.7.3.orig/src/radeon.h 2006-01-12 22:54:09.000000000 -0500
-+++ xf86-video-ati-X11R7.0-6.5.7.3/src/radeon.h 2006-02-26 17:46:29.000000000 -0500
-@@ -147,10 +147,16 @@
- CARD32 cap0_trig_cntl;
- CARD32 cap1_trig_cntl;
- CARD32 bus_cntl;
-- CARD32 surface_cntl;
- CARD32 bios_4_scratch;
- CARD32 bios_5_scratch;
- CARD32 bios_6_scratch;
-+ CARD32 surface_cntl;
-+ CARD32 surfaces[8][3];
-+ CARD32 mc_agp_location;
-+ CARD32 mc_fb_location;
-+ CARD32 display_base_addr;
-+ CARD32 display2_base_addr;
-+ CARD32 ov0_base_addr;
-
- /* Other registers to save for VT switches */
- CARD32 dp_datatype;
-@@ -158,8 +164,6 @@
- CARD32 clock_cntl_index;
- CARD32 amcgpio_en_reg;
- CARD32 amcgpio_mask;
--
-- CARD32 surfaces[8][3];
-
- /* CRTC registers */
- CARD32 crtc_gen_cntl;
-Index: xf86-video-ati-X11R7.0-6.5.7.3/src/radeon_driver.c
-===================================================================
---- xf86-video-ati-X11R7.0-6.5.7.3.orig/src/radeon_driver.c 2006-01-12 22:54:09.000000000 -0500
-+++ xf86-video-ati-X11R7.0-6.5.7.3/src/radeon_driver.c 2006-02-26 17:46:30.000000000 -0500
-@@ -129,6 +129,7 @@
- static int RADEONValidateMergeModes(ScrnInfoPtr pScrn);
- static void RADEONSetDynamicClock(ScrnInfoPtr pScrn, int mode);
- static void RADEONUpdatePanelSize(ScrnInfoPtr pScrn);
-+static void RADEONSaveMemMapRegisters(ScrnInfoPtr pScrn, RADEONSavePtr save);
-
- /* psuedo xinerama support */
-
-@@ -2253,81 +2254,56 @@
- }
-
- /* Set up MC_FB_LOCATION and related registers */
--static void
--RADEONSetFBLocation(ScrnInfoPtr pScrn)
-+static void RADEONInitMemMapRegisters(ScrnInfoPtr pScrn,RADEONSavePtr save,
-+ RADEONInfoPtr info)
- {
-- RADEONInfoPtr info = RADEONPTR(pScrn);
- RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn);
- unsigned char *RADEONMMIO = info->MMIO;
-- CARD32 mc_fb_location;
-- CARD32 mc_agp_location = INREG(RADEON_MC_AGP_LOCATION);
-- CARD32 bus_cntl = INREG(RADEON_BUS_CNTL);
--
-- OUTREG (RADEON_BUS_CNTL, bus_cntl | RADEON_BUS_MASTER_DIS);
-- RADEONWaitForIdleMMIO(pScrn);
-
-- /* This function has many problems with newer cards.
-- * Even with older cards, all registers changed here are not
-- * restored properly when X quits, this will also cause
-- * various problems, especially with radeonfb.
-- * Since we don't have DRI support for R300 and above cards,
-- * we just hardcode these values for now.
-- * Need to revisit this whole function!!!
-- */
-+ /* Default to existing values */
-+ save->mc_fb_location = INREG(RADEON_MC_FB_LOCATION);
-+ save->mc_agp_location = INREG(RADEON_MC_AGP_LOCATION);
-
-+ /*
-+ * Warning: A lot of the stuff down there is fairly bogus. For example,
-+ * we use CONFIG_APER_SIZE which is only _half_ of the PCI exposed area
-+ * since we might expose our VRAM in 2 different non overlapping apertures
-+ * depending on how the card is bootstrapped.
-+ *
-+ * This will have to be fixed some day ...
-+ */
- if (info->IsIGP) {
-- mc_fb_location = INREG(RADEON_NB_TOM);
-+ save->mc_fb_location = INREG(RADEON_NB_TOM);
-
-+ /* Hack ... FIXME or at least move elsewhere*/
- OUTREG(RADEON_GRPH2_BUFFER_CNTL,
- INREG(RADEON_GRPH2_BUFFER_CNTL) & ~0x7f0000);
-
- } else
- #ifdef XF86DRI
- if ( info->directRenderingEnabled && info->drmMinor < 10 ) {
-- mc_fb_location = (INREG(RADEON_CONFIG_APER_SIZE) - 1) & 0xffff0000U;
-+ save->mc_fb_location = (INREG(RADEON_CONFIG_APER_SIZE) - 1) & 0xffff0000U;
- } else
- #endif
- {
- CARD32 aper0_base = INREG(RADEON_CONFIG_APER_0_BASE);
-
-- mc_fb_location = (aper0_base >> 16)
-- | ((aper0_base + (INREG(RADEON_CONFIG_APER_SIZE) - 1)
-- ) & 0xffff0000U);
-+ save->mc_fb_location = (aper0_base >> 16)
-+ | ((aper0_base + (INREG(RADEON_CONFIG_APER_SIZE) - 1)
-+ ) & 0xffff0000U);
- }
-
-- info->fbLocation = (mc_fb_location & 0xffff) << 16;
-+ info->fbLocation = (save->mc_fb_location & 0xffff) << 16;
-
-- if (((mc_agp_location & 0xffff) << 16) !=
-- ((mc_fb_location & 0xffff0000U) + 0x10000)) {
-- mc_agp_location = mc_fb_location & 0xffff0000U;
-- mc_agp_location |= (mc_agp_location + 0x10000) >> 16;
-+ if (((save->mc_agp_location & 0xffff) << 16) !=
-+ ((save->mc_fb_location & 0xffff0000U) + 0x10000)) {
-+ save->mc_agp_location = save->mc_fb_location & 0xffff0000U;
-+ save->mc_agp_location |= (save->mc_agp_location + 0x10000) >> 16;
- }
-
-- RADEONWaitForIdleMMIO(pScrn);
--
-- OUTREG(RADEON_MC_FB_LOCATION, mc_fb_location);
-- OUTREG(RADEON_MC_AGP_LOCATION, mc_agp_location);
-- OUTREG(RADEON_DISPLAY_BASE_ADDR, info->fbLocation);
-- if (info->HasCRTC2)
-- OUTREG(RADEON_DISPLAY2_BASE_ADDR, info->fbLocation);
-- OUTREG(RADEON_OV0_BASE_ADDR, info->fbLocation);
--
-- OUTREG (RADEON_BUS_CNTL, bus_cntl);
-- RADEONWaitForIdleMMIO(pScrn);
--
-- /* Set display0/1 priority up on r3/4xx in the memory controller for
-- * high res modes if the user specifies HIGH for displaypriority
-- * option.
-- */
-- if ((info->DispPriority == 2) && IS_R300_VARIANT) {
-- CARD32 mc_init_misc_lat_timer = INREG(R300_MC_INIT_MISC_LAT_TIMER);
-- if (info->MergedFB || pRADEONEnt->HasSecondary) {
-- mc_init_misc_lat_timer |= 0x1100; /* display 0 and 1 */
-- } else {
-- mc_init_misc_lat_timer |= 0x0100; /* display 0 only */
-- }
-- OUTREG(R300_MC_INIT_MISC_LAT_TIMER, mc_init_misc_lat_timer);
-- }
-+ save->display_base_addr = info->fbLocation;
-+ save->display2_base_addr = info->fbLocation;
-+ save->ov0_base_addr = info->fbLocation;
-
- }
-
-@@ -5518,6 +5494,8 @@
- unsigned char *RADEONMMIO = info->MMIO;
-
- if (!fbdevHWModeInit(pScrn, pScrn->currentMode)) return FALSE;
-+ RADEONSaveMemMapRegisters(pScrn, &info->ModeReg);
-+ info->fbLocation = (info->ModeReg.mc_fb_location & 0xffff) << 16;
- info->ModeReg.surface_cntl = INREG(RADEON_SURFACE_CNTL);
- } else {
- if (!RADEONModeInit(pScrn, pScrn->currentMode)) return FALSE;
-@@ -5605,8 +5583,6 @@
- hasDRI = info->directRenderingEnabled;
- #endif
-
-- RADEONSetFBLocation(pScrn);
--
- if (!fbScreenInit(pScreen, info->FB,
- pScrn->virtualX, pScrn->virtualY,
- pScrn->xDpi, pScrn->yDpi, pScrn->displayWidth,
-@@ -5837,7 +5813,66 @@
- return TRUE;
- }
-
--/* Write common registers (initialized to 0) */
-+/* Write memory mapping registers */
-+static void RADEONRestoreMemMapRegisters(ScrnInfoPtr pScrn,
-+ RADEONSavePtr restore)
-+{
-+ RADEONInfoPtr info = RADEONPTR(pScrn);
-+ unsigned char *RADEONMMIO = info->MMIO;
-+ int i;
-+
-+ /* Write memory mapping registers only if their value change
-+ * since we must ensure no access is done while they are
-+ * reprogrammed
-+ */
-+ if (INREG(RADEON_MC_FB_LOCATION) != restore->mc_fb_location ||
-+ INREG(RADEON_MC_AGP_LOCATION) != restore->mc_agp_location) {
-+ CARD32 tmp;
-+
-+ /* Make sure engine is idle. We assume the CCE is stopped
-+ * at this point
-+ */
-+ RADEONWaitForIdleMMIO(pScrn);
-+
-+ /* Stop display & memory access */
-+ tmp = INREG(RADEON_CRTC_EXT_CNTL);
-+ OUTREG(RADEON_CRTC_EXT_CNTL, tmp | RADEON_CRTC_DISPLAY_DIS);
-+ tmp = INREG(RADEON_CRTC_GEN_CNTL);
-+ tmp &= ~RADEON_CRTC_CUR_EN;
-+ tmp |= RADEON_CRTC_DISP_REQ_EN_B;
-+ OUTREG(RADEON_CRTC_GEN_CNTL, tmp);
-+ if (info->HasCRTC2) {
-+ tmp = INREG(RADEON_CRTC2_GEN_CNTL);
-+ tmp &= ~RADEON_CRTC2_CUR_EN;
-+ tmp |= RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_DISP_REQ_EN_B;
-+ OUTREG(RADEON_CRTC2_GEN_CNTL, tmp);
-+ }
-+ tmp = INREG(RADEON_OV0_SCALE_CNTL);
-+ tmp &= ~RADEON_SCALER_ENABLE;
-+
-+ /* Clear all surfaces */
-+ for (i = 0; i < 8; i++) {
-+ OUTREG(RADEON_SURFACE0_INFO + 16 * i, 0);
-+ OUTREG(RADEON_SURFACE0_LOWER_BOUND + 16 * i, 0);
-+ OUTREG(RADEON_SURFACE0_UPPER_BOUND + 16 * i, 0);
-+ }
-+
-+ /* Make sure the chip settles down and set new map*/
-+ usleep(100000);
-+ OUTREG(RADEON_MC_FB_LOCATION, restore->mc_fb_location);
-+ OUTREG(RADEON_MC_AGP_LOCATION, restore->mc_agp_location);
-+ /* Make sure map fully reached the chip */
-+ (void)INREG(RADEON_MC_FB_LOCATION);
-+
-+ }
-+
-+ /* Restore base addresses */
-+ OUTREG(RADEON_DISPLAY_BASE_ADDR, restore->display_base_addr);
-+ OUTREG(RADEON_DISPLAY2_BASE_ADDR, restore->display2_base_addr);
-+ OUTREG(RADEON_OV0_BASE_ADDR, restore->ov0_base_addr);
-+}
-+
-+/* Write common registers */
- static void RADEONRestoreCommonRegisters(ScrnInfoPtr pScrn,
- RADEONSavePtr restore)
- {
-@@ -6457,6 +6492,7 @@
-
- /* For Non-dual head card, we don't have private field in the Entity */
- if (!info->HasCRTC2) {
-+ RADEONRestoreMemMapRegisters(pScrn, restore);
- RADEONRestoreCommonRegisters(pScrn, restore);
- RADEONRestoreCrtcRegisters(pScrn, restore);
- RADEONRestoreFPRegisters(pScrn, restore);
-@@ -6474,10 +6510,12 @@
- * order. Regardless the order of X server issuing the calls, we
- * have to ensure we set registers in the right order!!! Otherwise
- * we may get a blank screen.
-+ *
-+ * We always restore MemMap first, the saverec should be up to date
-+ * in all cases
- */
- if (info->IsSecondary) {
-- if (!pRADEONEnt->RestorePrimary && !info->IsSwitching)
-- RADEONRestoreCommonRegisters(pScrn, restore);
-+ RADEONRestoreMemMapRegisters(pScrn, restore);
- RADEONRestoreCrtc2Registers(pScrn, restore);
- RADEONRestorePLL2Registers(pScrn, restore);
-
-@@ -6488,15 +6526,14 @@
- if (pRADEONEnt->RestorePrimary) {
- pRADEONEnt->RestorePrimary = FALSE;
-
-+ RADEONRestoreCommonRegisters(pScrn, &restore0);
- RADEONRestoreCrtcRegisters(pScrn, &restore0);
- RADEONRestoreFPRegisters(pScrn, &restore0);
- RADEONRestorePLLRegisters(pScrn, &restore0);
- pRADEONEnt->IsSecondaryRestored = FALSE;
- }
- } else {
-- if (!pRADEONEnt->IsSecondaryRestored)
-- RADEONRestoreCommonRegisters(pScrn, restore);
--
-+ RADEONRestoreMemMapRegisters(pScrn, restore);
- if (info->MergedFB) {
- RADEONRestoreCrtc2Registers(pScrn, restore);
- RADEONRestorePLL2Registers(pScrn, restore);
-@@ -6506,6 +6543,7 @@
- info->IsSwitching) {
- pRADEONEnt->IsSecondaryRestored = FALSE;
-
-+ RADEONRestoreCommonRegisters(pScrn, restore);
- RADEONRestoreCrtcRegisters(pScrn, restore);
- RADEONRestoreFPRegisters(pScrn, restore);
- RADEONRestorePLLRegisters(pScrn, restore);
-@@ -6520,6 +6558,19 @@
- #endif
- }
-
-+/* Read memory map */
-+static void RADEONSaveMemMapRegisters(ScrnInfoPtr pScrn, RADEONSavePtr save)
-+{
-+ RADEONInfoPtr info = RADEONPTR(pScrn);
-+ unsigned char *RADEONMMIO = info->MMIO;
-+
-+ save->mc_fb_location = INREG(RADEON_MC_FB_LOCATION);
-+ save->mc_agp_location = INREG(RADEON_MC_AGP_LOCATION);
-+ save->display_base_addr = INREG(RADEON_DISPLAY_BASE_ADDR);
-+ save->display2_base_addr = INREG(RADEON_DISPLAY2_BASE_ADDR);
-+ save->ov0_base_addr = INREG(RADEON_OV0_BASE_ADDR);
-+}
-+
- /* Read common registers */
- static void RADEONSaveCommonRegisters(ScrnInfoPtr pScrn, RADEONSavePtr save)
- {
-@@ -6703,6 +6754,7 @@
- RADEONInfoPtr info = RADEONPTR(pScrn);
-
- RADEONTRACE(("RADEONSaveMode(%p)\n", save));
-+ RADEONSaveMemMapRegisters(pScrn, save);
- RADEONSaveCommonRegisters(pScrn, save);
- if (info->IsSecondary) {
- RADEONSaveCrtc2Registers(pScrn, save);
-@@ -6731,6 +6783,7 @@
-
- RADEONTRACE(("RADEONSave\n"));
- if (info->FBDev) {
-+ RADEONSaveMemMapRegisters(pScrn, save);
- fbdevHWSave(pScrn);
- return;
- }
-@@ -6914,6 +6967,22 @@
- int stop_req, max_stop_req;
- float read_return_rate, time_disp1_drop_priority;
-
-+ /*
-+ * Set display0/1 priority up on r3/4xx in the memory controller for
-+ * high res modes if the user specifies HIGH for displaypriority
-+ * option.
-+ */
-+ if ((info->DispPriority == 2) && IS_R300_VARIANT) {
-+ CARD32 mc_init_misc_lat_timer = INREG(R300_MC_INIT_MISC_LAT_TIMER);
-+ if (info->MergedFB || pRADEONEnt->HasSecondary) {
-+ mc_init_misc_lat_timer |= 0x1100; /* display 0 and 1 */
-+ } else {
-+ mc_init_misc_lat_timer |= 0x0100; /* display 0 only */
-+ }
-+ OUTREG(R300_MC_INIT_MISC_LAT_TIMER, mc_init_misc_lat_timer);
-+ }
-+
-+
- /* R420 family not supported yet */
- if (info->ChipFamily == CHIP_FAMILY_R420) return;
-
-@@ -8016,6 +8085,7 @@
-
- info->Flags = mode->Flags;
-
-+ RADEONInitMemMapRegisters(pScrn, save, info);
- RADEONInitCommonRegisters(save, info);
- if (info->IsSecondary) {
- if (!RADEONInitCrtc2Registers(pScrn, save, mode, info))
-@@ -8396,7 +8466,6 @@
- } else
- if (!RADEONModeInit(pScrn, pScrn->currentMode)) return FALSE;
-
-- RADEONSetFBLocation(pScrn);
- if (!info->IsSecondary)
- RADEONRestoreSurfaces(pScrn, &info->ModeReg);
- #ifdef XF86DRI
Modified: trunk/driver/xserver-xorg-video-ati/debian/patches/series
===================================================================
--- trunk/driver/xserver-xorg-video-ati/debian/patches/series 2006-04-26 01:56:41 UTC (rev 1976)
+++ trunk/driver/xserver-xorg-video-ati/debian/patches/series 2006-04-26 02:12:36 UTC (rev 1977)
@@ -1,2 +1 @@
01_ati_r128_update_chip_identification.diff
-02_ppc_fix.diff
Reply to: