[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: