|
|
@ -20,14 +20,35 @@ |
|
|
|
|
|
|
|
On iBook the PLL values for the LCD port are not caluculated correctly - since |
|
|
|
I do not have the databook I applied the same hack as present in the BenH |
|
|
|
kernel radeon fb ... |
|
|
|
kernel radeon fb and added a new default value case ... |
|
|
|
|
|
|
|
- Rene Rebe <rene@rocklinux.org> |
|
|
|
|
|
|
|
diff -ur xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c xc-working/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
|
|
|
|
--- xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2003-11-21 06:59:08.000000000 +0100
|
|
|
|
+++ xc-working/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2004-02-09 15:57:10.000000000 +0100
|
|
|
|
@@ -6504,8 +6520,17 @@
|
|
|
|
--- xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2004-02-21 18:25:41.000000000 +0100
|
|
|
|
+++ xc-working/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2004-02-21 18:27:10.000000000 +0100
|
|
|
|
@@ -1808,6 +1808,11 @@
|
|
|
|
pll->reference_div = 12; |
|
|
|
pll->xclk = 23000; |
|
|
|
break; |
|
|
|
+ case PCI_CHIP_RADEON_LW: /* Guessed based on iBook Open Firmware data -ReneR */
|
|
|
|
+ pll->reference_freq = 2700;
|
|
|
|
+ pll->reference_div = 12;
|
|
|
|
+ pll->xclk = 36000;
|
|
|
|
+ break;
|
|
|
|
default: |
|
|
|
pll->reference_freq = 2700; |
|
|
|
pll->reference_div = 67; |
|
|
|
@@ -6064,7 +6069,7 @@
|
|
|
|
save->disp_merge_cntl &= ~RADEON_DISP_RGB_OFFSET_EN; |
|
|
|
|
|
|
|
#if X_BYTE_ORDER == X_BIG_ENDIAN |
|
|
|
- /* Alhought we current onlu use aperture 0, also setting aperture 1 should not harm -ReneR */
|
|
|
|
+ /* Alhought we currenty only use aperture 0, setting aperture 1 should not harm. -ReneR */
|
|
|
|
switch (pScrn->bitsPerPixel) { |
|
|
|
case 16: |
|
|
|
save->surface_cntl |= RADEON_NONSURF_AP0_SWP_16BPP; |
|
|
|
@@ -6507,8 +6512,17 @@
|
|
|
|
save->feedback_div, |
|
|
|
save->post_div)); |
|
|
|
|
|
|
@ -36,7 +57,7 @@ diff -ur xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c xc-working/p |
|
|
|
+
|
|
|
|
save->ppll_ref_div = pll->reference_div; |
|
|
|
save->ppll_div_3 = (save->feedback_div | (post_div->bitvalue << 16)); |
|
|
|
+#if defined(__powerpc__)
|
|
|
|
+#if defined(__powerpc__) /* on iBooks the LCD pannel needs tweaked PLL timings -ReneR */
|
|
|
|
+ ErrorF ("pll_div_3: %d, ", save->ppll_div_3);
|
|
|
|
+ /* save->ppll_div_3 *= 6; */ /* just a test hack */
|
|
|
|
+ save->ppll_div_3 = 0x000600ad; /* -ReneR */
|
|
|
|