From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Ekstrand Subject: [PATCH 2/9] drm/syncobj: Add a race-free drm_syncobj_fence_get helper Date: Fri, 11 Aug 2017 15:39:27 -0700 Message-ID: <1502491174-10913-3-git-send-email-jason.ekstrand@intel.com> References: <1502232369-19753-1-git-send-email-jason.ekstrand@intel.com> <1502491174-10913-1-git-send-email-jason.ekstrand@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pf0-x243.google.com (mail-pf0-x243.google.com [IPv6:2607:f8b0:400e:c00::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 17AD56E760 for ; Fri, 11 Aug 2017 22:39:46 +0000 (UTC) Received: by mail-pf0-x243.google.com with SMTP id c65so4536319pfl.0 for ; Fri, 11 Aug 2017 15:39:46 -0700 (PDT) In-Reply-To: <1502491174-10913-1-git-send-email-jason.ekstrand@intel.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: Jason Ekstrand , Jason Ekstrand List-Id: dri-devel@lists.freedesktop.org VGhlIGF0b21pYyBleGNoYW5nZSBvcGVyYXRpb24gaW4gZHJtX3N5bmNvYmpfcmVwbGFjZV9mZW5j ZSBpcyBzdWZmaWNpZW50CmZvciB0aGUgY2FzZSB3aGVyZSBpdCByYWNlcyB3aXRoIGl0c2VsZi4g IEhvd2V2ZXIsIGlmIHlvdSBoYXZlIGEgcmFjZQpiZXR3ZWVuIGEgcmVwbGFjZV9mZW5jZSBhbmQg ZG1hX2ZlbmNlX2dldChzeW5jb2JqLT5mZW5jZSksIHlvdSBtYXkgZW5kCnVwIHdpdGggdGhlIGVu dGlyZSByZXBsYWNlX2ZlbmNlIGhhcHBlbmluZyBiZXR3ZWVuIHRoZSBwb2ludCBpbiB0aW1lCndo ZXJlIHRoZSBvbmUgdGhyZWFkIGdldHMgdGhlIHN5bmNvYmotPmZlbmNlIHBvaW50ZXIgYW5kIHdo ZW4gaXQgY2FsbHMKZG1hX2ZlbmNlX2dldCgpIG9uIGl0LiAgSWYgdGhpcyBoYXBwZW5zLCB0aGVu IHRoZSByZWZlcmVuY2UgbWF5IGJlCmRyb3BwZWQgYmVmb3JlIHdlIGdldCBhIGNoYW5jZSB0byBn ZXQgYSBuZXcgb25lLiAgVGhlIG5ldyBoZWxwZXIgdXNlcwpkbWFfZmVuY2VfZ2V0X3JjdV9zYWZl IHRvIGdldCByaWQgb2YgdGhlIHJhY2UuCgpUaGlzIGlzIGFsc28gbmVlZGVkIGJlY2F1c2UgaXQg YWxsb3dzIHVzIHRvIGRvIGEgYml0IG1vcmUgdGhhbiBqdXN0IGdldAphIHJlZmVyZW5jZSBpbiBk cm1fc3luY29ial9mZW5jZV9nZXQgc2hvdWxkIHdlIHdpc2ggdG8gZG8gc28uCgpTaWduZWQtb2Zm LWJ5OiBKYXNvbiBFa3N0cmFuZCA8amFzb25Aamxla3N0cmFuZC5uZXQ+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2RybV9zeW5jb2JqLmMgfCAxMiArKysrKysrKystLS0KIGluY2x1ZGUvZHJtL2RybV9z eW5jb2JqLmggICAgIHwgIDYgKysrKystCiAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5j b2JqLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYwppbmRleCAwNDEyYjBiLi4wMTkw ZWMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYwpAQCAtNzUsNiArNzUsMTIgQEAgc3RydWN0IGRybV9z eW5jb2JqICpkcm1fc3luY29ial9maW5kKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlLAog fQogRVhQT1JUX1NZTUJPTChkcm1fc3luY29ial9maW5kKTsKIAorc3RydWN0IGRtYV9mZW5jZSAq ZHJtX3N5bmNvYmpfZmVuY2VfZ2V0KHN0cnVjdCBkcm1fc3luY29iaiAqc3luY29iaikKK3sKKwly ZXR1cm4gZG1hX2ZlbmNlX2dldF9yY3Vfc2FmZSgmc3luY29iai0+X2ZlbmNlKTsKK30KK0VYUE9S VF9TWU1CT0woZHJtX3N5bmNvYmpfZmVuY2VfZ2V0KTsKKwogLyoqCiAgKiBkcm1fc3luY29ial9y ZXBsYWNlX2ZlbmNlIC0gcmVwbGFjZSBmZW5jZSBpbiBhIHN5bmMgb2JqZWN0LgogICogQHN5bmNv Ymo6IFN5bmMgb2JqZWN0IHRvIHJlcGxhY2UgZmVuY2UgaW4KQEAgLTg5LDcgKzk1LDcgQEAgdm9p ZCBkcm1fc3luY29ial9yZXBsYWNlX2ZlbmNlKHN0cnVjdCBkcm1fc3luY29iaiAqc3luY29iaiwK IAogCWlmIChmZW5jZSkKIAkJZG1hX2ZlbmNlX2dldChmZW5jZSk7Ci0Jb2xkX2ZlbmNlID0geGNo Zygmc3luY29iai0+ZmVuY2UsIGZlbmNlKTsKKwlvbGRfZmVuY2UgPSB4Y2hnKCZzeW5jb2JqLT5f ZmVuY2UsIGZlbmNlKTsKIAogCWRtYV9mZW5jZV9wdXQob2xkX2ZlbmNlKTsKIH0KQEAgLTEwNSw3 ICsxMTEsNyBAQCBpbnQgZHJtX3N5bmNvYmpfZmluZF9mZW5jZShzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGVfcHJpdmF0ZSwKIAlpZiAoIXN5bmNvYmopCiAJCXJldHVybiAtRU5PRU5UOwogCi0JKmZlbmNl ID0gZG1hX2ZlbmNlX2dldChzeW5jb2JqLT5mZW5jZSk7CisJKmZlbmNlID0gZHJtX3N5bmNvYmpf ZmVuY2VfZ2V0KHN5bmNvYmopOwogCWlmICghKmZlbmNlKSB7CiAJCXJldCA9IC1FSU5WQUw7CiAJ fQpAQCAtMTI1LDcgKzEzMSw3IEBAIHZvaWQgZHJtX3N5bmNvYmpfZnJlZShzdHJ1Y3Qga3JlZiAq a3JlZikKIAlzdHJ1Y3QgZHJtX3N5bmNvYmogKnN5bmNvYmogPSBjb250YWluZXJfb2Yoa3JlZiwK IAkJCQkJCSAgIHN0cnVjdCBkcm1fc3luY29iaiwKIAkJCQkJCSAgIHJlZmNvdW50KTsKLQlkbWFf ZmVuY2VfcHV0KHN5bmNvYmotPmZlbmNlKTsKKwlkbWFfZmVuY2VfcHV0KHN5bmNvYmotPl9mZW5j ZSk7CiAJa2ZyZWUoc3luY29iaik7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9zeW5jb2JqX2ZyZWUp OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3N5bmNvYmouaCBiL2luY2x1ZGUvZHJtL2Ry bV9zeW5jb2JqLmgKaW5kZXggN2Q0YWQ3Ny4uYzA2YTQ0MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9k cm0vZHJtX3N5bmNvYmouaAorKysgYi9pbmNsdWRlL2RybS9kcm1fc3luY29iai5oCkBAIC00Myw4 ICs0MywxMSBAQCBzdHJ1Y3QgZHJtX3N5bmNvYmogewogCS8qKgogCSAqIEBmZW5jZToKIAkgKiBO VUxMIG9yIGEgcG9pbnRlciB0byB0aGUgZmVuY2UgYm91bmQgdG8gdGhpcyBvYmplY3QuCisJICoK KwkgKiBUaGlzIHBvaW50ZXIgc2hvdWxkIG5vdCBiZSBhY2Nlc3NlZCBkaXJlY3RseS4gIEluc3Rl YWQsIHVzZQorCSAqIGRybV9zeW5jb2JqX2ZlbmNlX2dldCBvciBkcm1fc3luY29ial9yZXBsYWNl X2ZlbmNlLgogCSAqLwotCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOworCXN0cnVjdCBkbWFfZmVu Y2UgKl9mZW5jZTsKIAkvKioKIAkgKiBAZmlsZToKIAkgKiBhIGZpbGUgYmFja2luZyBmb3IgdGhp cyBzeW5jb2JqLgpAQCAtNzksNiArODIsNyBAQCBkcm1fc3luY29ial9wdXQoc3RydWN0IGRybV9z eW5jb2JqICpvYmopCiAKIHN0cnVjdCBkcm1fc3luY29iaiAqZHJtX3N5bmNvYmpfZmluZChzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSwKIAkJCQkgICAgIHUzMiBoYW5kbGUpOworc3RydWN0 IGRtYV9mZW5jZSAqZHJtX3N5bmNvYmpfZmVuY2VfZ2V0KHN0cnVjdCBkcm1fc3luY29iaiAqc3lu Y29iaik7CiB2b2lkIGRybV9zeW5jb2JqX3JlcGxhY2VfZmVuY2Uoc3RydWN0IGRybV9zeW5jb2Jq ICpzeW5jb2JqLAogCQkJICAgICAgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKTsKIGludCBkcm1f c3luY29ial9maW5kX2ZlbmNlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlLAotLSAKMi41 LjAuNDAwLmdmZjg2ZmFmCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK