From mboxrd@z Thu Jan 1 00:00:00 1970 From: Emil Velikov Subject: [PATCH 2/2] drm/prime: split drm_gem_prime_handle_to_fd() Date: Thu, 25 Apr 2019 16:51:14 +0100 Message-ID: <20190425155114.533-2-emil.l.velikov@gmail.com> References: <20190425155114.533-1-emil.l.velikov@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190425155114.533-1-emil.l.velikov@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: intel-gfx-trybot@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogRW1pbCBWZWxpa292IDxlbWlsLnZlbGlrb3ZAY29sbGFib3JhLmNvbT4KCkN1cnJlbnRs eSBkcm1fZ2VtX3ByaW1lX2hhbmRsZV90b19mZCgpIGNvbnNpc3RzIG9mIGlsbGVnaWJsZSBhbW91 bnQgb2YKZ290byBsYWJlbHMsIGZvciBubyBvYnZpb3VzIHJlYXNvbi4KClNwbGl0IGl0IGluIHR3 byAoYXMgYmVsb3cpIG1ha2luZyB0aGUgY29kZSBmYXIgc2ltcGxlciBhbmQgb2J2aW91cy4KCmRy bV9nZW1fcHJpbWVfaGFuZGxlX3RvX2ZkKCkKIC0gcHJpbWUgbXR4IGhhbmRsaW5nCiAtIGRybV9n ZW1fb2JqZWN0IGxvb2t1cCBhbmQgcmVmY291bnRpbmcKIC0gY3JlYXRpbmcgYW4gZmQgZm9yIHRo ZSBkbWFidWYKIC0gaGFzaCB0YWJsZSBsb29rdXAKCmV4cG9ydF9oYW5kbGVfdG9fYnVmKCkKIC0g ZHJtX2dlbV9vYmplY3QgZXhwb3J0IGFuZCBsb2NraW5nCiAtIGFkZGluZyB0aGUgaGFuZGxlL2Zk IHRvIHRoZSBoYXNoIHRhYmxlCgpDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPgpT aWduZWQtb2ZmLWJ5OiBFbWlsIFZlbGlrb3YgPGVtaWwudmVsaWtvdkBjb2xsYWJvcmEuY29tPgot LS0KQ3VycmVudGx5IHdlIGRtYV9idWZfcHV0KCkgW2luIHRoZSBlcnJvciBwYXRoXSBldmVuIGZv ciByZS1leHBvcnQgb2YKb3JpZ2luYWwgaW1wb3J0ZWQgb2JqZWN0IGFuZCAic2VsZi1leHBvcnQi IC0gYWthCm9iai0+aW1wb3J0X2F0dGFjaC0+ZG1hYnVmIGFuZCBvYmotPmRtYWJ1Zi4KCkhhdmUg bm90IGxvb2tlZCBhdCBpdCB0b28gY2xvc2VseSwgYnV0IGd1dCBzdWdnZXN0cyB0aGF0IG1heSBi ZSBvZmYuCi0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9wcmltZS5jIHwgMTA2ICsrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU3IGluc2VydGlvbnMo KyksIDQ5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJp bWUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJpbWUuYwppbmRleCAwZDgzYjliYmY3OTMuLjJi MGI2ZTdhNmE0NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9wcmltZS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJpbWUuYwpAQCAtNTQ1LDExICs1NDUsNTQgQEAgc3RhdGlj IHN0cnVjdCBkbWFfYnVmICpleHBvcnRfYW5kX3JlZ2lzdGVyX29iamVjdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCSAqIHdpbGwgY2xlYW4gaXQgdXAuCiAJICovCiAJb2JqLT5kbWFfYnVmID0g ZG1hYnVmOwotCWdldF9kbWFfYnVmKG9iai0+ZG1hX2J1Zik7CiAKIAlyZXR1cm4gZG1hYnVmOwog fQogCitzdGF0aWMgc3RydWN0IGRtYV9idWYgKmV4cG9ydF9oYW5kbGVfdG9fYnVmKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCisJCQkJCSAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKKwkJ CQkJICAgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLAorCQkJCQkgICAgdWludDMyX3QgaGFu ZGxlLAorCQkJCQkgICAgdWludDMyX3QgZmxhZ3MpCit7CisJc3RydWN0IGRtYV9idWYgKmRtYWJ1 ZiA9IE5VTEw7CisJaW50IHJldDsKKworCW11dGV4X2xvY2soJmRldi0+b2JqZWN0X25hbWVfbG9j ayk7CisJLyogcmUtZXhwb3J0IHRoZSBvcmlnaW5hbCBpbXBvcnRlZCBvYmplY3QgKi8KKwlpZiAo b2JqLT5pbXBvcnRfYXR0YWNoKQorCQlkbWFidWYgPSBvYmotPmltcG9ydF9hdHRhY2gtPmRtYWJ1 ZjsKKworCWlmICghZG1hYnVmKQorCQlkbWFidWYgPSBvYmotPmRtYV9idWY7CisKKwlpZiAoIWRt YWJ1ZikKKwkJZG1hYnVmID0gZXhwb3J0X2FuZF9yZWdpc3Rlcl9vYmplY3QoZGV2LCBvYmosIGZs YWdzKTsKKworCWlmIChJU19FUlIoZG1hYnVmKSkgeworCQkvKiBub3JtYWxseSB0aGUgY3JlYXRl ZCBkbWEtYnVmIHRha2VzIG93bmVyc2hpcCBvZiB0aGUgcmVmLAorCQkgKiBidXQgaWYgdGhhdCBm YWlscyB0aGVuIGRyb3AgdGhlIHJlZgorCQkgKi8KKwkJbXV0ZXhfdW5sb2NrKCZkZXYtPm9iamVj dF9uYW1lX2xvY2spOworCQlyZXR1cm4gZG1hYnVmOworCX0KKworCWdldF9kbWFfYnVmKGRtYWJ1 Zik7CisKKwkvKgorCSAqIElmIHdlJ3ZlIGV4cG9ydGVkIHRoaXMgYnVmZmVyIHRoZW4gY2hlYXQg YW5kIGFkZCBpdCB0byB0aGUgaW1wb3J0IGxpc3QKKwkgKiBzbyB3ZSBnZXQgdGhlIGNvcnJlY3Qg aGFuZGxlIGJhY2suIFdlIG11c3QgZG8gdGhpcyB1bmRlciB0aGUKKwkgKiBwcm90ZWN0aW9uIG9m IGRldi0+b2JqZWN0X25hbWVfbG9jayB0byBlbnN1cmUgdGhhdCBhIHJhY2luZyBnZW0gY2xvc2UK KwkgKiBpb2N0bCBkb2Vzbid0IG1pc3MgdG8gcmVtb3ZlIHRoaXMgYnVmZmVyIGhhbmRsZSBmcm9t IHRoZSBjYWNoZS4KKwkgKi8KKwlyZXQgPSBkcm1fcHJpbWVfYWRkX2J1Zl9oYW5kbGUoJmZpbGVf cHJpdi0+cHJpbWUsIGRtYWJ1ZiwgaGFuZGxlKTsKKwltdXRleF91bmxvY2soJmRldi0+b2JqZWN0 X25hbWVfbG9jayk7CisJaWYgKHJldCkgeworCQlkbWFfYnVmX3B1dChkbWFidWYpOworCQlkbWFi dWYgPSBFUlJfUFRSKHJldCk7CisJfQorCXJldHVybiBkbWFidWY7Cit9CiAvKioKICAqIGRybV9n ZW1fcHJpbWVfaGFuZGxlX3RvX2ZkIC0gUFJJTUUgZXhwb3J0IGZ1bmN0aW9uIGZvciBHRU0gZHJp dmVycwogICogQGRldjogZGV2IHRvIGV4cG9ydCB0aGUgYnVmZmVyIGZyb20KQEAgLTU2OSw3ICs2 MTIsNyBAQCBpbnQgZHJtX2dlbV9wcmltZV9oYW5kbGVfdG9fZmQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKIAkJCSAgICAgICBpbnQgKnByaW1lX2ZkKQogewogCXN0cnVjdCBkcm1fZ2VtX29iamVj dCAqb2JqOwotCWludCByZXQgPSAwOworCWludCByZXQ7CiAJc3RydWN0IGRtYV9idWYgKmRtYWJ1 ZjsKIAogCW11dGV4X2xvY2soJmZpbGVfcHJpdi0+cHJpbWUubG9jayk7CkBAIC01ODAsNDkgKzYy MywxNCBAQCBpbnQgZHJtX2dlbV9wcmltZV9oYW5kbGVfdG9fZmQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKIAl9CiAKIAlkbWFidWYgPSBkcm1fcHJpbWVfbG9va3VwX2J1Zl9ieV9oYW5kbGUoJmZp bGVfcHJpdi0+cHJpbWUsIGhhbmRsZSk7Ci0JaWYgKGRtYWJ1ZikgewotCQlnZXRfZG1hX2J1Zihk bWFidWYpOwotCQlnb3RvIG91dF9oYXZlX2hhbmRsZTsKLQl9CisJaWYgKCFkbWFidWYpCisJCWRt YWJ1ZiA9IGV4cG9ydF9oYW5kbGVfdG9fYnVmKGRldiwgZmlsZV9wcml2LCBvYmosIGhhbmRsZSwg ZmxhZ3MpOwogCi0JbXV0ZXhfbG9jaygmZGV2LT5vYmplY3RfbmFtZV9sb2NrKTsKLQkvKiByZS1l eHBvcnQgdGhlIG9yaWdpbmFsIGltcG9ydGVkIG9iamVjdCAqLwotCWlmIChvYmotPmltcG9ydF9h dHRhY2gpIHsKLQkJZG1hYnVmID0gb2JqLT5pbXBvcnRfYXR0YWNoLT5kbWFidWY7Ci0JCWdldF9k bWFfYnVmKGRtYWJ1Zik7Ci0JCWdvdG8gb3V0X2hhdmVfb2JqOwotCX0KLQotCWlmIChvYmotPmRt YV9idWYpIHsKLQkJZ2V0X2RtYV9idWYob2JqLT5kbWFfYnVmKTsKLQkJZG1hYnVmID0gb2JqLT5k bWFfYnVmOwotCQlnb3RvIG91dF9oYXZlX29iajsKLQl9Ci0KLQlkbWFidWYgPSBleHBvcnRfYW5k X3JlZ2lzdGVyX29iamVjdChkZXYsIG9iaiwgZmxhZ3MpOwogCWlmIChJU19FUlIoZG1hYnVmKSkg ewotCQkvKiBub3JtYWxseSB0aGUgY3JlYXRlZCBkbWEtYnVmIHRha2VzIG93bmVyc2hpcCBvZiB0 aGUgcmVmLAotCQkgKiBidXQgaWYgdGhhdCBmYWlscyB0aGVuIGRyb3AgdGhlIHJlZgotCQkgKi8K IAkJcmV0ID0gUFRSX0VSUihkbWFidWYpOwotCQltdXRleF91bmxvY2soJmRldi0+b2JqZWN0X25h bWVfbG9jayk7Ci0JCWdvdG8gb3V0OworCQlnb3RvIG91dF9vYmplY3RfcHV0OwogCX0KIAotb3V0 X2hhdmVfb2JqOgotCS8qCi0JICogSWYgd2UndmUgZXhwb3J0ZWQgdGhpcyBidWZmZXIgdGhlbiBj aGVhdCBhbmQgYWRkIGl0IHRvIHRoZSBpbXBvcnQgbGlzdAotCSAqIHNvIHdlIGdldCB0aGUgY29y cmVjdCBoYW5kbGUgYmFjay4gV2UgbXVzdCBkbyB0aGlzIHVuZGVyIHRoZQotCSAqIHByb3RlY3Rp b24gb2YgZGV2LT5vYmplY3RfbmFtZV9sb2NrIHRvIGVuc3VyZSB0aGF0IGEgcmFjaW5nIGdlbSBj bG9zZQotCSAqIGlvY3RsIGRvZXNuJ3QgbWlzcyB0byByZW1vdmUgdGhpcyBidWZmZXIgaGFuZGxl IGZyb20gdGhlIGNhY2hlLgotCSAqLwotCXJldCA9IGRybV9wcmltZV9hZGRfYnVmX2hhbmRsZSgm ZmlsZV9wcml2LT5wcmltZSwKLQkJCQkgICAgICAgZG1hYnVmLCBoYW5kbGUpOwotCW11dGV4X3Vu bG9jaygmZGV2LT5vYmplY3RfbmFtZV9sb2NrKTsKLQlpZiAocmV0KQotCQlnb3RvIGZhaWxfcHV0 X2RtYWJ1ZjsKLQotb3V0X2hhdmVfaGFuZGxlOgogCXJldCA9IGRtYV9idWZfZmQoZG1hYnVmLCBm bGFncyk7CiAJLyoKIAkgKiBXZSBtdXN0IF9ub3RfIHJlbW92ZSB0aGUgYnVmZmVyIGZyb20gdGhl IGhhbmRsZSBjYWNoZSBzaW5jZSB0aGUgbmV3bHkKQEAgLTYzMCwxOCArNjM4LDE4IEBAIGludCBk cm1fZ2VtX3ByaW1lX2hhbmRsZV90b19mZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCSAqIGFu ZCB0aGF0IGlzIGludmFyaWFudCBhcyBsb25nIGFzIGEgdXNlcnNwYWNlIGdlbSBoYW5kbGUgZXhp c3RzLgogCSAqIENsb3NpbmcgdGhlIGhhbmRsZSB3aWxsIGNsZWFuIG91dCB0aGUgY2FjaGUgYW55 d2F5LCBzbyB3ZSBkb24ndCBsZWFrLgogCSAqLwotCWlmIChyZXQgPCAwKSB7Ci0JCWdvdG8gZmFp bF9wdXRfZG1hYnVmOwotCX0gZWxzZSB7Ci0JCSpwcmltZV9mZCA9IHJldDsKLQkJcmV0ID0gMDsK LQl9CisJaWYgKHJldCA8IDApCisJCWdvdG8gb3V0X2RtYWJ1Zl9wdXQ7CiAKLQlnb3RvIG91dDsK KwkqcHJpbWVfZmQgPSByZXQ7CiAKLWZhaWxfcHV0X2RtYWJ1ZjoKKwlkcm1fZ2VtX29iamVjdF9w dXRfdW5sb2NrZWQob2JqKTsKKwltdXRleF91bmxvY2soJmZpbGVfcHJpdi0+cHJpbWUubG9jayk7 CisJcmV0dXJuIDA7CisKK291dF9kbWFidWZfcHV0OgogCWRtYV9idWZfcHV0KGRtYWJ1Zik7Ci1v dXQ6CitvdXRfb2JqZWN0X3B1dDoKIAlkcm1fZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQob2JqKTsK IG91dF91bmxvY2s6CiAJbXV0ZXhfdW5sb2NrKCZmaWxlX3ByaXYtPnByaW1lLmxvY2spOwotLSAK Mi4yMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=