From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fernando Pacheco Subject: [RFC PATCH 1/1] drm/i915/guc: Provide mmio list to be saved/restored on engine reset Date: Wed, 25 Sep 2019 16:00:32 -0700 Message-ID: <20190925230032.23676-2-fernando.pacheco@intel.com> References: <20190925230032.23676-1-fernando.pacheco@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 9A26C6EE7E for ; Wed, 25 Sep 2019 23:05:00 +0000 (UTC) In-Reply-To: <20190925230032.23676-1-fernando.pacheco@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 List-Id: intel-gfx@lists.freedesktop.org VGhlIGRyaXZlciBtdXN0IHByb3ZpZGUgR3VDIHdpdGggYSBsaXN0IG9mIG1taW8gcmVnaXN0ZXJz CnRoYXQgc2hvdWxkIGJlIHNhdmVkL3Jlc3RvcmVkIGR1cmluZyBhIEd1Qy1iYXNlZCBlbmdpbmUg cmVzZXQuCldlIHByb3ZpZGUgYSBtaW5pbWFsIHNldCBvZiByZWdpc3RlcnMgdGhhdCBzaG91bGQg Z2V0IHRoaW5ncwp3b3JraW5nIGFuZCBleHRlbmQgYXMgbmVlZGVkLgoKU2lnbmVkLW9mZi1ieTog RmVybmFuZG8gUGFjaGVjbyA8ZmVybmFuZG8ucGFjaGVjb0BpbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHMuYyAgIHwgMjMgKysrLS0KIC4uLi9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHNfdHlwZXMuaCB8ICAxICsKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19hZHMuYyAgICB8IDg3ICsrKysrKysrKysrKysr KysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTA1IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHMu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3dvcmthcm91bmRzLmMKaW5kZXggYmE2 NWU1MDE4OTc4Li42OTRlNmM4MjQyNWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX3dvcmthcm91bmRzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfd29ya2Fyb3VuZHMuYwpAQCAtMTQ2LDIzICsxNDYsMzEgQEAgc3RhdGljIHZvaWQgX3dhX2Fk ZChzdHJ1Y3QgaTkxNV93YV9saXN0ICp3YWwsIGNvbnN0IHN0cnVjdCBpOTE1X3dhICp3YSkKIH0K IAogc3RhdGljIHZvaWQKLXdhX3dyaXRlX21hc2tlZF9vcihzdHJ1Y3QgaTkxNV93YV9saXN0ICp3 YWwsIGk5MTVfcmVnX3QgcmVnLCB1MzIgbWFzaywKLQkJICAgdTMyIHZhbCkKK19fd2Ffd3JpdGVf bWFza2VkX29yKHN0cnVjdCBpOTE1X3dhX2xpc3QgKndhbCwgaTkxNV9yZWdfdCByZWcsIHUzMiBt YXNrLAorCQkgICAgIHUzMiB2YWwsIGJvb2wgbWFza2VkX2JpdHMpCiB7CiAJc3RydWN0IGk5MTVf d2Egd2EgPSB7CiAJCS5yZWcgID0gcmVnLAogCQkubWFzayA9IG1hc2ssCiAJCS52YWwgID0gdmFs LAogCQkucmVhZCA9IG1hc2ssCisJCS5tYXNrZWRfYml0cyA9IG1hc2tlZF9iaXRzLAogCX07CiAK IAlfd2FfYWRkKHdhbCwgJndhKTsKIH0KIAorc3RhdGljIHZvaWQKK3dhX3dyaXRlX21hc2tlZF9v cihzdHJ1Y3QgaTkxNV93YV9saXN0ICp3YWwsIGk5MTVfcmVnX3QgcmVnLCB1MzIgbWFzaywKKwkJ ICAgdTMyIHZhbCkKK3sKKwlfX3dhX3dyaXRlX21hc2tlZF9vcih3YWwsIHJlZywgbWFzaywgdmFs LCBmYWxzZSk7Cit9CisKIHN0YXRpYyB2b2lkCiB3YV9tYXNrZWRfZW4oc3RydWN0IGk5MTVfd2Ff bGlzdCAqd2FsLCBpOTE1X3JlZ190IHJlZywgdTMyIHZhbCkKIHsKLQl3YV93cml0ZV9tYXNrZWRf b3Iod2FsLCByZWcsIHZhbCwgX01BU0tFRF9CSVRfRU5BQkxFKHZhbCkpOworCV9fd2Ffd3JpdGVf bWFza2VkX29yKHdhbCwgcmVnLCB2YWwsIF9NQVNLRURfQklUX0VOQUJMRSh2YWwpLCB0cnVlKTsK IH0KIAogc3RhdGljIHZvaWQKQEAgLTE3OCwxMyArMTg2LDE2IEBAIHdhX3dyaXRlX29yKHN0cnVj dCBpOTE1X3dhX2xpc3QgKndhbCwgaTkxNV9yZWdfdCByZWcsIHUzMiB2YWwpCiB9CiAKICNkZWZp bmUgV0FfU0VUX0JJVF9NQVNLRUQoYWRkciwgbWFzaykgXAotCXdhX3dyaXRlX21hc2tlZF9vcih3 YWwsIChhZGRyKSwgKG1hc2spLCBfTUFTS0VEX0JJVF9FTkFCTEUobWFzaykpCisJX193YV93cml0 ZV9tYXNrZWRfb3Iod2FsLCAoYWRkciksIChtYXNrKSwgXAorCQkJICAgICBfTUFTS0VEX0JJVF9F TkFCTEUobWFzayksIHRydWUpCiAKICNkZWZpbmUgV0FfQ0xSX0JJVF9NQVNLRUQoYWRkciwgbWFz aykgXAotCXdhX3dyaXRlX21hc2tlZF9vcih3YWwsIChhZGRyKSwgKG1hc2spLCBfTUFTS0VEX0JJ VF9ESVNBQkxFKG1hc2spKQorCV9fd2Ffd3JpdGVfbWFza2VkX29yKHdhbCwgKGFkZHIpLCAobWFz ayksIFwKKwkJCSAgICAgX01BU0tFRF9CSVRfRElTQUJMRShtYXNrKSwgdHJ1ZSkKIAogI2RlZmlu ZSBXQV9TRVRfRklFTERfTUFTS0VEKGFkZHIsIG1hc2ssIHZhbHVlKSBcCi0Jd2Ffd3JpdGVfbWFz a2VkX29yKHdhbCwgKGFkZHIpLCAobWFzayksIF9NQVNLRURfRklFTEQoKG1hc2spLCAodmFsdWUp KSkKKwlfX3dhX3dyaXRlX21hc2tlZF9vcih3YWwsIChhZGRyKSwgKG1hc2spLCBcCisJCQkgICAg IF9NQVNLRURfRklFTEQoKG1hc2spLCAodmFsdWUpKSwgdHJ1ZSkKIAogc3RhdGljIHZvaWQgZ2Vu OF9jdHhfd29ya2Fyb3VuZHNfaW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJ CQkJICAgICAgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29ya2Fyb3VuZHNfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX3dvcmthcm91bmRzX3R5cGVzLmgKaW5kZXggZTI3YWIxYjcxMGIzLi5h NDNkNWY5NjhmMmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3dv cmthcm91bmRzX3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfd29y a2Fyb3VuZHNfdHlwZXMuaApAQCAtMTYsNiArMTYsNyBAQCBzdHJ1Y3QgaTkxNV93YSB7CiAJdTMy CQltYXNrOwogCXUzMgkJdmFsOwogCXUzMgkJcmVhZDsKKwlib29sCQltYXNrZWRfYml0czsKIH07 CiAKIHN0cnVjdCBpOTE1X3dhX2xpc3QgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvdWMvaW50ZWxfZ3VjX2Fkcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50 ZWxfZ3VjX2Fkcy5jCmluZGV4IGNhNjY3NGI4ZTAwYy4uYmE3NWE1ZWEzYTRiIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfYWRzLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfZ3VjX2Fkcy5jCkBAIC0zLDYgKzMsOCBAQAogICog Q29weXJpZ2h0IMKpIDIwMTQtMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbgogICovCiAKKyNpbmNsdWRl IDxsaW51eC9ic2VhcmNoLmg+CisKICNpbmNsdWRlICJndC9pbnRlbF9ndC5oIgogI2luY2x1ZGUg ImludGVsX2d1Y19hZHMuaCIKICNpbmNsdWRlICJpbnRlbF91Yy5oIgpAQCAtMTYsNiArMTgsOSBA QAogICogaXRzIGludGVybmFsIHN0YXRlIGZvciBzbGVlcC4KICAqLwogCitzdGF0aWMgdm9pZCBn dWNfbW1pb19yZWdfc3RhdGVfaW5pdChzdHJ1Y3QgZ3VjX21taW9fcmVnX3N0YXRlICpyZWdfc3Rh dGUsCisJCQkJICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7CisKIHN0YXRpYyB2 b2lkIGd1Y19wb2xpY3lfaW5pdChzdHJ1Y3QgZ3VjX3BvbGljeSAqcG9saWN5KQogewogCXBvbGlj eS0+ZXhlY3V0aW9uX3F1YW50dW0gPSBQT0xJQ1lfREVGQVVMVF9FWEVDVVRJT05fUVVBTlRVTV9V UzsKQEAgLTcwLDkgKzc1LDE1IEBAIHN0YXRpYyB2b2lkIF9fZ3VjX2Fkc19pbml0KHN0cnVjdCBp bnRlbF9ndWMgKmd1YykKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBndWNf dG9fZ3QoZ3VjKS0+aTkxNTsKIAlzdHJ1Y3QgX19ndWNfYWRzX2Jsb2IgKmJsb2IgPSBndWMtPmFk c19ibG9iOwogCWNvbnN0IHUzMiBza2lwcGVkX3NpemUgPSBMUkNfUFBIV1NQX1NaICogUEFHRV9T SVpFICsgTFJfSFdfQ09OVEVYVF9TSVpFOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZTsKKwllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKIAl1MzIgYmFzZTsKIAl1OCBlbmdpbmVfY2xh c3M7CiAKKwkvKiBHdUMgbW1pbyBzYXZlL3Jlc3RvcmUgbGlzdCAqLworCWZvcl9lYWNoX2VuZ2lu ZShlbmdpbmUsIGRldl9wcml2LCBpZCkKKwkJZ3VjX21taW9fcmVnX3N0YXRlX2luaXQoJmJsb2It PnJlZ19zdGF0ZSwgZW5naW5lKTsKKwogCS8qIEd1QyBzY2hlZHVsaW5nIHBvbGljaWVzICovCiAJ Z3VjX3BvbGljaWVzX2luaXQoJmJsb2ItPnBvbGljaWVzKTsKIApAQCAtMTgyLDMgKzE5Myw3OSBA QCB2b2lkIGludGVsX2d1Y19hZHNfcmVzZXQoc3RydWN0IGludGVsX2d1YyAqZ3VjKQogCQlyZXR1 cm47CiAJX19ndWNfYWRzX2luaXQoZ3VjKTsKIH0KKworc3RhdGljIGludCBndWNfbW1pb19yZWdf Y21wKGNvbnN0IHZvaWQgKmEsIGNvbnN0IHZvaWQgKmIpCit7CisJY29uc3Qgc3RydWN0IGd1Y19t bWlvX3JlZyAqcmEgPSBhOworCWNvbnN0IHN0cnVjdCBndWNfbW1pb19yZWcgKnJiID0gYjsKKwor CXJldHVybiAoaW50KXJhLT5vZmZzZXQgLSAoaW50KXJiLT5vZmZzZXQ7Cit9CisKK3N0YXRpYyB2 b2lkIGd1Y19tbWlvX3JlZ19hZGQoc3RydWN0IGd1Y19tbWlvX3JlZ3NldCAqcmVnc2V0LAorCQkJ ICAgICB1MzIgb2Zmc2V0LCB1MzIgZmxhZ3MpCit7CisJdTMyIGNvdW50ID0gcmVnc2V0LT5udW1i ZXJfb2ZfcmVnaXN0ZXJzOworCXN0cnVjdCBndWNfbW1pb19yZWcgcmVnID0geworCQkub2Zmc2V0 ID0gb2Zmc2V0LAorCQkuZmxhZ3MgPSBmbGFncywKKwl9OworCXN0cnVjdCBndWNfbW1pb19yZWcg KnNsb3Q7CisKKwlHRU1fQlVHX09OKGNvdW50ID49IEdVQ19SRUdTRVRfTUFYX1JFR0lTVEVSUyk7 CisKKwlpZiAoYnNlYXJjaCgmcmVnLCByZWdzZXQtPnJlZ2lzdGVycywgY291bnQsCisJCSAgICBz aXplb2YocmVnKSwgZ3VjX21taW9fcmVnX2NtcCkpCisJCXJldHVybjsKKworCXNsb3QgPSAmcmVn c2V0LT5yZWdpc3RlcnNbY291bnRdOworCXJlZ3NldC0+bnVtYmVyX29mX3JlZ2lzdGVycysrOwor CSpzbG90ID0gcmVnOworCisJd2hpbGUgKHNsb3QtLSA+IHJlZ3NldC0+cmVnaXN0ZXJzKSB7CisJ CUdFTV9CVUdfT04oc2xvdFswXS5vZmZzZXQgPT0gc2xvdFsxXS5vZmZzZXQpOworCQlpZiAoc2xv dFsxXS5vZmZzZXQgPiBzbG90WzBdLm9mZnNldCkKKwkJCWJyZWFrOworCisJCXN3YXAoc2xvdFsx XSwgc2xvdFswXSk7CisJfQorfQorCisjZGVmaW5lIEdVQ19NTUlPX1JFR19BREQocmVnc2V0LCBy ZWcsIG1hc2tlZCkgXAorCWd1Y19tbWlvX3JlZ19hZGQocmVnc2V0LCBcCisJCQkgaTkxNV9tbWlv X3JlZ19vZmZzZXQoKHJlZykpLCBcCisJCQkgKG1hc2tlZCkgPyBHVUNfUkVHU0VUX01BU0tFRCA6 IDApCisKK3N0YXRpYyB2b2lkIGd1Y19tbWlvX3JlZ3NldF9pbml0KHN0cnVjdCBndWNfbW1pb19y ZWdzZXQgKnJlZ3NldCwKKwkJCQkgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQorewor CWNvbnN0IHUzMiBiYXNlID0gZW5naW5lLT5tbWlvX2Jhc2U7CisJc3RydWN0IGk5MTVfd2FfbGlz dCAqd2FsID0gJmVuZ2luZS0+d2FfbGlzdDsKKwlzdHJ1Y3QgaTkxNV93YSAqd2E7CisJdW5zaWdu ZWQgaW50IGk7CisKKwlHVUNfTU1JT19SRUdfQUREKHJlZ3NldCwgUklOR19NT0RFX0dFTjcoYmFz ZSksIHRydWUpOworCUdVQ19NTUlPX1JFR19BREQocmVnc2V0LCBSSU5HX0hXU19QR0EoYmFzZSks IGZhbHNlKTsKKwlHVUNfTU1JT19SRUdfQUREKHJlZ3NldCwgUklOR19JTVIoYmFzZSksIGZhbHNl KTsKKworCWZvciAoaSA9IDAsIHdhID0gd2FsLT5saXN0OyBpIDwgd2FsLT5jb3VudDsgaSsrLCB3 YSsrKQorCQlHVUNfTU1JT19SRUdfQUREKHJlZ3NldCwgd2EtPnJlZywgd2EtPm1hc2tlZF9iaXRz KTsKKworCS8qIEJlIGV4dHJhIHBhcmFub2lkIGFuZCBpbmNsdWRlIGFsbCB3aGl0ZWxpc3QgcmVn aXN0ZXJzLiAqLworCWZvciAoaSA9IDA7IGkgPCBSSU5HX01BWF9OT05QUklWX1NMT1RTOyBpKysp CisJCUdVQ19NTUlPX1JFR19BREQocmVnc2V0LAorCQkJCSBSSU5HX0ZPUkNFX1RPX05PTlBSSVYo YmFzZSwgaSksCisJCQkJIGZhbHNlKTsKK30KKworc3RhdGljIHZvaWQgZ3VjX21taW9fcmVnX3N0 YXRlX2luaXQoc3RydWN0IGd1Y19tbWlvX3JlZ19zdGF0ZSAqcmVnX3N0YXRlLAorCQkJCSAgICBz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCit7CisJc3RydWN0IGd1Y19tbWlvX3JlZ3Nl dCAqcmVnc2V0OworCisJR0VNX0JVR19PTihlbmdpbmUtPmNsYXNzID49IEdVQ19NQVhfRU5HSU5F X0NMQVNTRVMpOworCUdFTV9CVUdfT04oZW5naW5lLT5pbnN0YW5jZSA+PSBHVUNfTUFYX0lOU1RB TkNFU19QRVJfQ0xBU1MpOworCXJlZ3NldCA9ICZyZWdfc3RhdGUtPmVuZ2luZV9yZWdbZW5naW5l LT5jbGFzc11bZW5naW5lLT5pbnN0YW5jZV07CisKKwlndWNfbW1pb19yZWdzZXRfaW5pdChyZWdz ZXQsIGVuZ2luZSk7Cit9Ci0tIAoyLjIzLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeA==