From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Kleiner Subject: [PATCH 2/2] drm/radeon: Prevent races on pre DCE4 between flip submission and completion. Date: Sat, 17 Sep 2016 14:25:39 +0200 Message-ID: <1474115139-25201-3-git-send-email-mario.kleiner.de@gmail.com> References: <1474115139-25201-1-git-send-email-mario.kleiner.de@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7ADF46E386 for ; Sat, 17 Sep 2016 12:26:17 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id w84so387182wmg.0 for ; Sat, 17 Sep 2016 05:26:17 -0700 (PDT) In-Reply-To: <1474115139-25201-1-git-send-email-mario.kleiner.de@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: alexander.deucher@amd.com, michel.daenzer@amd.com List-Id: dri-devel@lists.freedesktop.org UHJlIERDRTQgaHcgZG9lc24ndCBoYXZlIHJlbGlhYmxlIHBhZ2VmbGlwIGNvbXBsZXRpb24KaW50 ZXJydXB0cywgc28gaW5zdGVhZCBwb2xsaW5nIGZvciBmbGlwIGNvbXBsZXRpb24gaXMKdXNlZCBm cm9tIHdpdGhpbiB0aGUgdmJsYW5rIGlycSBoYW5kbGVyIHRvIGNvbXBsZXRlCnBhZ2UgZmxpcHMu CgpUaGlzIGNhdXNlcyBhIHJhY2UgaWYgcGFnZWZsaXAgaW9jdGwgaXMgY2FsbGVkIGNsb3NlIHRv CnZibGFuazoKCjEuIHBhZ2VmbGlwIGlvY3RsIHF1ZXVlcyBleGVjdXRpb24gb2YgcmFkZW9uX2Zs aXBfd29ya19mdW5jLgoKMi4gdmJsYW5rIGlycSBmaXJlcywgcmFkZW9uX2NydGNfaGFuZGxlX3Zi bGFuayBjaGVja3MgZm9yCiAgIGZsaXBfc3RhdHVzID09IEZMSVBfU1VCTUlUVEVEIGZpbmRzIG5v bmUsIG5vLW9wcy4KCjMuIHJhZGVvbl9mbGlwX3dvcmtfZnVuYyBydW5zIGluc2lkZSB2Ymxhbmss IGRlY2lkZXMgdG8KICAgc2V0IGZsaXBfc3RhdHVzID09IEZMSVBfU1VCTUlUVEVEIGFuZCBwcm9n cmFtcyB0aGUKICAgZmxpcCBpbnRvIGh3LgoKNC4gaHcgZXhlY3V0ZXMgZmxpcCBpbW1lZGlhdGVs eSAoYmVjYXVzZSBpbiB2YmxhbmspLCBidXQKICAgYXMgMiBhbHJlYWR5IGhhcHBlbmVkLCB0aGUg ZmxpcCBjb21wbGV0aW9uIHJvdXRpbmUgb25seQogICBlbWl0cyB0aGUgZmxpcCBjb21wbGV0aW9u IGV2ZW50IG9uZSByZWZyZXNoIGxhdGVyIC0+CiAgIHdyb25nIHZibGFuayBjb3VudC90aW1lc3Rh bXAgZm9yIGNvbXBsZXRpb24gYW5kIG5vCiAgIHBlcmZvcm1hbmNlIGdhaW4sIGFzIGluc3RlYWQg b2YgZGVsYXlpbmcgdGhlIGZsaXAgdW50aWwKICAgbmV4dCB2YmxhbmssIHdlIG5vdyBkZWxheSB0 aGUgbmV4dCBmbGlwIGJ5IDEgcmVmcmVzaAogICB3aGlsZSB3YWl0aW5nIGZvciB0aGUgZGVsYXll ZCBmbGlwIGNvbXBsZXRpb24gZXZlbnQuCgpHaXZlbiB3ZSBvZnRlbiBkb24ndCBnYWluIGFueXRo aW5nIGR1ZSB0byB0aGlzIHJhY2UsIGJ1dApsb3NlIHByZWNpc2lvbiwgcHJldmVudCB0aGUgcHJv Z3JhbW1lZCBmbGlwIGZyb20gZXhlY3V0aW5nCmluIHZibGFuayBvbiBwcmUgRENFNCBhc2ljcyB0 byBhdm9pZCB0aGlzIHJhY2UuCgpPbiBwcmUtQVZJVk8gaHcgd2UgY2FuJ3QgcHJvZ3JhbSB0aGUg aHcgZm9yIGVkZ2UtdHJpZ2dlcmVkCmZsaXBzLCB0aGV5IGFsd2F5cyBleGVjdXRlIGFueXdoZXJl IGluIHZibGFuay4gVGhlcmVmb3JlIGRlbGF5CnRoZSBhY3R1YWwgZmxpcCBwcm9ncmFtbWluZyB1 bnRpbCBhZnRlciB2Ymxhbmsgb24gcHJlLUFWSVZPLgoKU2lnbmVkLW9mZi1ieTogTWFyaW8gS2xl aW5lciA8bWFyaW8ua2xlaW5lci5kZUBnbWFpbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9hdG9tYmlvc19jcnRjLmMgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fZGlzcGxheS5jIHwgMTcgKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9y YWRlb24vcnY1MTUuYyAgICAgICAgICB8ICAzICsrLQogMyBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNl cnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL2F0b21iaW9zX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRvbWJpb3Nf Y3J0Yy5jCmluZGV4IGE0ZTlmMzUuLjc0Zjk5YmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vYXRvbWJpb3NfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRv bWJpb3NfY3J0Yy5jCkBAIC0xNjM4LDggKzE2MzgsOCBAQCBzdGF0aWMgaW50IGF2aXZvX2NydGNf ZG9fc2V0X2Jhc2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCVdSRUczMihBVklWT19EMU1PREVf VklFV1BPUlRfU0laRSArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCwKIAkgICAgICAgKHZpZXdw b3J0X3cgPDwgMTYpIHwgdmlld3BvcnRfaCk7CiAKLQkvKiBzZXQgcGFnZWZsaXAgdG8gaGFwcGVu IGFueXdoZXJlIGluIHZibGFuayBpbnRlcnZhbCAqLwotCVdSRUczMihBVklWT19EMU1PREVfTUFT VEVSX1VQREFURV9NT0RFICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0LCAwKTsKKwkvKiBzZXQg cGFnZWZsaXAgdG8gaGFwcGVuIG9ubHkgYXQgc3RhcnQgb2YgdmJsYW5rIGludGVydmFsIChmcm9u dCBwb3JjaCkgKi8KKwlXUkVHMzIoQVZJVk9fRDFNT0RFX01BU1RFUl9VUERBVEVfTU9ERSArIHJh ZGVvbl9jcnRjLT5jcnRjX29mZnNldCwgMyk7CiAKIAlpZiAoIWF0b21pYyAmJiBmYiAmJiBmYiAh PSBjcnRjLT5wcmltYXJ5LT5mYikgewogCQlyYWRlb25fZmIgPSB0b19yYWRlb25fZnJhbWVidWZm ZXIoZmIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGlzcGxh eS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGlzcGxheS5jCmluZGV4IDUwNzA2 NDYuLmI4YWIzMGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rp c3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kaXNwbGF5LmMKQEAg LTQ1MiwxNiArNDUyLDE5IEBAIHN0YXRpYyB2b2lkIHJhZGVvbl9mbGlwX3dvcmtfZnVuYyhzdHJ1 Y3Qgd29ya19zdHJ1Y3QgKl9fd29yaykKIAl9CiAKIAkvKiBXYWl0IHVudGlsIHdlJ3JlIG91dCBv ZiB0aGUgdmVydGljYWwgYmxhbmsgcGVyaW9kIGJlZm9yZSB0aGUgb25lCi0JICogdGFyZ2V0ZWQg YnkgdGhlIGZsaXAKKwkgKiB0YXJnZXRlZCBieSB0aGUgZmxpcC4gQWx3YXlzIHdhaXQgb24gcHJl IERDRTQgdG8gYXZvaWQgcmFjZXMgd2l0aAorCSAqIGZsaXAgY29tcGxldGlvbiBoYW5kbGluZyBm cm9tIHZibGFuayBpcnEsIGFzIHRoZXNlIG9sZCBhc2ljcyBkb24ndAorCSAqIGhhdmUgcmVsaWFi bGUgcGFnZWZsaXAgY29tcGxldGlvbiBpbnRlcnJ1cHRzLgogCSAqLwogCXdoaWxlIChyYWRlb25f Y3J0Yy0+ZW5hYmxlZCAmJgotCSAgICAgICAocmFkZW9uX2dldF9jcnRjX3NjYW5vdXRwb3MoZGV2 LCB3b3JrLT5jcnRjX2lkLCAwLAotCQkJCQkgICAmdnBvcywgJmhwb3MsIE5VTEwsIE5VTEwsCi0J CQkJCSAgICZjcnRjLT5od21vZGUpCisJCShyYWRlb25fZ2V0X2NydGNfc2Nhbm91dHBvcyhkZXYs IHdvcmstPmNydGNfaWQsIDAsCisJCQkJCSAgICAmdnBvcywgJmhwb3MsIE5VTEwsIE5VTEwsCisJ CQkJCSAgICAmY3J0Yy0+aHdtb2RlKQogCQkmIChEUk1fU0NBTk9VVFBPU19WQUxJRCB8IERSTV9T Q0FOT1VUUE9TX0lOX1ZCTEFOSykpID09Ci0JICAgICAgIChEUk1fU0NBTk9VVFBPU19WQUxJRCB8 IERSTV9TQ0FOT1VUUE9TX0lOX1ZCTEFOSykgJiYKLQkgICAgICAgKGludCkod29yay0+dGFyZ2V0 X3ZibGFuayAtCi0JCSAgICAgZGV2LT5kcml2ZXItPmdldF92YmxhbmtfY291bnRlcihkZXYsIHdv cmstPmNydGNfaWQpKSA+IDApCisJCShEUk1fU0NBTk9VVFBPU19WQUxJRCB8IERSTV9TQ0FOT1VU UE9TX0lOX1ZCTEFOSykgJiYKKwkJKCFBU0lDX0lTX0FWSVZPKHJkZXYpIHx8CisJCSgoaW50KSAo d29yay0+dGFyZ2V0X3ZibGFuayAtCisJCWRldi0+ZHJpdmVyLT5nZXRfdmJsYW5rX2NvdW50ZXIo ZGV2LCB3b3JrLT5jcnRjX2lkKSkgPiAwKSkpCiAJCXVzbGVlcF9yYW5nZSgxMDAwLCAyMDAwKTsK IAogCS8qIFdlIGJvcnJvdyB0aGUgZXZlbnQgc3BpbiBsb2NrIGZvciBwcm90ZWN0aW5nIGZsaXBf c3RhdHVzICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3J2NTE1LmMgYi9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3J2NTE1LmMKaW5kZXggNzZjNTVjNS4uYzU1ZDY1MyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ydjUxNS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcnY1MTUuYwpAQCAtNDA2LDggKzQwNiw5IEBAIHZvaWQgcnY1MTVfbWNfcmVz dW1lKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcnY1MTVfbWNfc2F2ZSAqc2F2 ZSkKIAlmb3IgKGkgPSAwOyBpIDwgcmRldi0+bnVtX2NydGM7IGkrKykgewogCQlpZiAoc2F2ZS0+ Y3J0Y19lbmFibGVkW2ldKSB7CiAJCQl0bXAgPSBSUkVHMzIoQVZJVk9fRDFNT0RFX01BU1RFUl9V UERBVEVfTU9ERSArIGNydGNfb2Zmc2V0c1tpXSk7Ci0JCQlpZiAoKHRtcCAmIDB4NykgIT0gMCkg eworCQkJaWYgKCh0bXAgJiAweDcpICE9IDMpIHsKIAkJCQl0bXAgJj0gfjB4NzsKKwkJCQl0bXAg fD0gMHgzOwogCQkJCVdSRUczMihBVklWT19EMU1PREVfTUFTVEVSX1VQREFURV9NT0RFICsgY3J0 Y19vZmZzZXRzW2ldLCB0bXApOwogCQkJfQogCQkJdG1wID0gUlJFRzMyKEFWSVZPX0QxR1JQSF9V UERBVEUgKyBjcnRjX29mZnNldHNbaV0pOwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=