* [d-kernel] Q: кто поможет в починке agpgart для i850
@ 2005-01-04 18:26 Konstantin A. Lepikhov
2005-01-04 18:28 ` [d-kernel] " Konstantin A. Lepikhov
2005-01-04 18:51 ` [d-kernel] " Sergey Vlasov
0 siblings, 2 replies; 6+ messages in thread
From: Konstantin A. Lepikhov @ 2005-01-04 18:26 UTC (permalink / raw)
To: ALT Linux Kernel Devel Mailing List
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [d-kernel] Re: Q: кто поможет в починке agpgart для i850
2005-01-04 18:26 [d-kernel] Q: кто поможет в починке agpgart для i850 Konstantin A. Lepikhov
@ 2005-01-04 18:28 ` Konstantin A. Lepikhov
2005-01-04 18:51 ` [d-kernel] " Sergey Vlasov
1 sibling, 0 replies; 6+ messages in thread
From: Konstantin A. Lepikhov @ 2005-01-04 18:28 UTC (permalink / raw)
To: ALT Linux kernel packages development
Hi!
Tuesday 04, at 09:26:00 PM you wrote:
> AGPMode 1. Для 2.6 это прокатит - там слишком большой объем изменений, и
> надо менять что-то более глубоко. Чтение архивов LKML особо не
s/прокатит/не прокатит/ =)
--
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [d-kernel] Q: кто поможет в починке agpgart для i850
2005-01-04 18:26 [d-kernel] Q: кто поможет в починке agpgart для i850 Konstantin A. Lepikhov
2005-01-04 18:28 ` [d-kernel] " Konstantin A. Lepikhov
@ 2005-01-04 18:51 ` Sergey Vlasov
2005-01-04 21:14 ` [d-kernel] " Konstantin A. Lepikhov
1 sibling, 1 reply; 6+ messages in thread
From: Sergey Vlasov @ 2005-01-04 18:51 UTC (permalink / raw)
To: ALT Linux Kernel Devel Mailing List
[-- Attachment #1: Type: text/plain, Size: 2610 bytes --]
On Tue, Jan 04, 2005 at 09:26:00PM +0300, Konstantin A. Lepikhov wrote:
> Уже долгое время меня беспокоит один неприятный момент - начиная с ядра
> 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).
Ой, как давно это было... там даже детальных changelog-ов нет -
"Import patch patch-2.4.19-pre1-pre2" :(
> Для 2.4 сделал хак - перенес agp_enable из 2.4.18 и
> поставил его для i850, все стало работать как и прежде, но только с
> AGPMode 1. Для 2.6 это прокатит - там слишком большой объем изменений, и
> надо менять что-то более глубоко. Чтение архивов LKML особо не
> просвятило, разве что стало ясно с agp в ядре не все так просто. Поэтому
> прошу помощи знающей и умеющей общественности для убийства этого бага
> раз и навсегда, заодно засветится в changelog'ах к новым ядрам ;)
>
> Информация для размышления:
>
> $ lspci
Тогда уж lspci -vv -xxx (можно в багзиллу, чтобы не засорять рассылку
кучами дампов). Причём лучше сразу два варианта: один - до загрузки
всех модулей AGP (например, при init=/bin/bash), второй - после
инициализации AGP с этим хаком.
> Сообщения при инициализации неработающего модуля 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
Мда, явная чушь. Хотя вот и странность: обычно в системе присутствуют
только два AGP-устройства (host bridge и видеокарта), а тут их три...
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* [d-kernel] Re: Q: кто поможет в починке agpgart для i850
2005-01-04 18:51 ` [d-kernel] " Sergey Vlasov
@ 2005-01-04 21:14 ` Konstantin A. Lepikhov
2005-01-04 21:39 ` [d-kernel] Re: Q: кто поможет в починке agpgart для i850 - SOLVED Konstantin A. Lepikhov
0 siblings, 1 reply; 6+ messages in thread
From: Konstantin A. Lepikhov @ 2005-01-04 21:14 UTC (permalink / raw)
To: ALT Linux kernel packages development
Hi Sergey!
Tuesday 04, at 09:51:40 PM you wrote:
<skip>
> Тогда уж lspci -vv -xxx (можно в багзиллу, чтобы не засорять рассылку
> кучами дампов). Причём лучше сразу два варианта: один - до загрузки
> всех модулей AGP (например, при init=/bin/bash), второй - после
> инициализации AGP с этим хаком.
>
> > Сообщения при инициализации неработающего модуля 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [d-kernel] Re: Q: кто поможет в починке agpgart для i850 - SOLVED
2005-01-04 21:14 ` [d-kernel] " Konstantin A. Lepikhov
@ 2005-01-04 21:39 ` Konstantin A. Lepikhov
2005-01-04 23:14 ` [d-kernel] вдогонку насчет звуковой карты Konstantin A. Lepikhov
0 siblings, 1 reply; 6+ messages in thread
From: Konstantin A. Lepikhov @ 2005-01-04 21:39 UTC (permalink / raw)
To: ALT Linux kernel packages development
Hi!
Wednesday 05, at 12:14:41 AM you wrote:
<skip>
> > > Сообщения при инициализации неработающего модуля 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
> гы-гы причем последнее устройство - звуковая карта! =) Может проблема тут
> ;) Ща попробую вытащить ее...
ура! все заработало как надо:
$ glxinfo
<skip>
direct rendering: Yes
<skip>
OpenGL vendor string: Tungsten Graphics, Inc.
OpenGL renderer string: Mesa DRI R200 20040929 AGP 4x x86/MMX/SSE2 TCL
OpenGL version string: 1.3 Mesa 6.2.1
(надо пойти отметить).
Теперь вопрос - кто был виноват - функция поиска agp устройства в
agp_enable или кривая звуковуха?
PS Как иногда бывает полезно писать багрепорты ;)
--
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [d-kernel] вдогонку насчет звуковой карты
2005-01-04 21:39 ` [d-kernel] Re: Q: кто поможет в починке agpgart для i850 - SOLVED Konstantin A. Lepikhov
@ 2005-01-04 23:14 ` Konstantin A. Lepikhov
0 siblings, 0 replies; 6+ messages in thread
From: Konstantin A. Lepikhov @ 2005-01-04 23:14 UTC (permalink / raw)
To: ALT Linux kernel packages development
Hi!
Посмотрел lspci для этой звуковухи и не поверил - думал, сказки про коврик
для мыши, найденный как SCSI-контроллер, это анекдот :))
$ lspci -vv
<skip>
0000:02:04.0 Multimedia audio controller: Cirrus Logic CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator] (rev 01)
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (1000ns min, 6000ns max)
Interrupt: pin A routed to IRQ 18
Region 0: Memory at efefb000 (32-bit, non-prefetchable)
Region 1: Memory at efd00000 (32-bit, non-prefetchable) [size=1M]
Capabilities: [40] AGP version 2.9
Status: RQ=1 Iso- ArqSz=0 Cal=0 SBA- ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=<none>
Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
PS. И стало интересно, как же fglrx умудрялся заводить на этой звуковухе
AGP 4x.
--
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
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2005-01-04 23:14 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-04 18:26 [d-kernel] Q: кто поможет в починке agpgart для i850 Konstantin A. Lepikhov
2005-01-04 18:28 ` [d-kernel] " Konstantin A. Lepikhov
2005-01-04 18:51 ` [d-kernel] " Sergey Vlasov
2005-01-04 21:14 ` [d-kernel] " Konstantin A. Lepikhov
2005-01-04 21:39 ` [d-kernel] Re: Q: кто поможет в починке agpgart для i850 - SOLVED Konstantin A. Lepikhov
2005-01-04 23:14 ` [d-kernel] вдогонку насчет звуковой карты Konstantin A. Lepikhov
ALT Linux kernel packages development
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel-kernel/0 devel-kernel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel-kernel devel-kernel/ http://lore.altlinux.org/devel-kernel \
devel-kernel@altlinux.org devel-kernel@altlinux.ru devel-kernel@altlinux.com
public-inbox-index devel-kernel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel-kernel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git