From owner-freebsd-current@FreeBSD.ORG Mon Nov 24 18:50:29 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4295A16A4CE for ; Mon, 24 Nov 2003 18:50:29 -0800 (PST) Received: from out005.verizon.net (out005pub.verizon.net [206.46.170.143]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3684343FE3 for ; Mon, 24 Nov 2003 18:50:28 -0800 (PST) (envelope-from Alex.Kovalenko@verizon.net) Received: from RabbitsDen ([141.153.192.74]) by out005.verizon.net (InterMail vM.5.01.06.06 201-253-122-130-106-20030910) with ESMTP id <20031125025027.EXGZ16040.out005.verizon.net@RabbitsDen> for ; Mon, 24 Nov 2003 20:50:27 -0600 Date: Mon, 24 Nov 2003 21:48:56 -0500 From: Alexandre "Sunny" Kovalenko To: freebsd-current@freebsd.org Message-Id: <20031124214856.116be74c.Alex.Kovalenko@verizon.net> Organization: Home X-Mailer: Sylpheed version 0.9.7 (GTK+ 1.2.10; i386-portbld-freebsd5.1) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart=_Mon__24_Nov_2003_21_48_56_-0500_jbOIG/9eLrNCpeX=" X-Authentication-Info: Submitted using SMTP AUTH at out005.verizon.net from [141.153.192.74] at Mon, 24 Nov 2003 20:50:26 -0600 Subject: ThinkPad 560Z & ACPI X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Nov 2003 02:50:29 -0000 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=--