From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Decotigny Subject: [PATCH net-next v2 3/4] net-e1000e: reworked carrier detection logic Date: Tue, 22 Nov 2011 11:23:37 -0800 Message-ID: <162f094e526f3b2a21e66b5863608de6970bba68.1321989502.git.david.decotigny@google.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: David Decotigny , Ian Campbell , =?UTF-8?q?Maciej=20=C5=BBenczykowski?= , Paul Gortmaker , "David S. Miller" To: Jeff Kirsher , Jesse Brandeburg , Bruce Allan , Carolyn Wyborny , Don Skidmore , Greg Rose , Peter P Waskiewicz Jr , Alex Duyck , John Ronciak , e1000-devel@lists.sourceforge.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Return-path: In-Reply-To: In-Reply-To: References: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: e1000-devel-bounces@lists.sourceforge.net List-Id: netdev.vger.kernel.org RnJvbTogTWFjaWVqIMW7ZW5jenlrb3dza2kgPHplbmN6eWtvd3NraUBnbWFpbC5jb20+CgpUaGlz IGNoYW5nZSByZW1vdmVzIGFuIHVuLW5lZWRlZCBmaW5hbCBwYXVzZSBpbiBjYXNlIG9mIHRpbWVv dXQgYW5kCnJld29ya3MgdGhlICJsaW5rIGlzIHVwIiBkZXRlY3Rpb24gbG9naWMuCgoKClNpZ25l ZC1vZmYtYnk6IERhdmlkIERlY290aWdueSA8ZGF2aWQuZGVjb3RpZ255QGdvb2dsZS5jb20+Ci0t LQogZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEwMDBlL3BoeS5jIHwgICA2NCArKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tCiAxIGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMo KyksIDI1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2lu dGVsL2UxMDAwZS9waHkuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2UxMDAwZS9waHku YwppbmRleCA4NjY2NDc2Li5mNDg3YTdmIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5l dC9pbnRlbC9lMTAwMGUvcGh5LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwvZTEw MDBlL3BoeS5jCkBAIC0xNzc1LDM5ICsxNzc1LDUzIEBAIHN0YXRpYyBzMzIgZTEwMDBfd2FpdF9h dXRvbmVnKHN0cnVjdCBlMTAwMF9odyAqaHcpCiAgKiAgUG9sbHMgdGhlIFBIWSBzdGF0dXMgcmVn aXN0ZXIgZm9yIGxpbmssICdpdGVyYXRpb25zJyBudW1iZXIgb2YgdGltZXMuCiAgKiovCiBzMzIg ZTEwMDBlX3BoeV9oYXNfbGlua19nZW5lcmljKHN0cnVjdCBlMTAwMF9odyAqaHcsIHUzMiBpdGVy YXRpb25zLAotCQkJICAgICAgIHUzMiB1c2VjX2ludGVydmFsLCBib29sICpzdWNjZXNzKQorCQkJ CXUzMiB1c2VjX2ludGVydmFsLCBib29sICpzdWNjZXNzKQogewotCXMzMiByZXRfdmFsID0gMDsK LQl1MTYgaSwgcGh5X3N0YXR1czsKKwl1MzIgaTsKKwl1MTYgcGh5X3JlZzsKKwlpbnQgZ29vZF9y ZWFkc19waHlfc3RhdHVzID0gMDsKKworCX0KKworCS8qCisJICogUmVtZW1iZXIgdGhhdCBlMWVf cnBoeSBtYXkgZmFpbCBiZWNhdXNlIG9mIGFub3RoZXIgZW50aXR5CisJICogKGxpa2UgdGhlIGZp cm13YXJlKSBob2xkaW5nIHRoZSBsb2NrLCB3ZSBuZWVkIHRvIGhhbmRsZQorCSAqIHRoaXMgZ3Jh Y2VmdWxseSAtIGJ5IHdhaXRpbmcgYW5kIHRyeWluZyBhZ2Fpbi4KKwkgKgorCSAqIFNvbWUgUEhZ cyByZXF1aXJlIHRoZSBQSFlfU1RBVFVTIHJlZ2lzdGVyIHRvIGJlIHJlYWQgdHdpY2UKKwkgKiBk dWUgdG8gdGhlIGxpbmsgYml0IGJlaW5nIHN0aWNreS4gIE5vIGhhcm0gZG9pbmcgaXQgYWNyb3Nz CisJICogdGhlIGJvYXJkLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCBpdGVyYXRpb25zOyAvKiBp IGluY3JlbWVudGVkIG1hbnVhbGx5ICovKSB7CisJCWlmICgwID09IGUxZV9ycGh5KGh3LCBQSFlf U1RBVFVTLCAmcGh5X3JlZykpIHsKKwkJCWlmICgrK2dvb2RfcmVhZHNfcGh5X3N0YXR1cyA8IDIp CisJCQkJY29udGludWU7IC8qIFJlLXJlYWQgb25jZSwgdG8gbWFrZSBzdXJlICovCiAKLQlmb3Ig KGkgPSAwOyBpIDwgaXRlcmF0aW9uczsgaSsrKSB7Ci0JCS8qCi0JCSAqIFNvbWUgUEhZcyByZXF1 aXJlIHRoZSBQSFlfU1RBVFVTIHJlZ2lzdGVyIHRvIGJlIHJlYWQKLQkJICogdHdpY2UgZHVlIHRv IHRoZSBsaW5rIGJpdCBiZWluZyBzdGlja3kuICBObyBoYXJtIGRvaW5nCi0JCSAqIGl0IGFjcm9z cyB0aGUgYm9hcmQuCi0JCSAqLwotCQlyZXRfdmFsID0gZTFlX3JwaHkoaHcsIFBIWV9TVEFUVVMs ICZwaHlfc3RhdHVzKTsKLQkJaWYgKHJldF92YWwpCiAJCQkvKgotCQkJICogSWYgdGhlIGZpcnN0 IHJlYWQgZmFpbHMsIGFub3RoZXIgZW50aXR5IG1heSBoYXZlCi0JCQkgKiBvd25lcnNoaXAgb2Yg dGhlIHJlc291cmNlcywgd2FpdCBhbmQgdHJ5IGFnYWluIHRvCi0JCQkgKiBzZWUgaWYgdGhleSBo YXZlIHJlbGlucXVpc2hlZCB0aGUgcmVzb3VyY2VzIHlldC4KKwkJCSAqIEdyZWF0LCB3ZSBnb3Qg YXQgbGVhc3QgMiBzdWNjZXNzZnVsbCByZWFkcwogCQkJICovCi0JCQl1ZGVsYXkodXNlY19pbnRl cnZhbCk7Ci0JCXJldF92YWwgPSBlMWVfcnBoeShodywgUEhZX1NUQVRVUywgJnBoeV9zdGF0dXMp OwotCQlpZiAocmV0X3ZhbCkKLQkJCWJyZWFrOwotCQlpZiAocGh5X3N0YXR1cyAmIE1JSV9TUl9M SU5LX1NUQVRVUykKLQkJCWJyZWFrOwotCQlpZiAodXNlY19pbnRlcnZhbCA+PSAxMDAwKQotCQkJ bWRlbGF5KHVzZWNfaW50ZXJ2YWwvMTAwMCk7CisKKwkJCWlmIChwaHlfcmVnICYgTUlJX1NSX0xJ TktfU1RBVFVTKSB7CisJCQkJLyogc3VjY2VzczogbGluayB1cCAqLworCQkJCSpzdWNjZXNzID0g dHJ1ZTsKKwkJCQlyZXR1cm4gMDsKKwkJCX0KKwkJfQorCisJCS8qIFBhdXNlIG5vdyBhbmQgcmUt aXRlcmF0ZSAqLworCQlpZiAoKytpID49IGl0ZXJhdGlvbnMpCisJCQlicmVhazsgLyogUGF1c2Ug bm90IG5lZWRlZCBhZnRlciBsYXN0IGl0ZXJhdGlvbiAqLworCQllbHNlIGlmICh1c2VjX2ludGVy dmFsID49IDEwMDApCisJCQltZGVsYXkodXNlY19pbnRlcnZhbCAvIDEwMDApOwogCQllbHNlCiAJ CQl1ZGVsYXkodXNlY19pbnRlcnZhbCk7CiAJfQogCi0JKnN1Y2Nlc3MgPSAoaSA8IGl0ZXJhdGlv bnMpOwotCi0JcmV0dXJuIHJldF92YWw7CisJLyogbm8gc3VjY2VzcyBpbiBmb3IoOzspIGxvb3Ag Ki8KKwkqc3VjY2VzcyA9IGZhbHNlOworCWlmIChnb29kX3JlYWRzX3BoeV9zdGF0dXMgPCAyKQor CQlyZXR1cm4gLUUxMDAwX0VSUl9QSFk7CisJcmV0dXJuIDA7CiB9CiAKIC8qKgotLSAKMS43LjMu MQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpBbGwgdGhlIGRhdGEgY29udGludW91c2x5IGdlbmVy YXRlZCBpbiB5b3VyIElUIGluZnJhc3RydWN0dXJlIApjb250YWlucyBhIGRlZmluaXRpdmUgcmVj b3JkIG9mIGN1c3RvbWVycywgYXBwbGljYXRpb24gcGVyZm9ybWFuY2UsIApzZWN1cml0eSB0aHJl YXRzLCBmcmF1ZHVsZW50IGFjdGl2aXR5LCBhbmQgbW9yZS4gU3BsdW5rIHRha2VzIHRoaXMgCmRh dGEgYW5kIG1ha2VzIHNlbnNlIG9mIGl0LiBJVCBzZW5zZS4gQW5kIGNvbW1vbiBzZW5zZS4KaHR0 cDovL3Auc2YubmV0L3NmdS9zcGx1bmstbm92ZDJkCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkUxMDAwLWRldmVsIG1haWxpbmcgbGlzdApFMTAwMC1kZXZl bEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlz dHMvbGlzdGluZm8vZTEwMDAtZGV2ZWwKVG8gbGVhcm4gbW9yZSBhYm91dCBJbnRlbCYjMTc0OyBF dGhlcm5ldCwgdmlzaXQgaHR0cDovL2NvbW11bml0aWVzLmludGVsLmNvbS9jb21tdW5pdHkvd2ly ZWQK