From mboxrd@z Thu Jan 1 00:00:00 1970 From: Qiang Yu Subject: [PATCH v2 1/6] drm/gem: refine drm_gem_objects_lookup Date: Fri, 27 Sep 2019 21:46:11 +0800 Message-ID: <20190927134616.21899-2-yuq825@gmail.com> References: <20190927134616.21899-1-yuq825@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190927134616.21899-1-yuq825@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: Tomeu Vizoso , lima@lists.freedesktop.org, Maxime Ripard , Steven Price , David Airlie , Qiang Yu , Sean Paul , Alyssa Rosenzweig List-Id: dri-devel@lists.freedesktop.org ZHJtX2dlbV9vYmplY3RzX2xvb2t1cCBkb2VzIG5vdCB1c2UgdXNlciBzcGFjZSBibyBoYW5kbGVz CmRpcmVjdGx5IGFuZCBsZWZ0IHRoZSB1c2VyIHRvIGtlcm5lbCBjb3B5IHdvcmsgdG8gYSBuZXcK aW50ZXJmYWNlIGRybV9nZW1fb2JqZWN0c19sb29rdXBfdXNlci4KClRoaXMgaXMgZm9yIGRyaXZl ciBsaWtlIGxpbWEgd2hpY2ggZG9lcyBub3QgcGFzcyBnZW0gYm8KaGFuZGxlcyBjb250aW5vdXNs eSBpbiBhbiBhcnJheSBpbiBpb2N0bCBhcmd1bWVudC4KCnYyOgoxLiBhZGQgZHJtX2dlbV9vYmpl Y3RzX2xvb2t1cF91c2VyCjIuIHJlbW92ZSBub25lLXplcm8gY2hlY2sgYXMgYWxsIGNhbGxlciB3 aWxsIGNoZWNrIGJlZm9yZQogICBjYWxsaW5nIHRoaXMgZnVuY3Rpb24KCkNjOiBSb2IgSGVycmlu ZyA8cm9iaEBrZXJuZWwub3JnPgpDYzogVG9tZXUgVml6b3NvIDx0b21ldS52aXpvc29AY29sbGFi b3JhLmNvbT4KQ2M6IFN0ZXZlbiBQcmljZSA8c3RldmVuLnByaWNlQGFybS5jb20+CkNjOiBBbHlz c2EgUm9zZW56d2VpZyA8YWx5c3NhLnJvc2VuendlaWdAY29sbGFib3JhLmNvbT4KU3VnZ2VzdGVk LWJ5OiBSb2IgSGVycmluZyA8cm9iaEBrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBRaWFuZyBZ dSA8eXVxODI1QGdtYWlsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2dlbS5jICAgICAg ICAgICAgICAgfCA1NyArKysrKysrKysrKysrKysrKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v cGFuZnJvc3QvcGFuZnJvc3RfZHJ2LmMgfCAgNiArLS0KIGluY2x1ZGUvZHJtL2RybV9nZW0uaCAg ICAgICAgICAgICAgICAgICB8ICA0ICstCiAzIGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMo KyksIDE4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2Vt LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2dlbS5jCmluZGV4IDY4NTRmNTg2N2Q1MS4uYTVlODhj M2U2ZDI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2dlbS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fZ2VtLmMKQEAgLTY3OSwxMSArNjc5LDExIEBAIHN0YXRpYyBpbnQgb2Jq ZWN0c19sb29rdXAoc3RydWN0IGRybV9maWxlICpmaWxwLCB1MzIgKmhhbmRsZSwgaW50IGNvdW50 LAogLyoqCiAgKiBkcm1fZ2VtX29iamVjdHNfbG9va3VwIC0gbG9vayB1cCBHRU0gb2JqZWN0cyBm cm9tIGFuIGFycmF5IG9mIGhhbmRsZXMKICAqIEBmaWxwOiBEUk0gZmlsZSBwcml2YXRlIGRhdGUK LSAqIEBib19oYW5kbGVzOiB1c2VyIHBvaW50ZXIgdG8gYXJyYXkgb2YgdXNlcnNwYWNlIGhhbmRs ZQorICogQGJvX2hhbmRsZXM6IGFycmF5IG9mIEdFTSBvYmplY3QgaGFuZGxlcwogICogQGNvdW50 OiBzaXplIG9mIGhhbmRsZSBhcnJheQogICogQG9ianNfb3V0OiByZXR1cm5lZCBwb2ludGVyIHRv IGFycmF5IG9mIGRybV9nZW1fb2JqZWN0IHBvaW50ZXJzCiAgKgotICogVGFrZXMgYW4gYXJyYXkg b2YgdXNlcnNwYWNlIGhhbmRsZXMgYW5kIHJldHVybnMgYSBuZXdseSBhbGxvY2F0ZWQgYXJyYXkg b2YKKyAqIFRha2VzIGFuIGFycmF5IG9mIEdFTSBvYmplY3QgaGFuZGxlcyBhbmQgcmV0dXJucyBh IG5ld2x5IGFsbG9jYXRlZCBhcnJheSBvZgogICogR0VNIG9iamVjdHMuCiAgKgogICogRm9yIGEg c2luZ2xlIGhhbmRsZSBsb29rdXAsIHVzZSBkcm1fZ2VtX29iamVjdF9sb29rdXAoKS4KQEAgLTY5 NSwyNiArNjk1LDU2IEBAIHN0YXRpYyBpbnQgb2JqZWN0c19sb29rdXAoc3RydWN0IGRybV9maWxl ICpmaWxwLCB1MzIgKmhhbmRsZSwgaW50IGNvdW50LAogICogZmFpbHVyZS4gMCBpcyByZXR1cm5l ZCBvbiBzdWNjZXNzLgogICoKICAqLwotaW50IGRybV9nZW1fb2JqZWN0c19sb29rdXAoc3RydWN0 IGRybV9maWxlICpmaWxwLCB2b2lkIF9fdXNlciAqYm9faGFuZGxlcywKK2ludCBkcm1fZ2VtX29i amVjdHNfbG9va3VwKHN0cnVjdCBkcm1fZmlsZSAqZmlscCwgdTMyICpib19oYW5kbGVzLAogCQkJ ICAgaW50IGNvdW50LCBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKioqb2Jqc19vdXQpCiB7CiAJaW50 IHJldDsKLQl1MzIgKmhhbmRsZXM7CiAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICoqb2JqczsKIAot CWlmICghY291bnQpCi0JCXJldHVybiAwOwotCiAJb2JqcyA9IGt2bWFsbG9jX2FycmF5KGNvdW50 LCBzaXplb2Yoc3RydWN0IGRybV9nZW1fb2JqZWN0ICopLAogCQkJICAgICBHRlBfS0VSTkVMIHwg X19HRlBfWkVSTyk7CiAJaWYgKCFvYmpzKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCXJldCA9IG9i amVjdHNfbG9va3VwKGZpbHAsIGJvX2hhbmRsZXMsIGNvdW50LCBvYmpzKTsKKwlpZiAocmV0KQor CQlrdmZyZWUob2Jqcyk7CisJZWxzZQorCQkqb2Jqc19vdXQgPSBvYmpzOworCisJcmV0dXJuIHJl dDsKKworfQorRVhQT1JUX1NZTUJPTChkcm1fZ2VtX29iamVjdHNfbG9va3VwKTsKKworLyoqCisg KiBkcm1fZ2VtX29iamVjdHNfbG9va3VwX3VzZXIgLSBsb29rIHVwIEdFTSBvYmplY3RzIGZyb20g YW4gYXJyYXkgb2YgaGFuZGxlcworICogQGZpbHA6IERSTSBmaWxlIHByaXZhdGUgZGF0ZQorICog QGJvX2hhbmRsZXM6IHVzZXIgcG9pbnRlciB0byBhcnJheSBvZiB1c2Vyc3BhY2UgaGFuZGxlCisg KiBAY291bnQ6IHNpemUgb2YgaGFuZGxlIGFycmF5CisgKiBAb2Jqc19vdXQ6IHJldHVybmVkIHBv aW50ZXIgdG8gYXJyYXkgb2YgZHJtX2dlbV9vYmplY3QgcG9pbnRlcnMKKyAqCisgKiBUYWtlcyBh biBhcnJheSBvZiB1c2Vyc3BhY2UgaGFuZGxlcyBhbmQgcmV0dXJucyBhIG5ld2x5IGFsbG9jYXRl ZCBhcnJheSBvZgorICogR0VNIG9iamVjdHMuCisgKgorICogRm9yIGEgc2luZ2xlIGhhbmRsZSBs b29rdXAsIHVzZSBkcm1fZ2VtX29iamVjdF9sb29rdXAoKS4KKyAqCisgKiBSZXR1cm5zOgorICoK KyAqIEBvYmpzIGZpbGxlZCBpbiB3aXRoIEdFTSBvYmplY3QgcG9pbnRlcnMuIFJldHVybmVkIEdF TSBvYmplY3RzIG5lZWQgdG8gYmUKKyAqIHJlbGVhc2VkIHdpdGggZHJtX2dlbV9vYmplY3RfcHV0 KCkuIC1FTk9FTlQgaXMgcmV0dXJuZWQgb24gYSBsb29rdXAKKyAqIGZhaWx1cmUuIDAgaXMgcmV0 dXJuZWQgb24gc3VjY2Vzcy4KKyAqCisgKi8KK2ludCBkcm1fZ2VtX29iamVjdHNfbG9va3VwX3Vz ZXIoc3RydWN0IGRybV9maWxlICpmaWxwLCB2b2lkIF9fdXNlciAqYm9faGFuZGxlcywKKwkJCQlp bnQgY291bnQsIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqKipvYmpzX291dCkKK3sKKwlpbnQgcmV0 OworCXUzMiAqaGFuZGxlczsKKwogCWhhbmRsZXMgPSBrdm1hbGxvY19hcnJheShjb3VudCwgc2l6 ZW9mKHUzMiksIEdGUF9LRVJORUwpOwotCWlmICghaGFuZGxlcykgewotCQlyZXQgPSAtRU5PTUVN OwotCQlnb3RvIG91dDsKLQl9CisJaWYgKCFoYW5kbGVzKQorCQlyZXR1cm4gLUVOT01FTTsKIAog CWlmIChjb3B5X2Zyb21fdXNlcihoYW5kbGVzLCBib19oYW5kbGVzLCBjb3VudCAqIHNpemVvZih1 MzIpKSkgewogCQlyZXQgPSAtRUZBVUxUOwpAQCAtNzIyLDE1ICs3NTIsMTQgQEAgaW50IGRybV9n ZW1fb2JqZWN0c19sb29rdXAoc3RydWN0IGRybV9maWxlICpmaWxwLCB2b2lkIF9fdXNlciAqYm9f aGFuZGxlcywKIAkJZ290byBvdXQ7CiAJfQogCi0JcmV0ID0gb2JqZWN0c19sb29rdXAoZmlscCwg aGFuZGxlcywgY291bnQsIG9ianMpOwotCSpvYmpzX291dCA9IG9ianM7CisJcmV0ID0gZHJtX2dl bV9vYmplY3RzX2xvb2t1cChmaWxwLCBoYW5kbGVzLCBjb3VudCwgb2Jqc19vdXQpOwogCiBvdXQ6 CiAJa3ZmcmVlKGhhbmRsZXMpOwogCXJldHVybiByZXQ7CiAKIH0KLUVYUE9SVF9TWU1CT0woZHJt X2dlbV9vYmplY3RzX2xvb2t1cCk7CitFWFBPUlRfU1lNQk9MKGRybV9nZW1fb2JqZWN0c19sb29r dXBfdXNlcik7CiAKIC8qKgogICogZHJtX2dlbV9vYmplY3RfbG9va3VwIC0gbG9vayB1cCBhIEdF TSBvYmplY3QgZnJvbSBpdHMgaGFuZGxlCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFu ZnJvc3QvcGFuZnJvc3RfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3Rf ZHJ2LmMKaW5kZXggZDc0NDQyZDcxMDQ4Li40ODZjYTUxZDU2NjIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v cGFuZnJvc3QvcGFuZnJvc3RfZHJ2LmMKQEAgLTEzMCw5ICsxMzAsOSBAQCBwYW5mcm9zdF9sb29r dXBfYm9zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaWYgKCFqb2ItPmltcGxpY2l0X2ZlbmNl cykKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlyZXR1cm4gZHJtX2dlbV9vYmplY3RzX2xvb2t1cChm aWxlX3ByaXYsCi0JCQkJICAgICAgKHZvaWQgX191c2VyICopKHVpbnRwdHJfdClhcmdzLT5ib19o YW5kbGVzLAotCQkJCSAgICAgIGpvYi0+Ym9fY291bnQsICZqb2ItPmJvcyk7CisJcmV0dXJuIGRy bV9nZW1fb2JqZWN0c19sb29rdXBfdXNlcihmaWxlX3ByaXYsCisJCQkJCSAgICh2b2lkIF9fdXNl ciAqKSh1aW50cHRyX3QpYXJncy0+Ym9faGFuZGxlcywKKwkJCQkJICAgam9iLT5ib19jb3VudCwg JmpvYi0+Ym9zKTsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZ2VtLmgg Yi9pbmNsdWRlL2RybS9kcm1fZ2VtLmgKaW5kZXggNmFhYmExNGY1OTcyLi4zNTRmYzhkMjQwZTQg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9nZW0uaAorKysgYi9pbmNsdWRlL2RybS9kcm1f Z2VtLmgKQEAgLTM4Nyw4ICszODcsMTAgQEAgc3RydWN0IHBhZ2UgKipkcm1fZ2VtX2dldF9wYWdl cyhzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaik7CiB2b2lkIGRybV9nZW1fcHV0X3BhZ2VzKHN0 cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCBzdHJ1Y3QgcGFnZSAqKnBhZ2VzLAogCQlib29sIGRp cnR5LCBib29sIGFjY2Vzc2VkKTsKIAotaW50IGRybV9nZW1fb2JqZWN0c19sb29rdXAoc3RydWN0 IGRybV9maWxlICpmaWxwLCB2b2lkIF9fdXNlciAqYm9faGFuZGxlcywKK2ludCBkcm1fZ2VtX29i amVjdHNfbG9va3VwKHN0cnVjdCBkcm1fZmlsZSAqZmlscCwgdTMyICpib19oYW5kbGVzLAogCQkJ ICAgaW50IGNvdW50LCBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKioqb2Jqc19vdXQpOworaW50IGRy bV9nZW1fb2JqZWN0c19sb29rdXBfdXNlcihzdHJ1Y3QgZHJtX2ZpbGUgKmZpbHAsIHZvaWQgX191 c2VyICpib19oYW5kbGVzLAorCQkJCWludCBjb3VudCwgc3RydWN0IGRybV9nZW1fb2JqZWN0ICoq Km9ianNfb3V0KTsKIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZHJtX2dlbV9vYmplY3RfbG9va3Vw KHN0cnVjdCBkcm1fZmlsZSAqZmlscCwgdTMyIGhhbmRsZSk7CiBsb25nIGRybV9nZW1fZG1hX3Jl c3Zfd2FpdChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVwLCB1MzIgaGFuZGxlLAogCQkJCSAgICBib29s IHdhaXRfYWxsLCB1bnNpZ25lZCBsb25nIHRpbWVvdXQpOwotLSAKMi4xNy4xCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=