From mboxrd@z Thu Jan 1 00:00:00 1970 From: tom.orourke@intel.com Subject: [RFC 19/22] drm/i915/slpc: Add parameter unset/set/get functions Date: Wed, 20 Jan 2016 18:26:21 -0800 Message-ID: <1453343184-160456-20-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 3969B72110 for ; Wed, 20 Jan 2016 18:27:34 -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 RnJvbTogVG9tIE8nUm91cmtlIDxUb20uTydSb3Vya2VAaW50ZWwuY29tPgoKQWRkIHNsY3BfcGFy YW1faWQgZW51bSB2YWx1ZXMuCkFkZCBldmVudHMgZm9yIHNldHRpbmcvdW5zZXR0aW5nIHBhcmFt ZXRlcnMuCgpTaWduZWQtb2ZmLWJ5OiBUb20gTydSb3Vya2UgPFRvbS5PJ1JvdXJrZUBpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xwYy5jIHwgMTI3ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9zbHBjLmggfCAgMjIgKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxNDkgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMuYwppbmRleCAzNmFlZGI5Li4zYWJhZjBiIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBjLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc2xwYy5jCkBAIC0xMTksNiArMTE5LDQ3IEBAIHN0YXRpYyBpbnQg aG9zdDJndWNfc2xwY19xdWVyeV90YXNrX3N0YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgaW50IGhvc3QyZ3VjX3NscGNfc2V0 X3BhcmFtKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkgICBlbnVtIHNs cGNfcGFyYW1faWQgaWQsIHUzMiB2YWx1ZSkKK3sKKwl1MzIgZGF0YVs0XTsKKwlpbnQgcmV0Owor CisJZGF0YVswXSA9IEhPU1QyR1VDX0FDVElPTl9TTFBDX1JFUVVFU1Q7CisJZGF0YVsxXSA9IFNM UENfRVZFTlQoU0xQQ19FVkVOVF9QQVJBTUVURVJfU0VULCAyKTsKKwlkYXRhWzJdID0gKHUzMikg aWQ7CisJZGF0YVszXSA9IHZhbHVlOworCisJcmV0ID0gaG9zdDJndWNfYWN0aW9uKCZkZXZfcHJp di0+Z3VjLCBkYXRhLCA0KTsKKworCWlmICgwID09IHJldCkgeworCQlyZXQgPSBJOTE1X1JFQUQo U09GVF9TQ1JBVENIKDEpKTsKKwkJcmV0ICY9IDB4RkY7CisJfQorCisJcmV0dXJuIHJldDsKK30K Kworc3RhdGljIGludCBob3N0Mmd1Y19zbHBjX3Vuc2V0X3BhcmFtKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKKwkJCQkgICAgIGVudW0gc2xwY19wYXJhbV9pZCBpZCkKK3sKKwl1 MzIgZGF0YVszXTsKKwlpbnQgcmV0OworCisJZGF0YVswXSA9IEhPU1QyR1VDX0FDVElPTl9TTFBD X1JFUVVFU1Q7CisJZGF0YVsxXSA9IFNMUENfRVZFTlQoU0xQQ19FVkVOVF9QQVJBTUVURVJfVU5T RVQsIDEpOworCWRhdGFbMl0gPSAodTMyKSBpZDsKKworCXJldCA9IGhvc3QyZ3VjX2FjdGlvbigm ZGV2X3ByaXYtPmd1YywgZGF0YSwgMyk7CisKKwlpZiAoMCA9PSByZXQpIHsKKwkJcmV0ID0gSTkx NV9SRUFEKFNPRlRfU0NSQVRDSCgxKSk7CisJCXJldCAmPSAweEZGOworCX0KKworCXJldHVybiBy ZXQ7Cit9CisKIHN0YXRpYyB1OCBzbHBjX2dldF9wbGF0Zm9ybV9za3Uoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gb2JqLT5iYXNl LmRldjsKQEAgLTM3MCwzICs0MTEsODkgQEAgaW50IGludGVsX3NscGNfcXVlcnlfdGFza19zdGF0 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJcmV0dXJuIGhvc3QyZ3VjX3NscGNfcXVlcnlf dGFza19zdGF0ZShkZXZfcHJpdik7CiB9CisKK2ludCBpbnRlbF9zbHBjX3Vuc2V0X3BhcmFtKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gc2xwY19wYXJhbV9pZCBpZCkKK3sKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJc3RydWN0IHNs cGNfc2hhcmVkX2RhdGEgKmRhdGEgPSBOVUxMOworCWludCByZXQgPSAwOworCisJb2JqID0gZGV2 X3ByaXYtPmd1Yy5zbHBjLnNoYXJlZF9kYXRhX29iajsKKwlpZiAob2JqKSB7CisJCXBhZ2UgPSBp OTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2Uob2JqLCAwKTsKKwkJaWYgKHBhZ2UpCisJCQlkYXRhID0g a21hcF9hdG9taWMocGFnZSk7CisJfQorCisJaWYgKGRhdGEpIHsKKwkJZGF0YS0+b3ZlcnJpZGVf cGFyYW1ldGVyc19zZXRfYml0c1tpZCA+PiA1XQorCQkJCQkJCSY9ICh+KDEgPDwgKGlkICUgMzIp KSk7CisJCWRhdGEtPm92ZXJyaWRlX3BhcmFtZXRlcnNfdmFsdWVzW2lkXSA9IDA7CisJCWt1bm1h cF9hdG9taWMoZGF0YSk7CisKKwkJcmV0ID0gaG9zdDJndWNfc2xwY191bnNldF9wYXJhbShkZXZf cHJpdiwgaWQpOworCX0KKworCXJldHVybiByZXQ7Cit9CisKK2ludCBpbnRlbF9zbHBjX3NldF9w YXJhbShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHNscGNfcGFyYW1faWQgaWQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgdTMyIHZhbHVlKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iajsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlzdHJ1Y3Qgc2xwY19zaGFyZWRfZGF0 YSAqZGF0YSA9IE5VTEw7CisJaW50IHJldCA9IDA7CisKKwlvYmogPSBkZXZfcHJpdi0+Z3VjLnNs cGMuc2hhcmVkX2RhdGFfb2JqOworCWlmIChvYmopIHsKKwkJcGFnZSA9IGk5MTVfZ2VtX29iamVj dF9nZXRfcGFnZShvYmosIDApOworCQlpZiAocGFnZSkKKwkJCWRhdGEgPSBrbWFwX2F0b21pYyhw YWdlKTsKKwl9CisKKwlpZiAoZGF0YSkgeworCQlkYXRhLT5vdmVycmlkZV9wYXJhbWV0ZXJzX3Nl dF9iaXRzW2lkID4+IDVdCisJCQkJCQkJfD0gKDEgPDwgKGlkICUgMzIpKTsKKwkJZGF0YS0+b3Zl cnJpZGVfcGFyYW1ldGVyc192YWx1ZXNbaWRdID0gdmFsdWU7CisJCWt1bm1hcF9hdG9taWMoZGF0 YSk7CisKKwkJcmV0ID0gaG9zdDJndWNfc2xwY19zZXRfcGFyYW0oZGV2X3ByaXYsIGlkLCB2YWx1 ZSk7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworaW50IGludGVsX3NscGNfZ2V0X3BhcmFtKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gc2xwY19wYXJhbV9pZCBpZCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgKm92ZXJyaWRpbmcsIHUzMiAqdmFsdWUpCit7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqOworCXN0cnVjdCBwYWdlICpwYWdlOworCXN0cnVjdCBzbHBj X3NoYXJlZF9kYXRhICpkYXRhID0gTlVMTDsKKwl1MzIgYml0czsKKwlpbnQgcmV0ID0gMDsKKwor CW9iaiA9IGRldl9wcml2LT5ndWMuc2xwYy5zaGFyZWRfZGF0YV9vYmo7CisJaWYgKG9iaikgewor CQlwYWdlID0gaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlKG9iaiwgMCk7CisJCWlmIChwYWdlKQor CQkJZGF0YSA9IGttYXBfYXRvbWljKHBhZ2UpOworCX0KKworCWlmIChkYXRhKSB7CisJCWlmIChv dmVycmlkaW5nKSB7CisJCQliaXRzID0gZGF0YS0+b3ZlcnJpZGVfcGFyYW1ldGVyc19zZXRfYml0 c1tpZCA+PiA1XTsKKwkJCSpvdmVycmlkaW5nID0gKDAgIT0gKGJpdHMgJiAoMSA8PCAoaWQgJSAz MikpKSk7CisJCX0KKwkJaWYgKHZhbHVlKQorCQkJKnZhbHVlID0gZGF0YS0+b3ZlcnJpZGVfcGFy YW1ldGVyc192YWx1ZXNbaWRdOworCisJCWt1bm1hcF9hdG9taWMoZGF0YSk7CisJfQorCisJcmV0 dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMuaAppbmRleCAzMmQ3ZGNjLi5mYzc0 Y2UzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBjLmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xwYy5oCkBAIC02OCw2ICs2OCwyMyBAQCBlbnVt IHNscGNfZXZlbnRfaWQgewogCiAjZGVmaW5lIFNMUENfRVZFTlQoaWQsIGFyZ2MpICgodTMyKSAo aWQpIDw8IDggfCAoYXJnYykpCiAKK2VudW0gc2xwY19wYXJhbV9pZCB7CisJU0xQQ19QQVJBTV9U QVNLX0VOQUJMRV9ERlBTID0gMiwKKwlTTFBDX1BBUkFNX1RBU0tfRElTQUJMRV9ERlBTID0gMywK KwlTTFBDX1BBUkFNX1RBU0tfRU5BQkxFX1RVUkJPID0gNCwKKwlTTFBDX1BBUkFNX1RBU0tfRElT QUJMRV9UVVJCTyA9IDUsCisJU0xQQ19QQVJBTV9UQVNLX0VOQUJMRV9EQ0MgPSA2LAorCVNMUENf UEFSQU1fVEFTS19ESVNBQkxFX0RDQyA9IDcsCisJU0xQQ19QQVJBTV9HTE9CQUxfTUlOX0dUX0ZS RVFfTUhaID0gOCwKKwlTTFBDX1BBUkFNX0dMT0JBTF9NQVhfR1RfRlJFUV9NSFogPSA5LAorCVNM UENfUEFSQU1fREZQU19USFJFU0hPTERfTUFYX0ZQUyA9IDEwLAorCVNMUENfUEFSQU1fR0xPQkFM X0RJU0FCTEVfR1RfRlJFUV9NQU5BR0VNRU5UID0gMTEsCisJU0xQQ19QQVJBTV9ERlBTX0RJU0FC TEVfRlJBTUVSQVRFX1NUQUxMSU5HID0gMTIsCisJU0xQQ19QQVJBTV9HTE9CQUxfRElTQUJMRV9S QzZfTU9ERV9DSEFOR0UgPSAxMywKKwlTTFBDX1BBUkFNX0dMT0JBTF9PQ19VTlNMSUNFX0ZSRVFf TUhaID0gMTQsCisJU0xQQ19QQVJBTV9HTE9CQUxfT0NfU0xJQ0VfRlJFUV9NSFogPSAxNSwKK307 CisKIGVudW0gc2xwY19nbG9iYWxfc3RhdGUgewogCVNMUENfR0xPQkFMX1NUQVRFX05PVF9SVU5O SU5HID0gMCwKIAlTTFBDX0dMT0JBTF9TVEFURV9JTklUSUFMSVpJTkcgPSAxLApAQCAtMTgyLDQg KzE5OSw5IEBAIGludCBpbnRlbF9zbHBjX3VwZGF0ZV9kaXNwbGF5X21vZGVfaW5mbyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KTsKIGludCBpbnRlbF9zbHBjX3VwZGF0ZV9kaXNwbGF5X3JyX2luZm8o c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTMyIHJlZnJlc2hfcmF0ZSk7CiAKIGludCBpbnRlbF9z bHBjX3F1ZXJ5X3Rhc2tfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CitpbnQgaW50ZWxf c2xwY191bnNldF9wYXJhbShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHNscGNfcGFyYW1f aWQgaWQpOworaW50IGludGVsX3NscGNfc2V0X3BhcmFtKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IGVudW0gc2xwY19wYXJhbV9pZCBpZCwKKwkJCSB1MzIgdmFsdWUpOworaW50IGludGVsX3NscGNf Z2V0X3BhcmFtKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gc2xwY19wYXJhbV9pZCBpZCwK KwkJCSBpbnQgKm92ZXJyaWRpbmcsIHUzMiAqdmFsdWUpOwogI2VuZGlmCi0tIAoxLjkuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK