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 10:55:37 +0800 Message-ID: <1472439337-8002-3-git-send-email-Monk.Liu@amd.com> References: <1472439337-8002-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: <1472439337-8002-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 cm0vYW1kL2FtZGdwdS9hbWRncHUuaAppbmRleCA5MTMyNzE5Li5hOWRmZWI1IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHUuaApAQCAtMzM5LDYgKzMzOSw3IEBAIHN0cnVjdCBhbWRncHVf cmluZ19mdW5jcyB7CiAJdm9pZCAoKmVtaXRfd3JlZykgKHN0cnVjdCBhbWRncHVfcmluZyAqcmlu ZywgdWludDMyX3Qgb2Zmc2V0LCB1aW50MzJfdCB2YWwpOwogCXZvaWQgKCplbWl0X3JyZWcpIChz dHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsIHVpbnQzMl90IG9mZnNldCk7CiAJdm9pZCAoKmVtaXRf c3dpdGNoX2J1ZmZlcikgKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZyk7CisJdm9pZCAoKmVtaXRf Y250eGNudGwpIChzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsIHVpbnQzMl90IGZsYWdzKTsKIH07 CiAKIC8qCkBAIC0xMDUwLDYgKzEwNTEsNyBAQCBzdHJ1Y3QgYW1kZ3B1X2N0eCB7CiAJc3Bpbmxv Y2tfdAkJcmluZ19sb2NrOwogCXN0cnVjdCBmZW5jZSAgICAgICAgICAgICoqZmVuY2VzOwogCXN0 cnVjdCBhbWRncHVfY3R4X3JpbmcJcmluZ3NbQU1ER1BVX01BWF9SSU5HU107CisJYm9vbCBwcmVh bWJsZV9wcmVzZW50ZWQ7CiB9OwogCiBzdHJ1Y3QgYW1kZ3B1X2N0eF9tZ3IgewpAQCAtMTMyMCw4 ICsxMzIyLDEzIEBAIHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyIHsKIAogCS8qIHVzZXIgZmVuY2Ug Ki8KIAlzdHJ1Y3QgYW1kZ3B1X2JvX2xpc3RfZW50cnkJdWZfZW50cnk7CisJYm9vbCBwcmVhbWJs ZV9wcmVzZW50OyAvKiBUcnVlIG1lYW5zIHRoaXMgY29tbWFuZCBzdWJtaXQgaW52b2x2ZXMgYSBw cmVhbWJsZSBJQiAqLwogfTsKIAorI2RlZmluZSBQUkVBTUJMRV9JQl9QUkVTRU5UIAkJKDEgPDwg MCkgLyogYml0IHNldCBtZWFucyBjb21tYW5kIHN1Ym1pdCBpbnZvbHZlcyBhIHByZWFtYmxlIElC ICovCisjZGVmaW5lIFBSRUFNQkxFX0lCX1BSRVNFTlRfRklSU1QJKDEgPDwgMSkgLyogYml0IHNl dCBtZWFucyBwcmVhbWJsZSBJQiBpcyBmaXJzdCBwcmVzZW50ZWQgaW4gYmVsb25naW5nIGNvbnRl eHQgKi8KKyNkZWZpbmUgSEFWRV9DVFhfU1dJVENICQkoMSA8PCAyKSAvKiBiaXQgc2V0IG1lYW5z IGNvbnRleHQgc3dpdGNoIG9jY3VyZWQgKi8KKwogc3RydWN0IGFtZGdwdV9qb2IgewogCXN0cnVj dCBhbWRfc2NoZWRfam9iICAgIGJhc2U7CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UJKmFkZXY7CkBA IC0xMzMwLDYgKzEzMzcsNyBAQCBzdHJ1Y3QgYW1kZ3B1X2pvYiB7CiAJc3RydWN0IGFtZGdwdV9z eW5jCXN5bmM7CiAJc3RydWN0IGFtZGdwdV9pYgkqaWJzOwogCXN0cnVjdCBmZW5jZQkJKmZlbmNl OyAvKiB0aGUgaHcgZmVuY2UgKi8KKwl1aW50MzJfdAkJcHJlYW1ibGVfc3RhdHVzOwogCXVpbnQz Ml90CQludW1faWJzOwogCXZvaWQJCQkqb3duZXI7CiAJdWludDY0X3QJCWZlbmNlX2N0eDsgLyog dGhlIGZlbmNlX2NvbnRleHQgdGhpcyBqb2IgdXNlcyAqLwpAQCAtMjM3NCw2ICsyMzgyLDcgQEAg YW1kZ3B1X2dldF9zZG1hX2luc3RhbmNlKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZykKICNkZWZp bmUgYW1kZ3B1X3JpbmdfZW1pdF93cmVnKHIsIGksIHYpIChyKS0+ZnVuY3MtPmVtaXRfd3JlZygo ciksIChpKSwgKHYpKQogI2RlZmluZSBhbWRncHVfcmluZ19lbWl0X3JyZWcociwgaSkgKHIpLT5m dW5jcy0+ZW1pdF9ycmVnKChyKSwgKGkpKQogI2RlZmluZSBhbWRncHVfcmluZ19lbWl0X3N3aXRj aF9idWZmZXIocikgKHIpLT5mdW5jcy0+ZW1pdF9zd2l0Y2hfYnVmZmVyKChyKSkKKyNkZWZpbmUg YW1kZ3B1X3JpbmdfZW1pdF9jbnR4Y250bChyLCBkKSAociktPmZ1bmNzLT5lbWl0X2NudHhjbnRs KChyKSwgKGQpKQogI2RlZmluZSBhbWRncHVfcmluZ19wYWRfaWIociwgaWIpICgociktPmZ1bmNz LT5wYWRfaWIoKHIpLCAoaWIpKSkKICNkZWZpbmUgYW1kZ3B1X3JpbmdfaW5pdF9jb25kX2V4ZWMo cikgKHIpLT5mdW5jcy0+aW5pdF9jb25kX2V4ZWMoKHIpKQogI2RlZmluZSBhbWRncHVfcmluZ19w YXRjaF9jb25kX2V4ZWMocixvKSAociktPmZ1bmNzLT5wYXRjaF9jb25kX2V4ZWMoKHIpLChvKSkK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKaW5kZXggNzhkMzgzMS4uZjJkNzM5 YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKQEAgLTcxMSw2ICs3MTEs OSBAQCBzdGF0aWMgaW50IGFtZGdwdV9jc19pYl9maWxsKHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2LAogCQlpZiAocikKIAkJCXJldHVybiByOwogCisJCWlmIChpYi0+ZmxhZ3MgJiBBTURHUFVf SUJfRkxBR19QUkVBTUJMRSkKKwkJCXBhcnNlci0+cHJlYW1ibGVfcHJlc2VudCA9IHRydWU7CisK IAkJaWYgKHBhcnNlci0+am9iLT5yaW5nICYmIHBhcnNlci0+am9iLT5yaW5nICE9IHJpbmcpCiAJ CQlyZXR1cm4gLUVJTlZBTDsKIApAQCAtODQ5LDYgKzg1MiwxMiBAQCBzdGF0aWMgaW50IGFtZGdw dV9jc19zdWJtaXQoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCiAJCXJldHVybiByOwogCX0K IAorCWlmIChwLT5wcmVhbWJsZV9wcmVzZW50KSB7CisJCWpvYi0+cHJlYW1ibGVfc3RhdHVzIHw9 IFBSRUFNQkxFX0lCX1BSRVNFTlQ7CisJCWlmICghcC0+Y3R4LT5wcmVhbWJsZV9wcmVzZW50ZWQp CisJCQlqb2ItPnByZWFtYmxlX3N0YXR1cyB8PSBQUkVBTUJMRV9JQl9QUkVTRU5UX0ZJUlNUOwor CX0KKwogCWpvYi0+b3duZXIgPSBwLT5maWxwOwogCWpvYi0+ZmVuY2VfY3R4ID0gZW50aXR5LT5m ZW5jZV9jb250ZXh0OwogCXAtPmZlbmNlID0gZmVuY2VfZ2V0KCZqb2ItPmJhc2Uuc19mZW5jZS0+ ZmluaXNoZWQpOwpAQCAtODU5LDYgKzg2OCw5IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2NzX3N1Ym1p dChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKIAl0cmFjZV9hbWRncHVfY3NfaW9jdGwoam9i KTsKIAlhbWRfc2NoZWRfZW50aXR5X3B1c2hfam9iKCZqb2ItPmJhc2UpOwogCisJaWYgKHAtPnBy ZWFtYmxlX3ByZXNlbnQpCisJCXAtPmN0eC0+cHJlYW1ibGVfcHJlc2VudGVkID0gdHJ1ZTsKKwog CXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfaWIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pYi5jCmluZGV4 IGRmMzc5YzcuLjdjNTAxZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9pYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pYi5j CkBAIC0xMjEsMTAgKzEyMSwxMSBAQCBpbnQgYW1kZ3B1X2liX3NjaGVkdWxlKHN0cnVjdCBhbWRn cHVfcmluZyAqcmluZywgdW5zaWduZWQgbnVtX2licywKIHsKIAlzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiA9IHJpbmctPmFkZXY7CiAJc3RydWN0IGFtZGdwdV9pYiAqaWIgPSAmaWJzWzBdOwot CWJvb2wgc2tpcF9wcmVhbWJsZSwgbmVlZF9jdHhfc3dpdGNoOworCWJvb2wgbmVlZF9jdHhfc3dp dGNoOwogCXVuc2lnbmVkIHBhdGNoX29mZnNldCA9IH4wOwogCXN0cnVjdCBhbWRncHVfdm0gKnZt OwogCXVpbnQ2NF90IGZlbmNlX2N0eDsKKwl1aW50MzJfdCBzdGF0dXMgPSAwOwogCiAJdW5zaWdu ZWQgaTsKIAlpbnQgciA9IDA7CkBAIC0xNzQsMTUgKzE3NSwxNiBAQCBpbnQgYW1kZ3B1X2liX3Nj aGVkdWxlKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywgdW5zaWduZWQgbnVtX2licywKIAkvKiBh bHdheXMgc2V0IGNvbmRfZXhlY19wb2xsaW5nIHRvIENPTlRJTlVFICovCiAJKnJpbmctPmNvbmRf ZXhlX2NwdV9hZGRyID0gMTsKIAotCXNraXBfcHJlYW1ibGUgPSByaW5nLT5jdXJyZW50X2N0eCA9 PSBmZW5jZV9jdHg7CiAJbmVlZF9jdHhfc3dpdGNoID0gcmluZy0+Y3VycmVudF9jdHggIT0gZmVu Y2VfY3R4OworCWlmIChqb2IgJiYgcmluZy0+ZnVuY3MtPmVtaXRfY250eGNudGwpIHsKKwkJaWYg KG5lZWRfY3R4X3N3aXRjaCkKKwkJCXN0YXR1cyB8PSBIQVZFX0NUWF9TV0lUQ0g7CisJCXN0YXR1 cyB8PSBqb2ItPnByZWFtYmxlX3N0YXR1czsKKwkJYW1kZ3B1X3JpbmdfZW1pdF9jbnR4Y250bChy aW5nLCBzdGF0dXMpOworCX0KKwogCWZvciAoaSA9IDA7IGkgPCBudW1faWJzOyArK2kpIHsKIAkJ aWIgPSAmaWJzW2ldOwotCi0JCS8qIGRyb3AgcHJlYW1ibGUgSUJzIGlmIHdlIGRvbid0IGhhdmUg YSBjb250ZXh0IHN3aXRjaCAqLwotCQlpZiAoKGliLT5mbGFncyAmIEFNREdQVV9JQl9GTEFHX1BS RUFNQkxFKSAmJiBza2lwX3ByZWFtYmxlKQotCQkJY29udGludWU7Ci0KIAkJYW1kZ3B1X3Jpbmdf ZW1pdF9pYihyaW5nLCBpYiwgam9iID8gam9iLT52bV9pZCA6IDAsCiAJCQkJICAgIG5lZWRfY3R4 X3N3aXRjaCk7CiAJCW5lZWRfY3R4X3N3aXRjaCA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2dmeF92OF8wLmMKaW5kZXggY2UxZTYxNi4uOGY2ZDg2MCAxMDA3NTUKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9nZnhfdjhfMC5jCkBAIC02MTY0LDYgKzYxNjQsMzYgQEAgc3RhdGljIHZvaWQgZ2Z4 X3Y4X3JpbmdfZW1pdF9zYihzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpCiAJYW1kZ3B1X3Jpbmdf d3JpdGUocmluZywgMCk7CiB9CiAKK3N0YXRpYyB2b2lkIGdmeF92OF9yaW5nX2VtaXRfY250eGNu dGwoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLCB1aW50MzJfdCBmbGFncykKK3sKKwl1aW50MzJf dCBkdzIgPSAwOworCisJZHcyIHw9IDB4ODAwMDAwMDA7IC8qIHNldCBsb2FkX2VuYWJsZSBvdGhl cndpc2UgdGhpcyBwYWNrYWdlIGlzIGp1c3QgTk9QcyAqLworCWlmIChmbGFncyAmIEhBVkVfQ1RY X1NXSVRDSCkgeworCQkvKiBzZXQgbG9hZF9nbG9iYWxfY29uZmlnICYgbG9hZF9nbG9iYWxfdWNv bmZpZyAqLworCQlkdzIgfD0gMHg4MDAxOworCQkvKiBzZXQgbG9hZF9jc19zaF9yZWdzICovCisJ CWR3MiB8PSAweDAxMDAwMDAwOworCQkvKiBzZXQgbG9hZF9wZXJfY29udGV4dF9zdGF0ZSAmIGxv YWRfZ2Z4X3NoX3JlZ3MgZm9yIEdGWCAqLworCQlpZiAocmluZy0+dHlwZSAhPSBBTURHUFVfUklO R19UWVBFX0NPTVBVVEUpCisJCQlkdzIgfD0gMHgxMDAwMjsKKworCQkvKiBzZXQgbG9hZF9jZV9y YW0gaWYgcHJlYW1ibGUgcHJlc2VudGVkICovCisJCWlmIChQUkVBTUJMRV9JQl9QUkVTRU5UICYg ZmxhZ3MpCisJCQlkdzIgfD0gMHgxMDAwMDAwMDsKKwl9IGVsc2UgeworCQkvKiBzdGlsbCBsb2Fk X2NlX3JhbSBpZiB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHByZWFtYmxlIHByZXNlbnRlZAorCQkg KiBhbHRob3VnaCB0aGVyZSBpcyBubyBjb250ZXh0IHN3aXRjaCBoYXBwZW5zLgorCQkgKi8KKwkJ aWYgKFBSRUFNQkxFX0lCX1BSRVNFTlRfRklSU1QgJiBmbGFncykKKwkJCWR3MiB8PSAweDEwMDAw MDAwOworCX0KKworCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIFBBQ0tFVDMoUEFDS0VUM19DT05U RVhUX0NPTlRST0wsIDEpKTsKKwlhbWRncHVfcmluZ193cml0ZShyaW5nLCBkdzIpOworCWFtZGdw dV9yaW5nX3dyaXRlKHJpbmcsIDApOworfQorCiBzdGF0aWMgdm9pZCBnZnhfdjhfMF9zZXRfZ2Z4 X2VvcF9pbnRlcnJ1cHRfc3RhdGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCQkJCQkg ZW51bSBhbWRncHVfaW50ZXJydXB0X3N0YXRlIHN0YXRlKQogewpAQCAtNjQ3Miw2ICs2NTAyLDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhbWRncHVfcmluZ19mdW5jcyBnZnhfdjhfMF9yaW5nX2Z1 bmNzX2dmeCA9IHsKIAkuaW5zZXJ0X25vcCA9IGFtZGdwdV9yaW5nX2luc2VydF9ub3AsCiAJLnBh ZF9pYiA9IGFtZGdwdV9yaW5nX2dlbmVyaWNfcGFkX2liLAogCS5lbWl0X3N3aXRjaF9idWZmZXIg PSBnZnhfdjhfcmluZ19lbWl0X3NiLAorCS5lbWl0X2NudHhjbnRsID0gZ2Z4X3Y4X3JpbmdfZW1p dF9jbnR4Y250bCwKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X3JpbmdfZnVuY3Mg Z2Z4X3Y4XzBfcmluZ19mdW5jc19jb21wdXRlID0gewpAQCAtNjQ5MCw2ICs2NTIxLDcgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBhbWRncHVfcmluZ19mdW5jcyBnZnhfdjhfMF9yaW5nX2Z1bmNzX2Nv bXB1dGUgPSB7CiAJLnRlc3RfaWIgPSBnZnhfdjhfMF9yaW5nX3Rlc3RfaWIsCiAJLmluc2VydF9u b3AgPSBhbWRncHVfcmluZ19pbnNlcnRfbm9wLAogCS5wYWRfaWIgPSBhbWRncHVfcmluZ19nZW5l cmljX3BhZF9pYiwKKwkuZW1pdF9jbnR4Y250bCA9IGdmeF92OF9yaW5nX2VtaXRfY250eGNudGws CiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9yaW5nX2Z1bmNzIGdmeF92OF8wX3Jp bmdfZnVuY3Nfa2lxID0gewotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vYW1kLWdmeAo=