From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Brooks Subject: [PATCH 1/9] drm/amdgpu: Separate placements and busy placements Date: Fri, 23 Jun 2017 13:39:32 -0400 Message-ID: <1498239580-17360-2-git-send-email-john@fastquake.com> References: <1498239580-17360-1-git-send-email-john@fastquake.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1498239580-17360-1-git-send-email-john-xq/Ko7C6e2Bl57MIdRCFDg@public.gmane.org> 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, =?UTF-8?q?Michel=20D=C3=A4nzer?= , =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Cc: David Airlie , =?UTF-8?q?Christian=20K=C3=B6nig?= , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org VGhpcyBhbGxvd3MgYSBCTyB0byBoYXZlIGJ1c3kgcGxhY2VtZW50cyB0aGF0IGFyZSBub3QgcGFy dCBvZiBpdHMgbm9ybWFsCnBsYWNlbWVudHMuCgpVc2VycyB0aGF0IHdhbnQgdGhlIGJ1c3kgcGxh Y2VtZW50cyB0byBiZSB0aGUgc2FtZSBjYW4gY2hhbmdlIHRoZQpwbGFjZW1lbnQuYnVzeV9wbGFj ZW1lbnQgcG9pbnRlciBhbmQgY29ycmVzcG9uZGluZyBjb3VudCB0byBiZSB0aGUgc2FtZSBhcwp0 aGUgcmVndWxhciBwbGFjZW1lbnRzLgoKU2lnbmVkLW9mZi1ieTogSm9obiBCcm9va3MgPGpvaG5A ZmFzdHF1YWtlLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCAg ICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMg fCA1MCArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMzcg aW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHUuaAppbmRleCAxMmQ2MWVkLi5jNDA3ZDJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHUuaApAQCAtNDE2LDYgKzQxNiw3IEBAIHN0cnVjdCBhbWRncHVfYm8gewogCXUzMgkJCQlwcmVm ZXJlZF9kb21haW5zOwogCXUzMgkJCQlhbGxvd2VkX2RvbWFpbnM7CiAJc3RydWN0IHR0bV9wbGFj ZQkJcGxhY2VtZW50c1tBTURHUFVfR0VNX0RPTUFJTl9NQVggKyAxXTsKKwlzdHJ1Y3QgdHRtX3Bs YWNlCQlidXN5X3BsYWNlbWVudHNbQU1ER1BVX0dFTV9ET01BSU5fTUFYICsgMV07CiAJc3RydWN0 IHR0bV9wbGFjZW1lbnQJCXBsYWNlbWVudDsKIAlzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QJdGJv OwogCXN0cnVjdCB0dG1fYm9fa21hcF9vYmoJCWttYXA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfb2JqZWN0LmMKaW5kZXggOGVlNjk2NS4uMjQ0YTdkMyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYwpAQCAtMTE2LDkgKzExNiwxMSBAQCBi b29sIGFtZGdwdV90dG1fYm9faXNfYW1kZ3B1X2JvKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAq Ym8pCiBzdGF0aWMgdm9pZCBhbWRncHVfdHRtX3BsYWNlbWVudF9pbml0KHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2LAogCQkJCSAgICAgIHN0cnVjdCB0dG1fcGxhY2VtZW50ICpwbGFjZW1lbnQs CiAJCQkJICAgICAgc3RydWN0IHR0bV9wbGFjZSAqcGxhY2VzLAorCQkJCSAgICAgIHN0cnVjdCB0 dG1fcGxhY2UgKmJ1c3lfcGxhY2VzLAogCQkJCSAgICAgIHUzMiBkb21haW4sIHU2NCBmbGFncykK IHsKIAl1MzIgYyA9IDA7CisJdTMyIGJjID0gMDsKIAogCWlmIChkb21haW4gJiBBTURHUFVfR0VN X0RPTUFJTl9WUkFNKSB7CiAJCXVuc2lnbmVkIHZpc2libGVfcGZuID0gYWRldi0+bWMudmlzaWJs ZV92cmFtX3NpemUgPj4gUEFHRV9TSElGVDsKQEAgLTEzNSw3ICsxMzcsOCBAQCBzdGF0aWMgdm9p ZCBhbWRncHVfdHRtX3BsYWNlbWVudF9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAog CiAJCWlmIChmbGFncyAmIEFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ09OVElHVU9VUykKIAkJCXBs YWNlc1tjXS5mbGFncyB8PSBUVE1fUExfRkxBR19DT05USUdVT1VTOwotCQljKys7CisKKwkJYnVz eV9wbGFjZXNbYmMrK10gPSBwbGFjZXNbYysrXTsKIAl9CiAKIAlpZiAoZG9tYWluICYgQU1ER1BV X0dFTV9ET01BSU5fR1RUKSB7CkBAIC0xNDcsNyArMTUwLDggQEAgc3RhdGljIHZvaWQgYW1kZ3B1 X3R0bV9wbGFjZW1lbnRfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkJCQlUVE1f UExfRkxBR19VTkNBQ0hFRDsKIAkJZWxzZQogCQkJcGxhY2VzW2NdLmZsYWdzIHw9IFRUTV9QTF9G TEFHX0NBQ0hFRDsKLQkJYysrOworCisJCWJ1c3lfcGxhY2VzW2JjKytdID0gcGxhY2VzW2MrK107 CiAJfQogCiAJaWYgKGRvbWFpbiAmIEFNREdQVV9HRU1fRE9NQUlOX0NQVSkgewpAQCAtMTU5LDQy ICsxNjMsNDcgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X3R0bV9wbGFjZW1lbnRfaW5pdChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwKIAkJCQlUVE1fUExfRkxBR19VTkNBQ0hFRDsKIAkJZWxzZQog CQkJcGxhY2VzW2NdLmZsYWdzIHw9IFRUTV9QTF9GTEFHX0NBQ0hFRDsKLQkJYysrOworCisJCWJ1 c3lfcGxhY2VzW2JjKytdID0gcGxhY2VzW2MrK107CiAJfQogCiAJaWYgKGRvbWFpbiAmIEFNREdQ VV9HRU1fRE9NQUlOX0dEUykgewogCQlwbGFjZXNbY10uZnBmbiA9IDA7CiAJCXBsYWNlc1tjXS5s cGZuID0gMDsKIAkJcGxhY2VzW2NdLmZsYWdzID0gVFRNX1BMX0ZMQUdfVU5DQUNIRUQgfCBBTURH UFVfUExfRkxBR19HRFM7Ci0JCWMrKzsKKworCQlidXN5X3BsYWNlc1tiYysrXSA9IHBsYWNlc1tj KytdOwogCX0KIAogCWlmIChkb21haW4gJiBBTURHUFVfR0VNX0RPTUFJTl9HV1MpIHsKIAkJcGxh Y2VzW2NdLmZwZm4gPSAwOwogCQlwbGFjZXNbY10ubHBmbiA9IDA7CiAJCXBsYWNlc1tjXS5mbGFn cyA9IFRUTV9QTF9GTEFHX1VOQ0FDSEVEIHwgQU1ER1BVX1BMX0ZMQUdfR1dTOwotCQljKys7CisK KwkJYnVzeV9wbGFjZXNbYmMrK10gPSBwbGFjZXNbYysrXTsKIAl9CiAKIAlpZiAoZG9tYWluICYg QU1ER1BVX0dFTV9ET01BSU5fT0EpIHsKIAkJcGxhY2VzW2NdLmZwZm4gPSAwOwogCQlwbGFjZXNb Y10ubHBmbiA9IDA7CiAJCXBsYWNlc1tjXS5mbGFncyA9IFRUTV9QTF9GTEFHX1VOQ0FDSEVEIHwg QU1ER1BVX1BMX0ZMQUdfT0E7Ci0JCWMrKzsKKworCQlidXN5X3BsYWNlc1tiYysrXSA9IHBsYWNl c1tjKytdOwogCX0KIAogCWlmICghYykgewogCQlwbGFjZXNbY10uZnBmbiA9IDA7CiAJCXBsYWNl c1tjXS5scGZuID0gMDsKIAkJcGxhY2VzW2NdLmZsYWdzID0gVFRNX1BMX01BU0tfQ0FDSElORyB8 IFRUTV9QTF9GTEFHX1NZU1RFTTsKLQkJYysrOworCisJCWJ1c3lfcGxhY2VzW2JjKytdID0gcGxh Y2VzW2MrK107CiAJfQogCiAJcGxhY2VtZW50LT5udW1fcGxhY2VtZW50ID0gYzsKIAlwbGFjZW1l bnQtPnBsYWNlbWVudCA9IHBsYWNlczsKIAotCXBsYWNlbWVudC0+bnVtX2J1c3lfcGxhY2VtZW50 ID0gYzsKLQlwbGFjZW1lbnQtPmJ1c3lfcGxhY2VtZW50ID0gcGxhY2VzOworCXBsYWNlbWVudC0+ bnVtX2J1c3lfcGxhY2VtZW50ID0gYmM7CisJcGxhY2VtZW50LT5idXN5X3BsYWNlbWVudCA9IGJ1 c3lfcGxhY2VzOwogfQogCiB2b2lkIGFtZGdwdV90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKHN0 cnVjdCBhbWRncHVfYm8gKmFibywgdTMyIGRvbWFpbikKQEAgLTIwMiw3ICsyMTEsNyBAQCB2b2lk IGFtZGdwdV90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKHN0cnVjdCBhbWRncHVfYm8gKmFibywg dTMyIGRvbWFpbikKIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGFtZGdwdV90dG1fYWRl dihhYm8tPnRiby5iZGV2KTsKIAogCWFtZGdwdV90dG1fcGxhY2VtZW50X2luaXQoYWRldiwgJmFi by0+cGxhY2VtZW50LCBhYm8tPnBsYWNlbWVudHMsCi0JCQkJICBkb21haW4sIGFiby0+ZmxhZ3Mp OworCQkJCSAgYWJvLT5idXN5X3BsYWNlbWVudHMsIGRvbWFpbiwgYWJvLT5mbGFncyk7CiB9CiAK IHN0YXRpYyB2b2lkIGFtZGdwdV9maWxsX3BsYWNlbWVudF90b19ibyhzdHJ1Y3QgYW1kZ3B1X2Jv ICpibywKQEAgLTIxMiwxMCArMjIxLDEyIEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9maWxsX3BsYWNl bWVudF90b19ibyhzdHJ1Y3QgYW1kZ3B1X2JvICpibywKIAogCW1lbWNweShiby0+cGxhY2VtZW50 cywgcGxhY2VtZW50LT5wbGFjZW1lbnQsCiAJICAgICAgIHBsYWNlbWVudC0+bnVtX3BsYWNlbWVu dCAqIHNpemVvZihzdHJ1Y3QgdHRtX3BsYWNlKSk7CisJbWVtY3B5KGJvLT5idXN5X3BsYWNlbWVu dHMsIHBsYWNlbWVudC0+YnVzeV9wbGFjZW1lbnQsCisJICAgICAgIHBsYWNlbWVudC0+bnVtX2J1 c3lfcGxhY2VtZW50ICogc2l6ZW9mKHN0cnVjdCB0dG1fcGxhY2UpKTsKIAliby0+cGxhY2VtZW50 Lm51bV9wbGFjZW1lbnQgPSBwbGFjZW1lbnQtPm51bV9wbGFjZW1lbnQ7CiAJYm8tPnBsYWNlbWVu dC5udW1fYnVzeV9wbGFjZW1lbnQgPSBwbGFjZW1lbnQtPm51bV9idXN5X3BsYWNlbWVudDsKIAli by0+cGxhY2VtZW50LnBsYWNlbWVudCA9IGJvLT5wbGFjZW1lbnRzOwotCWJvLT5wbGFjZW1lbnQu YnVzeV9wbGFjZW1lbnQgPSBiby0+cGxhY2VtZW50czsKKwliby0+cGxhY2VtZW50LmJ1c3lfcGxh Y2VtZW50ID0gYm8tPmJ1c3lfcGxhY2VtZW50czsKIH0KIAogLyoqCkBAIC00NDEsNiArNDUyLDcg QEAgc3RhdGljIGludCBhbWRncHVfYm9fY3JlYXRlX3NoYWRvdyhzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwKIHsKIAlzdHJ1Y3QgdHRtX3BsYWNlbWVudCBwbGFjZW1lbnQgPSB7MH07CiAJc3Ry dWN0IHR0bV9wbGFjZSBwbGFjZW1lbnRzW0FNREdQVV9HRU1fRE9NQUlOX01BWCArIDFdOworCXN0 cnVjdCB0dG1fcGxhY2UgYnVzeV9wbGFjZW1lbnRzW0FNREdQVV9HRU1fRE9NQUlOX01BWCArIDFd OwogCWludCByOwogCiAJaWYgKGJvLT5zaGFkb3cpCkBAIC00NDksOSArNDYxLDEyIEBAIHN0YXRp YyBpbnQgYW1kZ3B1X2JvX2NyZWF0ZV9zaGFkb3coc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYs CiAJYm8tPmZsYWdzIHw9IEFNREdQVV9HRU1fQ1JFQVRFX1NIQURPVzsKIAltZW1zZXQoJnBsYWNl bWVudHMsIDAsCiAJICAgICAgIChBTURHUFVfR0VNX0RPTUFJTl9NQVggKyAxKSAqIHNpemVvZihz dHJ1Y3QgdHRtX3BsYWNlKSk7CisJbWVtc2V0KCZidXN5X3BsYWNlbWVudHMsIDAsCisJICAgICAg IChBTURHUFVfR0VNX0RPTUFJTl9NQVggKyAxKSAqIHNpemVvZihzdHJ1Y3QgdHRtX3BsYWNlKSk7 CiAKIAlhbWRncHVfdHRtX3BsYWNlbWVudF9pbml0KGFkZXYsICZwbGFjZW1lbnQsCi0JCQkJICBw bGFjZW1lbnRzLCBBTURHUFVfR0VNX0RPTUFJTl9HVFQsCisJCQkJICBwbGFjZW1lbnRzLCBidXN5 X3BsYWNlbWVudHMsCisJCQkJICBBTURHUFVfR0VNX0RPTUFJTl9HVFQsCiAJCQkJICBBTURHUFVf R0VNX0NSRUFURV9DUFVfR1RUX1VTV0MpOwogCiAJciA9IGFtZGdwdV9ib19jcmVhdGVfcmVzdHJp Y3RlZChhZGV2LCBzaXplLCBieXRlX2FsaWduLCB0cnVlLApAQCAtNDc5LDEzICs0OTQsMTYgQEAg aW50IGFtZGdwdV9ib19jcmVhdGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiB7CiAJc3Ry dWN0IHR0bV9wbGFjZW1lbnQgcGxhY2VtZW50ID0gezB9OwogCXN0cnVjdCB0dG1fcGxhY2UgcGxh Y2VtZW50c1tBTURHUFVfR0VNX0RPTUFJTl9NQVggKyAxXTsKKwlzdHJ1Y3QgdHRtX3BsYWNlIGJ1 c3lfcGxhY2VtZW50c1tBTURHUFVfR0VNX0RPTUFJTl9NQVggKyAxXTsKIAlpbnQgcjsKIAogCW1l bXNldCgmcGxhY2VtZW50cywgMCwKIAkgICAgICAgKEFNREdQVV9HRU1fRE9NQUlOX01BWCArIDEp ICogc2l6ZW9mKHN0cnVjdCB0dG1fcGxhY2UpKTsKKwltZW1zZXQoJmJ1c3lfcGxhY2VtZW50cywg MCwKKwkgICAgICAgKEFNREdQVV9HRU1fRE9NQUlOX01BWCArIDEpICogc2l6ZW9mKHN0cnVjdCB0 dG1fcGxhY2UpKTsKIAotCWFtZGdwdV90dG1fcGxhY2VtZW50X2luaXQoYWRldiwgJnBsYWNlbWVu dCwKLQkJCQkgIHBsYWNlbWVudHMsIGRvbWFpbiwgZmxhZ3MpOworCWFtZGdwdV90dG1fcGxhY2Vt ZW50X2luaXQoYWRldiwgJnBsYWNlbWVudCwgcGxhY2VtZW50cywKKwkJCQkgIGJ1c3lfcGxhY2Vt ZW50cywgZG9tYWluLCBmbGFncyk7CiAKIAlyID0gYW1kZ3B1X2JvX2NyZWF0ZV9yZXN0cmljdGVk KGFkZXYsIHNpemUsIGJ5dGVfYWxpZ24sIGtlcm5lbCwKIAkJCQkJZG9tYWluLCBmbGFncywgc2cs ICZwbGFjZW1lbnQsCkBAIC03MTgsNiArNzM2LDggQEAgaW50IGFtZGdwdV9ib19waW5fcmVzdHJp Y3RlZChzdHJ1Y3QgYW1kZ3B1X2JvICpibywgdTMyIGRvbWFpbiwKIAkJCWJvLT5wbGFjZW1lbnRz W2ldLmxwZm4gPSBscGZuOwogCQliby0+cGxhY2VtZW50c1tpXS5mbGFncyB8PSBUVE1fUExfRkxB R19OT19FVklDVDsKIAl9CisJYm8tPnBsYWNlbWVudC5idXN5X3BsYWNlbWVudCA9IGJvLT5wbGFj ZW1lbnQucGxhY2VtZW50OworCWJvLT5wbGFjZW1lbnQubnVtX2J1c3lfcGxhY2VtZW50ID0gYm8t PnBsYWNlbWVudC5udW1fcGxhY2VtZW50OwogCiAJciA9IHR0bV9ib192YWxpZGF0ZSgmYm8tPnRi bywgJmJvLT5wbGFjZW1lbnQsIGZhbHNlLCBmYWxzZSk7CiAJaWYgKHVubGlrZWx5KHIpKSB7CkBA IC05NzAsNiArOTkwLDggQEAgaW50IGFtZGdwdV9ib19mYXVsdF9yZXNlcnZlX25vdGlmeShzdHJ1 Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvKQogCQkgICAgIGFiby0+cGxhY2VtZW50c1tpXS5scGZu ID4gbHBmbikpCiAJCQlhYm8tPnBsYWNlbWVudHNbaV0ubHBmbiA9IGxwZm47CiAJfQorCWFiby0+ cGxhY2VtZW50LmJ1c3lfcGxhY2VtZW50ID0gYWJvLT5wbGFjZW1lbnQucGxhY2VtZW50OworCWFi by0+cGxhY2VtZW50Lm51bV9idXN5X3BsYWNlbWVudCA9IGFiby0+cGxhY2VtZW50Lm51bV9wbGFj ZW1lbnQ7CiAJciA9IHR0bV9ib192YWxpZGF0ZShibywgJmFiby0+cGxhY2VtZW50LCBmYWxzZSwg ZmFsc2UpOwogCWlmICh1bmxpa2VseShyID09IC1FTk9NRU0pKSB7CiAJCWFtZGdwdV90dG1fcGxh Y2VtZW50X2Zyb21fZG9tYWluKGFibywgQU1ER1BVX0dFTV9ET01BSU5fR1RUKTsKLS0gCjIuNy40 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4 IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK