[d-kernel] Q: кто поможет в починке agpgart для i850

Konstantin A. Lepikhov lakostis на anti-leasure.ru
Вт Янв 4 21:26:00 MSK 2005


Hi!

Уже долгое время меня беспокоит один неприятный момент - начиная с ядра
2.4.18, у меня перестал работать agpgart для i850. Как это проявляется -
если загрузить модуль, то все сначала выглядит пристойно - модуль
грузится, что-то находится. Далее при попытке загрузки Xserver'а с DRI,
получаем следующее - если используется AGPMode > 1, то получаем глухой
завис с отключением монитора (причем SysReq не отрабатывает), если
поставить AGPMode 1, загрузка (судя по XFree.log/Xorg.log) проходит
успешно, но экран остается черным, переключение в консоль не работает, но
машина все еще остается доступной (только по top видно, что X жрет 99%
CPU). Долгое время единственным решением этой проблемы было использование
agpgart от fglrx (поскольку он основан на agpgart от ядра 2.4.16 и более
ранних), но в связи с переходом на xorg и это возможность отпала. Путем
поиска и экспериментов с откатами изменений из bk, нашел причину проблемы
- перестал работать generic_agp_enable (после этого изменения 1.23
  agpgart_be.c в bk). Для 2.4 сделал хак - перенес agp_enable из 2.4.18 и
  поставил его для i850, все стало работать как и прежде, но только с
  AGPMode 1. Для 2.6 это прокатит - там слишком большой объем изменений, и
  надо менять что-то более глубоко. Чтение архивов LKML особо не
  просвятило, разве что стало ясно с agp в ядре не все так просто. Поэтому
  прошу помощи знающей и умеющей общественности для убийства этого бага
  раз и навсегда, заодно засветится в changelog'ах к новым ядрам ;)

Информация для размышления:

$ lspci
0000:00:00.0 Host bridge: Intel Corp. 82850 850 (Tehama) Chipset Host Bridge (MCH) (rev 04)
0000:00:01.0 PCI bridge: Intel Corp. 82850 850 (Tehama) Chipset AGP Bridge (rev 04)
0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)
0000:00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)
0000:00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)
0000:00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 81)
0000:00:1f.0 ISA bridge: Intel Corp. 82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge (rev 01)
0000:00:1f.1 IDE interface: Intel Corp. 82801DB (ICH4) IDE Controller (rev 01)
0000:00:1f.3 SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R200 QL [Radeon 8500 LE]
0000:02:04.0 Multimedia audio controller: Cirrus Logic CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator] (rev 01)
0000:02:07.0 USB Controller: NEC Corporation USB (rev 41)
0000:02:07.1 USB Controller: NEC Corporation USB (rev 41)
0000:02:07.2 USB Controller: NEC Corporation USB 2.0 (rev 02)
0000:02:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
0000:02:0c.0 RAID bus controller: Promise Technology, Inc. PDC20276 (MBFastTrak133 Lite) (rev 01)

Разница в инициализации agpgart DRI на работающем и неработающем ядре:
--- XFree86.0.log.bad	2004-12-25 20:16:59 +0300
+++ XFree86.0.log	2004-12-26 00:27:32 +0300
@@ -19,7 +19,7 @@
 Markers: (--) probed, (**) from config file, (==) default setting,
          (++) from command line, (!!) notice, (II) informational,
          (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
-(==) Log file: "/var/log/XFree86.0.log", Time: Sat Dec 25 20:16:56 2004
+(==) Log file: "/var/log/XFree86.0.log", Time: Sun Dec 26 00:27:26 2004
 (==) Using config file: "/etc/X11/XF86Config-4"
 (==) ServerLayout "Server Layout"
 (**) |-->Screen "Screen0" (0)
@@ -65,7 +65,7 @@
 	ABI class: XFree86 Video Driver, version 0.6
 (II) PCI: Probing config type using method 1
 (II) PCI: Config type is 1
-(II) PCI: stages = 0x03, oldVal1 = 0x800000c8, mode1Res1 = 0x80000000
+(II) PCI: stages = 0x03, oldVal1 = 0x8000eac0, mode1Res1 = 0x80000000
 (II) PCI: PCI scan (all values are in hex)
 (II) PCI: 00:00:0: chip 8086,2530 card 8086,2530 rev 04 class 06,00,00 hdr 00
 (II) PCI: 00:01:0: chip 8086,2532 card 0000,0000 rev 04 class 06,04,00 hdr 01
@@ -819,8 +819,8 @@
 drmGetBusid returned ''
 (II) RADEON(0): [drm] loaded kernel module for "radeon" driver
 (II) RADEON(0): [drm] created "radeon" driver at busid "PCI:1:0:0"
-(II) RADEON(0): [drm] added 8192 byte SAREA at 0xe0ada000
-(II) RADEON(0): [drm] mapped SAREA 0xe0ada000 to 0x40014000
+(II) RADEON(0): [drm] added 8192 byte SAREA at 0xe0ade000
+(II) RADEON(0): [drm] mapped SAREA 0xe0ade000 to 0x40014000
 (II) RADEON(0): [drm] framebuffer handle = 0xd0000000
 (II) RADEON(0): [drm] added 1 reserved context for kernel
 (II) RADEON(0): [agp] Mode 0x1f000211 [AGP 0x8086/0x2530; Card 0x1002/0x514c]
@@ -885,3 +885,15 @@
 (II) Initializing built-in extension XFree86-Bigfont
 (II) Initializing built-in extension RENDER
 (II) Initializing built-in extension RANDR
+(**) Option "Protocol" "ImPS/2"
+(**) Mouse0: Protocol: "ImPS/2"
+(**) Option "CorePointer"
+(**) Mouse0: Core Pointer
+(**) Option "Device" "/dev/input/mice"
+(**) Mouse0: Emulate3Buttons, Emulate3Timeout: 50
+(**) Option "ZAxisMapping" "4 5"
+(**) Mouse0: ZAxisMapping: buttons 4 and 5
+(**) Mouse0: Buttons: 5
+(II) Keyboard "Keyboard0" handled by legacy driver
+(II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE)
+(II) Mouse0: ps2EnableDataReporting: succeeded

Сообщения при инициализации неработающего модуля intel_agp:
Jan  3 00:52:29 lks kernel: agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0.
Jan  3 00:52:29 lks kernel: agpgart: Putting AGP V2 device at 0000:00:00.0 into 0x mode
Jan  3 00:52:29 lks kernel: agpgart: Putting AGP V2 device at 0000:01:00.0 into 0x mode
Jan  3 00:52:29 lks kernel: agpgart: Putting AGP V2 device at 0000:02:04.0 into 0x mode

-- 
WBR, Konstantin	      chat with ==>ICQ: 109916175
     Lepikhov,	      speak  to ==>JID: lakostis на jabber.org
aka L.A. Kostis       write  to ==>mailto:lakostis на pisem.net.nospam

...The information is like the bank... 			  (c) EC8OR


Подробная информация о списке рассылки devel-kernel