Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Nov 2003 21:48:56 -0500
From:      Alexandre "Sunny" Kovalenko <Alex.Kovalenko@verizon.net>
To:        freebsd-current@freebsd.org
Subject:   ThinkPad 560Z & ACPI
Message-ID:  <20031124214856.116be74c.Alex.Kovalenko@verizon.net>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.

--Multipart=_Mon__24_Nov_2003_21_48_56_-0500_jbOIG/9eLrNCpeX=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

	Good people,

	I have managed to crowbar ACPI support into working on ThinkPad 560Z
	with the attached patch. The problem seems to be that TP returns 
	everything and a kitchen sink in the list of available IRQs, but expects
	OS to use one you have set up using TP Configuration Program (intuitively
	named PS2 ;). Thus with the current approach of taking first IRQ
	from the list, IRQ 3 gets everything routed to it, and since it is
	used by serial port, cardbus bridge, USB controller and fxp in the
	docking station fail rather miserably. fxp reports timeouts on the
	regular basis and the rest silently does nothing.

	I have added kernel environment variable "hw.acpi.pci.preferred_irq" 
	which would allow user to specify IRQ to be used (only in the case
	when it is in the list of available IRQs). If variable is not
	specified or if IRQ is not on the list of available ones, behaviour
	will revert to the original, which is to use first IRQ from the list.

	I do not know if this is the right way to address this problem and
	would appreciate any comments from people who actually know something
	about ACPI (as opposed to me). If there is the better way, I would 
	really appreciate a pointer, since ACPI on this machine is fairly 
	enjoyable. I have throtted CPU down to 25% and it is cool (in the 
	literal meaning of the word) and battery lasted for 2 hours+ while
	using wireless card.

	Conversely if there is a value in this approach, maybe some kind soul
	could stick it into the codebase. This way I would not have to aplly
	patch every time I cvsup ;)
	
-- 
Alexandre "Sunny" Kovalenko.

--Multipart=_Mon__24_Nov_2003_21_48_56_-0500_jbOIG/9eLrNCpeX=
Content-Type: application/octet-stream;
 name="acpi_pcib.c.patch"
Content-Disposition: attachment;
 filename="acpi_pcib.c.patch"
Content-Transfer-Encoding: base64

LS0tIGFjcGlfcGNpYi5jCU1vbiBOb3YgMjQgMjE6MjQ6MTYgMjAwMworKysgYWNwaV9wY2liLmMu
TkVXCU1vbiBOb3YgMjQgMjE6MjM6NTkgMjAwMwpAQCAtMzI0LDYgKzMyNCw0OCBAQAogCXByaW50
ZigiICAlZCIsIEludGVycnVwdHNbaV0pOwogICAgIHByaW50ZigiXG4iKTsKIAorICAgIC8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
LworICAgIC8qIFRoaXMgaXMgdGhlIHVnbHkgaGFjayB0byBzZWUgaWYgaXQgd2lsbCBiZSB3b3Jr
aW5nIGF0IGFsbCAqLworICAgIC8qIFdlIHdpbGwgbG9vayBmb3IgZW52aXJvbm1lbnQgdmFyaWFi
bGUgJ2h3LmFjcGkucGNpLnByZWZlcnJlZF9pcnEnIAorICAgICAqIHRoZW4gY2hlY2sgaWYgSVJR
IGluIHF1ZXN0aW9uIGlzIGluIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBvbmVzCisgICAgICogYW5k
IGlmIGl0IGlzIGF2YWlsYWJsZSwgd2Ugd2lsbCB1c2UgaXQuIElmIGl0IGlzIG5vdCBhdmFpbGFi
bGUKKyAgICAgKiB3ZSB3aWxsIGZhbGwgYmFjayBvbiAidW5zY2llbnRpZmljIiBmaXJzdCBhdmFp
bGFibGUgaW50ZXJydXB0CisgICAgICogKGJhc2ljYWxseSB0aGUgd2F5IGNvZGUgd29ya2VkIGJl
Zm9yZSkuCisgICAgICovCisgICAgaW50IHByZWZlcnJlZF9pcnFfaWR4ID0gMDsKKyAgICBjaGFy
ICpwUHJlZmVycmVkSVJRID0gZ2V0ZW52KCJody5hY3BpLnBjaS5wcmVmZXJyZWRfaXJxIik7Cisg
ICAgaWYocFByZWZlcnJlZElSUSAhPSBOVUxMKQorICAgIHsKKyAgICAgIHJlZ2lzdGVyIGNoYXIg
KnBjOworICAgICAgLyogSSdtIHN1cmUgdGhlcmUgaXMgYSBiZXR0ZXIgd2F5IDspICovCisgICAg
ICAvKiBzdHJsZW4gKyBpc2RpZ2l0ICovCisgICAgICByZWdpc3RlciBpbnQgaXJxID0gMDsKKyAg
ICAgIGZvcihwYyA9IHBQcmVmZXJyZWRJUlE7ICpwYyAhPSAnXDAnOyBwYysrKQorICAgICAgewor
CWlmKCgqcGMgPCAnMCcpIHx8ICgqcGMgPiAnOScpKQorCXsKKwkgIGRldmljZV9wcmludGYocGNp
YiwgIkludmFsaWQgcHJlZmVycmVkIElSUTogJXMsICIKKwkJCSJmYWxsaW5nIGJhY2sgb24gZmly
c3QgYXZhaWxhYmxlXG4iLCAKKwkJCXBQcmVmZXJyZWRJUlEpOworCSAgZ290byBmYWxsQmFja09u
WmVybzsKKwl9CisJaXJxID0gKGlycSA8PCAzKSArIChpcnEgPDwgMSkgKyAoKnBjIC0gJzAnKTsK
KyAgICAgIH0KKyAgICAgIC8qIExvb2tpbmcgZm9yIHNsb3Qgd2l0aCB0aGUgSVJRIGluIHF1ZXN0
aW9uICovCisgICAgICBmb3IocmVnaXN0ZXIgaW50IGkgPSAwOyBpIDwgTnVtYmVyT2ZJbnRlcnJ1
cHRzOyBpKyspCisgICAgICB7CisJaWYoSW50ZXJydXB0c1tpXSA9PSBpcnEpCisJeworCSAgcHJl
ZmVycmVkX2lycV9pZHggPSBpOworCSAgYnJlYWs7CisJfQorICAgICAgfQorICAgICAgZGV2aWNl
X3ByaW50ZihwY2liLCAiVXNlciBzdWdnZXN0ZWQgSVJROiAlZCAoc2xvdCAlZClcbiIsIAorCQkg
ICAgaXJxLCBwcmVmZXJyZWRfaXJxX2lkeCk7IAorICAgIH0KKyBmYWxsQmFja09uWmVybzoKKyAg
ICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKi8KKwogICAgIGlmIChjcnNidWYuUG9pbnRlciAhPSBOVUxMKQkJCS8qIHNob3VsZCBu
ZXZlciBoYXBwZW4gKi8KIAlBY3BpT3NGcmVlKGNyc2J1Zi5Qb2ludGVyKTsKICAgICBjcnNidWYu
UG9pbnRlciA9IE5VTEw7CkBAIC0zMzIsMjkgKzM3NCwyOSBAQAogCXJlc2J1Zi5MZW5ndGggPSBB
Q1BJX1NJWkVPRl9SRVNPVVJDRShBQ1BJX1JFU09VUkNFX0lSUSk7CiAJcmVzYnVmLkRhdGEuSXJx
ID0gcHJzcmVzLT5EYXRhLklycTsJCS8qIHN0cnVjdHVyZSBjb3B5IG90aGVyIGZpZWxkcyAqLwog
CXJlc2J1Zi5EYXRhLklycS5OdW1iZXJPZkludGVycnVwdHMgPSAxOwotCXJlc2J1Zi5EYXRhLkly
cS5JbnRlcnJ1cHRzWzBdID0gSW50ZXJydXB0c1swXTsJLyoganVzdCB0YWtlIGZpcnN0Li4uICov
CisJcmVzYnVmLkRhdGEuSXJxLkludGVycnVwdHNbMF0gPSBJbnRlcnJ1cHRzW3ByZWZlcnJlZF9p
cnFfaWR4XTsJLyoganVzdCB0YWtlIGZpcnN0Li4uICovCiAgICAgfSBlbHNlIHsKIAlyZXNidWYu
SWQgPSBBQ1BJX1JTVFlQRV9FWFRfSVJROwogCXJlc2J1Zi5MZW5ndGggPSBBQ1BJX1NJWkVPRl9S
RVNPVVJDRShBQ1BJX1JFU09VUkNFX0lSUSk7CiAJcmVzYnVmLkRhdGEuRXh0ZW5kZWRJcnEgPSBw
cnNyZXMtPkRhdGEuRXh0ZW5kZWRJcnE7CS8qIHN0cnVjdHVyZSBjb3B5IG90aGVyIGZpZWxkcyAq
LwogCXJlc2J1Zi5EYXRhLkV4dGVuZGVkSXJxLk51bWJlck9mSW50ZXJydXB0cyA9IDE7Ci0JcmVz
YnVmLkRhdGEuRXh0ZW5kZWRJcnEuSW50ZXJydXB0c1swXSA9IEludGVycnVwdHNbMF07CS8qIGp1
c3QgdGFrZSBmaXJzdC4uLiAqLworCXJlc2J1Zi5EYXRhLkV4dGVuZGVkSXJxLkludGVycnVwdHNb
MF0gPSBJbnRlcnJ1cHRzW3ByZWZlcnJlZF9pcnFfaWR4XTsJLyoganVzdCB0YWtlIGZpcnN0Li4u
ICovCiAgICAgfQogICAgIGlmIChBQ1BJX0ZBSUxVUkUoc3RhdHVzID0gYWNwaV9BcHBlbmRCdWZm
ZXJSZXNvdXJjZSgmY3JzYnVmLCAmcmVzYnVmKSkpIHsKIAlkZXZpY2VfcHJpbnRmKHBjaWIsICJj
b3VsZG4ndCByb3V0ZSBpbnRlcnJ1cHQgJWQgdmlhICVzLCBpbnRlcnJ1cHQgcmVzb3VyY2UgYnVp
bGQgZmFpbGVkIC0gJXNcbiIsCi0JCSAgICAgIEludGVycnVwdHNbMF0sIGFjcGlfbmFtZShsbmtk
ZXYpLCBBY3BpRm9ybWF0RXhjZXB0aW9uKHN0YXR1cykpOworCQkgICAgICBJbnRlcnJ1cHRzW3By
ZWZlcnJlZF9pcnFfaWR4XSwgYWNwaV9uYW1lKGxua2RldiksIEFjcGlGb3JtYXRFeGNlcHRpb24o
c3RhdHVzKSk7CiAJZ290byBvdXQ7CiAgICAgfQogICAgIGlmIChBQ1BJX0ZBSUxVUkUoc3RhdHVz
ID0gQWNwaVNldEN1cnJlbnRSZXNvdXJjZXMobG5rZGV2LCAmY3JzYnVmKSkpIHsKIAlkZXZpY2Vf
cHJpbnRmKHBjaWIsICJjb3VsZG4ndCByb3V0ZSBpbnRlcnJ1cHQgJWQgdmlhICVzIC0gJXNcbiIs
Ci0JCSAgICAgIEludGVycnVwdHNbMF0sIGFjcGlfbmFtZShsbmtkZXYpLCBBY3BpRm9ybWF0RXhj
ZXB0aW9uKHN0YXR1cykpOworCQkgICAgICBJbnRlcnJ1cHRzW3ByZWZlcnJlZF9pcnFfaWR4XSwg
YWNwaV9uYW1lKGxua2RldiksIEFjcGlGb3JtYXRFeGNlcHRpb24oc3RhdHVzKSk7CiAJZ290byBv
dXQ7CiAgICAgfQogICAgIAogICAgIC8qIHN1Y2Nlc3NmdWwsIHJldHVybiB0aGUgaW50ZXJydXB0
IHdlIGp1c3Qgcm91dGVkICovCiAgICAgZGV2aWNlX3ByaW50ZihwY2liLCAic2xvdCAlZCBJTlQl
YyByb3V0ZWQgdG8gaXJxICVkIHZpYSAlc1xuIiwgCi0JcGNpX2dldF9zbG90KGRldiksICdBJyAr
IHBpbiwgSW50ZXJydXB0c1swXSwgYWNwaV9uYW1lKGxua2RldikpOwotICAgIGludGVycnVwdCA9
IEludGVycnVwdHNbMF07CisJcGNpX2dldF9zbG90KGRldiksICdBJyArIHBpbiwgSW50ZXJydXB0
c1twcmVmZXJyZWRfaXJxX2lkeF0sIGFjcGlfbmFtZShsbmtkZXYpKTsKKyAgICBpbnRlcnJ1cHQg
PSBJbnRlcnJ1cHRzW3ByZWZlcnJlZF9pcnFfaWR4XTsKIAogIG91dDoKICAgICBpZiAoY3JzYnVm
LlBvaW50ZXIgIT0gTlVMTCkK

--Multipart=_Mon__24_Nov_2003_21_48_56_-0500_jbOIG/9eLrNCpeX=--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031124214856.116be74c.Alex.Kovalenko>