X Strike Force X.Org X11 SVN commit: r211 - in trunk/debian: . patches
Author: branden
Date: 2005-06-14 16:42:50 -0500 (Tue, 14 Jun 2005)
New Revision: 211
Removed:
trunk/debian/patches/024c_radeon_fix_i2c_line_assertion.diff
Modified:
trunk/debian/TODO
trunk/debian/patches/0000_backport_from_upstream.diff
trunk/debian/patches/024_ati_r128_and_radeon_enable_build_without_vgahw.diff
trunk/debian/patches/069_ati_r128_fix_ugly_warning.diff
Log:
Drop patch #024c; patch moved to #0000 since has been committed upstream.
Resync patch #024 with #0000. It now applies cleanly again.
Fix offsets in patch #069.
Modified: trunk/debian/TODO
===================================================================
--- trunk/debian/TODO 2005-06-14 20:07:51 UTC (rev 210)
+++ trunk/debian/TODO 2005-06-14 21:42:50 UTC (rev 211)
@@ -7,9 +7,6 @@
xorg-x11 6.8.2-0pre1v1 (experimental)
-------------------------------------
-* Forward-port patch #024b (patch #024 from Debian xfree86 SVN trunk), which now
- does not apply cleanly
-
* Document non-freeness of rman (PolyglotMan) in debian/copyright. [branden]
* Trash patch #999 (disable x11perf), revert changes to MANIFESTs and
Modified: trunk/debian/patches/0000_backport_from_upstream.diff
===================================================================
--- trunk/debian/patches/0000_backport_from_upstream.diff 2005-06-14 20:07:51 UTC (rev 210)
+++ trunk/debian/patches/0000_backport_from_upstream.diff 2005-06-14 21:42:50 UTC (rev 211)
@@ -107,6 +107,13 @@
intended to prevent this, but it apparently is not in effect yet
when linux.cf is parsed.)
+2005-04-05 Daniel Stone <daniel@freedesktop.org>
+
+ * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
+ Release SDA/SDL I2C lines from an asserted-low state after a DDC probe,
+ which caused Apple Studio Display monitors to shut off after a second
+ or so (Ben Herrenschmidt).
+
2005-06-14 Branden Robinson <branden@debian.org>
* config/cf/linux.cf:
@@ -273,8 +280,8 @@
}
Index: xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
===================================================================
---- xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c (revision 140)
-+++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c (working copy)
+--- xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c~ 2005-06-14 15:20:10.937305102 -0500
++++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2005-06-14 15:26:02.286374708 -0500
@@ -165,6 +165,9 @@
#endif
OPTION_SHOWCACHE,
@@ -295,7 +302,17 @@
{ -1, NULL, OPTV_NONE, {0}, FALSE }
};
-@@ -1184,41 +1190,59 @@
+@@ -938,6 +944,9 @@
+ MonType = MT_NONE;
+ }
+
++ OUTREG(info->DDCReg, INREG(info->DDCReg) &
++ ~(RADEON_GPIO_EN_0 | RADEON_GPIO_EN_1));
++
+ if (*MonInfo) {
+ if ((*MonInfo)->rawData[0x14] & 0x80) {
+ /* Note some laptops have a DVI output that uses internal TMDS,
+@@ -1184,41 +1193,59 @@
return(bConnected ? MT_CRT : MT_NONE);
}
@@ -314,12 +331,13 @@
+ float hz, prev_xtal, vclk, xtal, mpll, spll;
long start_secs, start_usecs, stop_secs, stop_usecs, total_usecs;
- int i;
+-
+- for(i=0; i<1000000; i++)
+- if (((INREG(RADEON_CRTC_VLINE_CRNT_VLINE) >> 16) & 0x3ff) == 0)
+ long to1_secs, to1_usecs, to2_secs, to2_usecs;
+ unsigned int f1, f2, f3;
+ int i, tries = 0;
-
-- for(i=0; i<1000000; i++)
-- if (((INREG(RADEON_CRTC_VLINE_CRNT_VLINE) >> 16) & 0x3ff) == 0)
++
+ prev_xtal = 0;
+ again:
+ xtal = 0;
@@ -343,15 +361,15 @@
-
- for(i=0; i<1000000; i++)
- if (((INREG(RADEON_CRTC_VLINE_CRNT_VLINE) >> 16) & 0x3ff) != 0)
+- break;
+-
+- for(i=0; i<1000000; i++)
+- if (((INREG(RADEON_CRTC_VLINE_CRNT_VLINE) >> 16) & 0x3ff) == 0)
+ for(;;) {
+ f3 = INREG(RADEON_CRTC_CRNT_FRAME);
+ if (f3 != f2)
break;
-
-- for(i=0; i<1000000; i++)
-- if (((INREG(RADEON_CRTC_VLINE_CRNT_VLINE) >> 16) & 0x3ff) == 0)
-- break;
--
+ xf86getsecs(&to2_secs, &to2_usecs);
+ if ((to2_secs - start_secs) > 1)
+ goto failed;
@@ -373,7 +391,7 @@
vclk = (float)(hTotal * (float)(vTotal * hz));
switch((INPLL(pScrn, RADEON_PPLL_REF_DIV) & 0x30000) >> 16) {
-@@ -1280,23 +1304,94 @@
+@@ -1280,23 +1307,94 @@
else if ((xtal > 29400000) && (xtal < 29600000))
xtal = 2950;
else
@@ -420,7 +438,7 @@
M = (tmp & 0xff);
- xclk = RADEONDiv((2 * Nx * xtal), (2 * M));
+ xclk = RADEONDiv((2 * mpll_fb_div * xtal), (2 * M));
-
++
+ /*
+ * Calculate MCLK based on MCLK-A and SCLK
+ *
@@ -457,7 +475,7 @@
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Unsupported SCLK source"
+ " setting %d, can't probe SCLK value !\n", tmp);
+ }
-+
+
/* we're done, hopefully these are sane values */
pll->reference_div = ref_div;
pll->xclk = xclk;
@@ -472,7 +490,7 @@
static void RADEONGetPanelInfoFromReg (ScrnInfoPtr pScrn)
{
-@@ -1321,7 +1416,25 @@
+@@ -1321,7 +1419,25 @@
info->PanelXRes = 640;
info->PanelYRes = 480;
}
@@ -499,7 +517,7 @@
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"Panel size %dx%d is derived, this may not be correct.\n"
"If not, use PanelSize option to overwrite this setting\n",
-@@ -1335,17 +1448,24 @@
+@@ -1335,17 +1451,24 @@
if (!RADEONGetLVDSInfoFromBIOS(pScrn))
RADEONGetPanelInfoFromReg(pScrn);
@@ -530,7 +548,7 @@
tmp_mode = pScrn->monitor->Modes;
while(tmp_mode) {
if ((tmp_mode->HDisplay == info->PanelXRes) &&
-@@ -1416,6 +1536,8 @@
+@@ -1416,6 +1539,8 @@
RADEONGetTMDSInfo(pScrn);
if (!pScrn->monitor->DDC)
RADEONGetHardCodedEDIDFromBIOS(pScrn);
@@ -539,7 +557,7 @@
}
}
}
-@@ -1448,17 +1570,24 @@
+@@ -1448,17 +1573,24 @@
xf86DrvMsg (pScrn->scrnIndex, X_WARNING,
"Video BIOS not detected, using default clock settings!\n");
@@ -569,7 +587,7 @@
pll->xclk = 10300;
info->sclk = 200.00;
-@@ -1610,6 +1739,14 @@
+@@ -1610,6 +1742,14 @@
pRADEONEnt->PortInfo[1].DACType = DAC_PRIMARY;
pRADEONEnt->PortInfo[1].TMDSType = TMDS_EXT;
pRADEONEnt->PortInfo[1].ConnectorType = CONNECTOR_CRT;
@@ -584,7 +602,7 @@
}
/* always make TMDS_INT port first*/
-@@ -2599,14 +2736,35 @@
+@@ -2599,14 +2739,35 @@
xf86MonPtr ddc = pScrn->monitor->DDC;
DisplayModePtr p;
@@ -621,7 +639,7 @@
if (info->DotClock) continue; /* Timings already inited */
info->PanelXRes = d_timings->h_active;
-@@ -2618,10 +2776,24 @@
+@@ -2618,10 +2779,24 @@
info->VOverPlus = d_timings->v_sync_off;
info->VSyncWidth = d_timings->v_sync_width;
info->VBlank = d_timings->v_blanking;
@@ -646,7 +664,7 @@
/* Search thru standard VESA modes from EDID */
for (j = 0; j < 8; j++) {
if ((info->PanelXRes < ddc->timings2[j].hsize) &&
-@@ -2643,26 +2815,14 @@
+@@ -2643,26 +2818,14 @@
info->VOverPlus = p->VSyncStart - p->VDisplay;
info->VSyncWidth = p->VSyncEnd - p->VSyncStart;
info->DotClock = p->Clock;
@@ -676,7 +694,7 @@
}
/* This function will sort all modes according to their resolution.
-@@ -2783,6 +2943,8 @@
+@@ -2783,6 +2946,8 @@
/* Search thru standard VESA modes from EDID */
for (j = 0; j < 8; j++) {
@@ -685,7 +703,7 @@
for (p = pScrn->monitor->Modes; p && p->next; p = p->next->next) {
/* Ignore all double scan modes */
if ((ddc->timings2[j].hsize == p->HDisplay) &&
-@@ -2872,19 +3034,10 @@
+@@ -2872,19 +3037,10 @@
pScrn->virtualX = pScrn1->display->virtualX;
pScrn->virtualY = pScrn1->display->virtualY;
@@ -706,7 +724,7 @@
/* Collect all of the DDC modes */
first = last = ddcModes = RADEONDDCModes(pScrn);
-@@ -3576,7 +3729,8 @@
+@@ -3576,7 +3732,8 @@
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
"Invalid PanelSize value: %s\n", s);
}
@@ -716,7 +734,7 @@
}
if (pScrn->monitor->DDC) {
-@@ -4143,15 +4297,7 @@
+@@ -4143,14 +4300,6 @@
return TRUE;
}
@@ -726,13 +744,12 @@
- RADEONFreeRec(pScrn);
- goto fail2;
- }
+-
+- vgaHWGetIOBase(VGAHWPTR(pScrn));
-- vgaHWGetIOBase(VGAHWPTR(pScrn));
--
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"PCI bus %d card %d func %d\n",
- info->PciInfo->bus,
-@@ -4179,6 +4325,32 @@
+@@ -4179,6 +4328,32 @@
memcpy(info->Options, RADEONOptions, sizeof(RADEONOptions));
xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, info->Options);
@@ -765,7 +782,7 @@
if (!RADEONPreInitWeight(pScrn))
goto fail;
-@@ -4237,7 +4409,6 @@
+@@ -4237,7 +4412,6 @@
RADEONGetBIOSInfo(pScrn, pInt10);
if (!RADEONQueryConnectedMonitors(pScrn)) goto fail;
RADEONGetClockInfo(pScrn);
@@ -773,7 +790,7 @@
/* collect MergedFB options */
/* only parse mergedfb options on the primary head.
-@@ -4293,7 +4464,8 @@
+@@ -4293,7 +4467,8 @@
if (pInt10)
xf86FreeInt10(pInt10);
@@ -783,7 +800,7 @@
fail2:
if(info->MMIO) RADEONUnmapMMIO(pScrn);
-@@ -5731,7 +5903,6 @@
+@@ -5731,7 +5906,6 @@
RADEONInfoPtr info = RADEONPTR(pScrn);
unsigned char *RADEONMMIO = info->MMIO;
RADEONSavePtr save = &info->SavedReg;
@@ -791,7 +808,7 @@
RADEONTRACE(("RADEONSave\n"));
if (info->FBDev) {
-@@ -5740,19 +5911,23 @@
+@@ -5740,19 +5914,23 @@
}
if (!info->IsSecondary) {
@@ -825,7 +842,7 @@
save->dp_datatype = INREG(RADEON_DP_DATATYPE);
save->rbbm_soft_reset = INREG(RADEON_RBBM_SOFT_RESET);
save->clock_cntl_index = INREG(RADEON_CLOCK_CNTL_INDEX);
-@@ -5768,7 +5943,6 @@
+@@ -5768,7 +5946,6 @@
RADEONInfoPtr info = RADEONPTR(pScrn);
unsigned char *RADEONMMIO = info->MMIO;
RADEONSavePtr restore = &info->SavedReg;
@@ -833,7 +850,7 @@
RADEONTRACE(("RADEONRestore\n"));
-@@ -5810,27 +5984,36 @@
+@@ -5810,27 +5987,36 @@
usleep(100000);
#endif
@@ -861,18 +878,19 @@
- RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn);
- ScrnInfoPtr pScrn0;
- vgaHWPtr hwp0;
+-
+- pScrn0 = pRADEONEnt->pPrimaryScrn;
+- hwp0 = VGAHWPTR(pScrn0);
+- vgaHWUnlock(hwp0);
+- vgaHWRestore(pScrn0, &hwp0->SavedReg, VGA_SR_MODE | VGA_SR_FONTS );
+- vgaHWLock(hwp0);
+ vgaHWLock(hwp);
+ } else {
+ RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn);
+ ScrnInfoPtr pScrn0 = pRADEONEnt->pPrimaryScrn;
+ RADEONInfoPtr info0 = RADEONPTR(pScrn0);
+ vgaHWPtr hwp0;
-
-- pScrn0 = pRADEONEnt->pPrimaryScrn;
-- hwp0 = VGAHWPTR(pScrn0);
-- vgaHWUnlock(hwp0);
-- vgaHWRestore(pScrn0, &hwp0->SavedReg, VGA_SR_MODE | VGA_SR_FONTS );
-- vgaHWLock(hwp0);
++
+ if (info0->VGAAccess) {
+ hwp0 = VGAHWPTR(pScrn0);
+ vgaHWUnlock(hwp0);
@@ -887,7 +905,7 @@
}
RADEONUnblank(pScrn);
-@@ -5978,7 +6161,7 @@
+@@ -5978,7 +6164,7 @@
*/
temp = INREG(RADEON_MEM_CNTL);
data = (R300_MEM_NUM_CHANNELS_MASK & temp);
@@ -896,7 +914,7 @@
if (R300_MEM_USE_CD_CH_ONLY & temp) {
temp = INREG(R300_MC_IND_INDEX);
temp &= ~R300_MC_IND_ADDR_MASK;
-@@ -6459,8 +6642,13 @@
+@@ -6459,8 +6645,13 @@
? RADEON_CRTC2_V_SYNC_POL
: 0));
@@ -911,7 +929,7 @@
/* this should be right */
if (info->MergedFB) {
save->crtc2_pitch = (((info->CRT2pScrn->displayWidth * pScrn->bitsPerPixel) +
-@@ -6482,6 +6670,7 @@
+@@ -6482,6 +6673,7 @@
save->fp2_h_sync_strt_wid = save->crtc2_h_sync_strt_wid;
save->fp2_v_sync_strt_wid = save->crtc2_v_sync_strt_wid;
save->fp2_gen_cntl = info->SavedReg.fp2_gen_cntl | RADEON_FP2_ON;
@@ -919,7 +937,7 @@
if (info->ChipFamily == CHIP_FAMILY_R200 ||
IS_R300_VARIANT) {
-@@ -6502,6 +6691,23 @@
+@@ -6502,6 +6694,23 @@
}
@@ -943,7 +961,7 @@
RADEONTRACE(("Pitch = %d bytes (virtualX = %d, displayWidth = %d)\n",
save->crtc2_pitch, pScrn->virtualX,
info->CurrentLayout.displayWidth));
-@@ -6727,8 +6933,8 @@
+@@ -6727,8 +6936,8 @@
}
/* Define PLL registers for requested video mode */
@@ -954,7 +972,7 @@
{
unsigned long freq = dot_clock * 100;
-@@ -6752,6 +6958,13 @@
+@@ -6752,6 +6961,13 @@
{ 0, 0 }
};
@@ -968,7 +986,7 @@
if (freq > pll->max_pll_freq) freq = pll->max_pll_freq;
if (freq * 12 < pll->min_pll_freq) freq = pll->min_pll_freq / 12;
-@@ -6786,7 +6999,7 @@
+@@ -6786,7 +7002,7 @@
/* Define PLL2 registers for requested video mode */
static void RADEONInitPLL2Registers(RADEONSavePtr save, RADEONPLLPtr pll,
@@ -977,7 +995,7 @@
{
unsigned long freq = dot_clock * 100;
-@@ -6813,6 +7026,11 @@
+@@ -6813,6 +7029,11 @@
if (freq * 12 < pll->min_pll_freq) freq = pll->min_pll_freq / 12;
for (post_div = &post_divs[0]; post_div->divider; ++post_div) {
@@ -989,7 +1007,7 @@
save->pll_output_freq_2 = post_div->divider * freq;
if (save->pll_output_freq_2 >= pll->min_pll_freq
&& save->pll_output_freq_2 <= pll->max_pll_freq) break;
-@@ -6913,7 +7131,7 @@
+@@ -6913,7 +7134,7 @@
if (info->IsSecondary) {
if (!RADEONInitCrtc2Registers(pScrn, save, mode, info))
return FALSE;
@@ -998,7 +1016,7 @@
} else if (info->MergedFB) {
RADEONInitCommonRegisters(save, info);
if (!RADEONInitCrtcRegisters(pScrn, save,
-@@ -6921,7 +7139,7 @@
+@@ -6921,7 +7142,7 @@
return FALSE;
dot_clock = (((RADEONMergedDisplayModePtr)mode->Private)->CRT1)->Clock / 1000.0;
if (dot_clock) {
@@ -1007,7 +1025,7 @@
} else {
save->ppll_ref_div = info->SavedReg.ppll_ref_div;
save->ppll_div_3 = info->SavedReg.ppll_div_3;
-@@ -6930,19 +7148,13 @@
+@@ -6930,19 +7151,13 @@
RADEONInitCrtc2Registers(pScrn, save,
((RADEONMergedDisplayModePtr)mode->Private)->CRT2, info);
dot_clock = (((RADEONMergedDisplayModePtr)mode->Private)->CRT2)->Clock / 1000.0;
@@ -1029,7 +1047,7 @@
} else {
save->ppll_ref_div = info->SavedReg.ppll_ref_div;
save->ppll_div_3 = info->SavedReg.ppll_div_3;
-@@ -7349,7 +7561,7 @@
+@@ -7349,7 +7564,7 @@
}
}
Modified: trunk/debian/patches/024_ati_r128_and_radeon_enable_build_without_vgahw.diff
===================================================================
--- trunk/debian/patches/024_ati_r128_and_radeon_enable_build_without_vgahw.diff 2005-06-14 20:07:51 UTC (rev 210)
+++ trunk/debian/patches/024_ati_r128_and_radeon_enable_build_without_vgahw.diff 2005-06-14 21:42:50 UTC (rev 211)
@@ -12,9 +12,9 @@
Not submitted upstream.
-diff -urN xc/programs/Xserver/hw/xfree86/drivers/ati.orig/Imakefile xc/programs/Xserver/hw/xfree86/drivers/ati/Imakefile
---- xc/programs/Xserver/hw/xfree86/drivers/ati.orig/Imakefile 2005-03-28 22:44:48.983747744 +1000
-+++ xc/programs/Xserver/hw/xfree86/drivers/ati/Imakefile 2005-03-28 22:44:52.317240976 +1000
+diff -urN xc/programs/Xserver/hw/xfree86/drivers/ati~/Imakefile xc/programs/Xserver/hw/xfree86/drivers/ati/Imakefile
+--- xc/programs/Xserver/hw/xfree86/drivers/ati~/Imakefile 2005-02-28 12:35:18.000000000 -0500
++++ xc/programs/Xserver/hw/xfree86/drivers/ati/Imakefile 2005-06-14 15:44:26.699740311 -0500
@@ -157,8 +157,13 @@
#endif
@@ -30,9 +30,9 @@
SRCS1 = ati.c atiadapter.c atibus.c atichip.c atiident.c atioption.c \
atiprobe.c atividmem.c $(CPIOSRCS1) $(MODSRCS1) \
-diff -urN xc/programs/Xserver/hw/xfree86/drivers/ati.orig/r128_driver.c xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c
---- xc/programs/Xserver/hw/xfree86/drivers/ati.orig/r128_driver.c 2005-03-28 22:44:49.039739232 +1000
-+++ xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c 2005-03-28 22:44:52.322240216 +1000
+diff -urN xc/programs/Xserver/hw/xfree86/drivers/ati~/r128_driver.c xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c
+--- xc/programs/Xserver/hw/xfree86/drivers/ati~/r128_driver.c 2005-06-14 15:42:20.094832000 -0500
++++ xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c 2005-06-14 16:03:28.272959382 -0500
@@ -87,10 +87,16 @@
#include "vbe.h"
@@ -51,7 +51,7 @@
#include "r128_chipset.h"
#ifndef MAX
-@@ -179,6 +185,7 @@
+@@ -181,6 +187,7 @@
{ 4, 4, 3, 3, 2, 3, 1, 16, 12, "64-bit DDR SGRAM" },
};
@@ -59,7 +59,7 @@
static const char *vgahwSymbols[] = {
"vgaHWFreeHWRec",
"vgaHWGetHWRec",
-@@ -189,6 +196,7 @@
+@@ -191,6 +198,7 @@
"vgaHWUnlock",
NULL
};
@@ -67,7 +67,7 @@
static const char *fbdevHWSymbols[] = {
"fbdevHWInit",
-@@ -335,7 +343,10 @@
+@@ -337,7 +345,10 @@
* Tell the loader about symbols from other modules that this module might
* refer to.
*/
@@ -79,91 +79,119 @@
fbSymbols,
xaaSymbols,
ramdacSymbols,
-@@ -1873,12 +1884,14 @@
- return TRUE;
- }
+@@ -1902,12 +1913,13 @@
+ xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, info->Options);
+ /* By default, don't do VGA IOs on ppc */
+-#ifdef __powerpc__
++#if defined(__powerpc__) || !defined(WITH_VGAHW)
+ info->VGAAccess = FALSE;
+-#else
++# else
+ info->VGAAccess = TRUE;
+-#endif
++# endif
+
+#ifdef WITH_VGAHW
- if (!xf86LoadSubModule(pScrn, "vgahw")) return FALSE;
- xf86LoaderReqSymLists(vgahwSymbols, NULL);
- if (!vgaHWGetHWRec(pScrn)) {
- R128FreeRec(pScrn);
- return FALSE;
- }
-+#endif
+ xf86GetOptValBool(info->Options, OPTION_VGA_ACCESS, &info->VGAAccess);
+ if (info->VGAAccess) {
+ if (!xf86LoadSubModule(pScrn, "vgahw"))
+@@ -1925,10 +1937,13 @@
+ " VGA module load skipped\n");
+ if (info->VGAAccess)
+ vgaHWGetIOBase(VGAHWPTR(pScrn));
++#else
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VGAHW support not compiled in,"
++ " disabling VGA support.\n");
++#endif /* WITH_VGAHW */
- info->PciInfo = xf86GetPciInfoForEntity(info->pEnt->index);
- info->PciTag = pciTag(info->PciInfo->bus,
-@@ -1989,7 +2002,9 @@
+-
+-
+- if (!R128PreInitWeight(pScrn)) goto fail;
++ if (!R128PreInitWeight(pScrn))
++ goto fail;
+
+ if(xf86GetOptValInteger(info->Options, OPTION_VIDEO_KEY, &(info->videoKey))) {
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n",
+@@ -2011,8 +2026,10 @@
if (pInt10)
xf86FreeInt10(pInt10);
+#ifdef WITH_VGAHW
- vgaHWFreeHWRec(pScrn);
+ if (info->VGAAccess)
+ vgaHWFreeHWRec(pScrn);
+#endif
R128FreeRec(pScrn);
return FALSE;
}
-@@ -2802,16 +2817,20 @@
- R128InfoPtr info = R128PTR(pScrn);
- unsigned char *R128MMIO = info->MMIO;
- R128SavePtr save = &info->SavedReg;
-+#ifdef WITH_VGAHW
- vgaHWPtr hwp = VGAHWPTR(pScrn);
-+#endif
-
- R128TRACE(("R128Save\n"));
- if (info->FBDev) {
- fbdevHWSave(pScrn);
+@@ -2832,23 +2849,25 @@
return;
}
+
+#ifdef WITH_VGAHW
- vgaHWUnlock(hwp);
- vgaHWSave(pScrn, &hwp->SavedReg, VGA_SR_ALL); /* save mode, fonts, cmap */
- vgaHWLock(hwp);
-+#endif
+ if (info->VGAAccess) {
+ vgaHWPtr hwp = VGAHWPTR(pScrn);
+ vgaHWUnlock(hwp);
+-#if defined(__powerpc__)
++# if defined(__powerpc__)
+ /* temporary hack to prevent crashing on PowerMacs when trying to
+ * read VGA fonts and colormap, will find a better solution
+ * in the future. TODO: Check if there's actually some VGA stuff
+ * setup in the card at all !!
+ */
+ vgaHWSave(pScrn, &hwp->SavedReg, VGA_SR_MODE); /* Save mode only */
+-#else
++# else
+ /* Save mode * & fonts & cmap */
+ vgaHWSave(pScrn, &hwp->SavedReg, VGA_SR_MODE | VGA_SR_FONTS);
+-#endif
++# endif
+ vgaHWLock(hwp);
+ }
++#endif /* WITH_VGAHW */
+
R128SaveMode(pScrn, save);
-@@ -2828,7 +2847,9 @@
- R128InfoPtr info = R128PTR(pScrn);
- unsigned char *R128MMIO = info->MMIO;
- R128SavePtr restore = &info->SavedReg;
-+#ifdef WITH_VGAHW
- vgaHWPtr hwp = VGAHWPTR(pScrn);
-+#endif
-
- R128TRACE(("R128Restore\n"));
- if (info->FBDev) {
-@@ -2844,9 +2865,12 @@
+@@ -2880,19 +2899,21 @@
OUTREG(R128_DP_DATATYPE, restore->dp_datatype);
R128RestoreMode(pScrn, restore);
-+
+#ifdef WITH_VGAHW
- vgaHWUnlock(hwp);
- vgaHWRestore(pScrn, &hwp->SavedReg, VGA_SR_MODE | VGA_SR_FONTS );
- vgaHWLock(hwp);
-+#endif
+ if (info->VGAAccess) {
+ vgaHWPtr hwp = VGAHWPTR(pScrn);
+ vgaHWUnlock(hwp);
+-#if defined(__powerpc__)
++# if defined(__powerpc__)
+ /* Temporary hack to prevent crashing on PowerMacs when trying to
+ * write VGA fonts, will find a better solution in the future
+ */
+ vgaHWRestore(pScrn, &hwp->SavedReg, VGA_SR_MODE );
+-#else
++# else
+ vgaHWRestore(pScrn, &hwp->SavedReg, VGA_SR_MODE | VGA_SR_FONTS );
+-#endif
++# endif
+ vgaHWLock(hwp);
+ }
++#endif /* WITH_VGAHW */
R128WaitForVerticalSync(pScrn);
R128Unblank(pScrn);
-@@ -3581,8 +3605,12 @@
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+@@ -3628,8 +3649,10 @@
+ R128InfoPtr info = R128PTR(pScrn);
R128TRACE(("R128FreeScreen\n"));
-+
+#ifdef WITH_VGAHW
- if (xf86LoaderCheckSymbol("vgaHWFreeHWRec"))
+ if (info->VGAAccess && xf86LoaderCheckSymbol("vgaHWFreeHWRec"))
vgaHWFreeHWRec(pScrn);
+#endif
-+
R128FreeRec(pScrn);
}
-diff -urN xc/programs/Xserver/hw/xfree86/drivers/ati.orig/radeon_driver.c xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
---- xc/programs/Xserver/hw/xfree86/drivers/ati.orig/radeon_driver.c 2005-03-28 22:44:49.050737560 +1000
-+++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2005-03-28 22:44:52.328239304 +1000
+diff -urN xc/programs/Xserver/hw/xfree86/drivers/ati~/radeon_driver.c xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
+--- xc/programs/Xserver/hw/xfree86/drivers/ati~/radeon_driver.c 2005-06-14 15:41:48.799113000 -0500
++++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2005-06-14 16:03:28.264959199 -0500
@@ -91,9 +91,15 @@
#include "xf86cmap.h"
#include "vbe.h"
@@ -182,7 +210,7 @@
#include "radeon_chipset.h"
-@@ -221,6 +227,7 @@
+@@ -220,6 +226,7 @@
const OptionInfoRec *RADEONOptionsWeak(void) { return RADEONOptions; }
@@ -190,7 +218,7 @@
static const char *vgahwSymbols[] = {
"vgaHWFreeHWRec",
"vgaHWGetHWRec",
-@@ -232,6 +239,7 @@
+@@ -231,6 +238,7 @@
"vgaHWGetIOBase",
NULL
};
@@ -198,7 +226,7 @@
static const char *fbdevHWSymbols[] = {
"fbdevHWInit",
-@@ -388,7 +396,10 @@
+@@ -387,7 +395,10 @@
* Tell the loader about symbols from other modules that this module might
* refer to.
*/
@@ -210,7 +238,7 @@
fbSymbols,
xaaSymbols,
#if 0
-@@ -4364,12 +4375,13 @@
+@@ -4329,12 +4340,13 @@
xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, info->Options);
/* By default, don't do VGA IOs on ppc */
@@ -224,11 +252,11 @@
+#ifdef WITH_VGAHW
xf86GetOptValBool(info->Options, OPTION_VGA_ACCESS, &info->VGAAccess);
if (info->VGAAccess) {
- if (!xf86LoadSubModule(pScrn, "vgahw"))
-@@ -4387,7 +4399,10 @@
- " VGA module load skipped\n");
+ if (!xf86LoadSubModule(pScrn, "vgahw"))
+@@ -4352,7 +4364,10 @@
+ " VGA module load skipped\n");
if (info->VGAAccess)
- vgaHWGetIOBase(VGAHWPTR(pScrn));
+ vgaHWGetIOBase(VGAHWPTR(pScrn));
-
+#else
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "VGAHW support not compiled in,"
@@ -237,92 +265,103 @@
if (!RADEONPreInitWeight(pScrn))
goto fail;
-@@ -4502,8 +4517,10 @@
+@@ -4467,8 +4482,10 @@
if (pInt10)
xf86FreeInt10(pInt10);
+#ifdef WITH_VGAHW
if (info->VGAAccess)
- vgaHWFreeHWRec(pScrn);
+ vgaHWFreeHWRec(pScrn);
+#endif
fail2:
if(info->MMIO) RADEONUnmapMMIO(pScrn);
-@@ -5945,23 +5962,25 @@
+@@ -5914,23 +5931,25 @@
}
if (!info->IsSecondary) {
+#ifdef WITH_VGAHW
if (info->VGAAccess) {
- vgaHWPtr hwp = VGAHWPTR(pScrn);
+ vgaHWPtr hwp = VGAHWPTR(pScrn);
vgaHWUnlock(hwp);
-#if defined(__powerpc__)
+# if defined(__powerpc__)
- /* temporary hack to prevent crashing on PowerMacs when trying to
- * read VGA fonts and colormap, will find a better solution
- * in the future. TODO: Check if there's actually some VGA stuff
- * setup in the card at all !!
- */
- vgaHWSave(pScrn, &hwp->SavedReg, VGA_SR_MODE); /* Save mode only */
+ /* temporary hack to prevent crashing on PowerMacs when trying to
+ * read VGA fonts and colormap, will find a better solution
+ * in the future. TODO: Check if there's actually some VGA stuff
+ * setup in the card at all !!
+ */
+ vgaHWSave(pScrn, &hwp->SavedReg, VGA_SR_MODE); /* Save mode only */
-#else
+# else
- /* Save mode * & fonts & cmap */
- vgaHWSave(pScrn, &hwp->SavedReg, VGA_SR_MODE | VGA_SR_FONTS);
+ /* Save mode * & fonts & cmap */
+ vgaHWSave(pScrn, &hwp->SavedReg, VGA_SR_MODE | VGA_SR_FONTS);
-#endif
+# endif
- vgaHWLock(hwp);
- }
-+#endif
+ vgaHWLock(hwp);
+ }
++#endif /* WITH_VGAHW */
save->dp_datatype = INREG(RADEON_DP_DATATYPE);
save->rbbm_soft_reset = INREG(RADEON_RBBM_SOFT_RESET);
save->clock_cntl_index = INREG(RADEON_CLOCK_CNTL_INDEX);
-@@ -6019,34 +6038,38 @@
+@@ -5987,37 +6006,39 @@
+ usleep(100000);
#endif
++#ifdef WITH_VGAHW
if (info->VGAAccess) {
-+#ifdef WITH_VGAHW
- vgaHWPtr hwp = VGAHWPTR(pScrn);
+ vgaHWPtr hwp = VGAHWPTR(pScrn);
if (!info->IsSecondary) {
vgaHWUnlock(hwp);
-#if defined(__powerpc__)
+# if defined(__powerpc__)
- /* Temporary hack to prevent crashing on PowerMacs when trying to
- * write VGA fonts, will find a better solution in the future
- */
- vgaHWRestore(pScrn, &hwp->SavedReg, VGA_SR_MODE );
+ /* Temporary hack to prevent crashing on PowerMacs when trying to
+ * write VGA fonts, will find a better solution in the future
+ */
+ vgaHWRestore(pScrn, &hwp->SavedReg, VGA_SR_MODE );
-#else
+# else
- vgaHWRestore(pScrn, &hwp->SavedReg, VGA_SR_MODE | VGA_SR_FONTS );
+ vgaHWRestore(pScrn, &hwp->SavedReg, VGA_SR_MODE | VGA_SR_FONTS );
-#endif
+# endif
- vgaHWLock(hwp);
-+#endif
+ vgaHWLock(hwp);
} else {
RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn);
- ScrnInfoPtr pScrn0 = pRADEONEnt->pPrimaryScrn;
+- ScrnInfoPtr pScrn0 = pRADEONEnt->pPrimaryScrn;
++ ScrnInfoPtr pScrn0 = pRADEONEnt->pPrimaryScrn;
RADEONInfoPtr info0 = RADEONPTR(pScrn0);
- vgaHWPtr hwp0;
+- vgaHWPtr hwp0;
++ vgaHWPtr hwp0;
-+#ifdef WITH_VGAHW
- if (info0->VGAAccess) {
- hwp0 = VGAHWPTR(pScrn0);
- vgaHWUnlock(hwp0);
+- if (info0->VGAAccess) {
+- hwp0 = VGAHWPTR(pScrn0);
+- vgaHWUnlock(hwp0);
-#if defined(__powerpc__)
+- vgaHWRestore(pScrn0, &hwp0->SavedReg, VGA_SR_MODE);
+-#else
+- vgaHWRestore(pScrn0, &hwp0->SavedReg, VGA_SR_MODE | VGA_SR_FONTS );
+-#endif
+- vgaHWLock(hwp0);
+- }
+- }
++ if (info0->VGAAccess) {
++ hwp0 = VGAHWPTR(pScrn0);
++ vgaHWUnlock(hwp0);
+# if defined(__powerpc__)
- vgaHWRestore(pScrn0, &hwp0->SavedReg, VGA_SR_MODE);
--#else
++ vgaHWRestore(pScrn0, &hwp0->SavedReg, VGA_SR_MODE);
+# else
- vgaHWRestore(pScrn0, &hwp0->SavedReg, VGA_SR_MODE | VGA_SR_FONTS );
--#endif
++ vgaHWRestore(pScrn0, &hwp0->SavedReg, VGA_SR_MODE | VGA_SR_FONTS );
+# endif
- vgaHWLock(hwp0);
- }
-+#endif
- }
++ vgaHWLock(hwp0);
++ }
++ }
}
++#endif /* WITH_VGAHW */
RADEONUnblank(pScrn);
-@@ -7594,8 +7617,10 @@
+
+ #if 0
+@@ -7564,8 +7585,10 @@
}
}
Deleted: trunk/debian/patches/024c_radeon_fix_i2c_line_assertion.diff
===================================================================
--- trunk/debian/patches/024c_radeon_fix_i2c_line_assertion.diff 2005-06-14 20:07:51 UTC (rev 210)
+++ trunk/debian/patches/024c_radeon_fix_i2c_line_assertion.diff 2005-06-14 21:42:50 UTC (rev 211)
@@ -1,29 +0,0 @@
-$Id$
-
-Patch by Ben Herrenschmidt, committed to HEAD by Daniel Stone on 2005-04-04.
-
-(Hui: any comment on this one ?)
-
-This patch fixes support of recent Apple Cinema Display monitors.
-Previously, we used to keep the SDA and SDL lines of the i2c "asserted"
-after probing. This causes those monitor to shut down after a second or
-so. This patch makes us "release" the line back to hi-z state (and thus
-pulled high) after we are done probing a connector and fixes the problem
-with Apple displays. (This should probably be applied to the stable
-branch as well).
-
-Index: xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
-===================================================================
---- xc.orig/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2005-04-04 10:18:39.000000000 +1000
-+++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2005-04-04 10:35:07.000000000 +1000
-@@ -956,6 +956,9 @@
- MonType = MT_NONE;
- }
-
-+ OUTREG(info->DDCReg, INREG(info->DDCReg) &
-+ ~(RADEON_GPIO_EN_0 | RADEON_GPIO_EN_1));
-+
- if (*MonInfo) {
- if ((*MonInfo)->rawData[0x14] & 0x80) {
- /* Note some laptops have a DVI output that uses internal TMDS,
-
Modified: trunk/debian/patches/069_ati_r128_fix_ugly_warning.diff
===================================================================
--- trunk/debian/patches/069_ati_r128_fix_ugly_warning.diff 2005-06-14 20:07:51 UTC (rev 210)
+++ trunk/debian/patches/069_ati_r128_fix_ugly_warning.diff 2005-06-14 21:42:50 UTC (rev 211)
@@ -5,11 +5,11 @@
This patch by Branden Robinson.
-Not submitted to XFree86.
+Not submitted upstream.
---- xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c~ 2004-05-03 17:41:01.000000000 -0500
-+++ xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c 2004-05-03 17:41:41.000000000 -0500
-@@ -659,8 +659,8 @@
+--- xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c~ 2005-06-14 16:25:13.547938273 -0500
++++ xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c 2005-06-14 16:25:42.654606780 -0500
+@@ -661,8 +661,8 @@
if (!info->PanelXRes || !info->PanelYRes) {
info->HasPanelRegs = FALSE;
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
Reply to: