From mboxrd@z Thu Jan 1 00:00:00 1970 From: Praveen Paneri Subject: [PATCH v2] drm/i915/bxt: Broxton decoupled MMIO Date: Mon, 19 Sep 2016 22:45:02 +0530 Message-ID: <1474305302-14503-1-git-send-email-praveen.paneri@intel.com> References: <57E01AE9.5030008@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6BC126E52F for ; Mon, 19 Sep 2016 17:11:41 +0000 (UTC) In-Reply-To: <57E01AE9.5030008@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: Zhe Wang , Praveen Paneri , Ankitprasad Sharma List-Id: intel-gfx@lists.freedesktop.org RGVjb3VwbGVkIE1NSU8gaXMgYW4gYWx0ZXJuYXRpdmUgd2F5IHRvIGFjY2VzcyBmb3JjZXdha2Ug ZG9tYWluCnJlZ2lzdGVycywgd2hpY2ggcmVxdWlyZXMgbGVzcyBjeWNsZXMgYW5kIGF2b2lkcyBm cmVxdWVudCBzb2Z0d2FyZQpmb3JjZXdha2UuCgp2MjoKLSBNb3ZlZCBwbGF0Zm9ybSBjaGVjayBv dXQgb2YgdGhlIGZ1bmN0aW9uIGFuZCBnb3QgcmlkIG9mIGR1cGxpY2F0ZQpmdW5jdGlvbnMgdG8g ZmluZCBvdXQgZGVjb3VwbGVkIHBvd2VyIGRvbWFpbi4KLSBBZGRlZCBhIGNoZWNrIGZvciBmb3Jj ZXdha2UgYWxyZWFkeSBoZWxkIGFuZCBza2lwcGVkIGRlY291cGxlZCBhY2Nlc3MKLSBTa2lwcGVk IHdyaXRpbmcgNjQgYml0IHJlZ2lzdGVyIHRocm91Z2ggZGVjb3VwbGVkIE1NSU8KClNpZ25lZC1v ZmYtYnk6IFpoZSBXYW5nIDx6aGUxLndhbmdAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYW1p ZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbmtp dHByYXNhZCBTaGFybWEgPGFua2l0cHJhc2FkLnIuc2hhcm1hQGludGVsLmNvbT4KU2lnbmVkLW9m Zi1ieTogUHJhdmVlbiBQYW5lcmkgPHByYXZlZW4ucGFuZXJpQGludGVsLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICB8ICAxMSArKysrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oICAgICB8ICAgNyArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3VuY29yZS5jIHwgMTE4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQog MyBmaWxlcyBjaGFuZ2VkLCAxMzQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAppbmRleCA0ZGQzMDdlLi4wNjUyNDdiIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKQEAgLTU1OCw2ICs1NTgsMTYgQEAgZW51bSBmb3JjZXdha2VfZG9tYWlucyB7CiAj ZGVmaW5lIEZXX1JFR19SRUFEICAoMSkKICNkZWZpbmUgRldfUkVHX1dSSVRFICgyKQogCitlbnVt IHBvd2VyX2RvbWFpbnMgeworCUdFTjlfREVDT1VQTEVEX1BEX0JMSVRURVIgPSAwLAorCUdFTjlf REVDT1VQTEVEX1BEX1JFTkRFUiwKKwlHRU45X0RFQ09VUExFRF9QRF9NRURJQSwKKwlHRU45X0RF Q09VUExFRF9QRF9BTEwKK307CisKKyNkZWZpbmUgR0VOOV9ERUNPVVBMRURfT1BfV1JJVEUgKDAp CisjZGVmaW5lIEdFTjlfREVDT1VQTEVEX09QX1JFQUQgKDEpCisKIGVudW0gZm9yY2V3YWtlX2Rv bWFpbnMKIGludGVsX3VuY29yZV9mb3JjZXdha2VfZm9yX3JlZyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiAJCQkgICAgICAgaTkxNV9yZWdfdCByZWcsIHVuc2lnbmVkIGludCBv cCk7CkBAIC0yODU0LDYgKzI4NjQsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfY21kX3RhYmxlIHsKICNk ZWZpbmUgR1RfRlJFUVVFTkNZX01VTFRJUExJRVIgNTAKICNkZWZpbmUgR0VOOV9GUkVRX1NDQUxF UiAzCiAKKyNkZWZpbmUgSEFTX0RFQ09VUExFRF9NTUlPKGRldl9wcml2KSAoSVNfQlJPWFRPTihk ZXZfcHJpdikgJiYgSVNfQlhUX1JFVklEKGRldl9wcml2LCBCWFRfUkVWSURfQzAsIFJFVklEX0ZP UkVWRVIpKQogI2luY2x1ZGUgImk5MTVfdHJhY2UuaCIKIAogc3RhdGljIGlubGluZSBib29sIGlu dGVsX3NjYW5vdXRfbmVlZHNfdnRkX3dhKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDcwZDk2MTYuLmJlNTk4MDMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaApAQCAtNzM5NCw2ICs3Mzk0LDEzIEBAIGVudW0gewogI2RlZmluZSAg U0tMX0ZVU0VfUEcxX0RJU1RfU1RBVFVTICAgICAgICAgICAgICAoMTw8MjYpCiAjZGVmaW5lICBT S0xfRlVTRV9QRzJfRElTVF9TVEFUVVMgICAgICAgICAgICAgICgxPDwyNSkKIAorLyogRGVjb3Vw bGVkIE1NSU8gcmVnaXN0ZXIgcGFpciBmb3Iga2VybmVsIGRyaXZlciAqLworI2RlZmluZSBHRU45 X0RFQ09VUExFRF9SRUcwX0RXMAkJCV9NTUlPKDB4RjAwKQorI2RlZmluZSBHRU45X0RFQ09VUExF RF9SRUcwX0RXMQkJCV9NTUlPKDB4RjA0KQorI2RlZmluZSBHRU45X0RFQ09VUExFRF9EVzFfR08J CQkoMTw8MzEpCisjZGVmaW5lIEdFTjlfREVDT1VQTEVEX1BEX1NISUZUCQkJMjgKKyNkZWZpbmUg R0VOOV9ERUNPVVBMRURfT1BfU0hJRlQJCQkyNAorCiAvKiBQZXItcGlwZSBEREkgRnVuY3Rpb24g Q29udHJvbCAqLwogI2RlZmluZSBfVFJBTlNfRERJX0ZVTkNfQ1RMX0EJCTB4NjA0MDAKICNkZWZp bmUgX1RSQU5TX0RESV9GVU5DX0NUTF9CCQkweDYxNDAwCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Vu Y29yZS5jCmluZGV4IGE5YjZjOTMuLjA2ZmZmYmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3VuY29yZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Vu Y29yZS5jCkBAIC04MTYsNiArODE2LDQyIEBAIHVuY2xhaW1lZF9yZWdfZGVidWcoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCV9fdW5jbGFpbWVkX3JlZ19kZWJ1ZyhkZXZfcHJp diwgcmVnLCByZWFkLCBiZWZvcmUpOwogfQogCisvKgorICogRGVjb3VwbGVkIE1NSU8gYWNjZXNz IGZvciBvbmx5IDEgRFdPUkQKKyAqLworc3RhdGljIHZvaWQgX19nZW45X2RlY291cGxlZF9tbWlv X2FjY2VzcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJCSB1aW50MzJf dCByZWcsIHUzMiAqcHRyX2RhdGEsCisJCQkJCSBlbnVtIGZvcmNld2FrZV9kb21haW5zIGZ3X2Vu Z2luZSwgaW50IG9wZXJhdGlvbikKK3sKKwllbnVtIHBvd2VyX2RvbWFpbnMgcGRfZW5naW5lOwor CXUzMiBjdHJsX3JlZ19kYXRhID0gMDsKKworCWlmIChvcGVyYXRpb24gPT0gR0VOOV9ERUNPVVBM RURfT1BfV1JJVEUpCisJCV9fcmF3X2k5MTVfd3JpdGUzMihkZXZfcHJpdiwKKwkJCQlHRU45X0RF Q09VUExFRF9SRUcwX0RXMCwKKwkJCQkqcHRyX2RhdGEpOworCisJcGRfZW5naW5lID0gKGZ3X2Vu Z2luZSA9PSAoRk9SQ0VXQUtFX1JFTkRFUiB8fCBGT1JDRVdBS0VfQkxJVFRFUikpID8gXAorCQkg ICAgICEoZndfZW5naW5lID4+IDEpIDogKGZ3X2VuZ2luZSA+PiAxKTsgXAorCisJY3RybF9yZWdf ZGF0YSB8PSByZWc7CisJY3RybF9yZWdfZGF0YSB8PSAob3BlcmF0aW9uIDw8IEdFTjlfREVDT1VQ TEVEX09QX1NISUZUKTsKKwljdHJsX3JlZ19kYXRhIHw9IChwZF9lbmdpbmUgPDwgR0VOOV9ERUNP VVBMRURfUERfU0hJRlQpOworCV9fcmF3X2k5MTVfd3JpdGUzMihkZXZfcHJpdiwgR0VOOV9ERUNP VVBMRURfUkVHMF9EVzEsIGN0cmxfcmVnX2RhdGEpOworCisJY3RybF9yZWdfZGF0YSB8PSBHRU45 X0RFQ09VUExFRF9EVzFfR087CisJX19yYXdfaTkxNV93cml0ZTMyKGRldl9wcml2LCBHRU45X0RF Q09VUExFRF9SRUcwX0RXMSwgY3RybF9yZWdfZGF0YSk7CisKKwlpZiAod2FpdF9mb3JfYXRvbWlj KChfX3Jhd19pOTE1X3JlYWQzMihkZXZfcHJpdiwKKwkJCUdFTjlfREVDT1VQTEVEX1JFRzBfRFcx KSAmIEdFTjlfREVDT1VQTEVEX0RXMV9HTykgPT0gMCwKKwkJCUZPUkNFV0FLRV9BQ0tfVElNRU9V VF9NUykpCisJCURSTV9FUlJPUigiRGVjb3VwbGVkIE1NSU8gd2FpdCB0aW1lZCBvdXRcbiIpOwor CisJaWYgKG9wZXJhdGlvbiA9PSBHRU45X0RFQ09VUExFRF9PUF9SRUFEKQorCQkqcHRyX2RhdGEg PSBfX3Jhd19pOTE1X3JlYWQzMihkZXZfcHJpdiwKKwkJCQlHRU45X0RFQ09VUExFRF9SRUcwX0RX MCk7Cit9CisKICNkZWZpbmUgR0VOMl9SRUFEX0hFQURFUih4KSBcCiAJdSMjeCB2YWwgPSAwOyBc CiAJYXNzZXJ0X3JwbV93YWtlbG9ja19oZWxkKGRldl9wcml2KTsKQEAgLTg5Miw2ICs5MjgsMjAg QEAgc3RhdGljIGlubGluZSB2b2lkIF9fZm9yY2Vfd2FrZV9hdXRvKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKIAkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5mb3JjZV93YWtlX2dl dChkZXZfcHJpdiwgZndfZG9tYWlucyk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBfX2lzX2Zv cmNld2FrZV9hY3RpdmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCQkg ZW51bSBmb3JjZXdha2VfZG9tYWlucyBmd19kb21haW5zKQoreworCXN0cnVjdCBpbnRlbF91bmNv cmVfZm9yY2V3YWtlX2RvbWFpbiAqZG9tYWluOworCisJLyogSWRlYWxseSBHQ0Mgd291bGQgYmUg Y29uc3RhbnQtZm9sZCBhbmQgZWxpbWluYXRlIHRoaXMgbG9vcCAqLworCWZvcl9lYWNoX2Z3X2Rv bWFpbl9tYXNrZWQoZG9tYWluLCBmd19kb21haW5zLCBkZXZfcHJpdikgeworCQlpZiAoZG9tYWlu LT53YWtlX2NvdW50KQorCQkJZndfZG9tYWlucyAmPSB+ZG9tYWluLT5tYXNrOworCX0KKworCXJl dHVybiBmd19kb21haW5zID8gMCA6IDE7Cit9CisKICNkZWZpbmUgX19nZW42X3JlYWQoeCkgXAog c3RhdGljIHUjI3ggXAogZ2VuNl9yZWFkIyN4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwgaTkxNV9yZWdfdCByZWcsIGJvb2wgdHJhY2UpIHsgXApAQCAtOTQwLDYgKzk5MCwzNyBA QCBnZW45X3JlYWQjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBpOTE1X3Jl Z190IHJlZywgYm9vbCB0cmFjZSkgeyBcCiAJR0VONl9SRUFEX0ZPT1RFUjsgXAogfQogCisjZGVm aW5lIF9fZ2VuOV9kZWNvdXBsZWRfcmVhZCh4KSBcCitzdGF0aWMgdSMjeCBcCitnZW45X2RlY291 cGxlZF9yZWFkIyN4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaTkxNV9yZWdf dCByZWcsIGJvb2wgdHJhY2UpIHsgXAorCWVudW0gZm9yY2V3YWtlX2RvbWFpbnMgZndfZW5naW5l OyBcCisJR0VONl9SRUFEX0hFQURFUih4KTsgXAorCWZ3X2VuZ2luZSA9IF9fZ2VuOV9yZWdfcmVh ZF9md19kb21haW5zKG9mZnNldCk7IFwKKwlpZiAoZndfZW5naW5lICYmIHglMzIgPT0gMCkgeyBc CisJCWlmIChfX2lzX2ZvcmNld2FrZV9hY3RpdmUoZGV2X3ByaXYsIGZ3X2VuZ2luZSkpIFwKKwkJ CV9fcmF3X2k5MTVfd3JpdGUjI3goZGV2X3ByaXYsIHJlZywgdmFsKTsgXAorCQllbHNlIHsgXAor CQkJdW5zaWduZWQgaTsgXAorCQkJdTMyICpwdHJfZGF0YSA9ICh1MzIgKikgJnZhbDsgXAorCQkJ Zm9yIChpID0gMDsgaSA8IHgvMzI7IGkrKykgXAorCQkJCV9fZ2VuOV9kZWNvdXBsZWRfbW1pb19h Y2Nlc3MoZGV2X3ByaXYsIFwKKwkJCQkJCShvZmZzZXQgKyBpKjQpLCBcCisJCQkJCQlwdHJfZGF0 YSArIGksIFwKKwkJCQkJCWZ3X2VuZ2luZSwgXAorCQkJCQkJR0VOOV9ERUNPVVBMRURfT1BfUkVB RCk7IFwKKwkJfSBcCisJfSBlbHNlIHsgXAorCQlpZiAoZndfZW5naW5lKSBcCisJCQlfX2ZvcmNl X3dha2VfYXV0byhkZXZfcHJpdiwgZndfZW5naW5lKTsgXAorCQl2YWwgPSBfX3Jhd19pOTE1X3Jl YWQjI3goZGV2X3ByaXYsIHJlZyk7IFwKKwl9IFwKKwlHRU42X1JFQURfRk9PVEVSOyBcCit9CisK K19fZ2VuOV9kZWNvdXBsZWRfcmVhZCg4KQorX19nZW45X2RlY291cGxlZF9yZWFkKDE2KQorX19n ZW45X2RlY291cGxlZF9yZWFkKDMyKQorX19nZW45X2RlY291cGxlZF9yZWFkKDY0KQogX19nZW45 X3JlYWQoOCkKIF9fZ2VuOV9yZWFkKDE2KQogX19nZW45X3JlYWQoMzIpCkBAIC0xMTA3LDYgKzEx ODgsMzQgQEAgZ2VuOV93cml0ZSMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs IGk5MTVfcmVnX3QgcmVnLCB1IyN4IHZhbCwgXAogCUdFTjZfV1JJVEVfRk9PVEVSOyBcCiB9CiAK KyNkZWZpbmUgX19nZW45X2RlY291cGxlZF93cml0ZSh4KSBcCitzdGF0aWMgdm9pZCBcCitnZW45 X2RlY291cGxlZF93cml0ZSMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGk5 MTVfcmVnX3QgcmVnLCB1IyN4IHZhbCwgXAorCQlib29sIHRyYWNlKSB7IFwKKwllbnVtIGZvcmNl d2FrZV9kb21haW5zIGZ3X2VuZ2luZTsgXAorCUdFTjZfV1JJVEVfSEVBREVSOyBcCisJZndfZW5n aW5lID0gX19nZW45X3JlZ193cml0ZV9md19kb21haW5zKG9mZnNldCk7IFwKKwlpZiAoZndfZW5n aW5lICYmIHggPT0gMzIpIHsgXAorCQl1MzIgKnB0cl9kYXRhID0gKHUzMiAqKSAmdmFsOyBcCisJ CWlmIChfX2lzX2ZvcmNld2FrZV9hY3RpdmUoZGV2X3ByaXYsIGZ3X2VuZ2luZSkpIFwKKwkJCV9f cmF3X2k5MTVfd3JpdGUjI3goZGV2X3ByaXYsIHJlZywgdmFsKTsgXAorCQllbHNlIFwKKwkJCV9f Z2VuOV9kZWNvdXBsZWRfbW1pb19hY2Nlc3MoZGV2X3ByaXYsIFwKKwkJCQlvZmZzZXQsIFwKKwkJ CQlwdHJfZGF0YSwgXAorCQkJCWZ3X2VuZ2luZSwgXAorCQkJCUdFTjlfREVDT1VQTEVEX09QX1dS SVRFKTsgXAorCX0gZWxzZSB7IFwKKwkJaWYgKGZ3X2VuZ2luZSkgXAorCQkJX19mb3JjZV93YWtl X2F1dG8oZGV2X3ByaXYsIGZ3X2VuZ2luZSk7IFwKKwkJX19yYXdfaTkxNV93cml0ZSMjeChkZXZf cHJpdiwgcmVnLCB2YWwpOyBcCisJfSBcCisJR0VONl9XUklURV9GT09URVI7IFwKK30KKworX19n ZW45X2RlY291cGxlZF93cml0ZSg4KQorX19nZW45X2RlY291cGxlZF93cml0ZSgxNikKK19fZ2Vu OV9kZWNvdXBsZWRfd3JpdGUoMzIpCiBfX2dlbjlfd3JpdGUoOCkKIF9fZ2VuOV93cml0ZSgxNikK IF9fZ2VuOV93cml0ZSgzMikKQEAgLTEzMjgsOCArMTQzNywxMyBAQCB2b2lkIGludGVsX3VuY29y ZV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlzd2l0Y2ggKElOVEVM X0lORk8oZGV2X3ByaXYpLT5nZW4pIHsKIAlkZWZhdWx0OgogCWNhc2UgOToKLQkJQVNTSUdOX1dS SVRFX01NSU9fVkZVTkNTKGdlbjkpOwotCQlBU1NJR05fUkVBRF9NTUlPX1ZGVU5DUyhnZW45KTsK KwkJaWYgKEhBU19ERUNPVVBMRURfTU1JTyhkZXZfcHJpdikpIHsKKwkJCUFTU0lHTl9XUklURV9N TUlPX1ZGVU5DUyhnZW45X2RlY291cGxlZCk7CisJCQlBU1NJR05fUkVBRF9NTUlPX1ZGVU5DUyhn ZW45X2RlY291cGxlZCk7CisJCX0gZWxzZSB7CisJCQlBU1NJR05fV1JJVEVfTU1JT19WRlVOQ1Mo Z2VuOSk7CisJCQlBU1NJR05fUkVBRF9NTUlPX1ZGVU5DUyhnZW45KTsKKwkJfQogCQlicmVhazsK IAljYXNlIDg6CiAJCWlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewotLSAKMS45LjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=