From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zeng, Oak" Subject: [PATCH 4/8] drm/amdgpu: Add function to add/remove gws to kfd process Date: Thu, 23 May 2019 22:41:16 +0000 Message-ID: <1558651263-3478-4-git-send-email-Oak.Zeng@amd.com> References: <1558651263-3478-1-git-send-email-Oak.Zeng@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1558651263-3478-1-git-send-email-Oak.Zeng-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US 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: "Kuehling, Felix" , "Zeng, Oak" , "Keely, Sean" , "Koenig, Christian" R1dTIGJvIGlzIHNoYXJlZCBiZXR3ZWVuIGFsbCBrZmQgcHJvY2Vzc2VzLiBBZGQgZnVuY3Rpb24g dG8gYWRkIGd3cw0KdG8ga2ZkIHByb2Nlc3MncyBibyBsaXN0IHNvIGd3cyBjYW4gYmUgZXZpY3Rl ZCBmcm9tIGFuZCByZXN0b3JlZA0KZm9yIHByb2Nlc3MuDQoNCkNoYW5nZS1JZDogSTc1ZDc0Y2Zk YWRiNzA3NWZmOGIyYjY4NjM0ZTIwNWRlYjczZGMxZWENClNpZ25lZC1vZmYtYnk6IE9hayBaZW5n IDxPYWsuWmVuZ0BhbWQuY29tPg0KUmV2aWV3ZWQtYnk6IEZlbGl4IEt1ZWhsaW5nIDxGZWxpeC5L dWVobGluZ0BhbWQuY29tPg0KLS0tDQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2FtZGtmZC5oICAgICAgIHwgICAyICsNCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfYW1ka2ZkX2dwdXZtLmMgfCAxMDMgKysrKysrKysrKysrKysrKysrKysrLS0NCiAyIGZpbGVz IGNoYW5nZWQsIDEwMCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZC5oIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZC5oDQppbmRleCBjMDBjOTc0Li5mOTY4YmYx IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZC5o DQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmgNCkBAIC0x NTUsNiArMTU1LDggQEAgaW50IGFtZGdwdV9hbWRrZmRfYWxsb2NfZ3R0X21lbShzdHJ1Y3Qga2dk X2RldiAqa2dkLCBzaXplX3Qgc2l6ZSwNCiB2b2lkIGFtZGdwdV9hbWRrZmRfZnJlZV9ndHRfbWVt KHN0cnVjdCBrZ2RfZGV2ICprZ2QsIHZvaWQgKm1lbV9vYmopOw0KIGludCBhbWRncHVfYW1ka2Zk X2FsbG9jX2d3cyhzdHJ1Y3Qga2dkX2RldiAqa2dkLCBzaXplX3Qgc2l6ZSwgdm9pZCAqKm1lbV9v YmopOw0KIHZvaWQgYW1kZ3B1X2FtZGtmZF9mcmVlX2d3cyhzdHJ1Y3Qga2dkX2RldiAqa2dkLCB2 b2lkICptZW1fb2JqKTsNCitpbnQgYW1kZ3B1X2FtZGtmZF9hZGRfZ3dzX3RvX3Byb2Nlc3Modm9p ZCAqaW5mbywgdm9pZCAqZ3dzLCBzdHJ1Y3Qga2dkX21lbSAqKm1lbSk7DQoraW50IGFtZGdwdV9h bWRrZmRfcmVtb3ZlX2d3c19mcm9tX3Byb2Nlc3Modm9pZCAqaW5mbywgdm9pZCAqbWVtKTsNCiB1 aW50MzJfdCBhbWRncHVfYW1ka2ZkX2dldF9md192ZXJzaW9uKHN0cnVjdCBrZ2RfZGV2ICprZ2Qs DQogCQkJCSAgICAgIGVudW0ga2dkX2VuZ2luZV90eXBlIHR5cGUpOw0KIHZvaWQgYW1kZ3B1X2Ft ZGtmZF9nZXRfbG9jYWxfbWVtX2luZm8oc3RydWN0IGtnZF9kZXYgKmtnZCwNCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMNCmluZGV4IGUxY2Fl NGEuLjg3MTc3ZWQgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfYW1ka2ZkX2dwdXZtLmMNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9hbWRrZmRfZ3B1dm0uYw0KQEAgLTQ1Nyw2ICs0NTcsMTcgQEAgc3RhdGljIHZvaWQgYWRkX2tn ZF9tZW1fdG9fa2ZkX2JvX2xpc3Qoc3RydWN0IGtnZF9tZW0gKm1lbSwNCiAJbXV0ZXhfdW5sb2Nr KCZwcm9jZXNzX2luZm8tPmxvY2spOw0KIH0NCiANCitzdGF0aWMgdm9pZCByZW1vdmVfa2dkX21l bV9mcm9tX2tmZF9ib19saXN0KHN0cnVjdCBrZ2RfbWVtICptZW0sDQorCQlzdHJ1Y3QgYW1ka2Zk X3Byb2Nlc3NfaW5mbyAqcHJvY2Vzc19pbmZvKQ0KK3sNCisJc3RydWN0IHR0bV92YWxpZGF0ZV9i dWZmZXIgKmJvX2xpc3RfZW50cnk7DQorDQorCWJvX2xpc3RfZW50cnkgPSAmbWVtLT52YWxpZGF0 ZV9saXN0Ow0KKwltdXRleF9sb2NrKCZwcm9jZXNzX2luZm8tPmxvY2spOw0KKwlsaXN0X2RlbCgm Ym9fbGlzdF9lbnRyeS0+aGVhZCk7DQorCW11dGV4X3VubG9jaygmcHJvY2Vzc19pbmZvLT5sb2Nr KTsNCit9DQorDQogLyogSW5pdGlhbGl6ZXMgdXNlciBwYWdlcy4gSXQgcmVnaXN0ZXJzIHRoZSBN TVUgbm90aWZpZXIgYW5kIHZhbGlkYXRlcw0KICAqIHRoZSB1c2VycHRyIEJPIGluIHRoZSBHVFQg ZG9tYWluLg0KICAqDQpAQCAtMTE4MywxMiArMTE5NCw4IEBAIGludCBhbWRncHVfYW1ka2ZkX2dw dXZtX2FsbG9jX21lbW9yeV9vZl9ncHUoDQogDQogCWlmICh1c2VyX2FkZHIpIHsNCiAJCXJldCA9 IGluaXRfdXNlcl9wYWdlcygqbWVtLCBjdXJyZW50LT5tbSwgdXNlcl9hZGRyKTsNCi0JCWlmIChy ZXQpIHsNCi0JCQltdXRleF9sb2NrKCZhdm0tPnByb2Nlc3NfaW5mby0+bG9jayk7DQotCQkJbGlz dF9kZWwoJigqbWVtKS0+dmFsaWRhdGVfbGlzdC5oZWFkKTsNCi0JCQltdXRleF91bmxvY2soJmF2 bS0+cHJvY2Vzc19pbmZvLT5sb2NrKTsNCisJCWlmIChyZXQpDQogCQkJZ290byBhbGxvY2F0ZV9p bml0X3VzZXJfcGFnZXNfZmFpbGVkOw0KLQkJfQ0KIAl9DQogDQogCWlmIChvZmZzZXQpDQpAQCAt MTE5Nyw2ICsxMjA0LDcgQEAgaW50IGFtZGdwdV9hbWRrZmRfZ3B1dm1fYWxsb2NfbWVtb3J5X29m X2dwdSgNCiAJcmV0dXJuIDA7DQogDQogYWxsb2NhdGVfaW5pdF91c2VyX3BhZ2VzX2ZhaWxlZDoN CisJcmVtb3ZlX2tnZF9tZW1fZnJvbV9rZmRfYm9fbGlzdCgqbWVtLCBhdm0tPnByb2Nlc3NfaW5m byk7DQogCWFtZGdwdV9ib191bnJlZigmYm8pOw0KIAkvKiBEb24ndCB1bnJlc2VydmUgc3lzdGVt IG1lbSBsaW1pdCB0d2ljZSAqLw0KIAlnb3RvIGVycl9yZXNlcnZlX2xpbWl0Ow0KQEAgLTIxMDQs MyArMjExMiw4OCBAQCBpbnQgYW1kZ3B1X2FtZGtmZF9ncHV2bV9yZXN0b3JlX3Byb2Nlc3NfYm9z KHZvaWQgKmluZm8sIHN0cnVjdCBkbWFfZmVuY2UgKiplZikNCiAJa2ZyZWUocGRfYm9fbGlzdCk7 DQogCXJldHVybiByZXQ7DQogfQ0KKw0KK2ludCBhbWRncHVfYW1ka2ZkX2FkZF9nd3NfdG9fcHJv Y2Vzcyh2b2lkICppbmZvLCB2b2lkICpnd3MsIHN0cnVjdCBrZ2RfbWVtICoqbWVtKQ0KK3sNCisJ c3RydWN0IGFtZGtmZF9wcm9jZXNzX2luZm8gKnByb2Nlc3NfaW5mbyA9IChzdHJ1Y3QgYW1ka2Zk X3Byb2Nlc3NfaW5mbyAqKWluZm87DQorCXN0cnVjdCBhbWRncHVfYm8gKmd3c19ibyA9IChzdHJ1 Y3QgYW1kZ3B1X2JvICopZ3dzOw0KKwlpbnQgcmV0Ow0KKw0KKwlpZiAoIWluZm8gfHwgIWd3cykN CisJCXJldHVybiAtRUlOVkFMOw0KKw0KKwkqbWVtID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGtn ZF9tZW0pLCBHRlBfS0VSTkVMKTsNCisJaWYgKCEqbWVtKQ0KKwkJcmV0dXJuIC1FSU5WQUw7DQor DQorCW11dGV4X2luaXQoJigqbWVtKS0+bG9jayk7DQorCSgqbWVtKS0+Ym8gPSBhbWRncHVfYm9f cmVmKGd3c19ibyk7DQorCSgqbWVtKS0+ZG9tYWluID0gQU1ER1BVX0dFTV9ET01BSU5fR1dTOw0K KwkoKm1lbSktPnByb2Nlc3NfaW5mbyA9IHByb2Nlc3NfaW5mbzsNCisJYWRkX2tnZF9tZW1fdG9f a2ZkX2JvX2xpc3QoKm1lbSwgcHJvY2Vzc19pbmZvLCBmYWxzZSk7DQorCWFtZGdwdV9zeW5jX2Ny ZWF0ZSgmKCptZW0pLT5zeW5jKTsNCisNCisNCisJLyogVmFsaWRhdGUgZ3dzIGJvIHRoZSBmaXJz dCB0aW1lIGl0IGlzIGFkZGVkIHRvIHByb2Nlc3MgKi8NCisJbXV0ZXhfbG9jaygmKCptZW0pLT5w cm9jZXNzX2luZm8tPmxvY2spOw0KKwlyZXQgPSBhbWRncHVfYm9fcmVzZXJ2ZShnd3NfYm8sIGZh bHNlKTsNCisJaWYgKHVubGlrZWx5KHJldCkpIHsNCisJCXByX2VycigiUmVzZXJ2ZSBnd3MgYm8g ZmFpbGVkICVkXG4iLCByZXQpOw0KKwkJZ290byBib19yZXNlcnZhdGlvbl9mYWlsdXJlOw0KKwl9 DQorDQorCXJldCA9IGFtZGdwdV9hbWRrZmRfYm9fdmFsaWRhdGUoZ3dzX2JvLCBBTURHUFVfR0VN X0RPTUFJTl9HV1MsIHRydWUpOw0KKwlpZiAocmV0KSB7DQorCQlwcl9lcnIoIkdXUyBCTyB2YWxp ZGF0ZSBmYWlsZWQgJWRcbiIsIHJldCk7DQorCQlnb3RvIGJvX3ZhbGlkYXRpb25fZmFpbHVyZTsN CisJfQ0KKwkvKiBHV1MgcmVzb3VyY2UgaXMgc2hhcmVkIGIvdCBhbWRncHUgYW5kIGFtZGtmZA0K KwkgKiBBZGQgcHJvY2VzcyBldmljdGlvbiBmZW5jZSB0byBibyBzbyB0aGV5IGNhbg0KKwkgKiBl dmljdCBlYWNoIG90aGVyLg0KKwkgKi8NCisJYW1kZ3B1X2JvX2ZlbmNlKGd3c19ibywgJnByb2Nl c3NfaW5mby0+ZXZpY3Rpb25fZmVuY2UtPmJhc2UsIHRydWUpOw0KKwlhbWRncHVfYm9fdW5yZXNl cnZlKGd3c19ibyk7DQorCW11dGV4X3VubG9jaygmKCptZW0pLT5wcm9jZXNzX2luZm8tPmxvY2sp Ow0KKw0KKwlyZXR1cm4gcmV0Ow0KKw0KK2JvX3ZhbGlkYXRpb25fZmFpbHVyZToNCisJYW1kZ3B1 X2JvX3VucmVzZXJ2ZShnd3NfYm8pOw0KK2JvX3Jlc2VydmF0aW9uX2ZhaWx1cmU6DQorCW11dGV4 X3VubG9jaygmKCptZW0pLT5wcm9jZXNzX2luZm8tPmxvY2spOw0KKwlhbWRncHVfc3luY19mcmVl KCYoKm1lbSktPnN5bmMpOw0KKwlyZW1vdmVfa2dkX21lbV9mcm9tX2tmZF9ib19saXN0KCptZW0s IHByb2Nlc3NfaW5mbyk7DQorCWFtZGdwdV9ib191bnJlZigmZ3dzX2JvKTsNCisJbXV0ZXhfZGVz dHJveSgmKCptZW0pLT5sb2NrKTsNCisJa2ZyZWUoKm1lbSk7DQorCSptZW0gPSBOVUxMOw0KKwly ZXR1cm4gcmV0Ow0KK30NCisNCitpbnQgYW1kZ3B1X2FtZGtmZF9yZW1vdmVfZ3dzX2Zyb21fcHJv Y2Vzcyh2b2lkICppbmZvLCB2b2lkICptZW0pDQorew0KKwlpbnQgcmV0Ow0KKwlzdHJ1Y3QgYW1k a2ZkX3Byb2Nlc3NfaW5mbyAqcHJvY2Vzc19pbmZvID0gKHN0cnVjdCBhbWRrZmRfcHJvY2Vzc19p bmZvICopaW5mbzsNCisJc3RydWN0IGtnZF9tZW0gKmtnZF9tZW0gPSAoc3RydWN0IGtnZF9tZW0g KiltZW07DQorCXN0cnVjdCBhbWRncHVfYm8gKmd3c19ibyA9IGtnZF9tZW0tPmJvOw0KKw0KKwkv KiBSZW1vdmUgQk8gZnJvbSBwcm9jZXNzJ3MgdmFsaWRhdGUgbGlzdCBzbyByZXN0b3JlIHdvcmtl ciB3b24ndCB0b3VjaA0KKwkgKiBpdCBhbnltb3JlDQorCSAqLw0KKwlyZW1vdmVfa2dkX21lbV9m cm9tX2tmZF9ib19saXN0KGtnZF9tZW0sIHByb2Nlc3NfaW5mbyk7DQorDQorCXJldCA9IGFtZGdw dV9ib19yZXNlcnZlKGd3c19ibywgZmFsc2UpOw0KKwlpZiAodW5saWtlbHkocmV0KSkgew0KKwkJ cHJfZXJyKCJSZXNlcnZlIGd3cyBibyBmYWlsZWQgJWRcbiIsIHJldCk7DQorCQkvL1RPRE8gYWRk IEJPIGJhY2sgdG8gdmFsaWRhdGVfbGlzdD8NCisJCXJldHVybiByZXQ7DQorCX0NCisJYW1kZ3B1 X2FtZGtmZF9yZW1vdmVfZXZpY3Rpb25fZmVuY2UoZ3dzX2JvLA0KKwkJCXByb2Nlc3NfaW5mby0+ ZXZpY3Rpb25fZmVuY2UpOw0KKwlhbWRncHVfYm9fdW5yZXNlcnZlKGd3c19ibyk7DQorCWFtZGdw dV9zeW5jX2ZyZWUoJmtnZF9tZW0tPnN5bmMpOw0KKwlhbWRncHVfYm9fdW5yZWYoJmd3c19ibyk7 DQorCW11dGV4X2Rlc3Ryb3koJmtnZF9tZW0tPmxvY2spOw0KKwlrZnJlZShtZW0pOw0KKwlyZXR1 cm4gMDsNCit9DQotLSANCjIuNy40DQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v YW1kLWdmeA==