From mboxrd@z Thu Jan 1 00:00:00 1970 From: tom.orourke@intel.com Subject: [RFC 08/22] drm/i915/slpc: Allocate/Release/Initialize SLPC shared data Date: Wed, 20 Jan 2016 18:26:10 -0800 Message-ID: <1453343184-160456-9-git-send-email-tom.orourke@intel.com> References: <1453343184-160456-1-git-send-email-tom.orourke@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 A3C136E1DA for ; Wed, 20 Jan 2016 18:27:19 -0800 (PST) In-Reply-To: <1453343184-160456-1-git-send-email-tom.orourke@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 Cc: Tom O'Rourke List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVG9tIE8nUm91cmtlIDxUb20uTydSb3Vya2VAaW50ZWwuY29tPgoKU0xQQyBzaGFyZWQg ZGF0YSBpcyB1c2VkIHRvIHBhc3MgaW5mb3JtYXRpb24KdG8vZnJvbSBTTFBDIGZpcm13YXJlLgoK Rm9yIFNreWxha2UsIHBsYXRmb3JtIHNrdSB0eXBlIGFuZCBzbGljZSBjb3VudAphcmUgaWRlbnRp ZmllZCBmcm9tIGRldmljZSBpZCBhbmQgZnVzZSB2YWx1ZXMuCgpTdXBwb3J0IGZvciBvdGhlciBw bGF0Zm9ybXMgbmVlZHMgdG8gYmUgYWRkZWQuCgpTaWduZWQtb2ZmLWJ5OiBUb20gTydSb3Vya2Ug PFRvbS5PJ1JvdXJrZUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Z3VjLmggIHwgIDMgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMuYyB8IDkzICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc2xwYy5oIHwgNjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmls ZXMgY2hhbmdlZCwgMTYzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ndWMuaAppbmRleCBlNWRlNzU5Li4yM2NiY2MxIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWMuaApAQCAtMjYsNiArMjYsNyBAQAogCiAjaW5jbHVkZSAiaW50ZWxfZ3VjX2Z3aWYuaCIK ICNpbmNsdWRlICJpOTE1X2d1Y19yZWcuaCIKKyNpbmNsdWRlICJpbnRlbF9zbHBjLmgiCiAKIHN0 cnVjdCBpOTE1X2d1Y19jbGllbnQgewogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjbGll bnRfb2JqOwpAQCAtMTA4LDYgKzEwOSw4IEBAIHN0cnVjdCBpbnRlbF9ndWMgewogCiAJdWludDY0 X3Qgc3VibWlzc2lvbnNbSTkxNV9OVU1fUklOR1NdOwogCXVpbnQzMl90IGxhc3Rfc2Vxbm9bSTkx NV9OVU1fUklOR1NdOworCisJc3RydWN0IGludGVsX3NscGMgc2xwYzsKIH07CiAKIC8qIGludGVs X2d1Y19sb2FkZXIuYyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf c2xwYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xwYy5jCmluZGV4IGRjZDIzN2Yu LmMyOThhNmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBjLmMKQEAgLTIyLDIxICsyMiwxMTAg QEAKICAqCiAgKi8KICNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9t c3ItaW5kZXguaD4KICNpbmNsdWRlICJpOTE1X2Rydi5oIgogI2luY2x1ZGUgImludGVsX2d1Yy5o IgogCitzdGF0aWMgdTggc2xwY19nZXRfcGxhdGZvcm1fc2t1KHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmopCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG9iai0+YmFzZS5kZXY7 CisJZW51bSBzbHBjX3BsYXRmb3JtX3NrdSBwbGF0Zm9ybV9za3U7CisKKwlpZiAoSVNfU0tMX1VM WChkZXYpKQorCQlwbGF0Zm9ybV9za3UgPSBTTFBDX1BMQVRGT1JNX1NLVV9VTFg7CisJZWxzZSBp ZiAoSVNfU0tMX1VMVChkZXYpKQorCQlwbGF0Zm9ybV9za3UgPSBTTFBDX1BMQVRGT1JNX1NLVV9V TFQ7CisJZWxzZQorCQlwbGF0Zm9ybV9za3UgPSBTTFBDX1BMQVRGT1JNX1NLVV9EVDsKKworCXJl dHVybiAodTgpIHBsYXRmb3JtX3NrdTsKK30KKworc3RhdGljIHU4IHNscGNfZ2V0X3NsaWNlX2Nv dW50KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCit7CisJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IG9iai0+YmFzZS5kZXY7CisJdTggc2xpY2VfY291bnQgPSAxOworCisJaWYgKElT X1NLWUxBS0UoZGV2KSkKKwkJc2xpY2VfY291bnQgPSBJTlRFTF9JTkZPKGRldiktPnNsaWNlX3Rv dGFsOworCisJcmV0dXJuIHNsaWNlX2NvdW50OworfQorCitzdGF0aWMgaW50IHNscGNfc2hhcmVk X2RhdGFfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQoreworCXN0cnVjdCBw YWdlICpwYWdlOworCXN0cnVjdCBzbHBjX3NoYXJlZF9kYXRhICpkYXRhOworCXU2NCBtc3JfdmFs dWU7CisJaW50IHJldCA9IDA7CisKKwlwYWdlID0gaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlKG9i aiwgMCk7CisJaWYgKHBhZ2UpIHsKKwkJZGF0YSA9IGttYXBfYXRvbWljKHBhZ2UpOworCQltZW1z ZXQoZGF0YSwgMCwgc2l6ZW9mKHN0cnVjdCBzbHBjX3NoYXJlZF9kYXRhKSk7CisKKwkJZGF0YS0+ c2xwY192ZXJzaW9uID0gU0xQQ19WRVJTSU9OOworCQlkYXRhLT5zaGFyZWRfZGF0YV9zaXplID0g c2l6ZW9mKHN0cnVjdCBzbHBjX3NoYXJlZF9kYXRhKTsKKwkJZGF0YS0+Z2xvYmFsX3N0YXRlID0g KHUzMikgU0xQQ19HTE9CQUxfU1RBVEVfTk9UX1JVTk5JTkc7CisJCWRhdGEtPnBsYXRmb3JtX2lu Zm8ucGxhdGZvcm1fc2t1ID0gc2xwY19nZXRfcGxhdGZvcm1fc2t1KG9iaik7CisJCWRhdGEtPnBs YXRmb3JtX2luZm8uc2xpY2VfY291bnQgPSBzbHBjX2dldF9zbGljZV9jb3VudChvYmopOworCQlk YXRhLT5wbGF0Zm9ybV9pbmZvLnBvd2VyX3BsYW5fc291cmNlID0KKwkJCSh1OCkgU0xQQ19QT1dF Ul9QTEFOX1NPVVJDRShTTFBDX1BPV0VSX1BMQU5fQkFMQU5DRUQsCisJCQkJCQkgICAgU0xQQ19Q T1dFUl9TT1VSQ0VfQUMpOworCQlyZG1zcmwoTVNSX1RVUkJPX1JBVElPX0xJTUlULCBtc3JfdmFs dWUpOworCQlkYXRhLT5wbGF0Zm9ybV9pbmZvLlAwX2ZyZXEgPSAodTgpIG1zcl92YWx1ZTsKKwkJ cmRtc3JsKE1TUl9QTEFURk9STV9JTkZPLCBtc3JfdmFsdWUpOworCQlkYXRhLT5wbGF0Zm9ybV9p bmZvLlAxX2ZyZXEgPSAodTgpIChtc3JfdmFsdWUgPj4gOCk7CisJCWRhdGEtPnBsYXRmb3JtX2lu Zm8uUGVfZnJlcSA9ICh1OCkgKG1zcl92YWx1ZSA+PiA0MCk7CisJCWRhdGEtPnBsYXRmb3JtX2lu Zm8uUG5fZnJlcSA9ICh1OCkgKG1zcl92YWx1ZSA+PiA0OCk7CisJCXJkbXNybChNU1JfUEtHX1BP V0VSX0xJTUlULCBtc3JfdmFsdWUpOworCQlkYXRhLT5wbGF0Zm9ybV9pbmZvLnBhY2thZ2VfcmFw bF9saW1pdF9oaWdoID0KKwkJCQkJCQkodTMyKSAobXNyX3ZhbHVlID4+IDMyKTsKKwkJZGF0YS0+ cGxhdGZvcm1faW5mby5wYWNrYWdlX3JhcGxfbGltaXRfbG93ID0gKHUzMikgbXNyX3ZhbHVlOwor CisJCWt1bm1hcF9hdG9taWMoZGF0YSk7CisJfQorCisJcmV0dXJuIHJldDsKK30KKwogaW50IGlu dGVsX3NscGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iajsKKwlpbnQgcmV0ID0gMDsKIAotCXJldHVybiAwOworCS8qIEFsbG9j YXRlIHNoYXJlZCBkYXRhIHN0cnVjdHVyZSAqLworCW9iaiA9IGRldl9wcml2LT5ndWMuc2xwYy5z aGFyZWRfZGF0YV9vYmo7CisJaWYgKCFvYmopIHsKKwkJb2JqID0gZ2VtX2FsbG9jYXRlX2d1Y19v YmooZGV2X3ByaXYtPmRldiwKKwkJCQlQQUdFX0FMSUdOKHNpemVvZihzdHJ1Y3Qgc2xwY19zaGFy ZWRfZGF0YSkpKTsKKwkJZGV2X3ByaXYtPmd1Yy5zbHBjLnNoYXJlZF9kYXRhX29iaiA9IG9iajsK Kwl9CisKKwlpZiAoIW9iaikgeworCQlyZXQgPSAtRU5PTUVNOworCX0gZWxzZSB7CisJCXJldCA9 IHNscGNfc2hhcmVkX2RhdGFfaW5pdChvYmopOworCX0KKworCXJldHVybiByZXQ7CiB9CiAKIGlu dCBpbnRlbF9zbHBjX2NsZWFudXAoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CisJaW50IHJldCA9IDA7CiAKLQlyZXR1cm4gMDsKKwkv KiBSZWxlYXNlIHNoYXJlZCBkYXRhIHN0dXJjdXRyZSAqLworCW9iaiA9IGRldl9wcml2LT5ndWMu c2xwYy5zaGFyZWRfZGF0YV9vYmo7CisJaWYgKG9iaikgeworCQlnZW1fcmVsZWFzZV9ndWNfb2Jq KG9iaik7CisJCWRldl9wcml2LT5ndWMuc2xwYy5zaGFyZWRfZGF0YV9vYmogPSBOVUxMOworCX0K KworCXJldHVybiByZXQ7CiB9CiAKIGludCBpbnRlbF9zbHBjX3N1c3BlbmQoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMuaAppbmRleCA4ZjEzZmI1Li5kY2Vl ZjdlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBjLmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xwYy5oCkBAIC0yNCw2ICsyNCw3NSBAQAogI2lm bmRlZiBfSU5URUxfU0xQQ19IXwogI2RlZmluZSBfSU5URUxfU0xQQ19IXwogCisjZGVmaW5lIFNM UENfTUFKT1JfVkVSIDIKKyNkZWZpbmUgU0xQQ19NSU5PUl9WRVIgMworI2RlZmluZSBTTFBDX1ZF UlNJT04gKCgyMDE1IDw8IDE2KSB8IChTTFBDX01BSk9SX1ZFUiA8PCA4KSB8IChTTFBDX01JTk9S X1ZFUikpCisKK2VudW0gc2xwY19nbG9iYWxfc3RhdGUgeworCVNMUENfR0xPQkFMX1NUQVRFX05P VF9SVU5OSU5HID0gMCwKKwlTTFBDX0dMT0JBTF9TVEFURV9JTklUSUFMSVpJTkcgPSAxLAorCVNM UENfR0xPQkFMX1NUQVRFX1JFU0VUSU5HID0gMiwKKwlTTFBDX0dMT0JBTF9TVEFURV9SVU5OSU5H ID0gMywKKwlTTFBDX0dMT0JBTF9TVEFURV9TSFVUVElOR19ET1dOID0gNCwKKwlTTFBDX0dMT0JB TF9TVEFURV9FUlJPUiA9IDUKK307CisKK2VudW0gc2xwY19wbGF0Zm9ybV9za3UgeworCVNMUENf UExBVEZPUk1fU0tVX1VOREVGSU5FRCA9IDAsCisJU0xQQ19QTEFURk9STV9TS1VfVUxYID0gMSwK KwlTTFBDX1BMQVRGT1JNX1NLVV9VTFQgPSAyLAorCVNMUENfUExBVEZPUk1fU0tVX1QgPSAzLAor CVNMUENfUExBVEZPUk1fU0tVX01PQkwgPSA0LAorCVNMUENfUExBVEZPUk1fU0tVX0RUID0gNSwK KwlTTFBDX1BMQVRGT1JNX1NLVV9VTktOT1dOID0gNiwKK307CisKK2VudW0gc2xwY19wb3dlcl9w bGFuIHsKKyAgICAgICAgU0xQQ19QT1dFUl9QTEFOX1VOREVGSU5FRCA9IDAsCisgICAgICAgIFNM UENfUE9XRVJfUExBTl9CQVRURVJZX1NBVkVSID0gMSwKKyAgICAgICAgU0xQQ19QT1dFUl9QTEFO X0JBTEFOQ0VEID0gMiwKKyAgICAgICAgU0xQQ19QT1dFUl9QTEFOX1BFUkZPUk1BTkNFID0gMywK KyAgICAgICAgU0xQQ19QT1dFUl9QTEFOX1VOS05PV04gPSA0LAorfTsKKworZW51bSBzbHBjX3Bv d2VyX3NvdXJjZSB7CisgICAgICAgIFNMUENfUE9XRVJfU09VUkNFX1VOREVGSU5FRCA9IDAsCisg ICAgICAgIFNMUENfUE9XRVJfU09VUkNFX0FDID0gMSwKKyAgICAgICAgU0xQQ19QT1dFUl9TT1VS Q0VfREMgPSAyLAorICAgICAgICBTTFBDX1BPV0VSX1NPVVJDRV9VTktOT1dOID0gMywKK307CisK KyNkZWZpbmUgU0xQQ19QT1dFUl9QTEFOX1NPVVJDRShwbGFuLCBzb3VyY2UpICgocGxhbikgfCAo KHNvdXJjZSkgPDwgNikpCisKK3N0cnVjdCBzbHBjX3BsYXRmb3JtX2luZm8geworCXU4IHBsYXRm b3JtX3NrdTsKKwl1MTYgc2xpY2VfY291bnQ7CisJdTggcG93ZXJfcGxhbl9zb3VyY2U7CisJdTgg UDBfZnJlcTsKKwl1OCBQMV9mcmVxOworCXU4IFBlX2ZyZXE7CisJdTggUG5fZnJlcTsKKwl1MzIg cGFja2FnZV9yYXBsX2xpbWl0X2hpZ2g7CisJdTMyIHBhY2thZ2VfcmFwbF9saW1pdF9sb3c7Cit9 IF9fcGFja2VkOworCisjZGVmaW5lIFNMUENfTUFYX09WRVJSSURFX1BBUkFNRVRFUlMgMTI4Cisj ZGVmaW5lIFNMUENfT1ZFUlJJREVfQklURklFTERfU0laRSAoKFNMUENfTUFYX09WRVJSSURFX1BB UkFNRVRFUlMgKyAzMSkgLyAzMikKKworc3RydWN0IHNscGNfc2hhcmVkX2RhdGEgeworCXUzMiBz bHBjX3ZlcnNpb247CisJdTMyIHNoYXJlZF9kYXRhX3NpemU7CisJdTMyIGdsb2JhbF9zdGF0ZTsK KwlzdHJ1Y3Qgc2xwY19wbGF0Zm9ybV9pbmZvIHBsYXRmb3JtX2luZm87CisJdTMyIHRhc2tfc3Rh dGVfZGF0YTsKKwl1MzIgb3ZlcnJpZGVfcGFyYW1ldGVyc19zZXRfYml0c1tTTFBDX09WRVJSSURF X0JJVEZJRUxEX1NJWkVdOworCXUzMiBvdmVycmlkZV9wYXJhbWV0ZXJzX3ZhbHVlc1tTTFBDX01B WF9PVkVSUklERV9QQVJBTUVURVJTXTsKK30gX19wYWNrZWQ7CisKK3N0cnVjdCBpbnRlbF9zbHBj IHsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqc2hhcmVkX2RhdGFfb2JqOworfTsKKwog LyogaW50ZWxfc2xwYy5jICovCiBpbnQgaW50ZWxfc2xwY19pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpOwogaW50IGludGVsX3NscGNfY2xlYW51cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsK LS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=