ALT Linux kernel packages development
 help / color / mirror / Atom feed
* [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