From mboxrd@z Thu Jan 1 00:00:00 1970 From: tom.orourke@intel.com Subject: [PATCH 08/25] drm/i915/slpc: Allocate/Release/Initialize SLPC shared data Date: Wed, 6 Apr 2016 12:24:26 -0700 Message-ID: <1459970683-97940-9-git-send-email-tom.orourke@intel.com> References: <1459970683-97940-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id ACA676E30D for ; Wed, 6 Apr 2016 19:24:56 +0000 (UTC) In-Reply-To: <1459970683-97940-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, jbarnes@virtuousgeek.org, Tom O'Rourke List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVG9tIE8nUm91cmtlIDxUb20uTydSb3Vya2VAaW50ZWwuY29tPgoKU0xQQyBzaGFyZWQg ZGF0YSBpcyB1c2VkIHRvIHBhc3MgaW5mb3JtYXRpb24KdG8vZnJvbSBTTFBDIGZpcm13YXJlLgoK Rm9yIFNreWxha2UsIHBsYXRmb3JtIHNrdSB0eXBlIGFuZCBzbGljZSBjb3VudAphcmUgaWRlbnRp ZmllZCBmcm9tIGRldmljZSBpZCBhbmQgZnVzZSB2YWx1ZXMuCgpTdXBwb3J0IGZvciBvdGhlciBw bGF0Zm9ybXMgbmVlZHMgdG8gYmUgYWRkZWQuCgp2MjogVXBkYXRlIGZvciBTTFBDIGludGVyZmFj ZSB2ZXJzaW9uIDIwMTUuMi40CiAgICBpbnRlbF9zbHBjX2FjdGl2ZSgpIHJldHVybnMgMSBpZiBz bHBjIGluaXRpYWxpemVkIChQYXVsbykKdjM6IGNoYW5nZSBkZWZhdWx0IGhvc3Rfb3MgdG8gIldp bmRvd3MiCgpTaWduZWQtb2ZmLWJ5OiBUb20gTydSb3Vya2UgPFRvbS5PJ1JvdXJrZUBpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggIHwgIDkgKysrKy0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oICB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3NscGMuYyB8IDg0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xwYy5oIHwgNzUgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAxNjcgaW5zZXJ0aW9ucygr KSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDgwYzAzMGEu Ljc4NGRhZmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0xNTc1LDkgKzE1NzUsMTYg QEAgYm9vbCBjaHZfcGh5X3Bvd2VyZ2F0ZV9jaChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsIGVudW0gZHBpb19waHkgcGh5LAogCiBzdGF0aWMgaW5saW5lIGludCBpbnRlbF9zbHBj X2FjdGl2ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewotCXJldHVybiAwOworCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJaW50IHJldCA9 IDA7CisKKwlpZiAoZGV2X3ByaXYtPmd1Yy5zbHBjLnNoYXJlZF9kYXRhX29iaikKKwkJcmV0ID0g MTsKKworCXJldHVybiByZXQ7CiB9CiAKKwogLyogaW50ZWxfcG0uYyAqLwogdm9pZCBpbnRlbF9p bml0X2Nsb2NrX2dhdGluZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQgaW50ZWxfc3Vz cGVuZF9odyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2d1Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgK aW5kZXggNDE3Y2M4Mi4uNjIwNzVkYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZ3VjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKQEAgLTEw OSw2ICsxMDksOCBAQCBzdHJ1Y3QgaW50ZWxfZ3VjIHsKIAogCXVpbnQ2NF90IHN1Ym1pc3Npb25z W0dVQ19NQVhfRU5HSU5FU19OVU1dOwogCXVpbnQzMl90IGxhc3Rfc2Vxbm9bR1VDX01BWF9FTkdJ TkVTX05VTV07CisKKwlzdHJ1Y3QgaW50ZWxfc2xwYyBzbHBjOwogfTsKIAogc3RhdGljIGlubGlu ZSBpbnQgaW50ZWxfc2xwY19lbmFibGVkKHZvaWQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zbHBjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBjLmMK aW5kZXggNDc0ZmFjMC4uOWYzZTcyNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfc2xwYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMuYwpAQCAt MjIsMTcgKzIyLDk3IEBACiAgKgogICovCiAjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNp bmNsdWRlIDxhc20vbXNyLWluZGV4Lmg+CiAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKICNpbmNsdWRl ICJpbnRlbF9ndWMuaCIKIAorc3RhdGljIHU4IHNscGNfZ2V0X3BsYXRmb3JtX3NrdShzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBv YmotPmJhc2UuZGV2OworCWVudW0gc2xwY19wbGF0Zm9ybV9za3UgcGxhdGZvcm1fc2t1OworCisJ aWYgKElTX1NLTF9VTFgoZGV2KSkKKwkJcGxhdGZvcm1fc2t1ID0gU0xQQ19QTEFURk9STV9TS1Vf VUxYOworCWVsc2UgaWYgKElTX1NLTF9VTFQoZGV2KSkKKwkJcGxhdGZvcm1fc2t1ID0gU0xQQ19Q TEFURk9STV9TS1VfVUxUOworCWVsc2UKKwkJcGxhdGZvcm1fc2t1ID0gU0xQQ19QTEFURk9STV9T S1VfRFQ7CisKKwlyZXR1cm4gKHU4KSBwbGF0Zm9ybV9za3U7Cit9CisKK3N0YXRpYyB1OCBzbHBj X2dldF9zbGljZV9jb3VudChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQoreworCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvYmotPmJhc2UuZGV2OworCXU4IHNsaWNlX2NvdW50ID0g MTsKKworCWlmIChJU19TS1lMQUtFKGRldikpCisJCXNsaWNlX2NvdW50ID0gSU5URUxfSU5GTyhk ZXYpLT5zbGljZV90b3RhbDsKKworCXJldHVybiBzbGljZV9jb3VudDsKK30KKworc3RhdGljIHZv aWQgc2xwY19zaGFyZWRfZGF0YV9pbml0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmop Cit7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJc3RydWN0IHNscGNfc2hhcmVkX2RhdGEgKmRhdGE7 CisJdTY0IG1zcl92YWx1ZTsKKworCXBhZ2UgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2Uob2Jq LCAwKTsKKwlpZiAocGFnZSkgeworCQlkYXRhID0ga21hcF9hdG9taWMocGFnZSk7CisJCW1lbXNl dChkYXRhLCAwLCBzaXplb2Yoc3RydWN0IHNscGNfc2hhcmVkX2RhdGEpKTsKKworCQlkYXRhLT5z bHBjX3ZlcnNpb24gPSBTTFBDX1ZFUlNJT047CisJCWRhdGEtPnNoYXJlZF9kYXRhX3NpemUgPSBz aXplb2Yoc3RydWN0IHNscGNfc2hhcmVkX2RhdGEpOworCQlkYXRhLT5nbG9iYWxfc3RhdGUgPSAo dTMyKSBTTFBDX0dMT0JBTF9TVEFURV9OT1RfUlVOTklORzsKKwkJZGF0YS0+cGxhdGZvcm1faW5m by5wbGF0Zm9ybV9za3UgPSBzbHBjX2dldF9wbGF0Zm9ybV9za3Uob2JqKTsKKwkJZGF0YS0+cGxh dGZvcm1faW5mby5zbGljZV9jb3VudCA9IHNscGNfZ2V0X3NsaWNlX2NvdW50KG9iaik7CisJCWRh dGEtPnBsYXRmb3JtX2luZm8uaG9zdF9vcyA9ICh1OCkgU0xQQ19IT1NUX09TX1dJTkRPV1NfODsK KwkJZGF0YS0+cGxhdGZvcm1faW5mby5wb3dlcl9wbGFuX3NvdXJjZSA9CisJCQkodTgpIFNMUENf UE9XRVJfUExBTl9TT1VSQ0UoU0xQQ19QT1dFUl9QTEFOX0JBTEFOQ0VELAorCQkJCQkJICAgIFNM UENfUE9XRVJfU09VUkNFX0FDKTsKKwkJcmRtc3JsKE1TUl9UVVJCT19SQVRJT19MSU1JVCwgbXNy X3ZhbHVlKTsKKwkJZGF0YS0+cGxhdGZvcm1faW5mby5QMF9mcmVxID0gKHU4KSBtc3JfdmFsdWU7 CisJCXJkbXNybChNU1JfUExBVEZPUk1fSU5GTywgbXNyX3ZhbHVlKTsKKwkJZGF0YS0+cGxhdGZv cm1faW5mby5QMV9mcmVxID0gKHU4KSAobXNyX3ZhbHVlID4+IDgpOworCQlkYXRhLT5wbGF0Zm9y bV9pbmZvLlBlX2ZyZXEgPSAodTgpIChtc3JfdmFsdWUgPj4gNDApOworCQlkYXRhLT5wbGF0Zm9y bV9pbmZvLlBuX2ZyZXEgPSAodTgpIChtc3JfdmFsdWUgPj4gNDgpOworCQlyZG1zcmwoTVNSX1BL R19QT1dFUl9MSU1JVCwgbXNyX3ZhbHVlKTsKKwkJZGF0YS0+cGxhdGZvcm1faW5mby5wYWNrYWdl X3JhcGxfbGltaXRfaGlnaCA9CisJCQkJCQkJKHUzMikgKG1zcl92YWx1ZSA+PiAzMik7CisJCWRh dGEtPnBsYXRmb3JtX2luZm8ucGFja2FnZV9yYXBsX2xpbWl0X2xvdyA9ICh1MzIpIG1zcl92YWx1 ZTsKKworCQlrdW5tYXBfYXRvbWljKGRhdGEpOworCX0KK30KKwogdm9pZCBpbnRlbF9zbHBjX2lu aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKLQlyZXR1cm47CisJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqOworCisJLyogQWxsb2NhdGUgc2hhcmVkIGRhdGEgc3RydWN0dXJlICov CisJb2JqID0gZGV2X3ByaXYtPmd1Yy5zbHBjLnNoYXJlZF9kYXRhX29iajsKKwlpZiAoIW9iaikg eworCQlvYmogPSBnZW1fYWxsb2NhdGVfZ3VjX29iaihkZXZfcHJpdi0+ZGV2LAorCQkJCVBBR0Vf QUxJR04oc2l6ZW9mKHN0cnVjdCBzbHBjX3NoYXJlZF9kYXRhKSkpOworCQlkZXZfcHJpdi0+Z3Vj LnNscGMuc2hhcmVkX2RhdGFfb2JqID0gb2JqOworCX0KKworCWlmICghb2JqKQorCQlEUk1fRVJS T1IoInNscGNfc2hhcmVkX2RhdGEgYWxsb2NhdGlvbiBmYWlsZWRcbiIpOworCWVsc2UKKwkJc2xw Y19zaGFyZWRfZGF0YV9pbml0KG9iaik7CiB9CiAKIHZvaWQgaW50ZWxfc2xwY19jbGVhbnVwKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7Ci0JcmV0dXJuOworCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisKKwkvKiBSZWxlYXNlIHNoYXJlZCBk YXRhIHN0dXJjdXRyZSAqLworCWdlbV9yZWxlYXNlX2d1Y19vYmooZGV2X3ByaXYtPmd1Yy5zbHBj LnNoYXJlZF9kYXRhX29iaik7CisJZGV2X3ByaXYtPmd1Yy5zbHBjLnNoYXJlZF9kYXRhX29iaiA9 IE5VTEw7CiB9CiAKIHZvaWQgaW50ZWxfc2xwY19zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBjLmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBjLmgKaW5kZXggNmNmYWRiMy4uOTRjZDJmNCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xwYy5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3NscGMuaApAQCAtMjQsNiArMjQsODEgQEAKICNpZm5kZWYgX0lO VEVMX1NMUENfSF8KICNkZWZpbmUgX0lOVEVMX1NMUENfSF8KIAorI2RlZmluZSBTTFBDX01BSk9S X1ZFUiAyCisjZGVmaW5lIFNMUENfTUlOT1JfVkVSIDQKKyNkZWZpbmUgU0xQQ19WRVJTSU9OICgo MjAxNSA8PCAxNikgfCAoU0xQQ19NQUpPUl9WRVIgPDwgOCkgfCAoU0xQQ19NSU5PUl9WRVIpKQor CitlbnVtIHNscGNfZ2xvYmFsX3N0YXRlIHsKKwlTTFBDX0dMT0JBTF9TVEFURV9OT1RfUlVOTklO RyA9IDAsCisJU0xQQ19HTE9CQUxfU1RBVEVfSU5JVElBTElaSU5HID0gMSwKKwlTTFBDX0dMT0JB TF9TVEFURV9SRVNFVElORyA9IDIsCisJU0xQQ19HTE9CQUxfU1RBVEVfUlVOTklORyA9IDMsCisJ U0xQQ19HTE9CQUxfU1RBVEVfU0hVVFRJTkdfRE9XTiA9IDQsCisJU0xQQ19HTE9CQUxfU1RBVEVf RVJST1IgPSA1Cit9OworCitlbnVtIHNscGNfaG9zdF9vcyB7CisJU0xQQ19IT1NUX09TX1VOREVG SU5FRCA9IDAsCisJU0xQQ19IT1NUX09TX1dJTkRPV1NfOCA9IDEsCit9OworCitlbnVtIHNscGNf cGxhdGZvcm1fc2t1IHsKKwlTTFBDX1BMQVRGT1JNX1NLVV9VTkRFRklORUQgPSAwLAorCVNMUENf UExBVEZPUk1fU0tVX1VMWCA9IDEsCisJU0xQQ19QTEFURk9STV9TS1VfVUxUID0gMiwKKwlTTFBD X1BMQVRGT1JNX1NLVV9UID0gMywKKwlTTFBDX1BMQVRGT1JNX1NLVV9NT0JMID0gNCwKKwlTTFBD X1BMQVRGT1JNX1NLVV9EVCA9IDUsCisJU0xQQ19QTEFURk9STV9TS1VfVU5LTk9XTiA9IDYsCit9 OworCitlbnVtIHNscGNfcG93ZXJfcGxhbiB7CisJU0xQQ19QT1dFUl9QTEFOX1VOREVGSU5FRCA9 IDAsCisJU0xQQ19QT1dFUl9QTEFOX0JBVFRFUllfU0FWRVIgPSAxLAorCVNMUENfUE9XRVJfUExB Tl9CQUxBTkNFRCA9IDIsCisJU0xQQ19QT1dFUl9QTEFOX1BFUkZPUk1BTkNFID0gMywKKwlTTFBD X1BPV0VSX1BMQU5fVU5LTk9XTiA9IDQsCit9OworCitlbnVtIHNscGNfcG93ZXJfc291cmNlIHsK KwlTTFBDX1BPV0VSX1NPVVJDRV9VTkRFRklORUQgPSAwLAorCVNMUENfUE9XRVJfU09VUkNFX0FD ID0gMSwKKwlTTFBDX1BPV0VSX1NPVVJDRV9EQyA9IDIsCisJU0xQQ19QT1dFUl9TT1VSQ0VfVU5L Tk9XTiA9IDMsCit9OworCisjZGVmaW5lIFNMUENfUE9XRVJfUExBTl9TT1VSQ0UocGxhbiwgc291 cmNlKSAoKHBsYW4pIHwgKChzb3VyY2UpIDw8IDYpKQorCitzdHJ1Y3Qgc2xwY19wbGF0Zm9ybV9p bmZvIHsKKwl1OCBwbGF0Zm9ybV9za3U7CisJdTggc2xpY2VfY291bnQ7CisJdTggaG9zdF9vczsK Kwl1OCBwb3dlcl9wbGFuX3NvdXJjZTsKKwl1OCBQMF9mcmVxOworCXU4IFAxX2ZyZXE7CisJdTgg UGVfZnJlcTsKKwl1OCBQbl9mcmVxOworCXUzMiBwYWNrYWdlX3JhcGxfbGltaXRfaGlnaDsKKwl1 MzIgcGFja2FnZV9yYXBsX2xpbWl0X2xvdzsKK30gX19wYWNrZWQ7CisKKyNkZWZpbmUgU0xQQ19N QVhfT1ZFUlJJREVfUEFSQU1FVEVSUyAxOTIKKyNkZWZpbmUgU0xQQ19PVkVSUklERV9CSVRGSUVM RF9TSVpFICgoU0xQQ19NQVhfT1ZFUlJJREVfUEFSQU1FVEVSUyArIDMxKSAvIDMyKQorCitzdHJ1 Y3Qgc2xwY19zaGFyZWRfZGF0YSB7CisJdTMyIHNscGNfdmVyc2lvbjsKKwl1MzIgc2hhcmVkX2Rh dGFfc2l6ZTsKKwl1MzIgZ2xvYmFsX3N0YXRlOworCXN0cnVjdCBzbHBjX3BsYXRmb3JtX2luZm8g cGxhdGZvcm1faW5mbzsKKwl1MzIgdGFza19zdGF0ZV9kYXRhOworCXUzMiBvdmVycmlkZV9wYXJh bWV0ZXJzX3NldF9iaXRzW1NMUENfT1ZFUlJJREVfQklURklFTERfU0laRV07CisJdTMyIG92ZXJy aWRlX3BhcmFtZXRlcnNfdmFsdWVzW1NMUENfTUFYX09WRVJSSURFX1BBUkFNRVRFUlNdOworfSBf X3BhY2tlZDsKKworc3RydWN0IGludGVsX3NscGMgeworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpzaGFyZWRfZGF0YV9vYmo7Cit9OworCiAvKiBpbnRlbF9zbHBjLmMgKi8KIHZvaWQgaW50 ZWxfc2xwY19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogdm9pZCBpbnRlbF9zbHBjX2Ns ZWFudXAoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==