From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 03/12] drm/i915/gvt: i915_gem_object_create() returns an error pointer Date: Wed, 19 Oct 2016 11:11:38 +0100 Message-ID: <20161019101147.17342-4-chris@chris-wilson.co.uk> References: <20161019101147.17342-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id EFC936E8AB for ; Wed, 19 Oct 2016 10:11:57 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id g16so3200116wmg.2 for ; Wed, 19 Oct 2016 03:11:57 -0700 (PDT) In-Reply-To: <20161019101147.17342-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gZmFpbHVyZSBmcm9tIGk5MTVfZ2VtX29iamVjdF9jcmVhdGUoKSwgd2UgbmVlZCB0byBjaGVj ayBmb3IgYW4gZXJyb3IKcG9pbnRlciBub3QgTlVMTC4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdp bHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpSZXZpZXdlZC1ieTogWmhlbnl1IFdhbmcg PHpoZW55dXdAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9j bWRfcGFyc2VyLmMgfCA0OCArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9jbWRfcGFyc2VyLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndnQvY21kX3BhcnNlci5jCmluZGV4IDU4MDhlZTdjMTkzNS4uNDY0ZmMzYzk5MzVi IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvY21kX3BhcnNlci5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9jbWRfcGFyc2VyLmMKQEAgLTE2MzgsMTYgKzE2Mzgs MTkgQEAgc3RhdGljIGludCBwZXJmb3JtX2JiX3NoYWRvdyhzdHJ1Y3QgcGFyc2VyX2V4ZWNfc3Rh dGUgKnMpCiAJaWYgKGVudHJ5X29iaiA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCWVu dHJ5X29iai0+b2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZSgmKHMtPnZncHUtPmd2dC0+ZGV2 X3ByaXYtPmRybSksCi0JCXJvdW5kX3VwKGJiX3NpemUsIFBBR0VfU0laRSkpOwotCWlmIChlbnRy eV9vYmotPm9iaiA9PSBOVUxMKQotCQlyZXR1cm4gLUVOT01FTTsKKwllbnRyeV9vYmotPm9iaiA9 CisJCWk5MTVfZ2VtX29iamVjdF9jcmVhdGUoJihzLT52Z3B1LT5ndnQtPmRldl9wcml2LT5kcm0p LAorCQkJCSAgICAgICByb3VuZHVwKGJiX3NpemUsIFBBR0VfU0laRSkpOworCWlmIChJU19FUlIo ZW50cnlfb2JqLT5vYmopKSB7CisJCXJldCA9IFBUUl9FUlIoZW50cnlfb2JqLT5vYmopOworCQln b3RvIGZyZWVfZW50cnk7CisJfQogCWVudHJ5X29iai0+bGVuID0gYmJfc2l6ZTsKIAlJTklUX0xJ U1RfSEVBRCgmZW50cnlfb2JqLT5saXN0KTsKIAogCXJldCA9IGk5MTVfZ2VtX29iamVjdF9nZXRf cGFnZXMoZW50cnlfb2JqLT5vYmopOwogCWlmIChyZXQpCi0JCXJldHVybiByZXQ7CisJCWdvdG8g cHV0X29iajsKIAogCWk5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMoZW50cnlfb2JqLT5vYmopOwog CkBAIC0xNjczLDcgKzE2NzYsNyBAQCBzdGF0aWMgaW50IHBlcmZvcm1fYmJfc2hhZG93KHN0cnVj dCBwYXJzZXJfZXhlY19zdGF0ZSAqcykKIAkJCQlnbWEsIGdtYSArIGJiX3NpemUsIGRzdCk7CiAJ aWYgKHJldCkgewogCQlndnRfZXJyKCJmYWlsIHRvIGNvcHkgZ3Vlc3QgcmluZyBidWZmZXJcbiIp OwotCQlyZXR1cm4gcmV0OworCQlnb3RvIHVubWFwX3NyYzsKIAl9CiAKIAlsaXN0X2FkZCgmZW50 cnlfb2JqLT5saXN0LCAmcy0+d29ya2xvYWQtPnNoYWRvd19iYik7CkBAIC0xNjk0LDcgKzE2OTcs MTAgQEAgc3RhdGljIGludCBwZXJmb3JtX2JiX3NoYWRvdyhzdHJ1Y3QgcGFyc2VyX2V4ZWNfc3Rh dGUgKnMpCiAJdnVubWFwKGRzdCk7CiB1bnBpbl9zcmM6CiAJaTkxNV9nZW1fb2JqZWN0X3VucGlu X3BhZ2VzKGVudHJ5X29iai0+b2JqKTsKLQorcHV0X29iajoKKwlpOTE1X2dlbV9vYmplY3RfcHV0 KGVudHJ5X29iai0+b2JqKTsKK2ZyZWVfZW50cnk6CisJa2ZyZWUoZW50cnlfb2JqKTsKIAlyZXR1 cm4gcmV0OwogfQogCkBAIC0yNzA3LDMxICsyNzEzLDMxIEBAIHN0YXRpYyBpbnQgc2hhZG93X2lu ZGlyZWN0X2N0eChzdHJ1Y3QgaW50ZWxfc2hhZG93X3dhX2N0eCAqd2FfY3R4KQogCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSAmd2FfY3R4LT53b3JrbG9hZC0+dmdwdS0+Z3Z0LT5kZXZfcHJpdi0+ ZHJtOwogCWludCBjdHhfc2l6ZSA9IHdhX2N0eC0+aW5kaXJlY3RfY3R4LnNpemU7CiAJdW5zaWdu ZWQgbG9uZyBndWVzdF9nbWEgPSB3YV9jdHgtPmluZGlyZWN0X2N0eC5ndWVzdF9nbWE7CisJc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKIAlpbnQgcmV0ID0gMDsKIAl2b2lkICpkZXN0 ID0gTlVMTDsKIAotCXdhX2N0eC0+aW5kaXJlY3RfY3R4Lm9iaiA9IGk5MTVfZ2VtX29iamVjdF9j cmVhdGUoZGV2LAotCQkJcm91bmRfdXAoY3R4X3NpemUgKyBDQUNIRUxJTkVfQllURVMsIFBBR0Vf U0laRSkpOwotCWlmICh3YV9jdHgtPmluZGlyZWN0X2N0eC5vYmogPT0gTlVMTCkKLQkJcmV0dXJu IC1FTk9NRU07CisJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZShkZXYsCisJCQkJICAgICBy b3VuZHVwKGN0eF9zaXplICsgQ0FDSEVMSU5FX0JZVEVTLAorCQkJCQkgICAgIFBBR0VfU0laRSkp OworCWlmIChJU19FUlIob2JqKSkKKwkJcmV0dXJuIFBUUl9FUlIob2JqKTsKIAotCXJldCA9IGk5 MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMod2FfY3R4LT5pbmRpcmVjdF9jdHgub2JqKTsKKwlyZXQg PSBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzKG9iaik7CiAJaWYgKHJldCkKLQkJcmV0dXJuIHJl dDsKKwkJZ290byBwdXRfb2JqOwogCi0JaTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyh3YV9jdHgt PmluZGlyZWN0X2N0eC5vYmopOworCWk5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMob2JqKTsKIAog CS8qIGdldCB0aGUgdmEgb2YgdGhlIHNoYWRvdyBiYXRjaCBidWZmZXIgKi8KLQlkZXN0ID0gKHZv aWQgKil2bWFwX2JhdGNoKHdhX2N0eC0+aW5kaXJlY3RfY3R4Lm9iaiwgMCwKLQkJCWN0eF9zaXpl ICsgQ0FDSEVMSU5FX0JZVEVTKTsKKwlkZXN0ID0gKHZvaWQgKil2bWFwX2JhdGNoKG9iaiwgMCwg Y3R4X3NpemUgKyBDQUNIRUxJTkVfQllURVMpOwogCWlmICghZGVzdCkgewogCQlndnRfZXJyKCJm YWlsZWQgdG8gdm1hcCBzaGFkb3cgaW5kaXJlY3QgY3R4XG4iKTsKIAkJcmV0ID0gLUVOT01FTTsK IAkJZ290byB1bnBpbl9zcmM7CiAJfQogCi0JcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b19j cHVfZG9tYWluKHdhX2N0eC0+aW5kaXJlY3RfY3R4Lm9iaiwKLQkJCWZhbHNlKTsKKwlyZXQgPSBp OTE1X2dlbV9vYmplY3Rfc2V0X3RvX2NwdV9kb21haW4ob2JqLCBmYWxzZSk7CiAJaWYgKHJldCkg ewogCQlndnRfZXJyKCJmYWlsZWQgdG8gc2V0IHNoYWRvdyBpbmRpcmVjdCBjdHggdG8gQ1BVXG4i KTsKIAkJZ290byB1bm1hcF9zcmM7CkBAIC0yNzQ2LDE2ICsyNzUyLDE4IEBAIHN0YXRpYyBpbnQg c2hhZG93X2luZGlyZWN0X2N0eChzdHJ1Y3QgaW50ZWxfc2hhZG93X3dhX2N0eCAqd2FfY3R4KQog CQkJCWd1ZXN0X2dtYSwgZ3Vlc3RfZ21hICsgY3R4X3NpemUsIGRlc3QpOwogCWlmIChyZXQpIHsK IAkJZ3Z0X2VycigiZmFpbCB0byBjb3B5IGd1ZXN0IGluZGlyZWN0IGN0eFxuIik7Ci0JCXJldHVy biByZXQ7CisJCWdvdG8gdW5tYXBfc3JjOwogCX0KIAorCXdhX2N0eC0+aW5kaXJlY3RfY3R4Lm9i aiA9IG9iajsKIAlyZXR1cm4gMDsKIAogdW5tYXBfc3JjOgogCXZ1bm1hcChkZXN0KTsKIHVucGlu X3NyYzoKIAlpOTE1X2dlbV9vYmplY3RfdW5waW5fcGFnZXMod2FfY3R4LT5pbmRpcmVjdF9jdHgu b2JqKTsKLQorcHV0X29iajoKKwlpOTE1X2dlbV9vYmplY3RfcHV0KHdhX2N0eC0+aW5kaXJlY3Rf Y3R4Lm9iaik7CiAJcmV0dXJuIHJldDsKIH0KIAotLSAKMi45LjMKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=