From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhi Wang Subject: [RFCv2 05/14] drm/i915: factor out __create_legacy_hw_context() Date: Thu, 18 Feb 2016 19:42:12 +0800 Message-ID: <1455795741-3487-6-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 860266EB6E for ; Thu, 18 Feb 2016 11:45:00 +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 QXMgY3JlYXRpbmcgdGhlIGxlZ2FjeSBIVyBjb250ZXh0IGhhcyBiZWNvbWUgaW50byBhbiBvcHRp b24gaW4gR0VNIGNvbnRleHQKY3JlYXRpbmcgc2VydmljZSAoX19pOTE1X2dlbV9jcmVhdGVfY29u dGV4dCgpKSwgd2UgZmFjdG9yIG91dCBfX2NyZWF0ZV8KbGVnYWN5X2h3X2NvbnRleHQoKSBmcm9t IHRoZSBfX2NyZWF0ZV9od19jb250ZXh0KCkuCgpBZnRlciB0aGUgcmUtZmFjdG9yLCB0aGUgX19j cmVhdGVfaHdfY29udGV4dCgpIGlzIG9ubHkgcmVzcG9uc2libGUgZm9yCmFsbG9jYXRpbmcgYW5k IGluaXRpYWxpemluZyB0aGUgYmFzaWMgbWVtYmVycyBvZiBpbnRlbF9jb250ZXh0IGRhdGEKc3Ry dWN0dXJlLCBsaWtlIGxpc3QgaGVhZC4uLiBpbiBhZGRpdGlvbiB0byB0aGVzZSB2ZXJ5IGJhc2lj IG1lbWJlcnMsIHRoZQpsZWdhY3kgY29udGV4dCBhbGxvY3Rpb24gaXMgbW92ZWQgaW50byBfX2Ny ZWF0ZV9sZWdhY3lfaHdfY29udGV4dCgpLCB3aGljaApiZWNvbWVzIGEgZnVuY3Rpb24gYmxvY2sg b2YgdGhlIEdFTSBjb250ZXh0IGNyZWF0aW5nIHNlcnZpY2UuCgpTaWduZWQtb2ZmLWJ5OiBaaGkg V2FuZyA8emhpLmEud2FuZ0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fY29udGV4dC5jIHwgNDMgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCmluZGV4IDM4ZTlmZTEuLjU1MTYzNDYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKQEAgLTIwOSwxMyArMjA5LDI2 IEBAIGk5MTVfZ2VtX2FsbG9jX2NvbnRleHRfb2JqKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHNp emVfdCBzaXplKQogCXJldHVybiBvYmo7CiB9CiAKK3N0YXRpYyBpbnQgX19jcmVhdGVfbGVnYWN5 X2h3X2NvbnRleHQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJc3RydWN0IGludGVsX2NvbnRl eHQgKmN0eCkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRldik7CisJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9CisJCWk5MTVfZ2VtX2Fs bG9jX2NvbnRleHRfb2JqKGRldiwgZGV2X3ByaXYtPmh3X2NvbnRleHRfc2l6ZSk7CisKKwlpZiAo SVNfRVJSKG9iaikpCisJCXJldHVybiBQVFJfRVJSKG9iaik7CisKKwljdHgtPmxlZ2FjeV9od19j dHgucmNzX3N0YXRlID0gb2JqOworCXJldHVybiAwOworfQorCiBzdGF0aWMgc3RydWN0IGludGVs X2NvbnRleHQgKgogX19jcmVhdGVfaHdfY29udGV4dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CQkgICAgc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2KQogewogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0 IGludGVsX2NvbnRleHQgKmN0eDsKLQlpbnQgcmV0OwogCiAJY3R4ID0ga3phbGxvYyhzaXplb2Yo KmN0eCksIEdGUF9LRVJORUwpOwogCWlmIChjdHggPT0gTlVMTCkKQEAgLTIyNCwzNyArMjM3LDIz IEBAIF9fY3JlYXRlX2h3X2NvbnRleHQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlrcmVmX2lu aXQoJmN0eC0+cmVmKTsKIAlsaXN0X2FkZF90YWlsKCZjdHgtPmxpbmssICZkZXZfcHJpdi0+Y29u dGV4dF9saXN0KTsKIAljdHgtPmk5MTUgPSBkZXZfcHJpdjsKLQotCWlmIChkZXZfcHJpdi0+aHdf Y29udGV4dF9zaXplKSB7Ci0JCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPQotCQkJ CWk5MTVfZ2VtX2FsbG9jX2NvbnRleHRfb2JqKGRldiwgZGV2X3ByaXYtPmh3X2NvbnRleHRfc2l6 ZSk7Ci0JCWlmIChJU19FUlIob2JqKSkgewotCQkJcmV0ID0gUFRSX0VSUihvYmopOwotCQkJZ290 byBlcnJfb3V0OwotCQl9Ci0JCWN0eC0+bGVnYWN5X2h3X2N0eC5yY3Nfc3RhdGUgPSBvYmo7Ci0J fQotCiAJY3R4LT5maWxlX3ByaXYgPSBmaWxlX3ByaXY7CiAJLyogTkI6IE1hcmsgYWxsIHNsaWNl cyBhcyBuZWVkaW5nIGEgcmVtYXAgc28gdGhhdCB3aGVuIHRoZSBjb250ZXh0IGZpcnN0CiAJICog bG9hZHMgaXQgd2lsbCByZXN0b3JlIHdoYXRldmVyIHJlbWFwIHN0YXRlIGFscmVhZHkgZXhpc3Rz LiBJZiB0aGVyZQogCSAqIGlzIG5vIHJlbWFwIGluZm8sIGl0IHdpbGwgYmUgYSBOT1AuICovCiAJ Y3R4LT5yZW1hcF9zbGljZSA9ICgxIDw8IE5VTV9MM19TTElDRVMoZGV2KSkgLSAxOwotCiAJY3R4 LT5oYW5nX3N0YXRzLmJhbl9wZXJpb2Rfc2Vjb25kcyA9IERSTV9JOTE1X0NUWF9CQU5fUEVSSU9E OwogCiAJcmV0dXJuIGN0eDsKLQotZXJyX291dDoKLQlpOTE1X2dlbV9jb250ZXh0X3VucmVmZXJl bmNlKGN0eCk7Ci0JcmV0dXJuIEVSUl9QVFIocmV0KTsKIH0KIAogc3RhdGljIHN0cnVjdCBpbnRl bF9jb250ZXh0ICoKIF9faTkxNV9nZW1fY3JlYXRlX2NvbnRleHQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKIAkJCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdikKIHsKKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJY29uc3Qg Ym9vbCBpc19nbG9iYWxfZGVmYXVsdF9jdHggPSBmaWxlX3ByaXYgPT0gTlVMTDsKKwljb25zdCBi b29sIGlzX2xlZ2FjeV9jdHggPSAhIWRldl9wcml2LT5od19jb250ZXh0X3NpemU7CiAJc3RydWN0 IGludGVsX2NvbnRleHQgKmN0eDsKIAlpbnQgcmV0ID0gMDsKIApAQCAtMjY0LDcgKzI2MywxMyBA QCBfX2k5MTVfZ2VtX2NyZWF0ZV9jb250ZXh0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaWYg KElTX0VSUihjdHgpKQogCQlyZXR1cm4gY3R4OwogCi0JaWYgKGlzX2dsb2JhbF9kZWZhdWx0X2N0 eCAmJiBjdHgtPmxlZ2FjeV9od19jdHgucmNzX3N0YXRlKSB7CisJaWYgKGlzX2xlZ2FjeV9jdHgp IHsKKwkJcmV0ID0gX19jcmVhdGVfbGVnYWN5X2h3X2NvbnRleHQoZGV2LCBjdHgpOworCQlpZiAo cmV0KQorCQkJZ290byBlcnJfZGVzdHJveTsKKwl9CisKKwlpZiAoaXNfZ2xvYmFsX2RlZmF1bHRf Y3R4ICYmIGlzX2xlZ2FjeV9jdHgpIHsKIAkJLyogV2UgbWF5IG5lZWQgdG8gZG8gdGhpbmdzIHdp dGggdGhlIHNocmlua2VyIHdoaWNoCiAJCSAqIHJlcXVpcmUgdXMgdG8gaW1tZWRpYXRlbHkgc3dp dGNoIGJhY2sgdG8gdGhlIGRlZmF1bHQKIAkJICogY29udGV4dC4gVGhpcyBjYW4gY2F1c2UgYSBw cm9ibGVtIGFzIHBpbm5pbmcgdGhlCkBAIC0yOTgsNyArMzAzLDcgQEAgX19pOTE1X2dlbV9jcmVh dGVfY29udGV4dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXJldHVybiBjdHg7CiAKIGVycl91 bnBpbjoKLQlpZiAoaXNfZ2xvYmFsX2RlZmF1bHRfY3R4ICYmIGN0eC0+bGVnYWN5X2h3X2N0eC5y Y3Nfc3RhdGUpCisJaWYgKGlzX2dsb2JhbF9kZWZhdWx0X2N0eCAmJiBpc19sZWdhY3lfY3R4KQog CQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihjdHgtPmxlZ2FjeV9od19jdHgucmNzX3N0YXRl KTsKIGVycl9kZXN0cm95OgogCWk5MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVuY2UoY3R4KTsKLS0g CjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK