From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v2 5/6] drm/i915: enable scrambling Date: Mon, 6 Feb 2017 19:29:25 +0530 Message-ID: <1486389566-28613-6-git-send-email-shashank.sharma@intel.com> References: <1486389566-28613-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1486389566-28613-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, ville.syrjala@linux.intel.com, treding@nvidia.com Cc: jose.abreu@synopsys.com, daniel.vetter@intel.com List-Id: dri-devel@lists.freedesktop.org R2VtaW5pbGFrZSBwbGF0Zm9ybSBzcG9ydHMgYSBuYXRpdmUgSERNSSAyLjAgY29udHJvbGxlciwg YW5kIGlzCmNhcGFibGUgb2YgZHJpdmluZyBwaXhlbC1jbG9ja3MgdXB0byA1OTRNaHouIEhETUkg Mi4wIHNwZWMKbWVuZGF0ZXMgc2NyYW1ibGluZyBmb3IgdGhlc2UgaGlnaGVyIGNsb2NrcywgZm9y IHJlZHVjZWQgUkYgZm9vdHByaW50LgoKVGhpcyBwYXRjaCBjaGVja3MgaWYgdGhlIG1vbml0b3Ig c3VwcG9ydHMgc2NyYW1ibGluZywgYW5kIGlmIHJlcXVpcmVkLAplbmFibGVzIGl0IGR1cmluZyB0 aGUgbW9kZXNldC4KClYyOiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGU6Ci0g RG8gbm90IHRyYWNrIHNjcmFtYmxpbmcgc3RhdHVzIGluIERSTSBsYXllciwgdHJhY2sgc29tZXdo ZXJlIGluCiAgZHJpdmVyIGxpa2UgaW4gaW50ZWxfY3J0Y19zdGF0ZS4KLSBEb24ndCB0YWxrIHRv IG1vbml0b3IgYXQgc3VjaCBhIGxvdyBsYXllciwgc2V0IG1vbml0b3Igc2NyYW1ibGluZwogIGlu IGludGVsX2VuYWJsZV9kZGkoKSBiZWZvcmUgZW5hYmxpbmcgdGhlIHBvcnQuCgpTaWduZWQtb2Zm LWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgIHwgIDIgKysKIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RkaS5jICB8IDI2ICsrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmggIHwgMTEgKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZG1pLmMgfCA3MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDQgZmls ZXMgY2hhbmdlZCwgMTA5IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRl eCA0OTViNzg5Li5jYzg1ODkyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTc4MDcsNiAr NzgwNyw4IEBAIGVudW0gewogI2RlZmluZSAgVFJBTlNfRERJX0VEUF9JTlBVVF9DX09OT0ZGCSg2 PDwxMikKICNkZWZpbmUgIFRSQU5TX0RESV9EUF9WQ19QQVlMT0FEX0FMTE9DCSgxPDw4KQogI2Rl ZmluZSAgVFJBTlNfRERJX0JGSV9FTkFCTEUJCSgxPDw0KQorI2RlZmluZSAgVFJBTlNfRERJX0hJ R0hfVE1EU19DSEFSX1JBVEUJKDE8PDQpCisjZGVmaW5lICBUUkFOU19ERElfSERNSV9TQ1JBTUJM SU5HCSgxPDwwKQogCiAvKiBEaXNwbGF5UG9ydCBUcmFuc3BvcnQgQ29udHJvbCAqLwogI2RlZmlu ZSBfRFBfVFBfQ1RMX0EJCQkweDY0MDQwCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCmluZGV4IDlh OWE2NzAuLmNjN2UwOTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rk aS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCkBAIC0xMjc4LDYgKzEy NzgsMTEgQEAgdm9pZCBpbnRlbF9kZGlfZW5hYmxlX3RyYW5zY29kZXJfZnVuYyhzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCiAJCQl0ZW1wIHw9IFRSQU5TX0RESV9NT0RFX1NFTEVDVF9IRE1JOwogCQll bHNlCiAJCQl0ZW1wIHw9IFRSQU5TX0RESV9NT0RFX1NFTEVDVF9EVkk7CisKKwkJaWYgKElTX0dF TUlOSUxBS0UoZGV2X3ByaXYpKQorCQkJdGVtcCA9IGludGVsX2hkbWlfaGFuZGxlX3NvdXJjZV9z Y3JhbWJsaW5nKAorCQkJCWludGVsX2VuY29kZXIsCisJCQkJJmludGVsX2NydGMtPmNvbmZpZy0+ YmFzZS5hZGp1c3RlZF9tb2RlLCB0ZW1wKTsKIAl9IGVsc2UgaWYgKHR5cGUgPT0gSU5URUxfT1VU UFVUX0FOQUxPRykgewogCQl0ZW1wIHw9IFRSQU5TX0RESV9NT0RFX1NFTEVDVF9GREk7CiAJCXRl bXAgfD0gKGludGVsX2NydGMtPmNvbmZpZy0+ZmRpX2xhbmVzIC0gMSkgPDwgMTsKQEAgLTE4NDUs NiArMTg1MCwyMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfZGRpKHN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyLAogCQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRl bF9kaWdfcG9ydCA9CiAJCQllbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7CiAKKwkJaWYgKElTX0dF TUlOSUxBS0UoZGV2X3ByaXYpKSB7CisJCQkvKgorCQkJICogR0xLIHNwb3J0cyBhIG5hdGl2ZSBI RE1JIDIuMCBjb250cm9sbGVyLiBJZiByZXF1aXJlZAorCQkJICogY2xvY2sgcmF0ZSBpcyA+IDM0 MCBNaHogJiYgc2NyYW1ibGluZyBpcyBzdXBwb3J0ZWQKKwkJCSAqIGJ5IG1vbml0b3IsIGVuYWJs ZSBzY3JhbWJsaW5nIGJlZm9yZSBlbmFibGluZyB0aGUKKwkJCSAqIEhETUkgMi4wIHBvcnQuIFRo ZSBzaW5rIGNhbiBjaG9vc2UgdG8gZGlzYWJsZSB0aGUKKwkJCSAqIHNjcmFtYmxpbmcgaWYgaXQg ZG9lc24ndCBkZXRlY3QgYSBzY3JhbWJsZWQgd2l0aGluCisJCQkgKiAxMDAgbXMuCisJCQkgKi8K KwkJCWludGVsX2hkbWlfaGFuZGxlX21vbml0b3Jfc2NyYW1ibGluZyhpbnRlbF9lbmNvZGVyLAor CQkJCQkJCWNvbm5fc3RhdGUtPmNvbm5lY3RvciwKKwkJCQkJCQlpbnRlbF9jcnRjLT5jb25maWcs CisJCQkJCQkJdHJ1ZSk7CisJCX0KKwogCQkvKiBJbiBIRE1JL0RWSSBtb2RlLCB0aGUgcG9ydCB3 aWR0aCwgYW5kIHN3aW5nL2VtcGhhc2lzIHZhbHVlcwogCQkgKiBhcmUgaWdub3JlZCBzbyBub3Ro aW5nIHNwZWNpYWwgbmVlZHMgdG8gYmUgZG9uZSBiZXNpZGVzCiAJCSAqIGVuYWJsaW5nIHRoZSBw b3J0LgpAQCAtMTg4NSw2ICsxOTA1LDEyIEBAIHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfZGRp KHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAogCQlpbnRlbF9kaXNwbGF5X3Bv d2VyX3B1dChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX0FVRElPKTsKIAl9CiAKKwlpZiAodHlwZSA9 PSBJTlRFTF9PVVRQVVRfSERNSSkgeworCQlpbnRlbF9oZG1pX2hhbmRsZV9tb25pdG9yX3NjcmFt YmxpbmcoaW50ZWxfZW5jb2RlciwKKwkJCQkJCW9sZF9jb25uX3N0YXRlLT5jb25uZWN0b3IsCisJ CQkJCQlpbnRlbF9jcnRjLT5jb25maWcsIGZhbHNlKTsKKwl9CisKIAlpZiAodHlwZSA9PSBJTlRF TF9PVVRQVVRfRURQKSB7CiAJCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50 ZWxfZHAoZW5jb2Rlcik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMzkzZjI0My4u MzAwMzUzYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTY4MSw2ICs2ODEsOSBAQCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7CiAKIAkvKiBHYW1tYSBtb2RlIHByb2dyYW1tZWQgb24g dGhlIHBpcGUgKi8KIAl1aW50MzJfdCBnYW1tYV9tb2RlOworCisJLyogSERNSSBzY3JhbWJsaW5n IHN0YXR1cyAobW9uaXRvcikgKi8KKwlib29sIHNjcmFtYmxpbmc7CiB9OwogCiBzdHJ1Y3Qgdmx2 X3dtX3N0YXRlIHsKQEAgLTE1ODgsNiArMTU5MSwxNCBAQCB2b2lkIGludGVsX2hkbWlfaW5pdF9j b25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiBib29s IGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiAJCQkgICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCQkJICAg ICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKTsKK3VpbnQzMl90Citp bnRlbF9oZG1pX2hhbmRsZV9zb3VyY2Vfc2NyYW1ibGluZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq aW50ZWxfZW5jb2RlciwKKwkJCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCisJCQkJ CXVpbnQzMl90IGNvbmZpZyk7Cit2b2lkIGludGVsX2hkbWlfaGFuZGxlX21vbml0b3Jfc2NyYW1i bGluZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKKwkJCQkJc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNv bmZpZywKKwkJCQkJYm9vbCBlbmFibGUpOwogdm9pZCBpbnRlbF9kcF9kdWFsX21vZGVfc2V0X3Rt ZHNfb3V0cHV0KHN0cnVjdCBpbnRlbF9oZG1pICpoZG1pLCBib29sIGVuYWJsZSk7CiAKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfaGRtaS5jCmluZGV4IGViYWUyYmQuLjQxZDMzMDkgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9oZG1pLmMKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxkcm0vZHJtX2F0 b21pY19oZWxwZXIuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2NydGMuaD4KICNpbmNsdWRlIDxkcm0v ZHJtX2VkaWQuaD4KKyNpbmNsdWRlIDxkcm0vZHJtX3NjZGNfaGVscGVyLmg+CiAjaW5jbHVkZSAi aW50ZWxfZHJ2LmgiCiAjaW5jbHVkZSA8ZHJtL2k5MTVfZHJtLmg+CiAjaW5jbHVkZSA8ZHJtL2lu dGVsX2xwZV9hdWRpby5oPgpAQCAtMTc5NSw2ICsxNzk2LDc1IEBAIHN0YXRpYyB2b2lkIGludGVs X2hkbWlfZGVzdHJveShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCWludGVsX2hk bWktPmFzcGVjdF9yYXRpbyA9IEhETUlfUElDVFVSRV9BU1BFQ1RfTk9ORTsKIH0KIAordm9pZCBp bnRlbF9oZG1pX2hhbmRsZV9tb25pdG9yX3NjcmFtYmxpbmcoc3RydWN0IGludGVsX2VuY29kZXIg KmludGVsX2VuY29kZXIsCisJCQkJICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsCisJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25maWcsCisJCQkJICAg ICAgIGJvb2wgZW5hYmxlKQoreworCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5j X3RvX2ludGVsX2hkbWkoJmludGVsX2VuY29kZXItPmJhc2UpOworCXN0cnVjdCBkcm1fc2NkYyAq c2NkYyA9ICZjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZG1pLnNjZGM7CisJc3RydWN0IGRybV9z Y3JhbWJsaW5nICpzY3JhbWJsaW5nID0gJnNjZGMtPnNjcmFtYmxpbmc7CisJc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKm1vZGUgPSAmY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY29ubmVjdG9yLT5kZXYtPmRldl9wcml2YXRl OworCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRwdHIgPSBpbnRlbF9nbWJ1c19nZXRfYWRhcHRlcihk ZXZfcHJpdiwKKwkJCQkJCQkgIGludGVsX2hkbWktPmRkY19idXMpOworCisJaWYgKCFzY3JhbWJs aW5nLT5zdXBwb3J0ZWQpCisJCXJldHVybjsKKworCURSTV9ERUJVR19LTVMoIlNldHRpbmcgbW9u aXRvciBzY3JhbWJsaW5nIGZvciBlbmM6JXMgY29ubmVjdG9yOiVzXG4iLAorCQkJaW50ZWxfZW5j b2Rlci0+YmFzZS5uYW1lLCBjb25uZWN0b3ItPm5hbWUpOworCisJLyogRW5hYmxlIG1vbml0b3Ig c2NyYW1ibGluZyAqLworCWlmIChlbmFibGUpIHsKKwkJaWYgKG1vZGUtPmNsb2NrID4gMzQwMDAw IHx8IHNjcmFtYmxpbmctPmxvd19yYXRlcykgeworCQkJY29uZmlnLT5zY3JhbWJsaW5nID0gZHJt X3NjZGNfZW5hYmxlX3NjcmFtYmxpbmcoYWRwdHIpOworCQkJaWYgKCFjb25maWctPnNjcmFtYmxp bmcpCisJCQkJRFJNX0VSUk9SKCJDYW4ndCBlbmFibGUgbW9uaXRvciBzY3JhbWJsaW5nXG4iKTsK KwkJfQorCQlyZXR1cm47CisJfQorCisJLyogRGlzYWJsZSBtb25pdG9yIHNjcmFtYmxpbmcgKi8K KwlpZiAoY29uZmlnLT5zY3JhbWJsaW5nKSB7CisJCWNvbmZpZy0+c2NyYW1ibGluZyA9ICEoZHJt X3NjZGNfZGlzYWJsZV9zY3JhbWJsaW5nKGFkcHRyKSk7CisJCWlmIChjb25maWctPnNjcmFtYmxp bmcpCisJCQlEUk1fRVJST1IoIkNhbid0IGRpc2FibGUgbW9uaXRvciBzY3JhbWJsaW5nXG4iKTsK Kwl9CisKK30KKwordWludDMyX3QKK2ludGVsX2hkbWlfaGFuZGxlX3NvdXJjZV9zY3JhbWJsaW5n KHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAorCQkJc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUsIHVpbnQzMl90IGhkbWlfY29uZmlnKQoreworCXN0cnVjdCBpbnRlbF9o ZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmludGVsX2VuY29kZXItPmJhc2Up OworCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSAmaW50ZWxfaGRtaS0+YXR0YWNo ZWRfY29ubmVjdG9yLT5iYXNlOworCXN0cnVjdCBkcm1faGRtaV9pbmZvICpoZG1pX2luZm8gPSAm Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGRtaTsKKwlzdHJ1Y3QgZHJtX3NjcmFtYmxpbmcgKnNj cmFtYmxpbmcgPSAmaGRtaV9pbmZvLT5zY2RjLnNjcmFtYmxpbmc7CisKKwlEUk1fREVCVUdfS01T KCJTZXR0aW5nIHNjcmFtYmxpbmcgZm9yIGVuYzolcyBjb25uZWN0b3I6JXNcbiIsCisJCQlpbnRl bF9lbmNvZGVyLT5iYXNlLm5hbWUsIGNvbm5lY3Rvci0+bmFtZSk7CisKKwloZG1pX2NvbmZpZyAm PSB+VFJBTlNfRERJX0hETUlfU0NSQU1CTElORzsKKwloZG1pX2NvbmZpZyAmPSB+VFJBTlNfRERJ X0hJR0hfVE1EU19DSEFSX1JBVEU7CisKKwlpZiAobW9kZS0+Y2xvY2sgPD0gMzQwMDAwKSB7CisJ CS8qIEZldyBzaW5rcyBzdXBwb3J0IHNjcmFtYmxpbmcgYXQgcmF0ZSA8IDM0MCBNSHogdG9vICov CisJCWlmIChzY3JhbWJsaW5nLT5sb3dfcmF0ZXMpCisJCQloZG1pX2NvbmZpZyB8PSBUUkFOU19E RElfSERNSV9TQ1JBTUJMSU5HOworCQlyZXR1cm4gaGRtaV9jb25maWc7CisJfQorCisJLyogU2Ny YW1ibGluZyBvciBub3QsIGlmIGNsb2NrID4gMzQwIE1Ieiwgc2V0IGhpZ2ggY2hhciByYXRlICov CisJaGRtaV9jb25maWcgfD0gVFJBTlNfRERJX0hJR0hfVE1EU19DSEFSX1JBVEU7CisKKwlpZiAo c2NyYW1ibGluZy0+c3VwcG9ydGVkKQorCQloZG1pX2NvbmZpZyB8PSBUUkFOU19ERElfSERNSV9T Q1JBTUJMSU5HOworCisJcmV0dXJuIGhkbWlfY29uZmlnOworfQorCiBzdGF0aWMgdTggaW50ZWxf aGRtaV9kZGNfcGluKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCSAgICAg ZW51bSBwb3J0IHBvcnQpCiB7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==