From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v4 22/41] drm/i915: Wrappers for mei HDCP2.2 services Date: Mon, 21 May 2018 18:23:41 +0530 Message-ID: <1526907240-17639-23-git-send-email-ramalingam.c@intel.com> References: <1526907240-17639-1-git-send-email-ramalingam.c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1526907240-17639-1-git-send-email-ramalingam.c@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, dri-devel@lists.freedesktop.org Cc: alexander.usyskin@intel.com, tomas.winkler@intel.com List-Id: dri-devel@lists.freedesktop.org QWRkcyB0aGUgd3JhcHBlciBmb3IgYWxsIG1laSBoZGNwMi4yIHNlcnZpY2UgZnVuY3Rpb25zLgoK djI6CiAgUmViYXNlZC4KdjM6CiAgY2xkZXYgaXMgbW92ZWQgZnJvbSBtZWlfaGRjcF9kYXRhIHRv IGhkY3AuCnY0OgogICVzL2hkY3AyX3N0b3JlX3BhcmluZ19pbmZvL2hkY3AyX3N0b3JlX3BhaXJp bmdfaW5mbwoKU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyB8IDE5NCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDE5NCBpbnNl cnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCmluZGV4IGM3ZDBmYTMxOWMwMS4u NTdjMzgwYzkxY2QwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNw LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCkBAIC0xMCwxMCArMTAs MTMgQEAKICNpbmNsdWRlIDxkcm0vZHJtX2hkY3AuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4K ICNpbmNsdWRlIDxsaW51eC9yYW5kb20uaD4KKyNpbmNsdWRlIDxsaW51eC9tZWlfaGRjcC5oPgog CiAjaW5jbHVkZSAiaW50ZWxfZHJ2LmgiCiAjaW5jbHVkZSAiaTkxNV9yZWcuaCIKIAorI2RlZmlu ZSBHRVRfTUVJX0RESV9JTkRFWChwb3J0KQkJKCgocG9ydCkgPT0gUE9SVF9BKSA/IERESV9BIDog XAorCQkJCQkgKGVudW0gaGRjcF9waHlzaWNhbF9wb3J0KSAocG9ydCkpCiAjZGVmaW5lIEtFWV9M T0FEX1RSSUVTCTUKIAogc3RhdGljIGludCBpbnRlbF9oZGNwX3BvbGxfa3N2X2ZpZm8oc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCkBAIC04OTYsMyArODk5LDE5NCBA QCBpbnQgaW50ZWxfaGRjcF9jaGVja19saW5rKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvcikKIAltdXRleF91bmxvY2soJmhkY3AtPmhkY3BfbXV0ZXgpOwogCXJldHVybiByZXQ7CiB9 CisKK3N0YXRpYyBpbnQKK2hkY3AyX3ByZXBhcmVfYWtlX2luaXQoc3RydWN0IGludGVsX2hkY3Ag KmhkY3AsIHN0cnVjdCBoZGNwMl9ha2VfaW5pdCAqYWtlX2RhdGEpCit7CisJc3RydWN0IG1laV9o ZGNwX2RhdGEgKmRhdGEgPSAmaGRjcC0+bWVpX2RhdGE7CisJc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqY29ubmVjdG9yID0gY29udGFpbmVyX29mKGhkY3AsCisJCQkJCQkJIHN0cnVjdCBpbnRlbF9j b25uZWN0b3IsCisJCQkJCQkJIGhkY3ApOworCisJaWYgKCFoZGNwLT5jbGRldikKKwkJcmV0dXJu IC1FSU5WQUw7CisKKwlpZiAoZGF0YS0+cG9ydCA9PSBJTlZBTElEX1BPUlQgJiYgY29ubmVjdG9y LT5lbmNvZGVyKQorCQlkYXRhLT5wb3J0ID0gR0VUX01FSV9ERElfSU5ERVgoY29ubmVjdG9yLT5l bmNvZGVyLT5wb3J0KTsKKworCS8qIENsZWFyIE1FIEZXIGluc3RhbmNlIGZvciB0aGUgcG9ydCwg anVzdCBpbmNhc2UgKi8KKwltZWlfY2xvc2VfaGRjcF9zZXNzaW9uKGhkY3AtPmNsZGV2LCBkYXRh KTsKKworCXJldHVybiBtZWlfaW5pdGlhdGVfaGRjcDJfc2Vzc2lvbihoZGNwLT5jbGRldiwgZGF0 YSwgYWtlX2RhdGEpOworfQorCitzdGF0aWMgaW50IGhkY3AyX2Nsb3NlX21laV9zZXNzaW9uKHN0 cnVjdCBpbnRlbF9oZGNwICpoZGNwKQoreworCXN0cnVjdCBtZWlfaGRjcF9kYXRhICpkYXRhID0g JmhkY3AtPm1laV9kYXRhOworCisJaWYgKCFoZGNwLT5jbGRldiB8fCBkYXRhLT5wb3J0ID09IElO VkFMSURfUE9SVCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gbWVpX2Nsb3NlX2hkY3Bf c2Vzc2lvbihoZGNwLT5jbGRldiwgZGF0YSk7Cit9CisKK3N0YXRpYyBpbnQKK2hkY3AyX3Zlcmlm eV9yeF9jZXJ0X3ByZXBhcmVfa20oc3RydWN0IGludGVsX2hkY3AgKmhkY3AsCisJCQkJc3RydWN0 IGhkY3AyX2FrZV9zZW5kX2NlcnQgKnJ4X2NlcnQsCisJCQkJYm9vbCAqcGFpcmVkLAorCQkJCXN0 cnVjdCBoZGNwMl9ha2Vfbm9fc3RvcmVkX2ttICpla19wdWJfa20sCisJCQkJc2l6ZV90ICptc2df c3opCit7CisJc3RydWN0IG1laV9oZGNwX2RhdGEgKmRhdGEgPSAmaGRjcC0+bWVpX2RhdGE7CisJ aW50IHJldDsKKworCWlmICghaGRjcC0+Y2xkZXYpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0 ID0gbWVpX3ZlcmlmeV9yZWNlaXZlcl9jZXJ0X3ByZXBhcmVfa20oaGRjcC0+Y2xkZXYsIGRhdGEs IHJ4X2NlcnQsCisJCQkJCQkgIHBhaXJlZCwgZWtfcHViX2ttLCBtc2dfc3opOworCWlmIChyZXQg PCAwKQorCQltZWlfY2xvc2VfaGRjcF9zZXNzaW9uKGhkY3AtPmNsZGV2LCBkYXRhKTsKKworCXJl dHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgaGRjcDJfdmVyaWZ5X2hwcmltZShzdHJ1Y3QgaW50 ZWxfaGRjcCAqaGRjcCwKKwkJCSAgICAgICBzdHJ1Y3QgaGRjcDJfYWtlX3NlbmRfaHByaW1lICpy eF9ocHJpbWUpCit7CisJc3RydWN0IG1laV9oZGNwX2RhdGEgKmRhdGEgPSAmaGRjcC0+bWVpX2Rh dGE7CisJaW50IHJldDsKKworCWlmICghaGRjcC0+Y2xkZXYpCisJCXJldHVybiAtRUlOVkFMOwor CisJcmV0ID0gbWVpX3ZlcmlmeV9ocHJpbWUoaGRjcC0+Y2xkZXYsIGRhdGEsIHJ4X2hwcmltZSk7 CisJaWYgKHJldCA8IDApCisJCW1laV9jbG9zZV9oZGNwX3Nlc3Npb24oaGRjcC0+Y2xkZXYsIGRh dGEpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludAoraGRjcDJfc3RvcmVfcGFpcmlu Z19pbmZvKHN0cnVjdCBpbnRlbF9oZGNwICpoZGNwLAorCQkJc3RydWN0IGhkY3AyX2FrZV9zZW5k X3BhaXJpbmdfaW5mbyAqcGFpcmluZ19pbmZvKQoreworCXN0cnVjdCBtZWlfaGRjcF9kYXRhICpk YXRhID0gJmhkY3AtPm1laV9kYXRhOworCWludCByZXQ7CisKKwlpZiAoIWhkY3AtPmNsZGV2KQor CQlyZXR1cm4gLUVJTlZBTDsKKworCXJldCA9IG1laV9zdG9yZV9wYWlyaW5nX2luZm8oaGRjcC0+ Y2xkZXYsIGRhdGEsIHBhaXJpbmdfaW5mbyk7CisJaWYgKHJldCA8IDApCisJCW1laV9jbG9zZV9o ZGNwX3Nlc3Npb24oaGRjcC0+Y2xkZXYsIGRhdGEpOworCisJcmV0dXJuIHJldDsKK30KKworc3Rh dGljIGludAoraGRjcDJfcHJlcGFyZV9sY19pbml0KHN0cnVjdCBpbnRlbF9oZGNwICpoZGNwLCBz dHJ1Y3QgaGRjcDJfbGNfaW5pdCAqbGNfaW5pdCkKK3sKKwlzdHJ1Y3QgbWVpX2hkY3BfZGF0YSAq ZGF0YSA9ICZoZGNwLT5tZWlfZGF0YTsKKwlpbnQgcmV0OworCisJaWYgKCFoZGNwLT5jbGRldikK KwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXQgPSBtZWlfaW5pdGlhdGVfbG9jYWxpdHlfY2hlY2so aGRjcC0+Y2xkZXYsIGRhdGEsIGxjX2luaXQpOworCWlmIChyZXQgPCAwKQorCQltZWlfY2xvc2Vf aGRjcF9zZXNzaW9uKGhkY3AtPmNsZGV2LCBkYXRhKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0 YXRpYyBpbnQKK2hkY3AyX3ZlcmlmeV9scHJpbWUoc3RydWN0IGludGVsX2hkY3AgKmhkY3AsCisJ CSAgICBzdHJ1Y3QgaGRjcDJfbGNfc2VuZF9scHJpbWUgKnJ4X2xwcmltZSkKK3sKKwlzdHJ1Y3Qg bWVpX2hkY3BfZGF0YSAqZGF0YSA9ICZoZGNwLT5tZWlfZGF0YTsKKwlpbnQgcmV0OworCisJaWYg KCFoZGNwLT5jbGRldikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXQgPSBtZWlfdmVyaWZ5X2xw cmltZShoZGNwLT5jbGRldiwgZGF0YSwgcnhfbHByaW1lKTsKKwlpZiAocmV0IDwgMCkKKwkJbWVp X2Nsb3NlX2hkY3Bfc2Vzc2lvbihoZGNwLT5jbGRldiwgZGF0YSk7CisKKwlyZXR1cm4gcmV0Owor fQorCitzdGF0aWMgaW50IGhkY3AyX3ByZXBhcmVfc2tleShzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRj cCwKKwkJCSAgICAgIHN0cnVjdCBoZGNwMl9za2Vfc2VuZF9la3MgKnNrZV9kYXRhKQoreworCXN0 cnVjdCBtZWlfaGRjcF9kYXRhICpkYXRhID0gJmhkY3AtPm1laV9kYXRhOworCWludCByZXQ7CisK KwlpZiAoIWhkY3AtPmNsZGV2KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldCA9IG1laV9nZXRf c2Vzc2lvbl9rZXkoaGRjcC0+Y2xkZXYsIGRhdGEsIHNrZV9kYXRhKTsKKwlpZiAocmV0IDwgMCkK KwkJbWVpX2Nsb3NlX2hkY3Bfc2Vzc2lvbihoZGNwLT5jbGRldiwgZGF0YSk7CisKKwlyZXR1cm4g cmV0OworfQorCitzdGF0aWMgaW50CitoZGNwMl92ZXJpZnlfcmVwX3RvcG9sb2d5X3ByZXBhcmVf YWNrKAorCQkJc3RydWN0IGludGVsX2hkY3AgKmhkY3AsCisJCQlzdHJ1Y3QgaGRjcDJfcmVwX3Nl bmRfcmVjZWl2ZXJpZF9saXN0ICpyZXBfdG9wb2xvZ3ksCisJCQlzdHJ1Y3QgaGRjcDJfcmVwX3Nl bmRfYWNrICpyZXBfc2VuZF9hY2spCit7CisJc3RydWN0IG1laV9oZGNwX2RhdGEgKmRhdGEgPSAm aGRjcC0+bWVpX2RhdGE7CisJaW50IHJldDsKKworCWlmICghaGRjcC0+Y2xkZXYpCisJCXJldHVy biAtRUlOVkFMOworCisJcmV0ID0gbWVpX3JlcGVhdGVyX2NoZWNrX2Zsb3dfcHJlcGFyZV9hY2so aGRjcC0+Y2xkZXYsIGRhdGEsCisJCQkJCQkgIHJlcF90b3BvbG9neSwgcmVwX3NlbmRfYWNrKTsK KwlpZiAocmV0IDwgMCkKKwkJbWVpX2Nsb3NlX2hkY3Bfc2Vzc2lvbihoZGNwLT5jbGRldiwgZGF0 YSk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50CitoZGNwMl92ZXJpZnlfbXByaW1l KHN0cnVjdCBpbnRlbF9oZGNwICpoZGNwLAorCQkgICAgc3RydWN0IGhkY3AyX3JlcF9zdHJlYW1f cmVhZHkgKnN0cmVhbV9yZWFkeSkKK3sKKwlzdHJ1Y3QgbWVpX2hkY3BfZGF0YSAqZGF0YSA9ICZo ZGNwLT5tZWlfZGF0YTsKKwlpbnQgcmV0OworCisJaWYgKCFoZGNwLT5jbGRldikKKwkJcmV0dXJu IC1FSU5WQUw7CisKKwlyZXQgPSBtZWlfdmVyaWZ5X21wcmltZShoZGNwLT5jbGRldiwgZGF0YSwg c3RyZWFtX3JlYWR5KTsKKwlpZiAocmV0IDwgMCkKKwkJbWVpX2Nsb3NlX2hkY3Bfc2Vzc2lvbiho ZGNwLT5jbGRldiwgZGF0YSk7CisKKwlyZXR1cm4gcmV0OworfQorCisKK3N0YXRpYyBpbnQgaGRj cDJfYXV0aGVudGljYXRlX3BvcnQoc3RydWN0IGludGVsX2hkY3AgKmhkY3ApCit7CisJc3RydWN0 IG1laV9oZGNwX2RhdGEgKmRhdGEgPSAmaGRjcC0+bWVpX2RhdGE7CisJaW50IHJldDsKKworCWlm ICghaGRjcC0+Y2xkZXYpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0ID0gbWVpX2VuYWJsZV9o ZGNwX2F1dGhlbnRpY2F0aW9uKGhkY3AtPmNsZGV2LCBkYXRhKTsKKwlpZiAocmV0IDwgMCkKKwkJ bWVpX2Nsb3NlX2hkY3Bfc2Vzc2lvbihoZGNwLT5jbGRldiwgZGF0YSk7CisKKwlyZXR1cm4gcmV0 OworfQorCitzdGF0aWMgaW5saW5lIGludCBoZGNwMl9kZWF1dGhlbnRpY2F0ZV9wb3J0KHN0cnVj dCBpbnRlbF9oZGNwICpoZGNwKQoreworCXJldHVybiBoZGNwMl9jbG9zZV9tZWlfc2Vzc2lvbiho ZGNwKTsKK30KLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK