From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH 2/3] drm/nouveau: Support fence FDs at kickoff Date: Thu, 11 Jan 2018 23:15:45 +0100 Message-ID: <20180111221546.28547-3-thierry.reding@gmail.com> References: <20180111221546.28547-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180111221546.28547-1-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Ben Skeggs Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KCkFkZCBhIG5ldyBOT1VW RUFVX0dFTV9QVVNIQlVGMiBJT0NUTCB0aGF0IGFjY2VwdHMgYW5kIGVtaXRzIGEgc3luYyBmZW5j ZQpGRCBmcm9tL3RvIHVzZXJzcGFjZSBpZiByZXF1ZXN0ZWQgYnkgdGhlIGNvcnJlc3BvbmRpbmcg ZmxhZ3MuCgpCYXNlZCBoZWF2aWx5IG9uIHdvcmsgYnkgTGF1cmkgUGVsdG9uZW4gPGxwZWx0b25l bkBudmlkaWEuY29tPgoKU2lnbmVkLW9mZi1ieTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZp ZGlhLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2RybS5jIHwgIDEg KwogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9nZW0uYyB8IDc4ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1 X2dlbS5oIHwgIDIgKwogaW5jbHVkZS91YXBpL2RybS9ub3V2ZWF1X2RybS5oICAgICAgICB8IDE0 ICsrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgOTEgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2RybS5jIGIv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcm0uYwppbmRleCAzY2UyZjAyZTllNTgu LmIzODUwMGE2NDIzNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVh dV9kcm0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2RybS5jCkBAIC0x MDEyLDYgKzEwMTIsNyBAQCBub3V2ZWF1X2lvY3Rsc1tdID0gewogCURSTV9JT0NUTF9ERUZfRFJW KE5PVVZFQVVfR0VNX0NQVV9QUkVQLCBub3V2ZWF1X2dlbV9pb2N0bF9jcHVfcHJlcCwgRFJNX0FV VEh8RFJNX1JFTkRFUl9BTExPVyksCiAJRFJNX0lPQ1RMX0RFRl9EUlYoTk9VVkVBVV9HRU1fQ1BV X0ZJTkksIG5vdXZlYXVfZ2VtX2lvY3RsX2NwdV9maW5pLCBEUk1fQVVUSHxEUk1fUkVOREVSX0FM TE9XKSwKIAlEUk1fSU9DVExfREVGX0RSVihOT1VWRUFVX0dFTV9JTkZPLCBub3V2ZWF1X2dlbV9p b2N0bF9pbmZvLCBEUk1fQVVUSHxEUk1fUkVOREVSX0FMTE9XKSwKKwlEUk1fSU9DVExfREVGX0RS VihOT1VWRUFVX0dFTV9QVVNIQlVGMiwgbm91dmVhdV9nZW1faW9jdGxfcHVzaGJ1ZjIsIERSTV9B VVRIfERSTV9SRU5ERVJfQUxMT1cpLAogfTsKIAogbG9uZwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL25vdXZlYXUvbm91dmVhdV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25v dXZlYXVfZ2VtLmMKaW5kZXggZWE1ZTU1NTUxY2JkLi5hZDVjOTM5YjRmMzMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL25vdXZlYXUvbm91dmVhdV9nZW0uYwpAQCAtMjQsNiArMjQsOCBAQAogICoKICAqLwogCisj aW5jbHVkZSA8bGludXgvc3luY19maWxlLmg+CisKICNpbmNsdWRlICJub3V2ZWF1X2Rydi5oIgog I2luY2x1ZGUgIm5vdXZlYXVfZG1hLmgiCiAjaW5jbHVkZSAibm91dmVhdV9mZW5jZS5oIgpAQCAt NjY2LDIyICs2NjgsMjggQEAgbm91dmVhdV9nZW1fcHVzaGJ1Zl9yZWxvY19hcHBseShzdHJ1Y3Qg bm91dmVhdV9jbGkgKmNsaSwKIAlyZXR1cm4gcmV0OwogfQogCi1pbnQKLW5vdXZlYXVfZ2VtX2lv Y3RsX3B1c2hidWYoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKLQkJCSAgc3Ry dWN0IGRybV9maWxlICpmaWxlX3ByaXYpCitzdGF0aWMgaW50CitfX25vdXZlYXVfZ2VtX2lvY3Rs X3B1c2hidWYoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCSAgICBzdHJ1Y3QgZHJtX25vdXZl YXVfZ2VtX3B1c2hidWYyICpyZXF1ZXN0LAorCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9w cml2KQogewogCXN0cnVjdCBub3V2ZWF1X2FiaTE2ICphYmkxNiA9IG5vdXZlYXVfYWJpMTZfZ2V0 KGZpbGVfcHJpdik7CiAJc3RydWN0IG5vdXZlYXVfY2xpICpjbGkgPSBub3V2ZWF1X2NsaShmaWxl X3ByaXYpOwogCXN0cnVjdCBub3V2ZWF1X2FiaTE2X2NoYW4gKnRlbXA7CiAJc3RydWN0IG5vdXZl YXVfZHJtICpkcm0gPSBub3V2ZWF1X2RybShkZXYpOwotCXN0cnVjdCBkcm1fbm91dmVhdV9nZW1f cHVzaGJ1ZiAqcmVxID0gZGF0YTsKKwlzdHJ1Y3QgZHJtX25vdXZlYXVfZ2VtX3B1c2hidWYgKnJl cSA9ICZyZXF1ZXN0LT5iYXNlOwogCXN0cnVjdCBkcm1fbm91dmVhdV9nZW1fcHVzaGJ1Zl9wdXNo ICpwdXNoOwogCXN0cnVjdCBkcm1fbm91dmVhdV9nZW1fcHVzaGJ1Zl9ibyAqYm87CiAJc3RydWN0 IG5vdXZlYXVfY2hhbm5lbCAqY2hhbiA9IE5VTEw7CiAJc3RydWN0IHZhbGlkYXRlX29wIG9wOwog CXN0cnVjdCBub3V2ZWF1X2ZlbmNlICpmZW5jZSA9IE5VTEw7CisJc3RydWN0IGRtYV9mZW5jZSAq cHJlZmVuY2UgPSBOVUxMOwogCWludCBpLCBqLCByZXQgPSAwLCBkb19yZWxvYyA9IDA7CiAKKwkv KiBjaGVjayBmb3IgdW5yZWNvZ25pemVkIGZsYWdzICovCisJaWYgKHJlcXVlc3QtPmZsYWdzICYg fk5PVVZFQVVfR0VNX1BVU0hCVUZfRkxBR1MpCisJCXJldHVybiAtRUlOVkFMOworCiAJaWYgKHVu bGlrZWx5KCFhYmkxNikpCiAJCXJldHVybiAtRU5PTUVNOwogCkBAIC03NDYsNiArNzU0LDE1IEBA IG5vdXZlYXVfZ2VtX2lvY3RsX3B1c2hidWYoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKIAkJZ290byBvdXRfcHJldmFsaWQ7CiAJfQogCisJaWYgKHJlcXVlc3QtPmZsYWdzICYg Tk9VVkVBVV9HRU1fUFVTSEJVRl9GRU5DRV9XQUlUKSB7CisJCXByZWZlbmNlID0gc3luY19maWxl X2dldF9mZW5jZShyZXF1ZXN0LT5mZW5jZSk7CisJCWlmIChwcmVmZW5jZSkgeworCQkJcmV0ID0g bm91dmVhdV9mZW5jZV9zeW5jKHByZWZlbmNlLCBjaGFuLCB0cnVlKTsKKwkJCWlmIChyZXQgPCAw KQorCQkJCWdvdG8gb3V0OworCQl9CisJfQorCiAJLyogQXBwbHkgYW55IHJlbG9jYXRpb25zIHRo YXQgYXJlIHJlcXVpcmVkICovCiAJaWYgKGRvX3JlbG9jKSB7CiAJCXJldCA9IG5vdXZlYXVfZ2Vt X3B1c2hidWZfcmVsb2NfYXBwbHkoY2xpLCByZXEsIGJvKTsKQEAgLTgzMCw3ICs4NDcsMzAgQEAg bm91dmVhdV9nZW1faW9jdGxfcHVzaGJ1ZihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAogCQlnb3RvIG91dDsKIAl9CiAKKwlpZiAocmVxdWVzdC0+ZmxhZ3MgJiBOT1VWRUFVX0dF TV9QVVNIQlVGX0ZFTkNFX0VNSVQpIHsKKwkJc3RydWN0IHN5bmNfZmlsZSAqZmlsZTsKKwkJaW50 IGZkOworCisJCWZkID0gZ2V0X3VudXNlZF9mZF9mbGFncyhPX0NMT0VYRUMpOworCQlpZiAoZmQg PCAwKSB7CisJCQlyZXQgPSBmZDsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJZmlsZSA9IHN5bmNf ZmlsZV9jcmVhdGUoJmZlbmNlLT5iYXNlKTsKKwkJaWYgKCFmaWxlKSB7CisJCQlwdXRfdW51c2Vk X2ZkKGZkKTsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJZmRfaW5zdGFsbChmZCwgZmlsZS0+Zmls ZSk7CisJCXJlcXVlc3QtPmZlbmNlID0gZmQ7CisJfQorCiBvdXQ6CisJaWYgKHByZWZlbmNlKQor CQlkbWFfZmVuY2VfcHV0KHByZWZlbmNlKTsKKwogCXZhbGlkYXRlX2ZpbmkoJm9wLCBmZW5jZSwg Ym8pOwogCW5vdXZlYXVfZmVuY2VfdW5yZWYoJmZlbmNlKTsKIApAQCAtODU1LDYgKzg5NSwyNyBA QCBub3V2ZWF1X2dlbV9pb2N0bF9wdXNoYnVmKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCiAJcmV0dXJuIG5vdXZlYXVfYWJpMTZfcHV0KGFiaTE2LCByZXQpOwogfQogCitpbnQK K25vdXZlYXVfZ2VtX2lvY3RsX3B1c2hidWYoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKKwkJCSAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCit7CisJc3RydWN0IGRybV9u b3V2ZWF1X2dlbV9wdXNoYnVmICpyZXF1ZXN0ID0gZGF0YTsKKwlzdHJ1Y3QgZHJtX25vdXZlYXVf Z2VtX3B1c2hidWYyIHJlcTsKKwlpbnQgcmV0OworCisJbWVtc2V0KCZyZXEsIDAsIHNpemVvZihy ZXEpKTsKKwltZW1jcHkoJnJlcS5iYXNlLCByZXF1ZXN0LCBzaXplb2YoKnJlcXVlc3QpKTsKKwor CXJldCA9IF9fbm91dmVhdV9nZW1faW9jdGxfcHVzaGJ1ZihkZXYsICZyZXEsIGZpbGVfcHJpdik7 CisKKwlyZXF1ZXN0LT5nYXJ0X2F2YWlsYWJsZSA9IHJlcS5iYXNlLmdhcnRfYXZhaWxhYmxlOwor CXJlcXVlc3QtPnZyYW1fYXZhaWxhYmxlID0gcmVxLmJhc2UudnJhbV9hdmFpbGFibGU7CisJcmVx dWVzdC0+c3VmZml4MSA9IHJlcS5iYXNlLnN1ZmZpeDE7CisJcmVxdWVzdC0+c3VmZml4MCA9IHJl cS5iYXNlLnN1ZmZpeDA7CisKKwlyZXR1cm4gcmV0OworfQorCiBpbnQKIG5vdXZlYXVfZ2VtX2lv Y3RsX2NwdV9wcmVwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkgICBz dHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKQEAgLTkyMiwzICs5ODMsMTIgQEAgbm91dmVhdV9n ZW1faW9jdGxfaW5mbyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCXJldHVy biByZXQ7CiB9CiAKK2ludAorbm91dmVhdV9nZW1faW9jdGxfcHVzaGJ1ZjIoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKKwkJCSAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2 KQoreworCXN0cnVjdCBkcm1fbm91dmVhdV9nZW1fcHVzaGJ1ZjIgKnJlcSA9IGRhdGE7CisKKwly ZXR1cm4gX19ub3V2ZWF1X2dlbV9pb2N0bF9wdXNoYnVmKGRldiwgcmVxLCBmaWxlX3ByaXYpOwor fQorCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2dlbS5oIGIv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9nZW0uaAppbmRleCBlYjU1YzFlYjFkOWYu LjNjOThiMGY4N2M0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVh dV9nZW0uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2dlbS5oCkBAIC0z MSw2ICszMSw4IEBAIGV4dGVybiBpbnQgbm91dmVhdV9nZW1faW9jdGxfY3B1X2Zpbmkoc3RydWN0 IGRybV9kZXZpY2UgKiwgdm9pZCAqLAogCQkJCSAgICAgIHN0cnVjdCBkcm1fZmlsZSAqKTsKIGV4 dGVybiBpbnQgbm91dmVhdV9nZW1faW9jdGxfaW5mbyhzdHJ1Y3QgZHJtX2RldmljZSAqLCB2b2lk ICosCiAJCQkJICBzdHJ1Y3QgZHJtX2ZpbGUgKik7CitleHRlcm4gaW50IG5vdXZlYXVfZ2VtX2lv Y3RsX3B1c2hidWYyKHN0cnVjdCBkcm1fZGV2aWNlICosIHZvaWQgKiwKKwkJCQkgICAgICBzdHJ1 Y3QgZHJtX2ZpbGUgKik7CiAKIHN0cnVjdCBkbWFfYnVmICpub3V2ZWF1X2dlbV9wcmltZV9leHBv cnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkJIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq b2JqLApkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9ub3V2ZWF1X2RybS5oIGIvaW5jbHVk ZS91YXBpL2RybS9ub3V2ZWF1X2RybS5oCmluZGV4IDI1OTU4OGE0YjYxYi4uZTUwZTY1NTE1MzAz IDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvZHJtL25vdXZlYXVfZHJtLmgKKysrIGIvaW5jbHVk ZS91YXBpL2RybS9ub3V2ZWF1X2RybS5oCkBAIC0xMTQsNiArMTE0LDE4IEBAIHN0cnVjdCBkcm1f bm91dmVhdV9nZW1fcHVzaGJ1ZiB7CiAJX191NjQgZ2FydF9hdmFpbGFibGU7CiB9OwogCisjZGVm aW5lIE5PVVZFQVVfR0VNX1BVU0hCVUZfRkVOQ0VfV0FJVCAoMSA8PCAwKQorI2RlZmluZSBOT1VW RUFVX0dFTV9QVVNIQlVGX0ZFTkNFX0VNSVQgKDEgPDwgMSkKKyNkZWZpbmUgTk9VVkVBVV9HRU1f UFVTSEJVRl9GTEFHUyAoTk9VVkVBVV9HRU1fUFVTSEJVRl9GRU5DRV9XQUlUIHwgXAorCQkJCSAg IE5PVVZFQVVfR0VNX1BVU0hCVUZfRkVOQ0VfRU1JVCkKKworc3RydWN0IGRybV9ub3V2ZWF1X2dl bV9wdXNoYnVmMiB7CisJc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9wdXNoYnVmIGJhc2U7CisJX191 MzIgZmxhZ3M7CisJX19zMzIgZmVuY2U7CisJX191NjQgcmVzZXJ2ZWQ7Cit9OworCiAjZGVmaW5l IE5PVVZFQVVfR0VNX0NQVV9QUkVQX05PV0FJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAwMDAwMDAxCiAjZGVmaW5lIE5PVVZFQVVfR0VNX0NQVV9QUkVQX1dSSVRFICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA0CiBzdHJ1Y3QgZHJtX25vdXZl YXVfZ2VtX2NwdV9wcmVwIHsKQEAgLTEzOCwxMiArMTUwLDE0IEBAIHN0cnVjdCBkcm1fbm91dmVh dV9nZW1fY3B1X2ZpbmkgewogI2RlZmluZSBEUk1fTk9VVkVBVV9HRU1fQ1BVX1BSRVAgICAgICAg MHg0MgogI2RlZmluZSBEUk1fTk9VVkVBVV9HRU1fQ1BVX0ZJTkkgICAgICAgMHg0MwogI2RlZmlu ZSBEUk1fTk9VVkVBVV9HRU1fSU5GTyAgICAgICAgICAgMHg0NAorI2RlZmluZSBEUk1fTk9VVkVB VV9HRU1fUFVTSEJVRjIgICAgICAgMHg0NQogCiAjZGVmaW5lIERSTV9JT0NUTF9OT1VWRUFVX0dF TV9ORVcgICAgICAgICAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX05PVVZFQVVf R0VNX05FVywgc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9uZXcpCiAjZGVmaW5lIERSTV9JT0NUTF9O T1VWRUFVX0dFTV9QVVNIQlVGICAgICAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJN X05PVVZFQVVfR0VNX1BVU0hCVUYsIHN0cnVjdCBkcm1fbm91dmVhdV9nZW1fcHVzaGJ1ZikKICNk ZWZpbmUgRFJNX0lPQ1RMX05PVVZFQVVfR0VNX0NQVV9QUkVQICAgICAgIERSTV9JT1cgKERSTV9D T01NQU5EX0JBU0UgKyBEUk1fTk9VVkVBVV9HRU1fQ1BVX1BSRVAsIHN0cnVjdCBkcm1fbm91dmVh dV9nZW1fY3B1X3ByZXApCiAjZGVmaW5lIERSTV9JT0NUTF9OT1VWRUFVX0dFTV9DUFVfRklOSSAg ICAgICBEUk1fSU9XIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX05PVVZFQVVfR0VNX0NQVV9GSU5J LCBzdHJ1Y3QgZHJtX25vdXZlYXVfZ2VtX2NwdV9maW5pKQogI2RlZmluZSBEUk1fSU9DVExfTk9V VkVBVV9HRU1fSU5GTyAgICAgICAgICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9O T1VWRUFVX0dFTV9JTkZPLCBzdHJ1Y3QgZHJtX25vdXZlYXVfZ2VtX2luZm8pCisjZGVmaW5lIERS TV9JT0NUTF9OT1VWRUFVX0dFTV9QVVNIQlVGMiAgICAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9C QVNFICsgRFJNX05PVVZFQVVfR0VNX1BVU0hCVUYyLCBzdHJ1Y3QgZHJtX25vdXZlYXVfZ2VtX3B1 c2hidWYyKQogCiAjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKIH0KLS0gCjIuMTUuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91dmVhdSBtYWlsaW5n IGxpc3QKTm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9ub3V2ZWF1Cg==