From owner-freebsd-hackers@FreeBSD.ORG Wed Jun 11 07:30:13 2008 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F276410656B1; Wed, 11 Jun 2008 07:30:13 +0000 (UTC) (envelope-from bu7cher@yandex.ru) Received: from smtp7.yandex.ru (smtp7.yandex.ru [213.180.200.45]) by mx1.freebsd.org (Postfix) with ESMTP id 0FD878FC28; Wed, 11 Jun 2008 07:30:12 +0000 (UTC) (envelope-from bu7cher@yandex.ru) Received: from ns.kirov.so-cdu.ru ([77.72.136.145]:22744 "EHLO [127.0.0.1]" smtp-auth: "bu7cher" TLS-CIPHER: "DHE-RSA-AES256-SHA keybits 256/256 version TLSv1/SSLv3" TLS-PEER-CN1: ) by mail.yandex.ru with ESMTP id S738622AbYFKHaF (ORCPT + 1 other); Wed, 11 Jun 2008 11:30:05 +0400 X-Yandex-Spam: 1 X-Yandex-Front: smtp7 X-Yandex-TimeMark: 1213169405 X-MsgDayCount: 4 X-Comment: RFC 2476 MSA function at smtp7.yandex.ru logged sender identity as: bu7cher Message-ID: <484F7EF9.5080602@yandex.ru> Date: Wed, 11 Jun 2008 11:30:01 +0400 From: "Andrey V. Elsukov" User-Agent: Mozilla Thunderbird 1.5 (FreeBSD/20051231) MIME-Version: 1.0 To: freebsd-hackers@freebsd.org Content-Type: multipart/mixed; boundary="------------030902080904070105070406" Cc: =?UTF-8?B?U8O4cmVuIFNjaG1pZHQ=?= Subject: [RFC] patch to AHCI device detection code X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Jun 2008 07:30:14 -0000 This is a multi-part message in MIME format. --------------030902080904070105070406 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi, Soren. I'm found solution for AHCI that solve ATAPI device detection for me. I just added waiting loop on PxTFD after reset and now my SATA DVD detected well. Waiting time (in my case) may vary from 1ms to 900 ms. Also AHCI spec says: 10.4.2 Port Reset ... When PxSCTL.DET is set to 0h, upon receiving a COMINIT from the attached device, PxTFD.STS.BSY shall be set to ’1’ by the HBA. So we can wait until PxTFD.STS.BSY resets to zero and then read PxSIG. Any comments? -- WBR, Andrey V. Elsukov --------------030902080904070105070406 Content-Type: text/plain; name="ata_wait_ready_tfd_after_reset.diff.txt" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="ata_wait_ready_tfd_after_reset.diff.txt" SW5kZXg6IHNyYy9zeXMvZGV2L2F0YS9hdGEtY2hpcHNldC5jCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT IGZpbGU6IC9uY3ZzL3NyYy9zeXMvZGV2L2F0YS9hdGEtY2hpcHNldC5jLHYKcmV0cmlldmlu ZyByZXZpc2lvbiAxLjIxOQpkaWZmIC11IC1iIC1wIC1yMS4yMTkgYXRhLWNoaXBzZXQuYwot LS0gc3JjL3N5cy9kZXYvYXRhL2F0YS1jaGlwc2V0LmMJMjEgQXByIDIwMDggMTA6NTE6Mzgg LTAwMDAJMS4yMTkKKysrIHNyYy9zeXMvZGV2L2F0YS9hdGEtY2hpcHNldC5jCTExIEp1biAy MDA4IDA3OjE3OjUzIC0wMDAwCkBAIC0xMDU5LDEwICsxMDU5LDEwIEBAIGF0YV9haGNpX3Nv ZnRyZXNldChkZXZpY2VfdCBkZXYsIGludCBwb3IKICAgICBzdHJ1Y3QgYXRhX3BjaV9jb250 cm9sbGVyICpjdGxyID0gZGV2aWNlX2dldF9zb2Z0YyhkZXZpY2VfZ2V0X3BhcmVudChkZXYp KTsKICAgICBzdHJ1Y3QgYXRhX2NoYW5uZWwgKmNoID0gZGV2aWNlX2dldF9zb2Z0YyhkZXYp OwogICAgIGludCBvZmZzZXQgPSBjaC0+dW5pdCA8PCA3OworICAgIGludCB0aW1lb3V0ID0g MDsKICNpZmRlZiBBSENJX1BNCiAgICAgc3RydWN0IGF0YV9haGNpX2NtZF90YWIgKmN0cCA9 CiAJKHN0cnVjdCBhdGFfYWhjaV9jbWRfdGFiICopKGNoLT5kbWEud29yayArIEFUQV9BSENJ X0NUX09GRlNFVCk7Ci0gICAgaW50IHRpbWVvdXQgPSAwOwogCiAgICAgLyoga2ljayBjb250 cm9sbGVyIGludG8gc2FuZSBzdGF0ZSBpZiBuZWVkZWQgKi8KICAgICBhdGFfYWhjaV9yZXN0 YXJ0KGRldik7CkBAIC0xMDkxLDYgKzEwOTEsNyBAQCBhdGFfYWhjaV9zb2Z0cmVzZXQoZGV2 aWNlX3QgZGV2LCBpbnQgcG9yCiAKICAgICBhdGFfdWRlbGF5KDE1MDAwMCk7CiAKKyNlbmRp ZgogICAgIHRpbWVvdXQgPSAwOwogICAgIGRvIHsKIAkgICAgREVMQVkoMTAwMCk7CkBAIC0x MTAxLDcgKzExMDIsNiBAQCBhdGFfYWhjaV9zb2Z0cmVzZXQoZGV2aWNlX3QgZGV2LCBpbnQg cG9yCiAgICAgfSB3aGlsZSAoQVRBX0lOTChjdGxyLT5yX3JlczIsIEFUQV9BSENJX1BfVEZE ICsgb2Zmc2V0KSAmIEFUQV9TX0JVU1kpOwogICAgIGlmIChib290dmVyYm9zZSkKIAlkZXZp Y2VfcHJpbnRmKGRldiwgIkJVU1kgd2FpdCB0aW1lPSVkbXNcbiIsIHRpbWVvdXQpOwotI2Vu ZGlmCiAgICAgcmV0dXJuIEFUQV9JTkwoY3Rsci0+cl9yZXMyLCBBVEFfQUhDSV9QX1NJRyAr IG9mZnNldCk7CiB9CiAK --------------030902080904070105070406--