From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zeng, Oak" Subject: [PATCH 3/5] drm/amdkfd: Refactor create_queue_nocpsch Date: Mon, 3 Jun 2019 17:51:04 +0000 Message-ID: <1559584248-12115-3-git-send-email-Oak.Zeng@amd.com> References: <1559584248-12115-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: <1559584248-12115-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" VGhpcyBpcyBwcmVwYXJlIHdvcmsgdG8gZml4IGEgY2lyY3VsYXIgbG9jayBkZXBlbmRlbmN5Lg0K Tm8gbG9naWMgY2hhbmdlDQoNCkNoYW5nZS1JZDogSTRlMGVlOTE4MjYwZTc3ODBkZTk3MmRkNzFm NGNlNzg3YjRmNmRkZTkNClNpZ25lZC1vZmYtYnk6IE9hayBaZW5nIDxPYWsuWmVuZ0BhbWQuY29t Pg0KLS0tDQogLi4uL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfZGV2aWNlX3F1ZXVlX21hbmFnZXIu YyAgfCAxNzEgKysrKysrKy0tLS0tLS0tLS0tLS0tDQogMSBmaWxlIGNoYW5nZWQsIDU4IGluc2Vy dGlvbnMoKyksIDExMyBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1ka2ZkL2tmZF9kZXZpY2VfcXVldWVfbWFuYWdlci5jIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRrZmQva2ZkX2RldmljZV9xdWV1ZV9tYW5hZ2VyLmMNCmluZGV4IGRjMWE3MGIuLjA2 NjU0ZGUgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfZGV2aWNl X3F1ZXVlX21hbmFnZXIuYw0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2Rl dmljZV9xdWV1ZV9tYW5hZ2VyLmMNCkBAIC00MiwxMCArNDIsNiBAQA0KIHN0YXRpYyBpbnQgc2V0 X3Bhc2lkX3ZtaWRfbWFwcGluZyhzdHJ1Y3QgZGV2aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSwNCiAJ CQkJCXVuc2lnbmVkIGludCBwYXNpZCwgdW5zaWduZWQgaW50IHZtaWQpOw0KIA0KLXN0YXRpYyBp bnQgY3JlYXRlX2NvbXB1dGVfcXVldWVfbm9jcHNjaChzdHJ1Y3QgZGV2aWNlX3F1ZXVlX21hbmFn ZXIgKmRxbSwNCi0JCQkJCXN0cnVjdCBxdWV1ZSAqcSwNCi0JCQkJCXN0cnVjdCBxY21fcHJvY2Vz c19kZXZpY2UgKnFwZCk7DQotDQogc3RhdGljIGludCBleGVjdXRlX3F1ZXVlc19jcHNjaChzdHJ1 Y3QgZGV2aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSwNCiAJCQkJZW51bSBrZmRfdW5tYXBfcXVldWVz X2ZpbHRlciBmaWx0ZXIsDQogCQkJCXVpbnQzMl90IGZpbHRlcl9wYXJhbSk7DQpAQCAtNTUsMTMg KzUxLDE0IEBAIHN0YXRpYyBpbnQgdW5tYXBfcXVldWVzX2Nwc2NoKHN0cnVjdCBkZXZpY2VfcXVl dWVfbWFuYWdlciAqZHFtLA0KIA0KIHN0YXRpYyBpbnQgbWFwX3F1ZXVlc19jcHNjaChzdHJ1Y3Qg ZGV2aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSk7DQogDQotc3RhdGljIGludCBjcmVhdGVfc2RtYV9x dWV1ZV9ub2Nwc2NoKHN0cnVjdCBkZXZpY2VfcXVldWVfbWFuYWdlciAqZHFtLA0KLQkJCQkJc3Ry dWN0IHF1ZXVlICpxLA0KLQkJCQkJc3RydWN0IHFjbV9wcm9jZXNzX2RldmljZSAqcXBkKTsNCi0N CiBzdGF0aWMgdm9pZCBkZWFsbG9jYXRlX3NkbWFfcXVldWUoc3RydWN0IGRldmljZV9xdWV1ZV9t YW5hZ2VyICpkcW0sDQogCQkJCXN0cnVjdCBxdWV1ZSAqcSk7DQogDQorc3RhdGljIGlubGluZSB2 b2lkIGRlYWxsb2NhdGVfaHFkKHN0cnVjdCBkZXZpY2VfcXVldWVfbWFuYWdlciAqZHFtLA0KKwkJ CQlzdHJ1Y3QgcXVldWUgKnEpOw0KK3N0YXRpYyBpbnQgYWxsb2NhdGVfaHFkKHN0cnVjdCBkZXZp Y2VfcXVldWVfbWFuYWdlciAqZHFtLCBzdHJ1Y3QgcXVldWUgKnEpOw0KK3N0YXRpYyBpbnQgYWxs b2NhdGVfc2RtYV9xdWV1ZShzdHJ1Y3QgZGV2aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSwNCisJCQkJ c3RydWN0IHF1ZXVlICpxKTsNCiBzdGF0aWMgdm9pZCBrZmRfcHJvY2Vzc19od19leGNlcHRpb24o c3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsNCiANCiBzdGF0aWMgaW5saW5lDQpAQCAtMjY5LDYg KzI2Niw3IEBAIHN0YXRpYyBpbnQgY3JlYXRlX3F1ZXVlX25vY3BzY2goc3RydWN0IGRldmljZV9x dWV1ZV9tYW5hZ2VyICpkcW0sDQogCQkJCXN0cnVjdCBxdWV1ZSAqcSwNCiAJCQkJc3RydWN0IHFj bV9wcm9jZXNzX2RldmljZSAqcXBkKQ0KIHsNCisJc3RydWN0IG1xZF9tYW5hZ2VyICptcWRfbWdy Ow0KIAlpbnQgcmV0dmFsOw0KIA0KIAlwcmludF9xdWV1ZShxKTsNCkBAIC0zMDAsMTggKzI5OCw0 NiBAQCBzdGF0aWMgaW50IGNyZWF0ZV9xdWV1ZV9ub2Nwc2NoKHN0cnVjdCBkZXZpY2VfcXVldWVf bWFuYWdlciAqZHFtLA0KIAlxLT5wcm9wZXJ0aWVzLnRiYV9hZGRyID0gcXBkLT50YmFfYWRkcjsN CiAJcS0+cHJvcGVydGllcy50bWFfYWRkciA9IHFwZC0+dG1hX2FkZHI7DQogDQorCW1xZF9tZ3Ig PSBkcW0tPm1xZF9tZ3JzW2dldF9tcWRfdHlwZV9mcm9tX3F1ZXVlX3R5cGUoDQorCQkJcS0+cHJv cGVydGllcy50eXBlKV07DQorCWlmIChxLT5wcm9wZXJ0aWVzLnR5cGUgPT0gS0ZEX1FVRVVFX1RZ UEVfQ09NUFVURSkgew0KKwkJcmV0dmFsID0gYWxsb2NhdGVfaHFkKGRxbSwgcSk7DQorCQlpZiAo cmV0dmFsKQ0KKwkJCWdvdG8gZGVhbGxvY2F0ZV92bWlkOw0KKwl9IGVsc2UgaWYgKHEtPnByb3Bl cnRpZXMudHlwZSA9PSBLRkRfUVVFVUVfVFlQRV9TRE1BIHx8DQorCQlxLT5wcm9wZXJ0aWVzLnR5 cGUgPT0gS0ZEX1FVRVVFX1RZUEVfU0RNQV9YR01JKSB7DQorCQlyZXR2YWwgPSBhbGxvY2F0ZV9z ZG1hX3F1ZXVlKGRxbSwgcSk7DQorCQlpZiAocmV0dmFsKQ0KKwkJCWdvdG8gZGVhbGxvY2F0ZV92 bWlkOw0KKwkJZHFtLT5hc2ljX29wcy5pbml0X3NkbWFfdm0oZHFtLCBxLCBxcGQpOw0KKwl9DQor DQorCXJldHZhbCA9IGFsbG9jYXRlX2Rvb3JiZWxsKHFwZCwgcSk7DQorCWlmIChyZXR2YWwpDQor CQlnb3RvIG91dF9kZWFsbG9jYXRlX2hxZDsNCisNCisJcmV0dmFsID0gbXFkX21nci0+aW5pdF9t cWQobXFkX21nciwgJnEtPm1xZCwgJnEtPm1xZF9tZW1fb2JqLA0KKwkJCQkmcS0+Z2FydF9tcWRf YWRkciwgJnEtPnByb3BlcnRpZXMpOw0KKwlpZiAocmV0dmFsKQ0KKwkJZ290byBvdXRfZGVhbGxv Y2F0ZV9kb29yYmVsbDsNCisNCisJcHJfZGVidWcoIkxvYWRpbmcgbXFkIHRvIGhxZCBvbiBwaXBl ICVkLCBxdWV1ZSAlZFxuIiwNCisJCQlxLT5waXBlLCBxLT5xdWV1ZSk7DQorDQogCWlmIChxLT5w cm9wZXJ0aWVzLnR5cGUgPT0gS0ZEX1FVRVVFX1RZUEVfQ09NUFVURSkNCi0JCXJldHZhbCA9IGNy ZWF0ZV9jb21wdXRlX3F1ZXVlX25vY3BzY2goZHFtLCBxLCBxcGQpOw0KLQllbHNlIGlmIChxLT5w cm9wZXJ0aWVzLnR5cGUgPT0gS0ZEX1FVRVVFX1RZUEVfU0RNQSB8fA0KLQkJCXEtPnByb3BlcnRp ZXMudHlwZSA9PSBLRkRfUVVFVUVfVFlQRV9TRE1BX1hHTUkpDQotCQlyZXR2YWwgPSBjcmVhdGVf c2RtYV9xdWV1ZV9ub2Nwc2NoKGRxbSwgcSwgcXBkKTsNCi0JZWxzZQ0KLQkJcmV0dmFsID0gLUVJ TlZBTDsNCisJCWRxbS0+ZGV2LT5rZmQya2dkLT5zZXRfc2NyYXRjaF9iYWNraW5nX3ZhKA0KKwkJ CWRxbS0+ZGV2LT5rZ2QsIHFwZC0+c2hfaGlkZGVuX3ByaXZhdGVfYmFzZSwgcXBkLT52bWlkKTsN CiANCi0JaWYgKHJldHZhbCkgew0KLQkJaWYgKGxpc3RfZW1wdHkoJnFwZC0+cXVldWVzX2xpc3Qp KQ0KLQkJCWRlYWxsb2NhdGVfdm1pZChkcW0sIHFwZCwgcSk7DQotCQlnb3RvIG91dF91bmxvY2s7 DQorCWlmIChxLT5wcm9wZXJ0aWVzLmlzX2FjdGl2ZSkgew0KKw0KKwkJaWYgKFdBUk4ocS0+cHJv Y2Vzcy0+bW0gIT0gY3VycmVudC0+bW0sDQorCQkJCQkic2hvdWxkIG9ubHkgcnVuIGluIHVzZXIg dGhyZWFkIikpDQorCQkJcmV0dmFsID0gLUVGQVVMVDsNCisJCWVsc2UNCisJCQlyZXR2YWwgPSBt cWRfbWdyLT5sb2FkX21xZChtcWRfbWdyLCBxLT5tcWQsIHEtPnBpcGUsDQorCQkJCQlxLT5xdWV1 ZSwgJnEtPnByb3BlcnRpZXMsIGN1cnJlbnQtPm1tKTsNCisJCWlmIChyZXR2YWwpDQorCQkJZ290 byBvdXRfdW5pbml0X21xZDsNCiAJfQ0KIA0KIAlsaXN0X2FkZCgmcS0+bGlzdCwgJnFwZC0+cXVl dWVzX2xpc3QpOw0KQEAgLTMzMSw3ICszNTcsMjEgQEAgc3RhdGljIGludCBjcmVhdGVfcXVldWVf bm9jcHNjaChzdHJ1Y3QgZGV2aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSwNCiAJZHFtLT50b3RhbF9x dWV1ZV9jb3VudCsrOw0KIAlwcl9kZWJ1ZygiVG90YWwgb2YgJWQgcXVldWVzIGFyZSBhY2NvdW50 YWJsZSBzbyBmYXJcbiIsDQogCQkJZHFtLT50b3RhbF9xdWV1ZV9jb3VudCk7DQorCWdvdG8gb3V0 X3VubG9jazsNCiANCitvdXRfdW5pbml0X21xZDoNCisJbXFkX21nci0+dW5pbml0X21xZChtcWRf bWdyLCBxLT5tcWQsIHEtPm1xZF9tZW1fb2JqKTsNCitvdXRfZGVhbGxvY2F0ZV9kb29yYmVsbDoN CisJZGVhbGxvY2F0ZV9kb29yYmVsbChxcGQsIHEpOw0KK291dF9kZWFsbG9jYXRlX2hxZDoNCisJ aWYgKHEtPnByb3BlcnRpZXMudHlwZSA9PSBLRkRfUVVFVUVfVFlQRV9DT01QVVRFKQ0KKwkJZGVh bGxvY2F0ZV9ocWQoZHFtLCBxKTsNCisJZWxzZSBpZiAocS0+cHJvcGVydGllcy50eXBlID09IEtG RF9RVUVVRV9UWVBFX1NETUEgfHwNCisJCXEtPnByb3BlcnRpZXMudHlwZSA9PSBLRkRfUVVFVUVf VFlQRV9TRE1BX1hHTUkpDQorCQlkZWFsbG9jYXRlX3NkbWFfcXVldWUoZHFtLCBxKTsNCitkZWFs bG9jYXRlX3ZtaWQ6DQorCWlmIChsaXN0X2VtcHR5KCZxcGQtPnF1ZXVlc19saXN0KSkNCisJCWRl YWxsb2NhdGVfdm1pZChkcW0sIHFwZCwgcSk7DQogb3V0X3VubG9jazoNCiAJZHFtX3VubG9jayhk cW0pOw0KIAlyZXR1cm4gcmV0dmFsOw0KQEAgLTM3Nyw1OCArNDE3LDYgQEAgc3RhdGljIGlubGlu ZSB2b2lkIGRlYWxsb2NhdGVfaHFkKHN0cnVjdCBkZXZpY2VfcXVldWVfbWFuYWdlciAqZHFtLA0K IAlkcW0tPmFsbG9jYXRlZF9xdWV1ZXNbcS0+cGlwZV0gfD0gKDEgPDwgcS0+cXVldWUpOw0KIH0N CiANCi1zdGF0aWMgaW50IGNyZWF0ZV9jb21wdXRlX3F1ZXVlX25vY3BzY2goc3RydWN0IGRldmlj ZV9xdWV1ZV9tYW5hZ2VyICpkcW0sDQotCQkJCQlzdHJ1Y3QgcXVldWUgKnEsDQotCQkJCQlzdHJ1 Y3QgcWNtX3Byb2Nlc3NfZGV2aWNlICpxcGQpDQotew0KLQlzdHJ1Y3QgbXFkX21hbmFnZXIgKm1x ZF9tZ3I7DQotCWludCByZXR2YWw7DQotDQotCW1xZF9tZ3IgPSBkcW0tPm1xZF9tZ3JzW0tGRF9N UURfVFlQRV9DT01QVVRFXTsNCi0NCi0JcmV0dmFsID0gYWxsb2NhdGVfaHFkKGRxbSwgcSk7DQot CWlmIChyZXR2YWwpDQotCQlyZXR1cm4gcmV0dmFsOw0KLQ0KLQlyZXR2YWwgPSBhbGxvY2F0ZV9k b29yYmVsbChxcGQsIHEpOw0KLQlpZiAocmV0dmFsKQ0KLQkJZ290byBvdXRfZGVhbGxvY2F0ZV9o cWQ7DQotDQotCXJldHZhbCA9IG1xZF9tZ3ItPmluaXRfbXFkKG1xZF9tZ3IsICZxLT5tcWQsICZx LT5tcWRfbWVtX29iaiwNCi0JCQkJJnEtPmdhcnRfbXFkX2FkZHIsICZxLT5wcm9wZXJ0aWVzKTsN Ci0JaWYgKHJldHZhbCkNCi0JCWdvdG8gb3V0X2RlYWxsb2NhdGVfZG9vcmJlbGw7DQotDQotCXBy X2RlYnVnKCJMb2FkaW5nIG1xZCB0byBocWQgb24gcGlwZSAlZCwgcXVldWUgJWRcbiIsDQotCQkJ cS0+cGlwZSwgcS0+cXVldWUpOw0KLQ0KLQlkcW0tPmRldi0+a2ZkMmtnZC0+c2V0X3NjcmF0Y2hf YmFja2luZ192YSgNCi0JCQlkcW0tPmRldi0+a2dkLCBxcGQtPnNoX2hpZGRlbl9wcml2YXRlX2Jh c2UsIHFwZC0+dm1pZCk7DQotDQotCWlmICghcS0+cHJvcGVydGllcy5pc19hY3RpdmUpDQotCQly ZXR1cm4gMDsNCi0NCi0JaWYgKFdBUk4ocS0+cHJvY2Vzcy0+bW0gIT0gY3VycmVudC0+bW0sDQot CQkgInNob3VsZCBvbmx5IHJ1biBpbiB1c2VyIHRocmVhZCIpKQ0KLQkJcmV0dmFsID0gLUVGQVVM VDsNCi0JZWxzZQ0KLQkJcmV0dmFsID0gbXFkX21nci0+bG9hZF9tcWQobXFkX21nciwgcS0+bXFk LCBxLT5waXBlLCBxLT5xdWV1ZSwNCi0JCQkJCSAgICZxLT5wcm9wZXJ0aWVzLCBjdXJyZW50LT5t bSk7DQotCWlmIChyZXR2YWwpDQotCQlnb3RvIG91dF91bmluaXRfbXFkOw0KLQ0KLQlyZXR1cm4g MDsNCi0NCi1vdXRfdW5pbml0X21xZDoNCi0JbXFkX21nci0+dW5pbml0X21xZChtcWRfbWdyLCBx LT5tcWQsIHEtPm1xZF9tZW1fb2JqKTsNCi1vdXRfZGVhbGxvY2F0ZV9kb29yYmVsbDoNCi0JZGVh bGxvY2F0ZV9kb29yYmVsbChxcGQsIHEpOw0KLW91dF9kZWFsbG9jYXRlX2hxZDoNCi0JZGVhbGxv Y2F0ZV9ocWQoZHFtLCBxKTsNCi0NCi0JcmV0dXJuIHJldHZhbDsNCi19DQotDQogLyogQWNjZXNz IHRvIERRTSBoYXMgdG8gYmUgbG9ja2VkIGJlZm9yZSBjYWxsaW5nIGRlc3Ryb3lfcXVldWVfbm9j cHNjaF9sb2NrZWQNCiAgKiB0byBhdm9pZCBhc3luY2hyb25pemVkIGFjY2Vzcw0KICAqLw0KQEAg LTk2Nyw0OSArOTU1LDYgQEAgc3RhdGljIHZvaWQgZGVhbGxvY2F0ZV9zZG1hX3F1ZXVlKHN0cnVj dCBkZXZpY2VfcXVldWVfbWFuYWdlciAqZHFtLA0KIAl9DQogfQ0KIA0KLXN0YXRpYyBpbnQgY3Jl YXRlX3NkbWFfcXVldWVfbm9jcHNjaChzdHJ1Y3QgZGV2aWNlX3F1ZXVlX21hbmFnZXIgKmRxbSwN Ci0JCQkJCXN0cnVjdCBxdWV1ZSAqcSwNCi0JCQkJCXN0cnVjdCBxY21fcHJvY2Vzc19kZXZpY2Ug KnFwZCkNCi17DQotCXN0cnVjdCBtcWRfbWFuYWdlciAqbXFkX21ncjsNCi0JaW50IHJldHZhbDsN Ci0NCi0JbXFkX21nciA9IGRxbS0+bXFkX21ncnNbS0ZEX01RRF9UWVBFX1NETUFdOw0KLQ0KLQly ZXR2YWwgPSBhbGxvY2F0ZV9zZG1hX3F1ZXVlKGRxbSwgcSk7DQotCWlmIChyZXR2YWwpDQotCQly ZXR1cm4gcmV0dmFsOw0KLQ0KLQlyZXR2YWwgPSBhbGxvY2F0ZV9kb29yYmVsbChxcGQsIHEpOw0K LQlpZiAocmV0dmFsKQ0KLQkJZ290byBvdXRfZGVhbGxvY2F0ZV9zZG1hX3F1ZXVlOw0KLQ0KLQlk cW0tPmFzaWNfb3BzLmluaXRfc2RtYV92bShkcW0sIHEsIHFwZCk7DQotCXJldHZhbCA9IG1xZF9t Z3ItPmluaXRfbXFkKG1xZF9tZ3IsICZxLT5tcWQsICZxLT5tcWRfbWVtX29iaiwNCi0JCQkJJnEt PmdhcnRfbXFkX2FkZHIsICZxLT5wcm9wZXJ0aWVzKTsNCi0JaWYgKHJldHZhbCkNCi0JCWdvdG8g b3V0X2RlYWxsb2NhdGVfZG9vcmJlbGw7DQotDQotCWlmICghcS0+cHJvcGVydGllcy5pc19hY3Rp dmUpDQotCQlyZXR1cm4gMDsNCi0NCi0JcmV0dmFsID0gbXFkX21nci0+bG9hZF9tcWQobXFkX21n ciwgcS0+bXFkLCAwLCAwLCAmcS0+cHJvcGVydGllcywNCi0JCQkJY3VycmVudC0+bW0pOw0KLQlp ZiAocmV0dmFsKQ0KLQkJZ290byBvdXRfdW5pbml0X21xZDsNCi0NCi0JcmV0dXJuIDA7DQotDQot b3V0X3VuaW5pdF9tcWQ6DQotCW1xZF9tZ3ItPnVuaW5pdF9tcWQobXFkX21nciwgcS0+bXFkLCBx LT5tcWRfbWVtX29iaik7DQotb3V0X2RlYWxsb2NhdGVfZG9vcmJlbGw6DQotCWRlYWxsb2NhdGVf ZG9vcmJlbGwocXBkLCBxKTsNCi1vdXRfZGVhbGxvY2F0ZV9zZG1hX3F1ZXVlOg0KLQlkZWFsbG9j YXRlX3NkbWFfcXVldWUoZHFtLCBxKTsNCi0NCi0JcmV0dXJuIHJldHZhbDsNCi19DQotDQogLyoN CiAgKiBEZXZpY2UgUXVldWUgTWFuYWdlciBpbXBsZW1lbnRhdGlvbiBmb3IgY3Agc2NoZWR1bGVy DQogICovDQotLSANCjIuNy40DQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1k LWdmeA==