From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sagar Arun Kamble Subject: [PATCH v5 09/22] drm/i915/slpc: Allocate/Release/Initialize SLPC shared data Date: Mon, 14 Nov 2016 16:07:16 +0530 Message-ID: <1479119849-20187-10-git-send-email-sagar.a.kamble@intel.com> References: <1479119849-20187-1-git-send-email-sagar.a.kamble@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id C26906E3A6 for ; Mon, 14 Nov 2016 10:35:26 +0000 (UTC) In-Reply-To: <1479119849-20187-1-git-send-email-sagar.a.kamble@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 ZGF0YSBpcyB1c2VkIHRvIHBhc3MgaW5mb3JtYXRpb24KdG8vZnJvbSBTTFBDIGluIEd1QyBmaXJt d2FyZS4KCkZvciBTa3lsYWtlLCBwbGF0Zm9ybSBza3UgdHlwZSBhbmQgc2xpY2UgY291bnQKYXJl IGlkZW50aWZpZWQgZnJvbSBkZXZpY2UgaWQgYW5kIGZ1c2UgdmFsdWVzLgoKU3VwcG9ydCBmb3Ig b3RoZXIgcGxhdGZvcm1zIG5lZWRzIHRvIGJlIGFkZGVkLgoKdjE6IFVwZGF0ZSBmb3IgU0xQQyBp bnRlcmZhY2UgdmVyc2lvbiAyMDE1LjIuNAogICAgaW50ZWxfc2xwY19hY3RpdmUoKSByZXR1cm5z IDEgaWYgc2xwYyBpbml0aWFsaXplZCAoUGF1bG8pCiAgICBjaGFuZ2UgZGVmYXVsdCBob3N0X29z IHRvICJXaW5kb3dzIgogICAgU3BlbGxpbmcgZml4ZXMgKFNhZ2FyIEthbWJsZSBhbmQgTmljayBI b2F0aCkKICAgIEFkZGVkIFdBUk4gZm9yIGNoZWNraW5nIGlmIHVwcGVyIDMyYml0cyBvZiBHVFQg b2Zmc2V0CiAgICBvZiBzaGFyZWQgb2JqZWN0IGFyZSB6ZXJvLiAoQ2hyaXNXKQogICAgQ2hhbmdl ZCBmdW5jdGlvbiBjYWxsIGZyb20gZ2VtX2FsbG9jYXRlL3JlbGVhc2VfZ3VjX29iaiB0bwogICAg aTkxNV9ndWNfYWxsb2NhdGUvcmVsZWFzZV9nZW1fb2JqLiAoU2FnYXIpCiAgICBVcGRhdGVkIGNv bW1pdCBtZXNzYWdlIGFuZCBtb3ZlZCBQT1dFUl9QTEFOIGFuZCBQT1dFUl9TT1VSQ0UKICAgIGRl ZmluaXRpb24gZnJvbSBsYXRlciBwYXRjaC4gKEFrYXNoKQogICAgQWRkIHN0cnVjdF9tdXRleCBs b2NraW5nIHdoaWxlIGFsbG9jYXRpbmcvcmVsZWFzaW5nIHNscGMgc2hhcmVkCiAgICBvYmplY3Qu IFRoaXMgd2FzIGNhdWdodCBieSBDSSBCQVQuIEFkZGluZyBTTFBDIHN0YXRlIHZhcmlhYmxlCiAg ICB0byBkZXRlcm1pbmUgaWYgaXQgaXMgYWN0aXZlIGFzIGl0IG5vdCBqdXN0IGRlcGVuZGVudCBv biBzaGFyZWQKICAgIGRhdGEgc2V0dXAuCiAgICBSZWJhc2Ugd2l0aCBndWNfYWxsb2NhdGVfdm1h IHJlbGF0ZWQgY2hhbmdlcy4KCnYyOiBXQVJOX09OIGZvciBwbGF0Zm9ybV9za3UgdmFsaWRpdHkg YW5kIHNwYWNlIGNoYW5nZXMuKERhdmlkKQogICAgQ2hlY2twYXRjaCB1cGRhdGUuCgp2MzogRml4 aW5nIFdBUk5JTkcgaW4gaWd0QGRydl9tb2R1bGVfcmVsb2FkX2Jhc2ljIGZvdW5kIGluIHRyeWJv dCBCQVQKICAgIHdpdGggU0xQQyBFbmFibGVkLgoKdjQ6IFVwZGF0ZWQgc3VwcG9ydCBmb3IgR3VD IHY5LiBzL3NsaWNlX3RvdGFsL2h3ZWlnaHQ4KHNsaWNlX21hc2spLyhEYXZlKS4KCnY1OiBTTFBD IHZtYSBtYXBwaW5nIGNoYW5nZXMgYW5kIHJlbW92ZWQgZXhwbGljaXQgdHlwZSBjb252ZXJzaW9u cy4oQ2hyaXMpLgogICAgcy9mcmVxX3Vuc2xpY2VfbWF4fG1pbi91bnNsaWNlX19tYXh8bWluX2Zy ZXEuCgpTaWduZWQtb2ZmLWJ5OiBUb20gTydSb3Vya2UgPFRvbS5PJ1JvdXJrZUBpbnRlbC5jb20+ ClNpZ25lZC1vZmYtYnk6IFNhZ2FyIEFydW4gS2FtYmxlIDxzYWdhci5hLmthbWJsZUBpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xwYy5jIHwgODMgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xw Yy5oIHwgOTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVz IGNoYW5nZWQsIDE3OCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc2xwYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xwYy5jCmlu ZGV4IGI2N2YxYmMuLjk0NWQyNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3NscGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBjLmMKQEAgLTIy LDE1ICsyMiw5OCBAQAogICoKICAqLwogI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5j bHVkZSA8YXNtL21zci1pbmRleC5oPgogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCiAjaW5jbHVkZSAi aW50ZWxfZ3VjLmgiCiAKK3N0YXRpYyB1bnNpZ25lZCBpbnQgc2xwY19nZXRfcGxhdGZvcm1fc2t1 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwllbnVtIHNscGNfcGxhdGZv cm1fc2t1IHBsYXRmb3JtX3NrdTsKKworCWlmIChJU19TS0xfVUxYKGRldl9wcml2KSkKKwkJcGxh dGZvcm1fc2t1ID0gU0xQQ19QTEFURk9STV9TS1VfVUxYOworCWVsc2UgaWYgKElTX1NLTF9VTFQo ZGV2X3ByaXYpKQorCQlwbGF0Zm9ybV9za3UgPSBTTFBDX1BMQVRGT1JNX1NLVV9VTFQ7CisJZWxz ZQorCQlwbGF0Zm9ybV9za3UgPSBTTFBDX1BMQVRGT1JNX1NLVV9EVDsKKworCVdBUk5fT04ocGxh dGZvcm1fc2t1ID4gMHhGRik7CisKKwlyZXR1cm4gcGxhdGZvcm1fc2t1OworfQorCitzdGF0aWMg dW5zaWduZWQgaW50IHNscGNfZ2V0X3NsaWNlX2NvdW50KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKK3sKKwl1bnNpZ25lZCBpbnQgc2xpY2VfY291bnQgPSAxOworCisJaWYgKElT X1NLWUxBS0UoZGV2X3ByaXYpKQorCQlzbGljZV9jb3VudCA9IGh3ZWlnaHQ4KElOVEVMX0lORk8o ZGV2X3ByaXYpLT5zc2V1LnNsaWNlX21hc2spOworCisJcmV0dXJuIHNsaWNlX2NvdW50OworfQor CitzdGF0aWMgdm9pZCBzbHBjX3NoYXJlZF9kYXRhX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQoreworCXN0cnVjdCBwYWdlICpwYWdlOworCXN0cnVjdCBzbHBjX3NoYXJl ZF9kYXRhICpkYXRhOworCXU2NCBtc3JfdmFsdWU7CisKKwlwYWdlID0gaTkxNV92bWFfZmlyc3Rf cGFnZShkZXZfcHJpdi0+Z3VjLnNscGMudm1hKTsKKwlkYXRhID0ga21hcF9hdG9taWMocGFnZSk7 CisKKwltZW1zZXQoZGF0YSwgMCwgc2l6ZW9mKHN0cnVjdCBzbHBjX3NoYXJlZF9kYXRhKSk7CisK KwlkYXRhLT5zaGFyZWRfZGF0YV9zaXplID0gc2l6ZW9mKHN0cnVjdCBzbHBjX3NoYXJlZF9kYXRh KTsKKwlkYXRhLT5nbG9iYWxfc3RhdGUgPSBTTFBDX0dMT0JBTF9TVEFURV9OT1RfUlVOTklORzsK KwlkYXRhLT5wbGF0Zm9ybV9pbmZvLnBsYXRmb3JtX3NrdSA9CisJCQkJc2xwY19nZXRfcGxhdGZv cm1fc2t1KGRldl9wcml2KTsKKwlkYXRhLT5wbGF0Zm9ybV9pbmZvLnNsaWNlX2NvdW50ID0KKwkJ CQlzbHBjX2dldF9zbGljZV9jb3VudChkZXZfcHJpdik7CisJZGF0YS0+cGxhdGZvcm1faW5mby5w b3dlcl9wbGFuX3NvdXJjZSA9CisJCVNMUENfUE9XRVJfUExBTl9TT1VSQ0UoU0xQQ19QT1dFUl9Q TEFOX0JBTEFOQ0VELAorCQkJCQkgICAgU0xQQ19QT1dFUl9TT1VSQ0VfQUMpOworCXJkbXNybChN U1JfVFVSQk9fUkFUSU9fTElNSVQsIG1zcl92YWx1ZSk7CisJZGF0YS0+cGxhdGZvcm1faW5mby5Q MF9mcmVxID0gbXNyX3ZhbHVlOworCXJkbXNybChNU1JfUExBVEZPUk1fSU5GTywgbXNyX3ZhbHVl KTsKKwlkYXRhLT5wbGF0Zm9ybV9pbmZvLlAxX2ZyZXEgPSBtc3JfdmFsdWUgPj4gODsKKwlkYXRh LT5wbGF0Zm9ybV9pbmZvLlBlX2ZyZXEgPSBtc3JfdmFsdWUgPj4gNDA7CisJZGF0YS0+cGxhdGZv cm1faW5mby5Qbl9mcmVxID0gbXNyX3ZhbHVlID4+IDQ4OworCisJa3VubWFwX2F0b21pYyhkYXRh KTsKK30KKwogdm9pZCBpbnRlbF9zbHBjX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogeworCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZkZXZfcHJpdi0+Z3VjOworCXN0 cnVjdCBpOTE1X3ZtYSAqdm1hOworCisJZGV2X3ByaXYtPmd1Yy5zbHBjLmFjdGl2ZSA9IGZhbHNl OworCisJLyogQWxsb2NhdGUgc2hhcmVkIGRhdGEgc3RydWN0dXJlICovCisJdm1hID0gZGV2X3By aXYtPmd1Yy5zbHBjLnZtYTsKKwlpZiAoIXZtYSkgeworCQl2bWEgPSBndWNfYWxsb2NhdGVfdm1h KGd1YywKKwkJCSAgICAgICBQQUdFX0FMSUdOKHNpemVvZihzdHJ1Y3Qgc2xwY19zaGFyZWRfZGF0 YSkpKTsKKwkJaWYgKElTX0VSUih2bWEpKSB7CisJCQlEUk1fRVJST1IoInNscGNfc2hhcmVkX2Rh dGEgYWxsb2NhdGlvbiBmYWlsZWRcbiIpOworCQkJaTkxNS5lbmFibGVfc2xwYyA9IDA7CisJCQly ZXR1cm47CisJCX0KKworCQlkZXZfcHJpdi0+Z3VjLnNscGMudm1hID0gdm1hOworCX0KKworCXNs cGNfc2hhcmVkX2RhdGFfaW5pdChkZXZfcHJpdik7CiB9CiAKIHZvaWQgaW50ZWxfc2xwY19jbGVh bnVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKKwlzdHJ1Y3QgaW50ZWxf Z3VjICpndWMgPSAmZGV2X3ByaXYtPmd1YzsKKworCS8qIFJlbGVhc2Ugc2hhcmVkIGRhdGEgc3Ry dWN0dXJlICovCisJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOworCWk5 MTVfdm1hX3VucGluX2FuZF9yZWxlYXNlKCZndWMtPnNscGMudm1hKTsKKwltdXRleF91bmxvY2so JmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKIH0KIAogdm9pZCBpbnRlbF9zbHBjX3N1c3Bl bmQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xwYy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf c2xwYy5oCmluZGV4IGU1YWNmYzguLjJkODE0NDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3NscGMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBj LmgKQEAgLTI0LDggKzI0LDEwMyBAQAogI2lmbmRlZiBfSU5URUxfU0xQQ19IXwogI2RlZmluZSBf SU5URUxfU0xQQ19IXwogCitlbnVtIHNscGNfZ2xvYmFsX3N0YXRlIHsKKwlTTFBDX0dMT0JBTF9T VEFURV9OT1RfUlVOTklORyA9IDAsCisJU0xQQ19HTE9CQUxfU1RBVEVfSU5JVElBTElaSU5HID0g MSwKKwlTTFBDX0dMT0JBTF9TVEFURV9SRVNFVFRJTkcgPSAyLAorCVNMUENfR0xPQkFMX1NUQVRF X1JVTk5JTkcgPSAzLAorCVNMUENfR0xPQkFMX1NUQVRFX1NIVVRUSU5HX0RPV04gPSA0LAorCVNM UENfR0xPQkFMX1NUQVRFX0VSUk9SID0gNQorfTsKKworZW51bSBzbHBjX3BsYXRmb3JtX3NrdSB7 CisJU0xQQ19QTEFURk9STV9TS1VfVU5ERUZJTkVEID0gMCwKKwlTTFBDX1BMQVRGT1JNX1NLVV9V TFggPSAxLAorCVNMUENfUExBVEZPUk1fU0tVX1VMVCA9IDIsCisJU0xQQ19QTEFURk9STV9TS1Vf VCA9IDMsCisJU0xQQ19QTEFURk9STV9TS1VfTU9CTCA9IDQsCisJU0xQQ19QTEFURk9STV9TS1Vf RFQgPSA1LAorCVNMUENfUExBVEZPUk1fU0tVX1VOS05PV04gPSA2LAorfTsKKworZW51bSBzbHBj X3Bvd2VyX3BsYW4geworCVNMUENfUE9XRVJfUExBTl9VTkRFRklORUQgPSAwLAorCVNMUENfUE9X RVJfUExBTl9CQVRURVJZX1NBVkVSID0gMSwKKwlTTFBDX1BPV0VSX1BMQU5fQkFMQU5DRUQgPSAy LAorCVNMUENfUE9XRVJfUExBTl9QRVJGT1JNQU5DRSA9IDMsCisJU0xQQ19QT1dFUl9QTEFOX1VO S05PV04gPSA0LAorfTsKKworZW51bSBzbHBjX3Bvd2VyX3NvdXJjZSB7CisJU0xQQ19QT1dFUl9T T1VSQ0VfVU5ERUZJTkVEID0gMCwKKwlTTFBDX1BPV0VSX1NPVVJDRV9BQyA9IDEsCisJU0xQQ19Q T1dFUl9TT1VSQ0VfREMgPSAyLAorCVNMUENfUE9XRVJfU09VUkNFX1VOS05PV04gPSAzLAorfTsK KworI2RlZmluZSBTTFBDX1BPV0VSX1BMQU5fU09VUkNFKHBsYW4sIHNvdXJjZSkgKChwbGFuKSB8 ICgoc291cmNlKSA8PCA2KSkKKyNkZWZpbmUgU0xQQ19QT1dFUl9QTEFOKHBsYW5fc291cmNlKSAo KHBsYW5fc291cmNlKSAmIDB4M0YpCisjZGVmaW5lIFNMUENfUE9XRVJfU09VUkNFKHBsYW5fc291 cmNlKSAoKHBsYW5fc291cmNlKSA+PiA2KQorCitzdHJ1Y3Qgc2xwY19wbGF0Zm9ybV9pbmZvIHsK Kwl1OCBwbGF0Zm9ybV9za3U7CisJdTggc2xpY2VfY291bnQ7CisJdTggcmVzZXJ2ZWQ7CisJdTgg cG93ZXJfcGxhbl9zb3VyY2U7CisJdTggUDBfZnJlcTsKKwl1OCBQMV9mcmVxOworCXU4IFBlX2Zy ZXE7CisJdTggUG5fZnJlcTsKKwl1MzIgcmVzZXJ2ZWQxOworCXUzMiByZXNlcnZlZDI7Cit9IF9f cGFja2VkOworCitzdHJ1Y3Qgc2xwY190YXNrX3N0YXRlX2RhdGEgeworCXVuaW9uIHsKKwkJdTMy IGJpdGZpZWxkMTsKKwkJc3RydWN0IHsKKwkJCXUzMiBndHBlcmZfdGFza19hY3RpdmU6MTsKKwkJ CXUzMiBndHBlcmZfc3RhbGxfcG9zc2libGU6MTsKKwkJCXUzMiBndHBlcmZfZ2FtaW5nX21vZGU6 MTsKKwkJCXUzMiBndHBlcmZfdGFyZ2V0X2Zwczo4OworCQkJdTMyIGRjY190YXNrX2FjdGl2ZTox OworCQkJdTMyIGluX2RjYzoxOworCQkJdTMyIGluX2RjdDoxOworCQkJdTMyIGZyZXFfc3dpdGNo X2FjdGl2ZToxOworCQkJdTMyIGliY19lbmFibGVkOjE7CisJCQl1MzIgaWJjX2FjdGl2ZToxOwor CQkJdTMyIHBnMV9lbmFibGVkOjE7CisJCQl1MzIgcGcxX2FjdGl2ZToxOworCQkJdTMyIHJlc2Vy dmVkOjEzOworCQl9OworCX07CisJdW5pb24geworCQl1MzIgYml0ZmllbGQyOworCQlzdHJ1Y3Qg eworCQkJdTMyIG1heF91bnNsaWNlX2ZyZXE6ODsKKwkJCXUzMiBtaW5fdW5zbGljZV9mcmVxOjg7 CisJCQl1MzIgbWF4X3NsaWNlX2ZyZXE6ODsKKwkJCXUzMiBtaW5fc2xpY2VfZnJlcTo4OworCQl9 OworCX07Cit9IF9fcGFja2VkOworCisjZGVmaW5lIFNMUENfTUFYX09WRVJSSURFX1BBUkFNRVRF UlMgMTkyCisjZGVmaW5lIFNMUENfT1ZFUlJJREVfQklURklFTERfU0laRSAoKFNMUENfTUFYX09W RVJSSURFX1BBUkFNRVRFUlMgKyAzMSkgLyAzMikKKworc3RydWN0IHNscGNfc2hhcmVkX2RhdGEg eworCXUzMiByZXNlcnZlZDsKKwl1MzIgc2hhcmVkX2RhdGFfc2l6ZTsKKwl1MzIgZ2xvYmFsX3N0 YXRlOworCXN0cnVjdCBzbHBjX3BsYXRmb3JtX2luZm8gcGxhdGZvcm1faW5mbzsKKwlzdHJ1Y3Qg c2xwY190YXNrX3N0YXRlX2RhdGEgdGFza19zdGF0ZV9kYXRhOworCXUzMiBvdmVycmlkZV9wYXJh bWV0ZXJzX3NldF9iaXRzW1NMUENfT1ZFUlJJREVfQklURklFTERfU0laRV07CisJdTMyIG92ZXJy aWRlX3BhcmFtZXRlcnNfdmFsdWVzW1NMUENfTUFYX09WRVJSSURFX1BBUkFNRVRFUlNdOworfSBf X3BhY2tlZDsKKwogc3RydWN0IGludGVsX3NscGMgewogCWJvb2wgYWN0aXZlOworCXN0cnVjdCBp OTE1X3ZtYSAqdm1hOwogfTsKIAogLyogaW50ZWxfc2xwYy5jICovCi0tIAoxLjkuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==