Date: Sun, 27 Jun 2004 21:36:14 +0200 (CEST) From: Michael Kukat <michael@unixiron.org> To: freebsd-alpha@freebsd.org Subject: Alphastation 200 (and others) PCI-PCI bridge fix Message-ID: <20040627212654.Q437@calchas.unixiron.org>
next in thread | raw e-mail | index | archive | help
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-1282899951-1088364974=:437 Content-Type: TEXT/PLAIN; charset=US-ASCII Hello, okay, for my problems with quadport NICs, i stick in the following situation currently: - fixed intpin/irq mapping stuff in dec_2100_a50.c, seems to work okay with my ANA-6944, but this card just maps all 4 NICs to INTA of the first chip, so this doesn't prove the functionality of this fix. - ANA-62044 really wants 4 INT lines, but due to the architecture of the PCI bus in the AlphaStation 200, it just gets 2 of them. IRQs are mapped to the ISA IRQs, which are not shareable. But 2 of the NIC chips on the card need to share interrupts when plugged into the AS200 (INTD is INTA on the connetor, and INTC is the same as onboard LAN). Another problem in my diagnosis of the problems i have with the ANA-62044: kernel doesn't panic when this card is in the AS200. So the problem with crashing with access faults just exists on the PC164. Maybe i should try a 32bit slot. I attached my fix for this interrupt problem, maybe someone can use it. And if someone with more clue about PCI has a look in this, maybe it's useable for the repository. Patch applies to 4.9 sources. Known problems: this fix just handles bridges on pci0. It doesn't handle bridges on bridged buses :) Hope it helps someone. It's not tested very well, feedback welcome. ...Michael -- http://www.unixiron.org/ Home Powered by: (Net|Open|Free)BSD IRIX NonStop-UX Solaris AIX HP-UX Tru64 MUNIX Ultrix VMS SINIX Dolphin_Unix OpenStep MacOS A/UX --0-1282899951-1088364974=:437 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="sys.diff" Content-Transfer-Encoding: BASE64 Content-ID: <20040627213614.S437@calchas.unixiron.org> Content-Description: Content-Disposition: attachment; filename="sys.diff" ZGlmZiAtTmFydSBzeXMub3JpZy9hbHBoYS9hbHBoYS9kZWNfMjEwMF9hNTAu YyBzeXMvYWxwaGEvYWxwaGEvZGVjXzIxMDBfYTUwLmMNCi0tLSBzeXMub3Jp Zy9hbHBoYS9hbHBoYS9kZWNfMjEwMF9hNTAuYwlUaHUgSnVsIDIwIDA4OjEy OjEyIDIwMDANCisrKyBzeXMvYWxwaGEvYWxwaGEvZGVjXzIxMDBfYTUwLmMJ U3VuIEp1biAyNyAxOToxMjoyMCAyMDA0DQpAQCAtMTY0LDI5ICsxNjQsNDcg QEANCiAJdV9pbnQ4X3QgcGlycWxpbmU7DQogCXVfaW50MzJfdCBwaXJxcmVn Ow0KIAlpbnQgcGlycTsNCisJaW50IHNsb3QsIGludHBpbjsNCiAJcGNpY2Zn cmVncyAqY2ZnOw0KIA0KIAlwaXJxID0gMDsgIC8qIGdjYyAtV3VuaW5pdGlh bGl6ZWQgWFhYICovDQogCWNmZyA9IChwY2ljZmdyZWdzICopYXJnOw0KIA0K IAkvKg0KKwkgKiBJZiB3ZSBkb24ndCBsaXZlIG9uIGJ1cyAwLCB3ZSBhcmUg YmVoaW5kIGEgYnJpZGdlLiBIYW5kbGUgdGhpcy4NCisJICovDQorDQorCXNs b3QgPSBjZmctPnNsb3Q7DQorCWludHBpbiA9IGNmZy0+aW50cGluOw0KKwlp ZihjZmctPmJ1cyA+IDApIHsNCisJCWNmZyA9IHBjaV9kZXZsaXN0X2dldF9w YXJlbnQoY2ZnKTsNCisJCWlmKGNmZyA9PSBOVUxMKSB7DQorCQkJcHJpbnRm KCJmYWlsZWQgdG8gZ2V0IGJyaWRnZSBjb25maWd1cmF0aW9uIVxuIik7DQor CQl9IGVsc2Ugew0KKwkJCWludHBpbiA9IChzbG90ICsgKGludHBpbiAtIDEp KSAlIDQgKyAxOw0KKwkJCXNsb3QgPSBjZmctPnNsb3Q7DQorCQl9DQorCQlj ZmcgPSAocGNpY2ZncmVncyAqKWFyZzsNCisJfQ0KKw0KKwkvKg0KIAkgKiBT bG90LT5pbnRlcnJ1cHQgdHJhbnNsYXRpb24uICBUYWtlbiBmcm9tIE5ldEJT RC4NCiAJICovDQogDQotCWlmKGNmZy0+aW50cGluID09IDApDQorCWlmKGlu dHBpbiA9PSAwKQ0KIAkJcmV0dXJuOw0KIA0KLQlpZihjZmctPmludHBpbiA+ IDQpDQotCQlwYW5pYygiZGVjXzIxMDBfYTUwX2ludHJfbWFwOiBiYWQgaW50 cGluICVkIixjZmctPmludHBpbik7DQorCWlmKGludHBpbiA+IDQpDQorCQlw YW5pYygiZGVjXzIxMDBfYTUwX2ludHJfbWFwOiBiYWQgaW50cGluICVkIixp bnRwaW4pOw0KIA0KLQlzd2l0Y2ggKGNmZy0+c2xvdCkgew0KKwlzd2l0Y2gg KHNsb3QpIHsNCiAJY2FzZSA2OgkJCQkJLyogIE5DUiBTQ1NJICovDQogCQlw aXJxID0gMzsNCiAJCWJyZWFrOw0KIA0KIAljYXNlIDExOgkJCQkvKiBzbG90 IDEgKi8NCiAJY2FzZSAxNDoJCQkJLyogc2xvdCAzICovDQotCQlzd2l0Y2go Y2ZnLT5pbnRwaW4pIHsNCisJCXN3aXRjaChpbnRwaW4pIHsNCiAJCWNhc2Ug MToNCiAJCWNhc2UgNDoNCiAJCQlwaXJxID0gMDsNCkBAIC0xOTksMTIgKzIx NywxMiBAQA0KIAkJCWJyZWFrOw0KIAkJZGVmYXVsdDoNCiAJCQlwYW5pYygi ZGVjXzIxMDBfYTUwX2ludHJfbWFwIGJvZ3VzIFBDSSBwaW4gJWRcbiIsDQot CQkJICAgIGNmZy0+aW50cGluKTsNCisJCQkgICAgaW50cGluKTsNCiANCiAJ CX0NCiAJCWJyZWFrOw0KIAljYXNlIDEyOgkJCQkvKiBzbG90IDIgKi8NCi0J CXN3aXRjaCAoY2ZnLT5pbnRwaW4pIHsNCisJCXN3aXRjaCAoaW50cGluKSB7 DQogCQljYXNlIDE6DQogCQljYXNlIDQ6DQogCQkJcGlycSA9IDE7DQpAQCAt MjE3LDEzICsyMzUsMTMgQEANCiAJCQlicmVhazsNCiAJCWRlZmF1bHQ6DQog CQkJcGFuaWMoImRlY18yMTAwX2E1MF9pbnRyX21hcCBib2d1cyBQQ0kgcGlu ICVkXG4iLA0KLQkJCSAgICBjZmctPmludHBpbik7DQorCQkJICAgIGludHBp bik7DQogDQogCQl9Ow0KIAkJYnJlYWs7DQogDQogCWNhc2UgMTM6CQkJCS8q IHNsb3QgMyAqLw0KLQkJc3dpdGNoIChjZmctPmludHBpbikgew0KKwkJc3dp dGNoIChpbnRwaW4pIHsNCiAJCWNhc2UgMToNCiAJCWNhc2UgNDoNCiAJCQlw aXJxID0gMjsNCkBAIC0yMzgsNyArMjU2LDcgQEANCiAJCWJyZWFrOw0KIGRl ZmF1bHQ6DQogCQlwcmludGYoImRlY18yMTAwX2E1MF9pbnRyX21hcDogd2Vp cmQgc2xvdCAlZFxuIiwNCi0JCSAgICBjZmctPnNsb3QpOw0KKwkJICAgIHNs b3QpOw0KIA0KIAkJLyogcmV0dXJuOyAqLw0KICAgICAgICAgfQ0K --0-1282899951-1088364974=:437--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040627212654.Q437>