From mboxrd@z Thu Jan 1 00:00:00 1970 From: Monk Liu Subject: [PATCH 4/4] drm/amdgpu:implement CONTEXT_CONTROL Date: Mon, 29 Aug 2016 16:55:39 +0800 Message-ID: <1472460939-31571-5-git-send-email-Monk.Liu@amd.com> References: <1472460939-31571-1-git-send-email-Monk.Liu@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1472460939-31571-1-git-send-email-Monk.Liu-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Monk Liu dXNlIENPTlRFWFRfQ09OVFJPTCBwYWNrYWdlIHRvIGR5bmFtaWNhbGx5IHNraXAKcHJlYW1ibGUg SUIgYW5kIG90aGVyIGxvYWRfeHh4IGNvbW1hbmQgaW4gc2VxdWVuY2UuCgpDaGFuZ2UtSWQ6IEk0 Yjg3Y2E4NGVhOGMxMWJhNGY3ZmI0YzBlOGE1YmU1MzdjY2RlODUxClNpZ25lZC1vZmYtYnk6IE1v bmsgTGl1IDxNb25rLkxpdUBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdS5oICAgIHwgIDkgKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfY3MuYyB8IDEyICsrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2liLmMgfCAxNiArKysrKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9nZnhfdjhfMC5jICB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA0 IGZpbGVzIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHUuaAppbmRleCAxMjU0NDEwLi4wZGU1ZjA4IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHUuaApAQCAtMzIxLDYgKzMyMSw3IEBAIHN0cnVjdCBhbWRncHVf cmluZ19mdW5jcyB7CiAJdm9pZCAoKmJlZ2luX3VzZSkoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5n KTsKIAl2b2lkICgqZW5kX3VzZSkoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKTsKIAl2b2lkICgq ZW1pdF9zd2l0Y2hfYnVmZmVyKSAoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKTsKKwl2b2lkICgq ZW1pdF9jbnR4Y250bCkgKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywgdWludDMyX3QgZmxhZ3Mp OwogfTsKIAogLyoKQEAgLTk2NSw2ICs5NjYsNyBAQCBzdHJ1Y3QgYW1kZ3B1X2N0eCB7CiAJc3Bp bmxvY2tfdAkJcmluZ19sb2NrOwogCXN0cnVjdCBmZW5jZSAgICAgICAgICAgICoqZmVuY2VzOwog CXN0cnVjdCBhbWRncHVfY3R4X3JpbmcJcmluZ3NbQU1ER1BVX01BWF9SSU5HU107CisJYm9vbCBw cmVhbWJsZV9wcmVzZW50ZWQ7CiB9OwogCiBzdHJ1Y3QgYW1kZ3B1X2N0eF9tZ3IgewpAQCAtMTIy Nyw4ICsxMjI5LDEzIEBAIHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyIHsKIAogCS8qIHVzZXIgZmVu Y2UgKi8KIAlzdHJ1Y3QgYW1kZ3B1X2JvX2xpc3RfZW50cnkJdWZfZW50cnk7CisJYm9vbCBwcmVh bWJsZV9wcmVzZW50OyAvKiBUcnVlIG1lYW5zIHRoaXMgY29tbWFuZCBzdWJtaXQgaW52b2x2ZXMg YSBwcmVhbWJsZSBJQiAqLwogfTsKIAorI2RlZmluZSBQUkVBTUJMRV9JQl9QUkVTRU5UIAkJKDEg PDwgMCkgLyogYml0IHNldCBtZWFucyBjb21tYW5kIHN1Ym1pdCBpbnZvbHZlcyBhIHByZWFtYmxl IElCICovCisjZGVmaW5lIFBSRUFNQkxFX0lCX1BSRVNFTlRfRklSU1QJKDEgPDwgMSkgLyogYml0 IHNldCBtZWFucyBwcmVhbWJsZSBJQiBpcyBmaXJzdCBwcmVzZW50ZWQgaW4gYmVsb25naW5nIGNv bnRleHQgKi8KKyNkZWZpbmUgSEFWRV9DVFhfU1dJVENICQkoMSA8PCAyKSAvKiBiaXQgc2V0IG1l YW5zIGNvbnRleHQgc3dpdGNoIG9jY3VyZWQgKi8KKwogc3RydWN0IGFtZGdwdV9qb2IgewogCXN0 cnVjdCBhbWRfc2NoZWRfam9iICAgIGJhc2U7CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UJKmFkZXY7 CkBAIC0xMjM3LDYgKzEyNDQsNyBAQCBzdHJ1Y3QgYW1kZ3B1X2pvYiB7CiAJc3RydWN0IGFtZGdw dV9zeW5jCXN5bmM7CiAJc3RydWN0IGFtZGdwdV9pYgkqaWJzOwogCXN0cnVjdCBmZW5jZQkJKmZl bmNlOyAvKiB0aGUgaHcgZmVuY2UgKi8KKwl1aW50MzJfdAkJcHJlYW1ibGVfc3RhdHVzOwogCXVp bnQzMl90CQludW1faWJzOwogCXZvaWQJCQkqb3duZXI7CiAJdWludDY0X3QJCWZlbmNlX2N0eDsg LyogdGhlIGZlbmNlX2NvbnRleHQgdGhpcyBqb2IgdXNlcyAqLwpAQCAtMjI2NCw2ICsyMjcyLDcg QEAgYW1kZ3B1X2dldF9zZG1hX2luc3RhbmNlKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZykKICNk ZWZpbmUgYW1kZ3B1X3JpbmdfZW1pdF9oZHBfZmx1c2gocikgKHIpLT5mdW5jcy0+ZW1pdF9oZHBf Zmx1c2goKHIpKQogI2RlZmluZSBhbWRncHVfcmluZ19lbWl0X2hkcF9pbnZhbGlkYXRlKHIpIChy KS0+ZnVuY3MtPmVtaXRfaGRwX2ludmFsaWRhdGUoKHIpKQogI2RlZmluZSBhbWRncHVfcmluZ19l bWl0X3N3aXRjaF9idWZmZXIocikgKHIpLT5mdW5jcy0+ZW1pdF9zd2l0Y2hfYnVmZmVyKChyKSkK KyNkZWZpbmUgYW1kZ3B1X3JpbmdfZW1pdF9jbnR4Y250bChyLCBkKSAociktPmZ1bmNzLT5lbWl0 X2NudHhjbnRsKChyKSwgKGQpKQogI2RlZmluZSBhbWRncHVfcmluZ19wYWRfaWIociwgaWIpICgo ciktPmZ1bmNzLT5wYWRfaWIoKHIpLCAoaWIpKSkKICNkZWZpbmUgYW1kZ3B1X3JpbmdfaW5pdF9j b25kX2V4ZWMocikgKHIpLT5mdW5jcy0+aW5pdF9jb25kX2V4ZWMoKHIpKQogI2RlZmluZSBhbWRn cHVfcmluZ19wYXRjaF9jb25kX2V4ZWMocixvKSAociktPmZ1bmNzLT5wYXRjaF9jb25kX2V4ZWMo KHIpLChvKSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9j cy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKaW5kZXggMmQ0ZTAw NS4uNmQ4YzA1MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2NzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKQEAgLTc5 Miw2ICs3OTIsOSBAQCBzdGF0aWMgaW50IGFtZGdwdV9jc19pYl9maWxsKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2LAogCQlpZiAocikKIAkJCXJldHVybiByOwogCisJCWlmIChpYi0+ZmxhZ3Mg JiBBTURHUFVfSUJfRkxBR19QUkVBTUJMRSkKKwkJCXBhcnNlci0+cHJlYW1ibGVfcHJlc2VudCA9 IHRydWU7CisKIAkJaWYgKHBhcnNlci0+am9iLT5yaW5nICYmIHBhcnNlci0+am9iLT5yaW5nICE9 IHJpbmcpCiAJCQlyZXR1cm4gLUVJTlZBTDsKIApAQCAtOTMwLDYgKzkzMywxMiBAQCBzdGF0aWMg aW50IGFtZGdwdV9jc19zdWJtaXQoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCiAJCXJldHVy biByOwogCX0KIAorCWlmIChwLT5wcmVhbWJsZV9wcmVzZW50KSB7CisJCWpvYi0+cHJlYW1ibGVf c3RhdHVzIHw9IFBSRUFNQkxFX0lCX1BSRVNFTlQ7CisJCWlmICghcC0+Y3R4LT5wcmVhbWJsZV9w cmVzZW50ZWQpCisJCQlqb2ItPnByZWFtYmxlX3N0YXR1cyB8PSBQUkVBTUJMRV9JQl9QUkVTRU5U X0ZJUlNUOworCX0KKwogCWpvYi0+b3duZXIgPSBwLT5maWxwOwogCWpvYi0+ZmVuY2VfY3R4ID0g ZW50aXR5LT5mZW5jZV9jb250ZXh0OwogCXAtPmZlbmNlID0gZmVuY2VfZ2V0KCZqb2ItPmJhc2Uu c19mZW5jZS0+ZmluaXNoZWQpOwpAQCAtOTQwLDYgKzk0OSw5IEBAIHN0YXRpYyBpbnQgYW1kZ3B1 X2NzX3N1Ym1pdChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKIAl0cmFjZV9hbWRncHVfY3Nf aW9jdGwoam9iKTsKIAlhbWRfc2NoZWRfZW50aXR5X3B1c2hfam9iKCZqb2ItPmJhc2UpOwogCisJ aWYgKHAtPnByZWFtYmxlX3ByZXNlbnQpCisJCXAtPmN0eC0+cHJlYW1ibGVfcHJlc2VudGVkID0g dHJ1ZTsKKwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfaWIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9p Yi5jCmluZGV4IDA0MjYzZjAuLmIxMmI1YmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9pYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9pYi5jCkBAIC0xMjEsMTAgKzEyMSwxMSBAQCBpbnQgYW1kZ3B1X2liX3NjaGVkdWxlKHN0 cnVjdCBhbWRncHVfcmluZyAqcmluZywgdW5zaWduZWQgbnVtX2licywKIHsKIAlzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiA9IHJpbmctPmFkZXY7CiAJc3RydWN0IGFtZGdwdV9pYiAqaWIgPSAm aWJzWzBdOwotCWJvb2wgc2tpcF9wcmVhbWJsZSwgbmVlZF9jdHhfc3dpdGNoOworCWJvb2wgbmVl ZF9jdHhfc3dpdGNoOwogCXVuc2lnbmVkIHBhdGNoX29mZnNldCA9IH4wOwogCXN0cnVjdCBhbWRn cHVfdm0gKnZtOwogCXVpbnQ2NF90IGZlbmNlX2N0eDsKKwl1aW50MzJfdCBzdGF0dXMgPSAwOwog CiAJdW5zaWduZWQgaTsKIAlpbnQgciA9IDA7CkBAIC0xNzQsMTUgKzE3NSwxNiBAQCBpbnQgYW1k Z3B1X2liX3NjaGVkdWxlKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywgdW5zaWduZWQgbnVtX2li cywKIAkvKiBhbHdheXMgc2V0IGNvbmRfZXhlY19wb2xsaW5nIHRvIENPTlRJTlVFICovCiAJKnJp bmctPmNvbmRfZXhlX2NwdV9hZGRyID0gMTsKIAotCXNraXBfcHJlYW1ibGUgPSByaW5nLT5jdXJy ZW50X2N0eCA9PSBmZW5jZV9jdHg7CiAJbmVlZF9jdHhfc3dpdGNoID0gcmluZy0+Y3VycmVudF9j dHggIT0gZmVuY2VfY3R4OworCWlmIChqb2IgJiYgcmluZy0+ZnVuY3MtPmVtaXRfY250eGNudGwp IHsKKwkJaWYgKG5lZWRfY3R4X3N3aXRjaCkKKwkJCXN0YXR1cyB8PSBIQVZFX0NUWF9TV0lUQ0g7 CisJCXN0YXR1cyB8PSBqb2ItPnByZWFtYmxlX3N0YXR1czsKKwkJYW1kZ3B1X3JpbmdfZW1pdF9j bnR4Y250bChyaW5nLCBzdGF0dXMpOworCX0KKwogCWZvciAoaSA9IDA7IGkgPCBudW1faWJzOyAr K2kpIHsKIAkJaWIgPSAmaWJzW2ldOwotCi0JCS8qIGRyb3AgcHJlYW1ibGUgSUJzIGlmIHdlIGRv bid0IGhhdmUgYSBjb250ZXh0IHN3aXRjaCAqLwotCQlpZiAoKGliLT5mbGFncyAmIEFNREdQVV9J Ql9GTEFHX1BSRUFNQkxFKSAmJiBza2lwX3ByZWFtYmxlKQotCQkJY29udGludWU7Ci0KIAkJYW1k Z3B1X3JpbmdfZW1pdF9pYihyaW5nLCBpYiwgam9iID8gam9iLT52bV9pZCA6IDAsCiAJCQkJICAg IG5lZWRfY3R4X3N3aXRjaCk7CiAJCW5lZWRfY3R4X3N3aXRjaCA9IGZhbHNlOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2dmeF92OF8wLmMKaW5kZXggZmJjNTdhNy4uNWNmNTNkOSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jCkBAIC02MDg1LDYgKzYwODUsMzYgQEAgc3RhdGlj IHZvaWQgZ2Z4X3Y4X3JpbmdfZW1pdF9zYihzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpCiAJYW1k Z3B1X3Jpbmdfd3JpdGUocmluZywgMCk7CiB9CiAKK3N0YXRpYyB2b2lkIGdmeF92OF9yaW5nX2Vt aXRfY250eGNudGwoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLCB1aW50MzJfdCBmbGFncykKK3sK Kwl1aW50MzJfdCBkdzIgPSAwOworCisJZHcyIHw9IDB4ODAwMDAwMDA7IC8qIHNldCBsb2FkX2Vu YWJsZSBvdGhlcndpc2UgdGhpcyBwYWNrYWdlIGlzIGp1c3QgTk9QcyAqLworCWlmIChmbGFncyAm IEhBVkVfQ1RYX1NXSVRDSCkgeworCQkvKiBzZXQgbG9hZF9nbG9iYWxfY29uZmlnICYgbG9hZF9n bG9iYWxfdWNvbmZpZyAqLworCQlkdzIgfD0gMHg4MDAxOworCQkvKiBzZXQgbG9hZF9jc19zaF9y ZWdzICovCisJCWR3MiB8PSAweDAxMDAwMDAwOworCQkvKiBzZXQgbG9hZF9wZXJfY29udGV4dF9z dGF0ZSAmIGxvYWRfZ2Z4X3NoX3JlZ3MgZm9yIEdGWCAqLworCQlpZiAocmluZy0+dHlwZSAhPSBB TURHUFVfUklOR19UWVBFX0NPTVBVVEUpCisJCQlkdzIgfD0gMHgxMDAwMjsKKworCQkvKiBzZXQg bG9hZF9jZV9yYW0gaWYgcHJlYW1ibGUgcHJlc2VudGVkICovCisJCWlmIChQUkVBTUJMRV9JQl9Q UkVTRU5UICYgZmxhZ3MpCisJCQlkdzIgfD0gMHgxMDAwMDAwMDsKKwl9IGVsc2UgeworCQkvKiBz dGlsbCBsb2FkX2NlX3JhbSBpZiB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHByZWFtYmxlIHByZXNl bnRlZAorCQkgKiBhbHRob3VnaCB0aGVyZSBpcyBubyBjb250ZXh0IHN3aXRjaCBoYXBwZW5zLgor CQkgKi8KKwkJaWYgKFBSRUFNQkxFX0lCX1BSRVNFTlRfRklSU1QgJiBmbGFncykKKwkJCWR3MiB8 PSAweDEwMDAwMDAwOworCX0KKworCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIFBBQ0tFVDMoUEFD S0VUM19DT05URVhUX0NPTlRST0wsIDEpKTsKKwlhbWRncHVfcmluZ193cml0ZShyaW5nLCBkdzIp OworCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIDApOworfQorCiBzdGF0aWMgdm9pZCBnZnhfdjhf MF9zZXRfZ2Z4X2VvcF9pbnRlcnJ1cHRfc3RhdGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYs CiAJCQkJCQkgZW51bSBhbWRncHVfaW50ZXJydXB0X3N0YXRlIHN0YXRlKQogewpAQCAtNjI2Nyw2 ICs2Mjk3LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhbWRncHVfcmluZ19mdW5jcyBnZnhfdjhf MF9yaW5nX2Z1bmNzX2dmeCA9IHsKIAkuaW5zZXJ0X25vcCA9IGFtZGdwdV9yaW5nX2luc2VydF9u b3AsCiAJLnBhZF9pYiA9IGFtZGdwdV9yaW5nX2dlbmVyaWNfcGFkX2liLAogCS5lbWl0X3N3aXRj aF9idWZmZXIgPSBnZnhfdjhfcmluZ19lbWl0X3NiLAorCS5lbWl0X2NudHhjbnRsID0gZ2Z4X3Y4 X3JpbmdfZW1pdF9jbnR4Y250bCwKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X3Jp bmdfZnVuY3MgZ2Z4X3Y4XzBfcmluZ19mdW5jc19jb21wdXRlID0gewpAQCAtNjI4NSw2ICs2MzE2 LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhbWRncHVfcmluZ19mdW5jcyBnZnhfdjhfMF9yaW5n X2Z1bmNzX2NvbXB1dGUgPSB7CiAJLnRlc3RfaWIgPSBnZnhfdjhfMF9yaW5nX3Rlc3RfaWIsCiAJ Lmluc2VydF9ub3AgPSBhbWRncHVfcmluZ19pbnNlcnRfbm9wLAogCS5wYWRfaWIgPSBhbWRncHVf cmluZ19nZW5lcmljX3BhZF9pYiwKKwkuZW1pdF9jbnR4Y250bCA9IGdmeF92OF9yaW5nX2VtaXRf Y250eGNudGwsCiB9OwogCiBzdGF0aWMgdm9pZCBnZnhfdjhfMF9zZXRfcmluZ19mdW5jcyhzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2FtZC1nZngK