Much better framebuffer fixes.
Subsystems (2)
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 2 lines · James Simmons
Okay. Here are more framebuffer fixes. Please try these fixes and let me know how they work out for you.
Doesn't work for my Radeon 9100, as I get a kernel panic. As of 2.5.66 the Radeon 9100 is not supported, I run a slightly modified version (diff to 2.5.66 appended). At least the framebuffer seems to work, till now I had now time for further tests.
Kernel panic (typos possible): ==============================
EFLAGS 00010282
EIP is at fb_set_var+0x23/0xa0
eax: 6b6b6b6b ebx: dffe3000 ecx: 0000009f edx: 00000000
esi: dff8fe71 edi: dffe3001 ebp: dff8f464 esp: dff8fe2c
ds: 007b es: 007b ss: 0068
Process swapper (pid: 1, threadinfo=dff8e000 task dff8c000)
Stack: dff8fe64 dff8ff04 dffe30ac dffe3000 co45132e dff8fe64 dffe3000 dffe31dc
00000100 00000000 dff28000 dffe32fc dffe30bc dffe32fe 00000280 000001e0
00000280 000001e0 00000000 00000000 00000008 00000000 00000000 00000008
Call Trace
[<c02adbd8>] radeonfb_pci_register+0x68/0x7e0
[<c022a591>] pci_device_probe+0x41/0x60
[<c0271237>] bus_match+0x37/0x70
[<c0271323>] driver_attach+0x43/0x70
[<c02715d2>] bus_add_driver+0xa2/0xe0
[<c02719e1>] driver_register+0x41/0x50
[<c022a6a2>] pci_register_driver+0x42/0x60
[<c01051a8>] init+0xc8/0x290
[<c01050e0>] init+0x0/0x290
[<c010712d>] kernel_thread_helper+0x5/0x18
Code: 83 78 14 00 75 0f 89 df 8d 75 0c fc b9 28 00 00 00 f3 a5 eb
<0> Kernel panic: Attempted to kill init!
==============================Patch:
==============================
drivers/video/radeonfb.c +15 -2
@@ -121,7 +121,8 @@RADEON_ND ,RADEON_NE ,RADEON_NF , -RADEON_NG +RADEON_NG , +RADEON_QM /* LN (my Radeon 9100) */ }; enum radeon_arch {
@@ -168,7 +169,8 @@ { "9700 ND", RADEON_R300 }, { "9700 NE", RADEON_R300 }, { "9700 NF", RADEON_R300 }, - { "9700 NG", RADEON_R300 } + { "9700 NG", RADEON_R300 }, + { "9100 QM", RADEON_R200 } /* LN (my Radeon 9100) */ };
@@ -213,6 +215,7 @@ { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RADEON_NE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RADEON_NE}, { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RADEON_NF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RADEON_NF}, { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RADEON_NG, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RADEON_NG}, + { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RADEON_QM, PCI_ANY_ID, PCI_ANY_ID, 0, 0, RADEON_QM}, /* LN (my Radeon 9100) */ { 0, } };MODULE_DEVICE_TABLE (pci, radeonfb_pci_table);
@@ -881,6 +884,16 @@ rinfo->pll.ref_div =12 ; rinfo->pll.ref_clk =2700 ;break ; +case PCI_DEVICE_ID_ATI_RADEON_ND : +case PCI_DEVICE_ID_ATI_RADEON_NE : +case PCI_DEVICE_ID_ATI_RADEON_NF : +case PCI_DEVICE_ID_ATI_RADEON_NG : + rinfo->pll.ppll_max =40000 ; + rinfo->pll.ppll_min =20000 ; + rinfo->pll.xclk =27000 ; + rinfo->pll.ref_div =12 ; + rinfo->pll.ref_clk =2700 ; +break ;case PCI_DEVICE_ID_ATI_RADEON_QD :case PCI_DEVICE_ID_ATI_RADEON_QE :case PCI_DEVICE_ID_ATI_RADEON_QF :
include/linux/pci_ids.h +1 -0
@@ -279,6 +279,7 @@#define PCI_DEVICE_ID_ATI_RADEON_QO 0x514f#define PCI_DEVICE_ID_ATI_RADEON_Ql 0x516c#define PCI_DEVICE_ID_ATI_RADEON_BB 0x4242 +#define PCI_DEVICE_ID_ATI_RADEON_QM 0x514d/* LN (my Radeon 9100) */ /* Radeon RV200 (7500) */ #define PCI_DEVICE_ID_ATI_RADEON_QW 0x5157#define PCI_DEVICE_ID_ATI_RADEON_QX 0x5158
Lars Noschinski