From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Subject: [PATCH v4 RESEND 3/5] drm/dp_helper: Retry aux transactions on all errors Date: Mon, 28 Mar 2016 10:33:24 -0400 Message-ID: <1459175606-13875-4-git-send-email-cpaul@redhat.com> References: <1459175606-13875-1-git-send-email-cpaul@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1459175606-13875-1-git-send-email-cpaul@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: arthur.j.runyan@intel.com, open list , Lyude List-Id: dri-devel@lists.freedesktop.org VGhpcyBpcyBwYXJ0IG9mIGEgcGF0Y2ggc2VyaWVzIHRvIG1pZ3JhdGUgYWxsIG9mIHRoZSB3b3Jr YXJvdW5kcyBmb3IKY29tbW9ubHkgc2VlbiBiZWhhdmlvciBmcm9tIGJhZCBzaW5rcyBpbiBpbnRl bF9kcF9kcGNkX3JlYWRfd2FrZSgpIHRvCmRybSdzIERQIGhlbHBlci4KCldlIGNhbm5vdCByZWx5 IG9uIHNpbmtzIE5BQ0tpbmcgb3IgZGVmZXJyaW5nIHdoZW4gdGhleSBjYW4ndCByZWNlaXZlCnRy YW5zYWN0aW9ucywgbm9yIGNhbiB3ZSByZWx5IG9uIGFueSBvdGhlciBzb3J0IG9mIGNvbnNpc3Rl bnQgZXJyb3IgdG8Ka25vdyB3aGVuIHdlIHNob3VsZCBzdG9wIHJldHJ5aW5nLiBBcyBzdWNoLCB3 ZSBuZWVkIHRvIGp1c3QgcmV0cnkKdW5jb25kaXRpb25hbGx5IG9uIGVycm9ycy4gV2UgYWxzbyBt YWtlIHN1cmUgaGVyZSB0byByZXR1cm4gdGhlIGVycm9yIHdlCmVuY291bnRlcmVkIGR1cmluZyB0 aGUgZmlyc3QgdHJhbnNhY3Rpb24sIHNpbmNlIGl0J3MgcG9zc2libGUgdGhhdApyZXRyeWluZyB0 aGUgdHJhbnNhY3Rpb24gbWlnaHQgcmV0dXJuIGEgZGlmZmVyZW50IGVycm9yIHRoZW4gd2UgaGFk Cm9yaWdpbmFsbHkuCgpUaGlzLCBhbG9uZyB3aXRoIHRoZSBwcmV2aW91cyBwYXRjaCwgd29yayBh cm91bmQgYSB3ZWlyZCBidWcgd2l0aCB0aGUKVGhpbmtQYWQgVDU2MCdzIGFuZCBpdCdzIGRvY2su IFdoZW4gcmVzdW1pbmcgdGhlIGxhcHRvcCwgaXQgYXBwZWFycyB0aGF0CnRoZXJlJ3MgYSBzaG9y dCBwZXJpb2Qgb2YgdGltZSB3aGVyZSB3ZSdyZSB1bmFibGUgdG8gY29tcGxldGUgYW55IGF1eAp0 cmFuc2FjdGlvbnMsIGFzIHRoZXkgYWxsIGltbWVkaWF0ZWx5IHRpbWVvdXQuIFRoZSBvbmx5IG1h Y2hpbmUgSSdtIGFibGUKdG8gcmVwcm9kdWNlIHRoaXMgb24gaXMgdGhlIFQ1NjAgYXMgb3RoZXIg cHJvZHVjdGlvbiBTa3lsYWtlIG1vZGVscyBzZWVtCnRvIGJlIGZpbmUuIFRoZSBwZXJpb2QgZHVy aW5nIHdoaWNoIEFVWCB0cmFuc2FjdGlvbnMgZmFpbCBhcHBlYXJzIHRvIGJlCmFyb3VuZCAyMm1z IGxvbmcuIEFGQUlLLCB0aGUgZG9jayBmb3IgdGhlIFQ1NjAgbmV2ZXIgYWN0dWFsbHkgdHVybnMg b2ZmLAp0aGUgb25seSBkaWZmZXJlbmNlIGlzIHRoYXQgaXQncyBpbiBTU1QgbW9kZSBhdCB0aGUg c3RhcnQgb2YgdGhlIHJlc3VtZQpwcm9jZXNzLCBzbyBpdCdzIHVuY2xlYXIgYXMgdG8gd2h5IGl0 IHdvdWxkIG5lZWQgc28gbXVjaCB0aW1lIHRvIGNvbWUKYmFjayB1cC4KClRoZXJlJ3MgYmVlbiBh IGRpc2N1c3Npb24gb24gdGhpcyBpc3N1ZSBnb2luZyBvbiBmb3IgYSB3aGlsZSBvbiB0aGUKaW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdCBhYm91dCB0aGlzIHRoYXQgaGFzLCBpbiBhZGRpdGlvbiB0byBp bmNsdWRpbmcKZGV2ZWxvcGVycyBmcm9tIEludGVsLCBhbHNvIGhhZCB0aGUgY29ycmVzcG9uZGVu Y2Ugb2Ygb25lIG9mIHRoZQpoYXJkd2FyZSBlbmdpbmVlcnMgZm9yIEludGVsOgoKaHR0cDovL3d3 dy5zcGluaWNzLm5ldC9saXN0cy9pbnRlbC1nZngvbXNnODg4MzEuaHRtbApodHRwOi8vd3d3LnNw aW5pY3MubmV0L2xpc3RzL2ludGVsLWdmeC9tc2c4ODQxMC5odG1sCgpXZSd2ZSBhbHJlYWR5IGxv b2tlZCBpbnRvIGEgY291cGxlIG9mIHBvc3NpYmxlIGV4cGxhbmF0aW9ucyBmb3IgdGhlCnByb2Js ZW06CgotIENhbGxpbmcgaW50ZWxfZHBfbXN0X3Jlc3VtZSgpIGJlZm9yZSByaWdodCBmaXguCiAg aW50ZWxfcnVudGltZV9wbV9lbmFibGVfaW50ZXJydXB0cygpLiBUaGlzIHdhcyB0aGUgZmlyc3Qg Zml4IEkgdHJpZWQsCiAgYW5kIHdoaWxlIGl0IHdvcmtlZCBpdCBkZWZpbml0ZWx5IHdhc24ndCB0 aGUgcmlnaHQgZml4LiBUaGlzIHdvcmtlZAogIGJlY2F1c2UgRFAgYXV4IHRyYW5zYWN0aW9ucyBk b24ndCBhY3R1YWxseSByZXF1aXJlIGludGVycnVwdHMgdG8gd29yazoKCglzdGF0aWMgdWludDMy X3QKCWludGVsX2RwX2F1eF93YWl0X2RvbmUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgYm9v bCBoYXNfYXV4X2lycSkKCXsKCQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdf cG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKCQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXY7CgkJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKCQlpOTE1X3JlZ190IGNoX2N0bCA9IGlu dGVsX2RwLT5hdXhfY2hfY3RsX3JlZzsKCQl1aW50MzJfdCBzdGF0dXM7CgkJYm9vbCBkb25lOwoK CSNkZWZpbmUgQyAoKChzdGF0dXMgPSBJOTE1X1JFQURfTk9UUkFDRShjaF9jdGwpKSAmIERQX0FV WF9DSF9DVExfU0VORF9CVVNZKSA9PSAwKQoJCWlmIChoYXNfYXV4X2lycSkKCQkJZG9uZSA9IHdh aXRfZXZlbnRfdGltZW91dChkZXZfcHJpdi0+Z21idXNfd2FpdF9xdWV1ZSwgQywKCQkJCQkJICBt c2Vjc190b19qaWZmaWVzX3RpbWVvdXQoMTApKTsKCQllbHNlCgkJCWRvbmUgPSB3YWl0X2Zvcl9h dG9taWMoQywgMTApID09IDA7CgkJaWYgKCFkb25lKQoJCQlEUk1fRVJST1IoImRwIGF1eCBodyBk aWQgbm90IHNpZ25hbCB0aW1lb3V0IChoYXMgaXJxOiAlaSkhXG4iLAoJCQkJICBoYXNfYXV4X2ly cSk7CgkjdW5kZWYgQwoKCQlyZXR1cm4gc3RhdHVzOwoJfQoKICBXaGVuIHRoZXJlJ3Mgbm8gaW50 ZXJydXB0cyBlbmFibGVkLCB3ZSBlbmQgdXAgdGltaW5nIG91dCBvbiB0aGUKICB3YWl0X2V2ZW50 X3RpbWVvdXQoKSBjYWxsLCB3aGljaCBjYXVzZXMgdXMgdG8gY2hlY2sgdGhlIERQIHN0YXR1cwog IHJlZ2lzdGVyIG9uY2UgdG8gc2VlIGlmIHRoZSB0cmFuc2FjdGlvbiB3YXMgc3VjY2Vzc2Z1bCBv ciBub3QuIFNpbmNlCiAgdGhpcyBhZGRzIGEgMTBtcyBkZWxheSB0byBlYWNoIGF1eCB0cmFuc2Fj dGlvbiwgaXQgZW5kcyB1cCBhZGRpbmcgYQogIGxvbmcgZW5vdWdoIGRlbGF5IHRvIHRoZSByZXN1 bWUgcHJvY2VzcyBmb3IgYXV4IHRyYW5zYWN0aW9ucyB0byBiZWNvbWUKICBmdW5jdGlvbmFsIGFn YWluLiBUaGlzIGdhdmUgdXMgdGhlIGlsbHVzaW9uIHRoYXQgZW5hYmxpbmcgaW50ZXJydXB0cwog IGhhZCBzb21ldGhpbmcgdG8gZG8gd2l0aCBtYWtpbmcgdGhpbmdzIHdvcmsgYWdhaW4sIGFuZCBw dXQgbWUgb24gdGhlCiAgd3JvbmcgdHJhY2sgZm9yIGEgd2hpbGUuCgotIEludGVycnVwdHMgb2Nj dXJyaW5nIHdoZW4gd2UgdHJ5IHRvIHBlcmZvcm0gdGhlIGF1eCB0cmFuc2FjdGlvbnMKICByZXF1 aXJlZCB0byBwdXQgdGhlIGRvY2sgYmFjayBpbnRvIE1TVCBtb2RlLiBUaGlzIGlzbid0IHRoZSBw cm9ibGVtLAogIGFzIHRoZSBvbmx5IGludGVycnVwdHMgSSd2ZSBvYnNlcnZlZCB0aGF0IGNvbWUg ZHVyaW5nIHRoaXMgdGltZW91dAogIHBlcmlvZCBhcmUgZnJvbSB0aGUgc25kX2hkYV9pbnRlbCBk cml2ZXIsIGFuZCBkaXNhYmxpbmcgdGhhdCBkcml2ZXIKICBkb2Vzbid0IGFwcGVhciB0byBjaGFu Z2UgdGhlIGJlaGF2aW9yIGF0IGFsbC4KCi0gU2t5bGFrZSdzIFBTUiBibG9jayBjYXVzaW5nIGlz c3VlcyBieSBwZXJmb3JtaW5nIGF1eCB0cmFuc2FjdGlvbnMKICB3aGlsZSB3ZSB0cnkgdG8gYnJp bmcgdGhlIGRvY2sgb3V0IG9mIE1TVCBtb2RlLiBEaXNhYmxpbmcgUFNSIHRocm91Z2gKICBpOTE1 J3MgY29tbWFuZCBsaW5lIG9wdGlvbnMgZG9lc24ndCBzZWVtIHRvIGNoYW5nZSB0aGUgYmVoYXZp b3IKICBlaXRoZXIsIG5vciBkb2VzIHByZXZlbnRpbmcgdGhlIERNQyBmaXJtd2FyZSBmcm9tIGJl aW5nIGxvYWRlZC4KClNpbmNlIHRoaXMgaW52ZXN0aWdhdGlvbiB3ZW50IG9uIGZvciBhYm91dCAy IHdlZWtzLCB3ZSBkZWNpZGVkIGl0IHdvdWxkCmJlIGJldHRlciBmb3IgdGhlIHRpbWUgYmVpbmcg dG8ganVzdCB3b3JrYXJvdW5kIHRoaXMgaXNzdWUgYnkgbWFraW5nCnN1cmUgQVVYIHRyYW5zYWN0 aW9ucyB3YWl0IGEgc2hvcnQgcGVyaW9kIG9mIHRpbWUgYmVmb3JlIHJldHJ5aW5nLgoKU2lnbmVk LW9mZi1ieTogTHl1ZGUgPGNwYXVsQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2Ry bV9kcF9oZWxwZXIuYyB8IDM5ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2RwX2hlbHBlci5jCmluZGV4IDNiOTE1ZTIuLjg2NjU2Y2EgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9k cF9oZWxwZXIuYwpAQCAtMTc4LDggKzE3OCw4IEBAIHN0YXRpYyBpbnQgZHJtX2RwX2RwY2RfYWNj ZXNzKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgsIHU4IHJlcXVlc3QsCiAJCQkgICAgICB1bnNpZ25l ZCBpbnQgb2Zmc2V0LCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplKQogewogCXN0cnVjdCBkcm1f ZHBfYXV4X21zZyBtc2c7Ci0JdW5zaWduZWQgaW50IHJldHJ5OwotCWludCBlcnIgPSAwOworCXVu c2lnbmVkIGludCByZXRyeSwgbmF0aXZlX3JlcGx5OworCWludCBlcnIgPSAwLCByZXQgPSAwOwog CiAJbWVtc2V0KCZtc2csIDAsIHNpemVvZihtc2cpKTsKIAltc2cuYWRkcmVzcyA9IG9mZnNldDsK QEAgLTE5NCwzNCArMTk0LDM3IEBAIHN0YXRpYyBpbnQgZHJtX2RwX2RwY2RfYWNjZXNzKHN0cnVj dCBkcm1fZHBfYXV4ICphdXgsIHU4IHJlcXVlc3QsCiAJICogc3VmZmljaWVudCwgYnVtcCB0byAz MiB3aGljaCBtYWtlcyBEZWxsIDRrIG1vbml0b3JzIGhhcHBpZXIuCiAJICovCiAJZm9yIChyZXRy eSA9IDA7IHJldHJ5IDwgMzI7IHJldHJ5KyspIHsKLQkJaWYgKGVyciAhPSAwICYmIGVyciAhPSAt RVRJTUVET1VUKSB7CisJCWlmIChyZXQgIT0gMCAmJiByZXQgIT0gLUVUSU1FRE9VVCkgewogCQkJ dXNsZWVwX3JhbmdlKEFVWF9SRVRSWV9JTlRFUlZBTCwKIAkJCQkgICAgIEFVWF9SRVRSWV9JTlRF UlZBTCArIDEwMCk7CiAJCX0KIAogCQltdXRleF9sb2NrKCZhdXgtPmh3X211dGV4KTsKLQkJZXJy ID0gYXV4LT50cmFuc2ZlcihhdXgsICZtc2cpOworCQlyZXQgPSBhdXgtPnRyYW5zZmVyKGF1eCwg Jm1zZyk7CiAJCW11dGV4X3VubG9jaygmYXV4LT5od19tdXRleCk7Ci0JCWlmIChlcnIgPCAwKSB7 Ci0JCQlpZiAoZXJyID09IC1FQlVTWSkKLQkJCQljb250aW51ZTsKIAotCQkJcmV0dXJuIGVycjsK LQkJfQotCi0JCXN3aXRjaCAobXNnLnJlcGx5ICYgRFBfQVVYX05BVElWRV9SRVBMWV9NQVNLKSB7 Ci0JCWNhc2UgRFBfQVVYX05BVElWRV9SRVBMWV9BQ0s6Ci0JCQlpZiAoZXJyIDwgc2l6ZSkKLQkJ CQlyZXR1cm4gLUVQUk9UTzsKLQkJCXJldHVybiBlcnI7CisJCWlmIChyZXQgPiAwKSB7CisJCQlu YXRpdmVfcmVwbHkgPSBtc2cucmVwbHkgJiBEUF9BVVhfTkFUSVZFX1JFUExZX01BU0s7CisJCQlp ZiAobmF0aXZlX3JlcGx5ID09IERQX0FVWF9OQVRJVkVfUkVQTFlfQUNLKSB7CisJCQkJaWYgKHJl dCA9PSBzaXplKQorCQkJCQlyZXR1cm4gcmV0OwogCi0JCWNhc2UgRFBfQVVYX05BVElWRV9SRVBM WV9OQUNLOgotCQkJcmV0dXJuIC1FSU87CisJCQkJcmV0ID0gLUVQUk9UTzsKKwkJCX0gZWxzZQor CQkJCXJldCA9IC1FSU87CiAJCX0KKworCQkvKgorCQkgKiBXZSB3YW50IHRoZSBlcnJvciB3ZSBy ZXR1cm4gdG8gYmUgdGhlIGVycm9yIHdlIHJlY2VpdmVkIG9uCisJCSAqIHRoZSBmaXJzdCB0cmFu c2FjdGlvbiwgc2luY2Ugd2UgbWF5IGdldCBhIGRpZmZlcmVudCBlcnJvciB0aGUKKwkJICogbmV4 dCB0aW1lIHdlIHJldHJ5CisJCSAqLworCQlpZiAoIWVycikKKwkJCWVyciA9IHJldDsKIAl9CiAK IAlEUk1fREVCVUdfS01TKCJ0b28gbWFueSByZXRyaWVzLCBnaXZpbmcgdXBcbiIpOwotCXJldHVy biAtRUlPOworCXJldHVybiBlcnI7CiB9CiAKIC8qKgotLSAKMi41LjUKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=