From mboxrd@z Thu Jan 1 00:00:00 1970 From: tom.orourke@intel.com Subject: [PATCH 08/26] drm/i915/slpc: Allocate/Release/Initialize SLPC shared data Date: Tue, 8 Mar 2016 16:34:11 -0800 Message-ID: <1457483669-155235-9-git-send-email-tom.orourke@intel.com> References: <1457483669-155235-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 8999F6E7A8 for ; Wed, 9 Mar 2016 00:35:06 +0000 (UTC) In-Reply-To: <1457483669-155235-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: paulo.r.zanoni@intel.com, Tom O'Rourke List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVG9tIE8nUm91cmtlIDxUb20uTydSb3Vya2VAaW50ZWwuY29tPgoKU0xQQyBzaGFyZWQg ZGF0YSBpcyB1c2VkIHRvIHBhc3MgaW5mb3JtYXRpb24KdG8vZnJvbSBTTFBDIGZpcm13YXJlLgoK Rm9yIFNreWxha2UsIHBsYXRmb3JtIHNrdSB0eXBlIGFuZCBzbGljZSBjb3VudAphcmUgaWRlbnRp ZmllZCBmcm9tIGRldmljZSBpZCBhbmQgZnVzZSB2YWx1ZXMuCgpTdXBwb3J0IGZvciBvdGhlciBw bGF0Zm9ybXMgbmVlZHMgdG8gYmUgYWRkZWQuCgp2MjogVXBkYXRlIGZvciBTTFBDIGludGVyZmFj ZSB2ZXJzaW9uIDIwMTUuMi40CiAgICBpbnRlbF9zbHBjX2FjdGl2ZSgpIHJldHVybnMgMSBpZiBz bHBjIGluaXRpYWxpemVkIChQYXVsbykKClNpZ25lZC1vZmYtYnk6IFRvbSBPJ1JvdXJrZSA8VG9t Lk8nUm91cmtlQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aCAgfCAgOSArKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggIHwgIDIgKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xwYy5jIHwgODQgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBjLmgg fCA3NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQs IDE2NyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKaW5kZXggMTFlN2Q2Ni4uNzI0YzQ4MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAg LTE1ODksOSArMTU4OSwxNiBAQCBib29sIGNodl9waHlfcG93ZXJnYXRlX2NoKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBkcGlvX3BoeSBwaHksCiAKIHN0YXRpYyBpbmxp bmUgaW50IGludGVsX3NscGNfYWN0aXZlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7Ci0JcmV0 dXJuIDA7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKKwlpbnQgcmV0ID0gMDsKKworCWlmIChkZXZfcHJpdi0+Z3VjLnNscGMuc2hhcmVkX2Rh dGFfb2JqKQorCQlyZXQgPSAxOworCisJcmV0dXJuIHJldDsKIH0KIAorCiAvKiBpbnRlbF9wbS5j ICovCiB2b2lkIGludGVsX2luaXRfY2xvY2tfZ2F0aW5nKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Owogdm9pZCBpbnRlbF9zdXNwZW5kX2h3KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ndWMuaAppbmRleCA0MTdjYzgyLi42MjA3NWRiIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ndWMuaApAQCAtMTA5LDYgKzEwOSw4IEBAIHN0cnVjdCBpbnRlbF9ndWMgewogCiAJdWlu dDY0X3Qgc3VibWlzc2lvbnNbR1VDX01BWF9FTkdJTkVTX05VTV07CiAJdWludDMyX3QgbGFzdF9z ZXFub1tHVUNfTUFYX0VOR0lORVNfTlVNXTsKKworCXN0cnVjdCBpbnRlbF9zbHBjIHNscGM7CiB9 OwogCiBzdGF0aWMgaW5saW5lIGludCBpbnRlbF9zbHBjX2VuYWJsZWQodm9pZCkKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3NscGMuYwppbmRleCA0NzRmYWMwLi40Njg5ZTcwIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfc2xwYy5jCkBAIC0yMiwxNyArMjIsOTcgQEAKICAqCiAgKi8KICNpbmNsdWRlIDxsaW51 eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9tc3ItaW5kZXguaD4KICNpbmNsdWRlICJpOTE1 X2Rydi5oIgogI2luY2x1ZGUgImludGVsX2d1Yy5oIgogCitzdGF0aWMgdTggc2xwY19nZXRfcGxh dGZvcm1fc2t1KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCit7CisJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IG9iai0+YmFzZS5kZXY7CisJZW51bSBzbHBjX3BsYXRmb3JtX3NrdSBw bGF0Zm9ybV9za3U7CisKKwlpZiAoSVNfU0tMX1VMWChkZXYpKQorCQlwbGF0Zm9ybV9za3UgPSBT TFBDX1BMQVRGT1JNX1NLVV9VTFg7CisJZWxzZSBpZiAoSVNfU0tMX1VMVChkZXYpKQorCQlwbGF0 Zm9ybV9za3UgPSBTTFBDX1BMQVRGT1JNX1NLVV9VTFQ7CisJZWxzZQorCQlwbGF0Zm9ybV9za3Ug PSBTTFBDX1BMQVRGT1JNX1NLVV9EVDsKKworCXJldHVybiAodTgpIHBsYXRmb3JtX3NrdTsKK30K Kworc3RhdGljIHU4IHNscGNfZ2V0X3NsaWNlX2NvdW50KHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmopCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG9iai0+YmFzZS5kZXY7CisJ dTggc2xpY2VfY291bnQgPSAxOworCisJaWYgKElTX1NLWUxBS0UoZGV2KSkKKwkJc2xpY2VfY291 bnQgPSBJTlRFTF9JTkZPKGRldiktPnNsaWNlX3RvdGFsOworCisJcmV0dXJuIHNsaWNlX2NvdW50 OworfQorCitzdGF0aWMgdm9pZCBzbHBjX3NoYXJlZF9kYXRhX2luaXQoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaikKK3sKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlzdHJ1Y3Qgc2xwY19z aGFyZWRfZGF0YSAqZGF0YTsKKwl1NjQgbXNyX3ZhbHVlOworCisJcGFnZSA9IGk5MTVfZ2VtX29i amVjdF9nZXRfcGFnZShvYmosIDApOworCWlmIChwYWdlKSB7CisJCWRhdGEgPSBrbWFwX2F0b21p YyhwYWdlKTsKKwkJbWVtc2V0KGRhdGEsIDAsIHNpemVvZihzdHJ1Y3Qgc2xwY19zaGFyZWRfZGF0 YSkpOworCisJCWRhdGEtPnNscGNfdmVyc2lvbiA9IFNMUENfVkVSU0lPTjsKKwkJZGF0YS0+c2hh cmVkX2RhdGFfc2l6ZSA9IHNpemVvZihzdHJ1Y3Qgc2xwY19zaGFyZWRfZGF0YSk7CisJCWRhdGEt Pmdsb2JhbF9zdGF0ZSA9ICh1MzIpIFNMUENfR0xPQkFMX1NUQVRFX05PVF9SVU5OSU5HOworCQlk YXRhLT5wbGF0Zm9ybV9pbmZvLnBsYXRmb3JtX3NrdSA9IHNscGNfZ2V0X3BsYXRmb3JtX3NrdShv YmopOworCQlkYXRhLT5wbGF0Zm9ybV9pbmZvLnNsaWNlX2NvdW50ID0gc2xwY19nZXRfc2xpY2Vf Y291bnQob2JqKTsKKwkJZGF0YS0+cGxhdGZvcm1faW5mby5ob3N0X29zID0gKHU4KSBTTFBDX0hP U1RfT1NfVU5ERUZJTkVEOworCQlkYXRhLT5wbGF0Zm9ybV9pbmZvLnBvd2VyX3BsYW5fc291cmNl ID0KKwkJCSh1OCkgU0xQQ19QT1dFUl9QTEFOX1NPVVJDRShTTFBDX1BPV0VSX1BMQU5fQkFMQU5D RUQsCisJCQkJCQkgICAgU0xQQ19QT1dFUl9TT1VSQ0VfQUMpOworCQlyZG1zcmwoTVNSX1RVUkJP X1JBVElPX0xJTUlULCBtc3JfdmFsdWUpOworCQlkYXRhLT5wbGF0Zm9ybV9pbmZvLlAwX2ZyZXEg PSAodTgpIG1zcl92YWx1ZTsKKwkJcmRtc3JsKE1TUl9QTEFURk9STV9JTkZPLCBtc3JfdmFsdWUp OworCQlkYXRhLT5wbGF0Zm9ybV9pbmZvLlAxX2ZyZXEgPSAodTgpIChtc3JfdmFsdWUgPj4gOCk7 CisJCWRhdGEtPnBsYXRmb3JtX2luZm8uUGVfZnJlcSA9ICh1OCkgKG1zcl92YWx1ZSA+PiA0MCk7 CisJCWRhdGEtPnBsYXRmb3JtX2luZm8uUG5fZnJlcSA9ICh1OCkgKG1zcl92YWx1ZSA+PiA0OCk7 CisJCXJkbXNybChNU1JfUEtHX1BPV0VSX0xJTUlULCBtc3JfdmFsdWUpOworCQlkYXRhLT5wbGF0 Zm9ybV9pbmZvLnBhY2thZ2VfcmFwbF9saW1pdF9oaWdoID0KKwkJCQkJCQkodTMyKSAobXNyX3Zh bHVlID4+IDMyKTsKKwkJZGF0YS0+cGxhdGZvcm1faW5mby5wYWNrYWdlX3JhcGxfbGltaXRfbG93 ID0gKHUzMikgbXNyX3ZhbHVlOworCisJCWt1bm1hcF9hdG9taWMoZGF0YSk7CisJfQorfQorCiB2 b2lkIGludGVsX3NscGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewotCXJldHVybjsK KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwor CXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CisKKwkvKiBBbGxvY2F0ZSBzaGFyZWQg ZGF0YSBzdHJ1Y3R1cmUgKi8KKwlvYmogPSBkZXZfcHJpdi0+Z3VjLnNscGMuc2hhcmVkX2RhdGFf b2JqOworCWlmICghb2JqKSB7CisJCW9iaiA9IGdlbV9hbGxvY2F0ZV9ndWNfb2JqKGRldl9wcml2 LT5kZXYsCisJCQkJUEFHRV9BTElHTihzaXplb2Yoc3RydWN0IHNscGNfc2hhcmVkX2RhdGEpKSk7 CisJCWRldl9wcml2LT5ndWMuc2xwYy5zaGFyZWRfZGF0YV9vYmogPSBvYmo7CisJfQorCisJaWYg KCFvYmopCisJCURSTV9FUlJPUigic2xwY19zaGFyZWRfZGF0YSBhbGxvY2F0aW9uIGZhaWxlZFxu Iik7CisJZWxzZQorCQlzbHBjX3NoYXJlZF9kYXRhX2luaXQob2JqKTsKIH0KIAogdm9pZCBpbnRl bF9zbHBjX2NsZWFudXAoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKLQlyZXR1cm47CisJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKworCS8q IFJlbGVhc2Ugc2hhcmVkIGRhdGEgc3R1cmN1dHJlICovCisJZ2VtX3JlbGVhc2VfZ3VjX29iaihk ZXZfcHJpdi0+Z3VjLnNscGMuc2hhcmVkX2RhdGFfb2JqKTsKKwlkZXZfcHJpdi0+Z3VjLnNscGMu c2hhcmVkX2RhdGFfb2JqID0gTlVMTDsKIH0KIAogdm9pZCBpbnRlbF9zbHBjX3N1c3BlbmQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3NscGMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMuaAppbmRleCA2Y2Zh ZGIzLi45NGNkMmY0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBj LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xwYy5oCkBAIC0yNCw2ICsyNCw4 MSBAQAogI2lmbmRlZiBfSU5URUxfU0xQQ19IXwogI2RlZmluZSBfSU5URUxfU0xQQ19IXwogCisj ZGVmaW5lIFNMUENfTUFKT1JfVkVSIDIKKyNkZWZpbmUgU0xQQ19NSU5PUl9WRVIgNAorI2RlZmlu ZSBTTFBDX1ZFUlNJT04gKCgyMDE1IDw8IDE2KSB8IChTTFBDX01BSk9SX1ZFUiA8PCA4KSB8IChT TFBDX01JTk9SX1ZFUikpCisKK2VudW0gc2xwY19nbG9iYWxfc3RhdGUgeworCVNMUENfR0xPQkFM X1NUQVRFX05PVF9SVU5OSU5HID0gMCwKKwlTTFBDX0dMT0JBTF9TVEFURV9JTklUSUFMSVpJTkcg PSAxLAorCVNMUENfR0xPQkFMX1NUQVRFX1JFU0VUSU5HID0gMiwKKwlTTFBDX0dMT0JBTF9TVEFU RV9SVU5OSU5HID0gMywKKwlTTFBDX0dMT0JBTF9TVEFURV9TSFVUVElOR19ET1dOID0gNCwKKwlT TFBDX0dMT0JBTF9TVEFURV9FUlJPUiA9IDUKK307CisKK2VudW0gc2xwY19ob3N0X29zIHsKKwlT TFBDX0hPU1RfT1NfVU5ERUZJTkVEID0gMCwKKwlTTFBDX0hPU1RfT1NfV0lORE9XU184ID0gMSwK K307CisKK2VudW0gc2xwY19wbGF0Zm9ybV9za3UgeworCVNMUENfUExBVEZPUk1fU0tVX1VOREVG SU5FRCA9IDAsCisJU0xQQ19QTEFURk9STV9TS1VfVUxYID0gMSwKKwlTTFBDX1BMQVRGT1JNX1NL VV9VTFQgPSAyLAorCVNMUENfUExBVEZPUk1fU0tVX1QgPSAzLAorCVNMUENfUExBVEZPUk1fU0tV X01PQkwgPSA0LAorCVNMUENfUExBVEZPUk1fU0tVX0RUID0gNSwKKwlTTFBDX1BMQVRGT1JNX1NL VV9VTktOT1dOID0gNiwKK307CisKK2VudW0gc2xwY19wb3dlcl9wbGFuIHsKKwlTTFBDX1BPV0VS X1BMQU5fVU5ERUZJTkVEID0gMCwKKwlTTFBDX1BPV0VSX1BMQU5fQkFUVEVSWV9TQVZFUiA9IDEs CisJU0xQQ19QT1dFUl9QTEFOX0JBTEFOQ0VEID0gMiwKKwlTTFBDX1BPV0VSX1BMQU5fUEVSRk9S TUFOQ0UgPSAzLAorCVNMUENfUE9XRVJfUExBTl9VTktOT1dOID0gNCwKK307CisKK2VudW0gc2xw Y19wb3dlcl9zb3VyY2UgeworCVNMUENfUE9XRVJfU09VUkNFX1VOREVGSU5FRCA9IDAsCisJU0xQ Q19QT1dFUl9TT1VSQ0VfQUMgPSAxLAorCVNMUENfUE9XRVJfU09VUkNFX0RDID0gMiwKKwlTTFBD X1BPV0VSX1NPVVJDRV9VTktOT1dOID0gMywKK307CisKKyNkZWZpbmUgU0xQQ19QT1dFUl9QTEFO X1NPVVJDRShwbGFuLCBzb3VyY2UpICgocGxhbikgfCAoKHNvdXJjZSkgPDwgNikpCisKK3N0cnVj dCBzbHBjX3BsYXRmb3JtX2luZm8geworCXU4IHBsYXRmb3JtX3NrdTsKKwl1OCBzbGljZV9jb3Vu dDsKKwl1OCBob3N0X29zOworCXU4IHBvd2VyX3BsYW5fc291cmNlOworCXU4IFAwX2ZyZXE7CisJ dTggUDFfZnJlcTsKKwl1OCBQZV9mcmVxOworCXU4IFBuX2ZyZXE7CisJdTMyIHBhY2thZ2VfcmFw bF9saW1pdF9oaWdoOworCXUzMiBwYWNrYWdlX3JhcGxfbGltaXRfbG93OworfSBfX3BhY2tlZDsK KworI2RlZmluZSBTTFBDX01BWF9PVkVSUklERV9QQVJBTUVURVJTIDE5MgorI2RlZmluZSBTTFBD X09WRVJSSURFX0JJVEZJRUxEX1NJWkUgKChTTFBDX01BWF9PVkVSUklERV9QQVJBTUVURVJTICsg MzEpIC8gMzIpCisKK3N0cnVjdCBzbHBjX3NoYXJlZF9kYXRhIHsKKwl1MzIgc2xwY192ZXJzaW9u OworCXUzMiBzaGFyZWRfZGF0YV9zaXplOworCXUzMiBnbG9iYWxfc3RhdGU7CisJc3RydWN0IHNs cGNfcGxhdGZvcm1faW5mbyBwbGF0Zm9ybV9pbmZvOworCXUzMiB0YXNrX3N0YXRlX2RhdGE7CisJ dTMyIG92ZXJyaWRlX3BhcmFtZXRlcnNfc2V0X2JpdHNbU0xQQ19PVkVSUklERV9CSVRGSUVMRF9T SVpFXTsKKwl1MzIgb3ZlcnJpZGVfcGFyYW1ldGVyc192YWx1ZXNbU0xQQ19NQVhfT1ZFUlJJREVf UEFSQU1FVEVSU107Cit9IF9fcGFja2VkOworCitzdHJ1Y3QgaW50ZWxfc2xwYyB7CisJc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKnNoYXJlZF9kYXRhX29iajsKK307CisKIC8qIGludGVsX3Ns cGMuYyAqLwogdm9pZCBpbnRlbF9zbHBjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiB2 b2lkIGludGVsX3NscGNfY2xlYW51cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKLS0gCjEuOS4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK