From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zeng, Oak" Subject: [PATCH 4/7] drm/amdgpu: Add function to add/remove gws to kfd process Date: Wed, 22 May 2019 15:51:31 +0000 Message-ID: <1558540278-23734-4-git-send-email-Oak.Zeng@amd.com> References: <1558540278-23734-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: <1558540278-23734-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" R1dTIGJvIGlzIHNoYXJlZCBiZXR3ZWVuIGFsbCBrZmQgcHJvY2Vzc2VzLiBBZGQgZnVuY3Rpb24g dG8gYWRkIGd3cw0KdG8ga2ZkIHByb2Nlc3MncyBibyBsaXN0IHNvIGd3cyBjYW4gYmUgZXZpY3Rl ZCBmcm9tIGFuZCByZXN0b3JlZA0KZm9yIHByb2Nlc3MuDQoNCkNoYW5nZS1JZDogSTc1ZDc0Y2Zk YWRiNzA3NWZmOGIyYjY4NjM0ZTIwNWRlYjczZGMxZWENClNpZ25lZC1vZmYtYnk6IE9hayBaZW5n IDxPYWsuWmVuZ0BhbWQuY29tPg0KLS0tDQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2FtZGtmZC5oICAgICAgIHwgICAyICsNCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfYW1ka2ZkX2dwdXZtLmMgfCAxMDMgKysrKysrKysrKysrKysrKysrKysrLS0NCiAyIGZp bGVzIGNoYW5nZWQsIDEwMCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZC5oIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZC5oDQppbmRleCBjMDBjOTc0Li5mOTY4 YmYxIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtm ZC5oDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmgNCkBA IC0xNTUsNiArMTU1LDggQEAgaW50IGFtZGdwdV9hbWRrZmRfYWxsb2NfZ3R0X21lbShzdHJ1Y3Qg a2dkX2RldiAqa2dkLCBzaXplX3Qgc2l6ZSwNCiB2b2lkIGFtZGdwdV9hbWRrZmRfZnJlZV9ndHRf bWVtKHN0cnVjdCBrZ2RfZGV2ICprZ2QsIHZvaWQgKm1lbV9vYmopOw0KIGludCBhbWRncHVfYW1k a2ZkX2FsbG9jX2d3cyhzdHJ1Y3Qga2dkX2RldiAqa2dkLCBzaXplX3Qgc2l6ZSwgdm9pZCAqKm1l bV9vYmopOw0KIHZvaWQgYW1kZ3B1X2FtZGtmZF9mcmVlX2d3cyhzdHJ1Y3Qga2dkX2RldiAqa2dk LCB2b2lkICptZW1fb2JqKTsNCitpbnQgYW1kZ3B1X2FtZGtmZF9hZGRfZ3dzX3RvX3Byb2Nlc3Mo dm9pZCAqaW5mbywgdm9pZCAqZ3dzLCBzdHJ1Y3Qga2dkX21lbSAqKm1lbSk7DQoraW50IGFtZGdw dV9hbWRrZmRfcmVtb3ZlX2d3c19mcm9tX3Byb2Nlc3Modm9pZCAqaW5mbywgdm9pZCAqbWVtKTsN CiB1aW50MzJfdCBhbWRncHVfYW1ka2ZkX2dldF9md192ZXJzaW9uKHN0cnVjdCBrZ2RfZGV2ICpr Z2QsDQogCQkJCSAgICAgIGVudW0ga2dkX2VuZ2luZV90eXBlIHR5cGUpOw0KIHZvaWQgYW1kZ3B1 X2FtZGtmZF9nZXRfbG9jYWxfbWVtX2luZm8oc3RydWN0IGtnZF9kZXYgKmtnZCwNCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMNCmluZGV4IGUx Y2FlNGEuLjg3MTc3ZWQgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfYW1ka2ZkX2dwdXZtLmMNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9hbWRrZmRfZ3B1dm0uYw0KQEAgLTQ1Nyw2ICs0NTcsMTcgQEAgc3RhdGljIHZvaWQgYWRk X2tnZF9tZW1fdG9fa2ZkX2JvX2xpc3Qoc3RydWN0IGtnZF9tZW0gKm1lbSwNCiAJbXV0ZXhfdW5s b2NrKCZwcm9jZXNzX2luZm8tPmxvY2spOw0KIH0NCiANCitzdGF0aWMgdm9pZCByZW1vdmVfa2dk X21lbV9mcm9tX2tmZF9ib19saXN0KHN0cnVjdCBrZ2RfbWVtICptZW0sDQorCQlzdHJ1Y3QgYW1k a2ZkX3Byb2Nlc3NfaW5mbyAqcHJvY2Vzc19pbmZvKQ0KK3sNCisJc3RydWN0IHR0bV92YWxpZGF0 ZV9idWZmZXIgKmJvX2xpc3RfZW50cnk7DQorDQorCWJvX2xpc3RfZW50cnkgPSAmbWVtLT52YWxp ZGF0ZV9saXN0Ow0KKwltdXRleF9sb2NrKCZwcm9jZXNzX2luZm8tPmxvY2spOw0KKwlsaXN0X2Rl bCgmYm9fbGlzdF9lbnRyeS0+aGVhZCk7DQorCW11dGV4X3VubG9jaygmcHJvY2Vzc19pbmZvLT5s b2NrKTsNCit9DQorDQogLyogSW5pdGlhbGl6ZXMgdXNlciBwYWdlcy4gSXQgcmVnaXN0ZXJzIHRo ZSBNTVUgbm90aWZpZXIgYW5kIHZhbGlkYXRlcw0KICAqIHRoZSB1c2VycHRyIEJPIGluIHRoZSBH VFQgZG9tYWluLg0KICAqDQpAQCAtMTE4MywxMiArMTE5NCw4IEBAIGludCBhbWRncHVfYW1ka2Zk X2dwdXZtX2FsbG9jX21lbW9yeV9vZl9ncHUoDQogDQogCWlmICh1c2VyX2FkZHIpIHsNCiAJCXJl dCA9IGluaXRfdXNlcl9wYWdlcygqbWVtLCBjdXJyZW50LT5tbSwgdXNlcl9hZGRyKTsNCi0JCWlm IChyZXQpIHsNCi0JCQltdXRleF9sb2NrKCZhdm0tPnByb2Nlc3NfaW5mby0+bG9jayk7DQotCQkJ bGlzdF9kZWwoJigqbWVtKS0+dmFsaWRhdGVfbGlzdC5oZWFkKTsNCi0JCQltdXRleF91bmxvY2so JmF2bS0+cHJvY2Vzc19pbmZvLT5sb2NrKTsNCisJCWlmIChyZXQpDQogCQkJZ290byBhbGxvY2F0 ZV9pbml0X3VzZXJfcGFnZXNfZmFpbGVkOw0KLQkJfQ0KIAl9DQogDQogCWlmIChvZmZzZXQpDQpA QCAtMTE5Nyw2ICsxMjA0LDcgQEAgaW50IGFtZGdwdV9hbWRrZmRfZ3B1dm1fYWxsb2NfbWVtb3J5 X29mX2dwdSgNCiAJcmV0dXJuIDA7DQogDQogYWxsb2NhdGVfaW5pdF91c2VyX3BhZ2VzX2ZhaWxl ZDoNCisJcmVtb3ZlX2tnZF9tZW1fZnJvbV9rZmRfYm9fbGlzdCgqbWVtLCBhdm0tPnByb2Nlc3Nf aW5mbyk7DQogCWFtZGdwdV9ib191bnJlZigmYm8pOw0KIAkvKiBEb24ndCB1bnJlc2VydmUgc3lz dGVtIG1lbSBsaW1pdCB0d2ljZSAqLw0KIAlnb3RvIGVycl9yZXNlcnZlX2xpbWl0Ow0KQEAgLTIx MDQsMyArMjExMiw4OCBAQCBpbnQgYW1kZ3B1X2FtZGtmZF9ncHV2bV9yZXN0b3JlX3Byb2Nlc3Nf Ym9zKHZvaWQgKmluZm8sIHN0cnVjdCBkbWFfZmVuY2UgKiplZikNCiAJa2ZyZWUocGRfYm9fbGlz dCk7DQogCXJldHVybiByZXQ7DQogfQ0KKw0KK2ludCBhbWRncHVfYW1ka2ZkX2FkZF9nd3NfdG9f cHJvY2Vzcyh2b2lkICppbmZvLCB2b2lkICpnd3MsIHN0cnVjdCBrZ2RfbWVtICoqbWVtKQ0KK3sN CisJc3RydWN0IGFtZGtmZF9wcm9jZXNzX2luZm8gKnByb2Nlc3NfaW5mbyA9IChzdHJ1Y3QgYW1k a2ZkX3Byb2Nlc3NfaW5mbyAqKWluZm87DQorCXN0cnVjdCBhbWRncHVfYm8gKmd3c19ibyA9IChz dHJ1Y3QgYW1kZ3B1X2JvICopZ3dzOw0KKwlpbnQgcmV0Ow0KKw0KKwlpZiAoIWluZm8gfHwgIWd3 cykNCisJCXJldHVybiAtRUlOVkFMOw0KKw0KKwkqbWVtID0ga3phbGxvYyhzaXplb2Yoc3RydWN0 IGtnZF9tZW0pLCBHRlBfS0VSTkVMKTsNCisJaWYgKCEqbWVtKQ0KKwkJcmV0dXJuIC1FSU5WQUw7 DQorDQorCW11dGV4X2luaXQoJigqbWVtKS0+bG9jayk7DQorCSgqbWVtKS0+Ym8gPSBhbWRncHVf Ym9fcmVmKGd3c19ibyk7DQorCSgqbWVtKS0+ZG9tYWluID0gQU1ER1BVX0dFTV9ET01BSU5fR1dT Ow0KKwkoKm1lbSktPnByb2Nlc3NfaW5mbyA9IHByb2Nlc3NfaW5mbzsNCisJYWRkX2tnZF9tZW1f dG9fa2ZkX2JvX2xpc3QoKm1lbSwgcHJvY2Vzc19pbmZvLCBmYWxzZSk7DQorCWFtZGdwdV9zeW5j X2NyZWF0ZSgmKCptZW0pLT5zeW5jKTsNCisNCisNCisJLyogVmFsaWRhdGUgZ3dzIGJvIHRoZSBm aXJzdCB0aW1lIGl0IGlzIGFkZGVkIHRvIHByb2Nlc3MgKi8NCisJbXV0ZXhfbG9jaygmKCptZW0p LT5wcm9jZXNzX2luZm8tPmxvY2spOw0KKwlyZXQgPSBhbWRncHVfYm9fcmVzZXJ2ZShnd3NfYm8s IGZhbHNlKTsNCisJaWYgKHVubGlrZWx5KHJldCkpIHsNCisJCXByX2VycigiUmVzZXJ2ZSBnd3Mg Ym8gZmFpbGVkICVkXG4iLCByZXQpOw0KKwkJZ290byBib19yZXNlcnZhdGlvbl9mYWlsdXJlOw0K Kwl9DQorDQorCXJldCA9IGFtZGdwdV9hbWRrZmRfYm9fdmFsaWRhdGUoZ3dzX2JvLCBBTURHUFVf R0VNX0RPTUFJTl9HV1MsIHRydWUpOw0KKwlpZiAocmV0KSB7DQorCQlwcl9lcnIoIkdXUyBCTyB2 YWxpZGF0ZSBmYWlsZWQgJWRcbiIsIHJldCk7DQorCQlnb3RvIGJvX3ZhbGlkYXRpb25fZmFpbHVy ZTsNCisJfQ0KKwkvKiBHV1MgcmVzb3VyY2UgaXMgc2hhcmVkIGIvdCBhbWRncHUgYW5kIGFtZGtm ZA0KKwkgKiBBZGQgcHJvY2VzcyBldmljdGlvbiBmZW5jZSB0byBibyBzbyB0aGV5IGNhbg0KKwkg KiBldmljdCBlYWNoIG90aGVyLg0KKwkgKi8NCisJYW1kZ3B1X2JvX2ZlbmNlKGd3c19ibywgJnBy b2Nlc3NfaW5mby0+ZXZpY3Rpb25fZmVuY2UtPmJhc2UsIHRydWUpOw0KKwlhbWRncHVfYm9fdW5y ZXNlcnZlKGd3c19ibyk7DQorCW11dGV4X3VubG9jaygmKCptZW0pLT5wcm9jZXNzX2luZm8tPmxv Y2spOw0KKw0KKwlyZXR1cm4gcmV0Ow0KKw0KK2JvX3ZhbGlkYXRpb25fZmFpbHVyZToNCisJYW1k Z3B1X2JvX3VucmVzZXJ2ZShnd3NfYm8pOw0KK2JvX3Jlc2VydmF0aW9uX2ZhaWx1cmU6DQorCW11 dGV4X3VubG9jaygmKCptZW0pLT5wcm9jZXNzX2luZm8tPmxvY2spOw0KKwlhbWRncHVfc3luY19m cmVlKCYoKm1lbSktPnN5bmMpOw0KKwlyZW1vdmVfa2dkX21lbV9mcm9tX2tmZF9ib19saXN0KCpt ZW0sIHByb2Nlc3NfaW5mbyk7DQorCWFtZGdwdV9ib191bnJlZigmZ3dzX2JvKTsNCisJbXV0ZXhf ZGVzdHJveSgmKCptZW0pLT5sb2NrKTsNCisJa2ZyZWUoKm1lbSk7DQorCSptZW0gPSBOVUxMOw0K KwlyZXR1cm4gcmV0Ow0KK30NCisNCitpbnQgYW1kZ3B1X2FtZGtmZF9yZW1vdmVfZ3dzX2Zyb21f cHJvY2Vzcyh2b2lkICppbmZvLCB2b2lkICptZW0pDQorew0KKwlpbnQgcmV0Ow0KKwlzdHJ1Y3Qg YW1ka2ZkX3Byb2Nlc3NfaW5mbyAqcHJvY2Vzc19pbmZvID0gKHN0cnVjdCBhbWRrZmRfcHJvY2Vz c19pbmZvICopaW5mbzsNCisJc3RydWN0IGtnZF9tZW0gKmtnZF9tZW0gPSAoc3RydWN0IGtnZF9t ZW0gKiltZW07DQorCXN0cnVjdCBhbWRncHVfYm8gKmd3c19ibyA9IGtnZF9tZW0tPmJvOw0KKw0K KwkvKiBSZW1vdmUgQk8gZnJvbSBwcm9jZXNzJ3MgdmFsaWRhdGUgbGlzdCBzbyByZXN0b3JlIHdv cmtlciB3b24ndCB0b3VjaA0KKwkgKiBpdCBhbnltb3JlDQorCSAqLw0KKwlyZW1vdmVfa2dkX21l bV9mcm9tX2tmZF9ib19saXN0KGtnZF9tZW0sIHByb2Nlc3NfaW5mbyk7DQorDQorCXJldCA9IGFt ZGdwdV9ib19yZXNlcnZlKGd3c19ibywgZmFsc2UpOw0KKwlpZiAodW5saWtlbHkocmV0KSkgew0K KwkJcHJfZXJyKCJSZXNlcnZlIGd3cyBibyBmYWlsZWQgJWRcbiIsIHJldCk7DQorCQkvL1RPRE8g YWRkIEJPIGJhY2sgdG8gdmFsaWRhdGVfbGlzdD8NCisJCXJldHVybiByZXQ7DQorCX0NCisJYW1k Z3B1X2FtZGtmZF9yZW1vdmVfZXZpY3Rpb25fZmVuY2UoZ3dzX2JvLA0KKwkJCXByb2Nlc3NfaW5m by0+ZXZpY3Rpb25fZmVuY2UpOw0KKwlhbWRncHVfYm9fdW5yZXNlcnZlKGd3c19ibyk7DQorCWFt ZGdwdV9zeW5jX2ZyZWUoJmtnZF9tZW0tPnN5bmMpOw0KKwlhbWRncHVfYm9fdW5yZWYoJmd3c19i byk7DQorCW11dGV4X2Rlc3Ryb3koJmtnZF9tZW0tPmxvY2spOw0KKwlrZnJlZShtZW0pOw0KKwly ZXR1cm4gMDsNCit9DQotLSANCjIuNy40DQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vYW1kLWdmeA==