From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhi Wang Subject: [RFCv2 04/14] drm/i915: factor out alloc_context_idr() and __i915_gem_create_context() Date: Thu, 18 Feb 2016 19:42:11 +0800 Message-ID: <1455795741-3487-5-git-send-email-zhi.a.wang@intel.com> References: <1455795741-3487-1-git-send-email-zhi.a.wang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id D7B896EB67 for ; Thu, 18 Feb 2016 11:44:57 +0000 (UTC) In-Reply-To: <1455795741-3487-1-git-send-email-zhi.a.wang@intel.com> 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, igvt-g@lists.01.org Cc: daniel.vetter@ffwll.ch, david.j.cowperthwaite@intel.com, zhiyuan.lv@intel.com List-Id: intel-gfx@lists.freedesktop.org Rm9yIGZsZXhpYmxlIEdFTSBjb250ZXh0IGNyZWF0aW9uLCB3ZSBmYWN0b3Igb3V0IF9faTkxNV9n ZW1fY3JlYXRlX2NvbnRleHQKYXMgdGhlIGNvcmUgbG9naWMgb2YgY3JlYXRpb24gYSBHRU0gY29u dGV4dC4gQWZ0ZXIgdGhlIHJlZmFjdG9yLCBpdCBtb3JlCmxpa2VzYSBjb250ZXh0IGNyZWF0aW9u IHNlcnZjaWUsIHdoaWNoIGlzIGFibGUgdG8gY3JlYXRlIGNvbnRleHQgYnkKZXhwbGljaXQgcmVx dWlyZW1lbnQgb2YgdXBwZXIgbGV2ZWwgY29tcG9uZW50cywgbm90IGJ5IHRoZSBhc3N1bXB0aW9u cyBvZgppbmNvbWluZyBwYXJhbWV0ZXJzLgoKRm9yIHRoZSBhc3N1bXB0aW9ucyBpbiBvcmlnaW5h bCBpbXBsZW1lbnRhdGlvbiwgd2Uga2VlcCB0aGVtIGluIHRoZSB1cHBlcgpsZXZlbCB3cmFwcGVy OiBpOTE1X2dlbV9jcmVhdGVfY29udGV4dCgpLgoKYWxsb2NfY29udGV4dF9pZHIoKSBpcyBhbm90 aGVyIGZ1bmN0aW9uIGZhY3RvcmVkIG91dCB0byBzZXR1cCBhIElEUiBmb3IKb3JkaW5hcnkgR0VN IGNvbnRleHQuIFNvbWUgY29udGV4dCwgZS5nLiBHVlQgY29udGV4dCwgbWF5YmUgbW9yZSB0aGFu IG9uZQprZXJuZWwgY29udGV4dCBpbiBmdXJ0dXJlIChjdXJyZW50bHkgdGhlcmUgaXMgb25seSBv bmUga2VybmVsIGNvbnRleHQ6IHRoZQpkZWZhdWx0IGNvbnRleHQpIGRvZXNuJ3QgbmVlZCBhIElE Ui4gU28gd2UgbWFrZSBpdCBhbiBvcHRpb24gaW4gY29udGV4dApjcmVhdGlvbi4KClNpZ25lZC1v ZmYtYnk6IFpoaSBXYW5nIDx6aGkuYS53YW5nQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgfCA2MiArKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKaW5kZXggNGJlMmNlOS4u MzhlOWZlMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4 dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtMjM1 LDE3ICsyMzUsNyBAQCBfX2NyZWF0ZV9od19jb250ZXh0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CiAJCWN0eC0+bGVnYWN5X2h3X2N0eC5yY3Nfc3RhdGUgPSBvYmo7CiAJfQogCi0JLyogRGVmYXVs dCBjb250ZXh0IHdpbGwgbmV2ZXIgaGF2ZSBhIGZpbGVfcHJpdiAqLwotCWlmIChmaWxlX3ByaXYg IT0gTlVMTCkgewotCQlyZXQgPSBpZHJfYWxsb2MoJmZpbGVfcHJpdi0+Y29udGV4dF9pZHIsIGN0 eCwKLQkJCQlERUZBVUxUX0NPTlRFWFRfSEFORExFLCAwLCBHRlBfS0VSTkVMKTsKLQkJaWYgKHJl dCA8IDApCi0JCQlnb3RvIGVycl9vdXQ7Ci0JfSBlbHNlCi0JCXJldCA9IERFRkFVTFRfQ09OVEVY VF9IQU5ETEU7Ci0KIAljdHgtPmZpbGVfcHJpdiA9IGZpbGVfcHJpdjsKLQljdHgtPnVzZXJfaGFu ZGxlID0gcmV0OwogCS8qIE5COiBNYXJrIGFsbCBzbGljZXMgYXMgbmVlZGluZyBhIHJlbWFwIHNv IHRoYXQgd2hlbiB0aGUgY29udGV4dCBmaXJzdAogCSAqIGxvYWRzIGl0IHdpbGwgcmVzdG9yZSB3 aGF0ZXZlciByZW1hcCBzdGF0ZSBhbHJlYWR5IGV4aXN0cy4gSWYgdGhlcmUKIAkgKiBpcyBubyBy ZW1hcCBpbmZvLCBpdCB3aWxsIGJlIGEgTk9QLiAqLwpAQCAtMjYwLDEzICsyNTAsOCBAQCBlcnJf b3V0OgogCXJldHVybiBFUlJfUFRSKHJldCk7CiB9CiAKLS8qKgotICogVGhlIGRlZmF1bHQgY29u dGV4dCBuZWVkcyB0byBleGlzdCBwZXIgcmluZyB0aGF0IHVzZXMgY29udGV4dHMuIEl0IHN0b3Jl cyB0aGUKLSAqIGNvbnRleHQgc3RhdGUgb2YgdGhlIEdQVSBmb3IgYXBwbGljYXRpb25zIHRoYXQg ZG9uJ3QgdXRpbGl6ZSBIVyBjb250ZXh0cywgYXMKLSAqIHdlbGwgYXMgYW4gaWRsZSBjYXNlLgot ICovCiBzdGF0aWMgc3RydWN0IGludGVsX2NvbnRleHQgKgotaTkxNV9nZW1fY3JlYXRlX2NvbnRl eHQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKK19faTkxNV9nZW1fY3JlYXRlX2NvbnRleHQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZp bGVfcHJpdikKIHsKIAljb25zdCBib29sIGlzX2dsb2JhbF9kZWZhdWx0X2N0eCA9IGZpbGVfcHJp diA9PSBOVUxMOwpAQCAtMzE2LDExICszMDEsNTQgQEAgZXJyX3VucGluOgogCWlmIChpc19nbG9i YWxfZGVmYXVsdF9jdHggJiYgY3R4LT5sZWdhY3lfaHdfY3R4LnJjc19zdGF0ZSkKIAkJaTkxNV9n ZW1fb2JqZWN0X2dndHRfdW5waW4oY3R4LT5sZWdhY3lfaHdfY3R4LnJjc19zdGF0ZSk7CiBlcnJf ZGVzdHJveToKLQlpZHJfcmVtb3ZlKCZmaWxlX3ByaXYtPmNvbnRleHRfaWRyLCBjdHgtPnVzZXJf aGFuZGxlKTsKIAlpOTE1X2dlbV9jb250ZXh0X3VucmVmZXJlbmNlKGN0eCk7CiAJcmV0dXJuIEVS Ul9QVFIocmV0KTsKIH0KIAorc3RhdGljIGlubGluZSBpbnQgYWxsb2NfY29udGV4dF9pZHIoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKKwlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4KQoreworCWlu dCByZXQ7CisKKwkvKiBEZWZhdWx0IGNvbnRleHQgd2lsbCBuZXZlciBoYXZlIGEgZmlsZV9wcml2 ICovCisJaWYgKGN0eC0+ZmlsZV9wcml2ICE9IE5VTEwpIHsKKwkJcmV0ID0gaWRyX2FsbG9jKCZj dHgtPmZpbGVfcHJpdi0+Y29udGV4dF9pZHIsIGN0eCwKKwkJCQlERUZBVUxUX0NPTlRFWFRfSEFO RExFLCAwLCBHRlBfS0VSTkVMKTsKKwkJaWYgKHJldCA8IDApCisJCQlyZXR1cm4gcmV0OworCX0g ZWxzZSB7CisJCXJldCA9IERFRkFVTFRfQ09OVEVYVF9IQU5ETEU7CisJfQorCisJY3R4LT51c2Vy X2hhbmRsZSA9IHJldDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBUaGUgZGVmYXVsdCBjb250 ZXh0IG5lZWRzIHRvIGV4aXN0IHBlciByaW5nIHRoYXQgdXNlcyBjb250ZXh0cy4gSXQgc3RvcmVz IHRoZQorICogY29udGV4dCBzdGF0ZSBvZiB0aGUgR1BVIGZvciBhcHBsaWNhdGlvbnMgdGhhdCBk b24ndCB1dGlsaXplIEhXIGNvbnRleHRzLCBhcworICogd2VsbCBhcyBhbiBpZGxlIGNhc2UuCisg Ki8KK3N0YXRpYyBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqCitpOTE1X2dlbV9jcmVhdGVfY29udGV4 dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRl ICpmaWxlX3ByaXYpCit7CisJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eDsKKwlpbnQgcmV0Owor CisJY3R4ID0gX19pOTE1X2dlbV9jcmVhdGVfY29udGV4dChkZXYsIGZpbGVfcHJpdik7CisJaWYg KElTX0VSUihjdHgpKQorCQlyZXR1cm4gY3R4OworCisJcmV0ID0gYWxsb2NfY29udGV4dF9pZHIo ZGV2LCBjdHgpOworCWlmIChyZXQgPCAwKSB7CisJCWk5MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVu Y2UoY3R4KTsKKwkJcmV0dXJuIEVSUl9QVFIocmV0KTsKKwl9CisKKwlyZXR1cm4gY3R4OworfQor CiBzdGF0aWMgdm9pZCBpOTE1X2dlbV9jb250ZXh0X3VucGluKHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjdHgsCiAJCQkJICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogewotLSAKMS45 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=