Messages in this thread | | | Date | Thu, 18 Sep 2003 10:00:33 +0200 (CEST) | From | Daniël Mantione <> | Subject | Re: Patch: Make iBook1 work again |
| |
On Wed, 17 Sep 2003, Daniël Mantione wrote:
> So, to fix this we can look at the X driver, I must have made an error > somewhere.
I found a problem, but it would mean that it was already broken before my patch.
X does this test to check if a chip has 24 bit or a 32 bit precision display fifo settings:
if (pATI->Chip < ATI_CHIP_264VT4) { pATI->XCLKPageFaultDelay += 2; pATI->XCLKMaxRASDelay += 3; pATI->DisplayFIFODepth = 24; }
In atichip.h, ATI_CHIP_264LT is smaller than ATI_CHIP_264VT4, so according to the X sources, the Mach64 LT has a fifo depth 24.
Now my code:
if (M64_HAS(FIFO_24)) { info->fifo_size = 24; info->xclkpagefaultdelay += 2; info->xclkmaxrasdelay += 3; } else { info->fifo_size = 32; };
That looks ok. But look at the aty_chips table:
{ 0x4c47, 0x4c47, 0x00, 0x00, m64n_ltg, 230, 63, 63, M64F_GT | M64F_INTEGRATED | M64F_GTB_DSP | M64F_SDRAM_MAGIC_PLL | M64F_EXTRA_BRIGHT | M64F_LT_SLEEP | M64F_G3_PB_1024x768 },
The Mach64 LT does not have the M64F_FIFO_24 flag set! That will result in completely different values to be calculated and cause a distorted display.
Greetings,
Daniël Mantione
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |