From mboxrd@z Thu Jan 1 00:00:00 1970 From: Praveen Paneri Subject: [PATCH] drm/i915/bxt: Broxton decoupled MMIO Date: Tue, 6 Sep 2016 10:54:14 +0530 Message-ID: <1473139454-30627-1-git-send-email-praveen.paneri@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0545189D7B for ; Tue, 6 Sep 2016 05:20:47 +0000 (UTC) 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: Zhe Wang , Praveen Paneri , Ankitprasad Sharma List-Id: intel-gfx@lists.freedesktop.org RGVjb3VwbGVkIE1NSU8gaXMgYW4gYWx0ZXJuYXRpdmUgd2F5IHRvIGFjY2VzcyBmb3JjZXdha2Ug ZG9tYWluCnJlZ2lzdGVycywgd2hpY2ggcmVxdWlyZXMgbGVzcyBjeWNsZXMgYW5kIGF2b2lkcyBm cmVxdWVudCBzb2Z0d2FyZQpmb3JjZXdha2UuCgpTaWduZWQtb2ZmLWJ5OiBaaGUgV2FuZyA8emhl MS53YW5nQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbi5s ZXNwaWF1QGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQW5raXRwcmFzYWQgU2hhcm1hIDxhbmtp dHByYXNhZC5yLnNoYXJtYUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFByYXZlZW4gUGFuZXJp IDxwcmF2ZWVuLnBhbmVyaUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCAgICAgfCAgMTEgKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAg ICAgfCAgIDcgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyB8IDExMyAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTIy IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5k ZXggYzQxMzU4Ny4uMWVjZGEwNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC01NTgsNiAr NTU4LDE2IEBAIGVudW0gZm9yY2V3YWtlX2RvbWFpbnMgewogI2RlZmluZSBGV19SRUdfUkVBRCAg KDEpCiAjZGVmaW5lIEZXX1JFR19XUklURSAoMikKIAorZW51bSBwb3dlcl9kb21haW5zIHsKKwlH RU45X0RFQ09VUExFRF9QRF9CTElUVEVSID0gMCwKKwlHRU45X0RFQ09VUExFRF9QRF9SRU5ERVIs CisJR0VOOV9ERUNPVVBMRURfUERfTUVESUEsCisJR0VOOV9ERUNPVVBMRURfUERfQUxMCit9Owor CisjZGVmaW5lIEdFTjlfREVDT1VQTEVEX09QX1dSSVRFIDAKKyNkZWZpbmUgR0VOOV9ERUNPVVBM RURfT1BfUkVBRCAxCisKIGVudW0gZm9yY2V3YWtlX2RvbWFpbnMKIGludGVsX3VuY29yZV9mb3Jj ZXdha2VfZm9yX3JlZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkgICAg ICAgaTkxNV9yZWdfdCByZWcsIHVuc2lnbmVkIGludCBvcCk7CkBAIC0yODQyLDYgKzI4NTIsNyBA QCBzdHJ1Y3QgZHJtX2k5MTVfY21kX3RhYmxlIHsKICNkZWZpbmUgR1RfRlJFUVVFTkNZX01VTFRJ UExJRVIgNTAKICNkZWZpbmUgR0VOOV9GUkVRX1NDQUxFUiAzCiAKKyNkZWZpbmUgSEFTX0RFQ09V UExFRF9NTUlPKGRldl9wcml2KSAoSVNfQlJPWFRPTihkZXZfcHJpdikgJiYgSVNfQlhUX1JFVklE KGRldl9wcml2LCBCWFRfUkVWSURfQzAsIFJFVklEX0ZPUkVWRVIpKQogI2luY2x1ZGUgImk5MTVf dHJhY2UuaCIKIAogc3RhdGljIGlubGluZSBib29sIGludGVsX3NjYW5vdXRfbmVlZHNfdnRkX3dh KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o CmluZGV4IGEyOWQ3MDcuLjFhN2FjZGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAtNzM5 NCw2ICs3Mzk0LDEzIEBAIGVudW0gewogI2RlZmluZSAgU0tMX0ZVU0VfUEcxX0RJU1RfU1RBVFVT ICAgICAgICAgICAgICAoMTw8MjYpCiAjZGVmaW5lICBTS0xfRlVTRV9QRzJfRElTVF9TVEFUVVMg ICAgICAgICAgICAgICgxPDwyNSkKIAorLyogRGVjb3VwbGVkIE1NSU8gcmVnaXN0ZXIgcGFpciBm b3Iga2VybmVsIGRyaXZlciAqLworI2RlZmluZSBHRU45X0RFQ09VUExFRF9SRUcwX0RXMAkJCV9N TUlPKDB4RjAwKQorI2RlZmluZSBHRU45X0RFQ09VUExFRF9SRUcwX0RXMQkJCV9NTUlPKDB4RjA0 KQorI2RlZmluZSBHRU45X0RFQ09VUExFRF9EVzFfR08JCQkoMTw8MzEpCisjZGVmaW5lIEdFTjlf REVDT1VQTEVEX1BEX1NISUZUCQkJMjgKKyNkZWZpbmUgR0VOOV9ERUNPVVBMRURfT1BfU0hJRlQJ CQkyNAorCiAvKiBQZXItcGlwZSBEREkgRnVuY3Rpb24gQ29udHJvbCAqLwogI2RlZmluZSBfVFJB TlNfRERJX0ZVTkNfQ1RMX0EJCTB4NjA0MDAKICNkZWZpbmUgX1RSQU5TX0RESV9GVU5DX0NUTF9C CQkweDYxNDAwCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCmluZGV4IGU5ZjY4Y2QuLmQx OWVlMmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCkBAIC03NDUsNiArNzQ1LDIy IEBAIHN0YXRpYyBib29sIGlzX2dlbjhfc2hhZG93ZWQodTMyIG9mZnNldCkKIAlfX2Z3ZDsgXAog fSkKIAorI2RlZmluZSBfX2dlbjlfcmVnX3JlYWRfcG93ZXJfZG9tYWlucyhvZmZzZXQpIFwKKyh7 IFwKKwllbnVtIHBvd2VyX2RvbWFpbnMgX19kcGQ7IFwKKwlpZiAoIVNLTF9ORUVEU19GT1JDRV9X QUtFKG9mZnNldCkpIFwKKwkJX19kcGQgPSAwOyBcCisJZWxzZSBpZiAoRk9SQ0VXQUtFX0dFTjlf UkVOREVSX1JBTkdFX09GRlNFVChvZmZzZXQpKSBcCisJCV9fZHBkID0gR0VOOV9ERUNPVVBMRURf UERfUkVOREVSOyBcCisJZWxzZSBpZiAoRk9SQ0VXQUtFX0dFTjlfTUVESUFfUkFOR0VfT0ZGU0VU KG9mZnNldCkpIFwKKwkJX19kcGQgPSBHRU45X0RFQ09VUExFRF9QRF9NRURJQTsgXAorCWVsc2Ug aWYgKEZPUkNFV0FLRV9HRU45X0NPTU1PTl9SQU5HRV9PRkZTRVQob2Zmc2V0KSkgXAorCQlfX2Rw ZCA9IEdFTjlfREVDT1VQTEVEX1BEX0FMTDsgXAorCWVsc2UgXAorCQlfX2RwZCA9IEdFTjlfREVD T1VQTEVEX1BEX0JMSVRURVI7IFwKKwlfX2RwZDsgXAorfSkKKwogc3RhdGljIGNvbnN0IGk5MTVf cmVnX3QgZ2VuOV9zaGFkb3dlZF9yZWdzW10gPSB7CiAJUklOR19UQUlMKFJFTkRFUl9SSU5HX0JB U0UpLAogCVJJTkdfVEFJTChHRU42X0JTRF9SSU5HX0JBU0UpLApAQCAtNzgxLDYgKzc5NywyMyBA QCBzdGF0aWMgYm9vbCBpc19nZW45X3NoYWRvd2VkKHUzMiBvZmZzZXQpCiAJX19md2Q7IFwKIH0p CiAKKyNkZWZpbmUgX19nZW45X3JlZ193cml0ZV9wb3dlcl9kb21haW5zKG9mZnNldCkgXAorKHsg XAorCWVudW0gcG93ZXJfZG9tYWlucyBfX2RwZDsgXAorCWlmICghU0tMX05FRURTX0ZPUkNFX1dB S0Uob2Zmc2V0KSB8fCBpc19nZW45X3NoYWRvd2VkKG9mZnNldCkpIFwKKwkJX19kcGQgPSAwOyBc CisJZWxzZSBpZiAoRk9SQ0VXQUtFX0dFTjlfUkVOREVSX1JBTkdFX09GRlNFVChvZmZzZXQpKSBc CisJCV9fZHBkID0gR0VOOV9ERUNPVVBMRURfUERfUkVOREVSOyBcCisJZWxzZSBpZiAoRk9SQ0VX QUtFX0dFTjlfTUVESUFfUkFOR0VfT0ZGU0VUKG9mZnNldCkpIFwKKwkJX19kcGQgPSBHRU45X0RF Q09VUExFRF9QRF9NRURJQTsgXAorCWVsc2UgaWYgKEZPUkNFV0FLRV9HRU45X0NPTU1PTl9SQU5H RV9PRkZTRVQob2Zmc2V0KSkgXAorCQlfX2RwZCA9IEdFTjlfREVDT1VQTEVEX1BEX0FMTDsgXAor CWVsc2UgXAorCQlfX2RwZCA9IEdFTjlfREVDT1VQTEVEX1BEX0JMSVRURVI7IFwKKwlfX2RwZDsg XAorfSkKKworCiBzdGF0aWMgdm9pZAogaWxrX2R1bW15X3dyaXRlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIHsKQEAgLTgxNiw2ICs4NDksMzggQEAgdW5jbGFpbWVkX3JlZ19k ZWJ1ZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJX191bmNsYWltZWRfcmVn X2RlYnVnKGRldl9wcml2LCByZWcsIHJlYWQsIGJlZm9yZSk7CiB9CiAKKy8qCisgKiBEZWNvdXBs ZWQgTU1JTyBhY2Nlc3MgZm9yIG9ubHkgMSBEV09SRAorICovCitzdGF0aWMgdm9pZCBfX2dlbjlf ZGVjb3VwbGVkX21taW9fYWNjZXNzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK KwkJCQkJIHVpbnQzMl90IHJlZywgdTMyICpwdHJfZGF0YSwKKwkJCQkJIGVudW0gcG93ZXJfZG9t YWlucyBwZCwgaW50IG9wZXJhdGlvbikKK3sKKwl1MzIgY3RybF9yZWdfZGF0YSA9IDA7CisKKwlp ZiAob3BlcmF0aW9uID09IEdFTjlfREVDT1VQTEVEX09QX1dSSVRFKQorCQlfX3Jhd19pOTE1X3dy aXRlMzIoZGV2X3ByaXYsCisJCQkJR0VOOV9ERUNPVVBMRURfUkVHMF9EVzAsCisJCQkJKnB0cl9k YXRhKTsKKworCWN0cmxfcmVnX2RhdGEgfD0gcmVnOworCWN0cmxfcmVnX2RhdGEgfD0gKG9wZXJh dGlvbiA8PCBHRU45X0RFQ09VUExFRF9PUF9TSElGVCk7CisJY3RybF9yZWdfZGF0YSB8PSAocGQg PDwgR0VOOV9ERUNPVVBMRURfUERfU0hJRlQpOworCV9fcmF3X2k5MTVfd3JpdGUzMihkZXZfcHJp diwgR0VOOV9ERUNPVVBMRURfUkVHMF9EVzEsIGN0cmxfcmVnX2RhdGEpOworCisJY3RybF9yZWdf ZGF0YSB8PSBHRU45X0RFQ09VUExFRF9EVzFfR087CisJX19yYXdfaTkxNV93cml0ZTMyKGRldl9w cml2LCBHRU45X0RFQ09VUExFRF9SRUcwX0RXMSwgY3RybF9yZWdfZGF0YSk7CisKKwlpZiAod2Fp dF9mb3JfYXRvbWljKChfX3Jhd19pOTE1X3JlYWQzMihkZXZfcHJpdiwKKwkJCUdFTjlfREVDT1VQ TEVEX1JFRzBfRFcxKSAmIEdFTjlfREVDT1VQTEVEX0RXMV9HTykgPT0gMCwKKwkJCUZPUkNFV0FL RV9BQ0tfVElNRU9VVF9NUykpCisJCURSTV9FUlJPUigiRGVjb3VwbGVkIE1NSU8gd2FpdCB0aW1l ZCBvdXRcbiIpOworCisJaWYgKG9wZXJhdGlvbiA9PSBHRU45X0RFQ09VUExFRF9PUF9SRUFEKQor CQkqcHRyX2RhdGEgPSBfX3Jhd19pOTE1X3JlYWQzMihkZXZfcHJpdiwKKwkJCQlHRU45X0RFQ09V UExFRF9SRUcwX0RXMCk7Cit9CisKICNkZWZpbmUgR0VOMl9SRUFEX0hFQURFUih4KSBcCiAJdSMj eCB2YWwgPSAwOyBcCiAJYXNzZXJ0X3JwbV93YWtlbG9ja19oZWxkKGRldl9wcml2KTsKQEAgLTkz MiwxMiArOTk3LDI3IEBAIGNodl9yZWFkIyN4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwgaTkxNV9yZWdfdCByZWcsIGJvb2wgdHJhY2UpIHsgXAogc3RhdGljIHUjI3ggXAogZ2Vu OV9yZWFkIyN4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaTkxNV9yZWdfdCBy ZWcsIGJvb2wgdHJhY2UpIHsgXAogCWVudW0gZm9yY2V3YWtlX2RvbWFpbnMgZndfZW5naW5lOyBc CisJZW51bSBwb3dlcl9kb21haW5zIHBkX2VuZ2luZTsgXAogCUdFTjZfUkVBRF9IRUFERVIoeCk7 IFwKLQlmd19lbmdpbmUgPSBfX2dlbjlfcmVnX3JlYWRfZndfZG9tYWlucyhvZmZzZXQpOyBcCi0J aWYgKGZ3X2VuZ2luZSkgXAotCQlfX2ZvcmNlX3dha2VfYXV0byhkZXZfcHJpdiwgZndfZW5naW5l KTsgXAotCXZhbCA9IF9fcmF3X2k5MTVfcmVhZCMjeChkZXZfcHJpdiwgcmVnKTsgXAotCUdFTjZf UkVBRF9GT09URVI7IFwKKwlwZF9lbmdpbmUgPSBfX2dlbjlfcmVnX3JlYWRfcG93ZXJfZG9tYWlu cyhvZmZzZXQpOyBcCisJaWYgKEhBU19ERUNPVVBMRURfTU1JTyhkZXZfcHJpdikgJiYgcGRfZW5n aW5lICYmIHglMzIgPT0gMCkgeyBcCisJCXUzMiAqcHRyX2RhdGEgPSAodTMyICopICZ2YWw7IFwK KwkJdW5zaWduZWQgaSA9IDA7IFwKKwkJZm9yIChpID0gMDsgaSA8IHgvMzI7IGkrKykgeyBcCisJ CQlfX2dlbjlfZGVjb3VwbGVkX21taW9fYWNjZXNzKGRldl9wcml2LCBcCisJCQkJCShvZmZzZXQg KyBpKjQpLCBcCisJCQkJCXB0cl9kYXRhICsgaSwgXAorCQkJCQlwZF9lbmdpbmUsIFwKKwkJCQkJ R0VOOV9ERUNPVVBMRURfT1BfUkVBRCk7IFwKKwkJCXB0cl9kYXRhKys7IFwKKwkJfSBcCisJfSBl bHNlIHsgXAorCQlmd19lbmdpbmUgPSBfX2dlbjlfcmVnX3JlYWRfZndfZG9tYWlucyhvZmZzZXQp OyBcCisJCWlmIChmd19lbmdpbmUpIFwKKwkJCV9fZm9yY2Vfd2FrZV9hdXRvKGRldl9wcml2LCBm d19lbmdpbmUpOyBcCisJCXZhbCA9IF9fcmF3X2k5MTVfcmVhZCMjeChkZXZfcHJpdiwgcmVnKTsg XAorCX0gXAorCQlHRU42X1JFQURfRk9PVEVSOyBcCiB9CiAKIF9fZ2VuOV9yZWFkKDgpCkBAIC0x MTAxLDExICsxMTgxLDI2IEBAIHN0YXRpYyB2b2lkIFwKIGdlbjlfd3JpdGUjI3goc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBpOTE1X3JlZ190IHJlZywgdSMjeCB2YWwsIFwKIAkJ Ym9vbCB0cmFjZSkgeyBcCiAJZW51bSBmb3JjZXdha2VfZG9tYWlucyBmd19lbmdpbmU7IFwKKwll bnVtIHBvd2VyX2RvbWFpbnMgcGRfZW5naW5lOyBcCiAJR0VONl9XUklURV9IRUFERVI7IFwKLQlm d19lbmdpbmUgPSBfX2dlbjlfcmVnX3dyaXRlX2Z3X2RvbWFpbnMob2Zmc2V0KTsgXAotCWlmIChm d19lbmdpbmUpIFwKLQkJX19mb3JjZV93YWtlX2F1dG8oZGV2X3ByaXYsIGZ3X2VuZ2luZSk7IFwK LQlfX3Jhd19pOTE1X3dyaXRlIyN4KGRldl9wcml2LCByZWcsIHZhbCk7IFwKKwlwZF9lbmdpbmUg PSBfX2dlbjlfcmVnX3dyaXRlX3Bvd2VyX2RvbWFpbnMob2Zmc2V0KTsgXAorCWlmIChIQVNfREVD T1VQTEVEX01NSU8oZGV2X3ByaXYpICYmIHBkX2VuZ2luZSAmJiB4JTMyID09IDApIHsgXAorCQl1 MzIgKnB0cl9kYXRhID0gKHUzMiAqKSAmdmFsOyBcCisJCXVuc2lnbmVkIGkgPSAwOyBcCisJCWZv ciAoaSA9IDA7IGkgPCB4LzMyOyBpKyspIHsgXAorCQkJX19nZW45X2RlY291cGxlZF9tbWlvX2Fj Y2VzcyhkZXZfcHJpdiwgXAorCQkJCQkob2Zmc2V0ICsgaSo0KSwgXAorCQkJCQlwdHJfZGF0YSAr IGksIFwKKwkJCQkJcGRfZW5naW5lLCBcCisJCQkJCUdFTjlfREVDT1VQTEVEX09QX1dSSVRFKTsg XAorCQkJcHRyX2RhdGErKzsgXAorCQl9IFwKKwl9IGVsc2UgeyBcCisJCWZ3X2VuZ2luZSA9IF9f Z2VuOV9yZWdfd3JpdGVfZndfZG9tYWlucyhvZmZzZXQpOyBcCisJCWlmIChmd19lbmdpbmUpIFwK KwkJCV9fZm9yY2Vfd2FrZV9hdXRvKGRldl9wcml2LCBmd19lbmdpbmUpOyBcCisJCV9fcmF3X2k5 MTVfd3JpdGUjI3goZGV2X3ByaXYsIHJlZywgdmFsKTsgXAorCX0gXAogCUdFTjZfV1JJVEVfRk9P VEVSOyBcCiB9CiAKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK