From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger He Subject: [PATCH 1/7] drm/ttm: call ttm_bo_swapout directly when ttm shrink Date: Wed, 20 Dec 2017 18:34:55 +0800 Message-ID: <1513766101-15993-1-git-send-email-Hongbo.He@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Roger He List-Id: dri-devel@lists.freedesktop.org dGhlbiByZW1vdmUgc3VwZXJmbHVvdXMgZnVuY3Rpb25zCgpDaGFuZ2UtSWQ6IEllYTAyMGYwZTMw YTIzOWUwMjY1ZTdhMTUwMDE2OGM3ZDdmODE5YmQ5ClNpZ25lZC1vZmYtYnk6IFJvZ2VyIEhlIDxI b25nYm8uSGVAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jICAgICB8 IDIxICsrKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fbWVtb3J5LmMgfCAxMiAr Ky0tLS0tCiBpbmNsdWRlL2RybS90dG0vdHRtX2JvX2FwaS5oICAgICB8ICAxICsKIGluY2x1ZGUv ZHJtL3R0bS90dG1fYm9fZHJpdmVyLmggIHwgIDEgLQogaW5jbHVkZS9kcm0vdHRtL3R0bV9tZW1v cnkuaCAgICAgfCA2OSArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiA1 IGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgOTUgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYyBiL2RyaXZlcnMvZ3B1L2RybS90dG0v dHRtX2JvLmMKaW5kZXggNjBiYjVjMS4uZmE1N2FhOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3R0bS90dG1fYm8uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jCkBAIC00 Miw3ICs0Miw2IEBACiAjaW5jbHVkZSA8bGludXgvYXRvbWljLmg+CiAjaW5jbHVkZSA8bGludXgv cmVzZXJ2YXRpb24uaD4KIAotc3RhdGljIGludCB0dG1fYm9fc3dhcG91dChzdHJ1Y3QgdHRtX21l bV9zaHJpbmsgKnNocmluayk7CiBzdGF0aWMgdm9pZCB0dG1fYm9fZ2xvYmFsX2tvYmpfcmVsZWFz ZShzdHJ1Y3Qga29iamVjdCAqa29iaik7CiAKIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlIHR0bV9i b19jb3VudCA9IHsKQEAgLTE0NTQsNyArMTQ1Myw2IEBAIHN0YXRpYyB2b2lkIHR0bV9ib19nbG9i YWxfa29ial9yZWxlYXNlKHN0cnVjdCBrb2JqZWN0ICprb2JqKQogCXN0cnVjdCB0dG1fYm9fZ2xv YmFsICpnbG9iID0KIAkJY29udGFpbmVyX29mKGtvYmosIHN0cnVjdCB0dG1fYm9fZ2xvYmFsLCBr b2JqKTsKIAotCXR0bV9tZW1fdW5yZWdpc3Rlcl9zaHJpbmsoZ2xvYi0+bWVtX2dsb2IsICZnbG9i LT5zaHJpbmspOwogCV9fZnJlZV9wYWdlKGdsb2ItPmR1bW15X3JlYWRfcGFnZSk7CiAJa2ZyZWUo Z2xvYik7CiB9CkBAIC0xNDc5LDYgKzE0NzcsNyBAQCBpbnQgdHRtX2JvX2dsb2JhbF9pbml0KHN0 cnVjdCBkcm1fZ2xvYmFsX3JlZmVyZW5jZSAqcmVmKQogCW11dGV4X2luaXQoJmdsb2ItPmRldmlj ZV9saXN0X211dGV4KTsKIAlzcGluX2xvY2tfaW5pdCgmZ2xvYi0+bHJ1X2xvY2spOwogCWdsb2It Pm1lbV9nbG9iID0gYm9fcmVmLT5tZW1fZ2xvYjsKKwlnbG9iLT5tZW1fZ2xvYi0+Ym9fZ2xvYiA9 IGdsb2I7CiAJZ2xvYi0+ZHVtbXlfcmVhZF9wYWdlID0gYWxsb2NfcGFnZShfX0dGUF9aRVJPIHwg R0ZQX0RNQTMyKTsKIAogCWlmICh1bmxpa2VseShnbG9iLT5kdW1teV9yZWFkX3BhZ2UgPT0gTlVM TCkpIHsKQEAgLTE0ODksMTQgKzE0ODgsNiBAQCBpbnQgdHRtX2JvX2dsb2JhbF9pbml0KHN0cnVj dCBkcm1fZ2xvYmFsX3JlZmVyZW5jZSAqcmVmKQogCWZvciAoaSA9IDA7IGkgPCBUVE1fTUFYX0JP X1BSSU9SSVRZOyArK2kpCiAJCUlOSVRfTElTVF9IRUFEKCZnbG9iLT5zd2FwX2xydVtpXSk7CiAJ SU5JVF9MSVNUX0hFQUQoJmdsb2ItPmRldmljZV9saXN0KTsKLQotCXR0bV9tZW1faW5pdF9zaHJp bmsoJmdsb2ItPnNocmluaywgdHRtX2JvX3N3YXBvdXQpOwotCXJldCA9IHR0bV9tZW1fcmVnaXN0 ZXJfc2hyaW5rKGdsb2ItPm1lbV9nbG9iLCAmZ2xvYi0+c2hyaW5rKTsKLQlpZiAodW5saWtlbHko cmV0ICE9IDApKSB7Ci0JCXByX2VycigiQ291bGQgbm90IHJlZ2lzdGVyIGJ1ZmZlciBvYmplY3Qg c3dhcG91dFxuIik7Ci0JCWdvdG8gb3V0X25vX3NocmluazsKLQl9Ci0KIAlhdG9taWNfc2V0KCZn bG9iLT5ib19jb3VudCwgMCk7CiAKIAlyZXQgPSBrb2JqZWN0X2luaXRfYW5kX2FkZCgKQEAgLTE1 MDQsOCArMTQ5NSw2IEBAIGludCB0dG1fYm9fZ2xvYmFsX2luaXQoc3RydWN0IGRybV9nbG9iYWxf cmVmZXJlbmNlICpyZWYpCiAJaWYgKHVubGlrZWx5KHJldCAhPSAwKSkKIAkJa29iamVjdF9wdXQo Jmdsb2ItPmtvYmopOwogCXJldHVybiByZXQ7Ci1vdXRfbm9fc2hyaW5rOgotCV9fZnJlZV9wYWdl KGdsb2ItPmR1bW15X3JlYWRfcGFnZSk7CiBvdXRfbm9fZHJwOgogCWtmcmVlKGdsb2IpOwogCXJl dHVybiByZXQ7CkBAIC0xNjg4LDExICsxNjc3LDggQEAgRVhQT1JUX1NZTUJPTCh0dG1fYm9fc3lu Y2NwdV93cml0ZV9yZWxlYXNlKTsKICAqIEEgYnVmZmVyIG9iamVjdCBzaHJpbmsgbWV0aG9kIHRo YXQgdHJpZXMgdG8gc3dhcCBvdXQgdGhlIGZpcnN0CiAgKiBidWZmZXIgb2JqZWN0IG9uIHRoZSBi b19nbG9iYWw6OnN3YXBfbHJ1IGxpc3QuCiAgKi8KLQotc3RhdGljIGludCB0dG1fYm9fc3dhcG91 dChzdHJ1Y3QgdHRtX21lbV9zaHJpbmsgKnNocmluaykKK2ludCB0dG1fYm9fc3dhcG91dChzdHJ1 Y3QgdHRtX2JvX2dsb2JhbCAqZ2xvYikKIHsKLQlzdHJ1Y3QgdHRtX2JvX2dsb2JhbCAqZ2xvYiA9 Ci0JICAgIGNvbnRhaW5lcl9vZihzaHJpbmssIHN0cnVjdCB0dG1fYm9fZ2xvYmFsLCBzaHJpbmsp OwogCXN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm87CiAJaW50IHJldCA9IC1FQlVTWTsKIAl1 bnNpZ25lZCBpOwpAQCAtMTc3NCwxMCArMTc2MCwxMSBAQCBzdGF0aWMgaW50IHR0bV9ib19zd2Fw b3V0KHN0cnVjdCB0dG1fbWVtX3NocmluayAqc2hyaW5rKQogCWtyZWZfcHV0KCZiby0+bGlzdF9r cmVmLCB0dG1fYm9fcmVsZWFzZV9saXN0KTsKIAlyZXR1cm4gcmV0OwogfQorRVhQT1JUX1NZTUJP TCh0dG1fYm9fc3dhcG91dCk7CiAKIHZvaWQgdHRtX2JvX3N3YXBvdXRfYWxsKHN0cnVjdCB0dG1f Ym9fZGV2aWNlICpiZGV2KQogewotCXdoaWxlICh0dG1fYm9fc3dhcG91dCgmYmRldi0+Z2xvYi0+ c2hyaW5rKSA9PSAwKQorCXdoaWxlICh0dG1fYm9fc3dhcG91dChiZGV2LT5nbG9iKSA9PSAwKQog CQk7CiB9CiBFWFBPUlRfU1lNQk9MKHR0bV9ib19zd2Fwb3V0X2FsbCk7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9tZW1vcnkuYyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRt X21lbW9yeS5jCmluZGV4IGU5NjM3NDkuLjkxMzBiZGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS90dG0vdHRtX21lbW9yeS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX21lbW9y eS5jCkBAIC0yMTQsMjYgKzIxNCwyMCBAQCBzdGF0aWMgdm9pZCB0dG1fc2hyaW5rKHN0cnVjdCB0 dG1fbWVtX2dsb2JhbCAqZ2xvYiwgYm9vbCBmcm9tX3dxLAogCQkgICAgICAgdWludDY0X3QgZXh0 cmEpCiB7CiAJaW50IHJldDsKLQlzdHJ1Y3QgdHRtX21lbV9zaHJpbmsgKnNocmluazsKIAogCXNw aW5fbG9jaygmZ2xvYi0+bG9jayk7Ci0JaWYgKGdsb2ItPnNocmluayA9PSBOVUxMKQotCQlnb3Rv IG91dDsKIAogCXdoaWxlICh0dG1fem9uZXNfYWJvdmVfc3dhcF90YXJnZXQoZ2xvYiwgZnJvbV93 cSwgZXh0cmEpKSB7Ci0JCXNocmluayA9IGdsb2ItPnNocmluazsKIAkJc3Bpbl91bmxvY2soJmds b2ItPmxvY2spOwotCQlyZXQgPSBzaHJpbmstPmRvX3NocmluayhzaHJpbmspOworCQlyZXQgPSB0 dG1fYm9fc3dhcG91dChnbG9iLT5ib19nbG9iKTsKIAkJc3Bpbl9sb2NrKCZnbG9iLT5sb2NrKTsK IAkJaWYgKHVubGlrZWx5KHJldCAhPSAwKSkKLQkJCWdvdG8gb3V0OworCQkJYnJlYWs7CiAJfQot b3V0OgorCiAJc3Bpbl91bmxvY2soJmdsb2ItPmxvY2spOwogfQogCi0KLQogc3RhdGljIHZvaWQg dHRtX3Nocmlua193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKIAlzdHJ1Y3QgdHRt X21lbV9nbG9iYWwgKmdsb2IgPQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19h cGkuaCBiL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fYXBpLmgKaW5kZXggYzEyNjMzMC4uMjRhOGRi NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19hcGkuaAorKysgYi9pbmNsdWRl L2RybS90dG0vdHRtX2JvX2FwaS5oCkBAIC03NTIsNiArNzUyLDcgQEAgc3NpemVfdCB0dG1fYm9f aW8oc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsIHN0cnVjdCBmaWxlICpmaWxwLAogCQkgIGNv bnN0IGNoYXIgX191c2VyICp3YnVmLCBjaGFyIF9fdXNlciAqcmJ1ZiwKIAkJICBzaXplX3QgY291 bnQsIGxvZmZfdCAqZl9wb3MsIGJvb2wgd3JpdGUpOwogCitpbnQgdHRtX2JvX3N3YXBvdXQoc3Ry dWN0IHR0bV9ib19nbG9iYWwgKmdsb2IpOwogdm9pZCB0dG1fYm9fc3dhcG91dF9hbGwoc3RydWN0 IHR0bV9ib19kZXZpY2UgKmJkZXYpOwogaW50IHR0bV9ib193YWl0X3VucmVzZXJ2ZWQoc3RydWN0 IHR0bV9idWZmZXJfb2JqZWN0ICpibyk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt L3R0bS90dG1fYm9fZHJpdmVyLmggYi9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oCmlu ZGV4IDUxMTU3MTguLjkzNGZlY2YgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9f ZHJpdmVyLmgKKysrIGIvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19kcml2ZXIuaApAQCAtNTIyLDcg KzUyMiw2IEBAIHN0cnVjdCB0dG1fYm9fZ2xvYmFsIHsKIAlzdHJ1Y3Qga29iamVjdCBrb2JqOwog CXN0cnVjdCB0dG1fbWVtX2dsb2JhbCAqbWVtX2dsb2I7CiAJc3RydWN0IHBhZ2UgKmR1bW15X3Jl YWRfcGFnZTsKLQlzdHJ1Y3QgdHRtX21lbV9zaHJpbmsgc2hyaW5rOwogCXN0cnVjdCBtdXRleCBk ZXZpY2VfbGlzdF9tdXRleDsKIAlzcGlubG9ja190IGxydV9sb2NrOwogCmRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS90dG0vdHRtX21lbW9yeS5oIGIvaW5jbHVkZS9kcm0vdHRtL3R0bV9tZW1vcnku aAppbmRleCAyYzFlMzU5Li44NWYzYWQ2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS90dG0vdHRt X21lbW9yeS5oCisrKyBiL2luY2x1ZGUvZHJtL3R0bS90dG1fbWVtb3J5LmgKQEAgLTM3LDIwICsz Nyw2IEBACiAjaW5jbHVkZSA8bGludXgvbW0uaD4KIAogLyoqCi0gKiBzdHJ1Y3QgdHRtX21lbV9z aHJpbmsgLSBjYWxsYmFjayB0byBzaHJpbmsgVFRNIG1lbW9yeSB1c2FnZS4KLSAqCi0gKiBAZG9f c2hyaW5rOiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24uCi0gKgotICogQXJndW1lbnRzIHRvIHRoZSBk b19zaHJpbmsgZnVuY3Rpb25zIGFyZSBpbnRlbmRlZCB0byBiZSBwYXNzZWQgdXNpbmcKLSAqIGlu aGVyaXRhbmNlLiBUaGF0IGlzLCB0aGUgYXJndW1lbnQgY2xhc3MgZGVyaXZlcyBmcm9tIHN0cnVj dCB0dG1fbWVtX3NocmluaywKLSAqIGFuZCBjYW4gYmUgYWNjZXNzZWQgdXNpbmcgY29udGFpbmVy X29mKCkuCi0gKi8KLQotc3RydWN0IHR0bV9tZW1fc2hyaW5rIHsKLQlpbnQgKCpkb19zaHJpbmsp IChzdHJ1Y3QgdHRtX21lbV9zaHJpbmsgKik7Ci19OwotCi0vKioKICAqIHN0cnVjdCB0dG1fbWVt X2dsb2JhbCAtIEdsb2JhbCBtZW1vcnkgYWNjb3VudGluZyBzdHJ1Y3R1cmUuCiAgKgogICogQHNo cmluazogQSBzaW5nbGUgY2FsbGJhY2sgdG8gc2hyaW5rIFRUTSBtZW1vcnkgdXNhZ2UuIEV4dGVu ZCB0aGlzCkBAIC03Niw3ICs2Miw3IEBAIHN0cnVjdCB0dG1fbWVtX3NocmluayB7CiBzdHJ1Y3Qg dHRtX21lbV96b25lOwogc3RydWN0IHR0bV9tZW1fZ2xvYmFsIHsKIAlzdHJ1Y3Qga29iamVjdCBr b2JqOwotCXN0cnVjdCB0dG1fbWVtX3NocmluayAqc2hyaW5rOworCXN0cnVjdCB0dG1fYm9fZ2xv YmFsICpib19nbG9iOwogCXN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpzd2FwX3F1ZXVlOwogCXN0 cnVjdCB3b3JrX3N0cnVjdCB3b3JrOwogCXNwaW5sb2NrX3QgbG9jazsKQEAgLTkwLDU5ICs3Niw2 IEBAIHN0cnVjdCB0dG1fbWVtX2dsb2JhbCB7CiAjZW5kaWYKIH07CiAKLS8qKgotICogdHRtX21l bV9pbml0X3NocmluayAtIGluaXRpYWxpemUgYSBzdHJ1Y3QgdHRtX21lbV9zaHJpbmsgb2JqZWN0 Ci0gKgotICogQHNocmluazogVGhlIG9iamVjdCB0byBpbml0aWFsaXplLgotICogQGZ1bmM6IFRo ZSBjYWxsYmFjayBmdW5jdGlvbi4KLSAqLwotCi1zdGF0aWMgaW5saW5lIHZvaWQgdHRtX21lbV9p bml0X3NocmluayhzdHJ1Y3QgdHRtX21lbV9zaHJpbmsgKnNocmluaywKLQkJCQkgICAgICAgaW50 ICgqZnVuYykgKHN0cnVjdCB0dG1fbWVtX3NocmluayAqKSkKLXsKLQlzaHJpbmstPmRvX3Nocmlu ayA9IGZ1bmM7Ci19Ci0KLS8qKgotICogdHRtX21lbV9yZWdpc3Rlcl9zaHJpbmsgLSByZWdpc3Rl ciBhIHN0cnVjdCB0dG1fbWVtX3NocmluayBvYmplY3QuCi0gKgotICogQGdsb2I6IFRoZSBzdHJ1 Y3QgdHRtX21lbV9nbG9iYWwgb2JqZWN0IHRvIHJlZ2lzdGVyIHdpdGguCi0gKiBAc2hyaW5rOiBB biBpbml0aWFsaXplZCBzdHJ1Y3QgdHRtX21lbV9zaHJpbmsgb2JqZWN0IHRvIHJlZ2lzdGVyLgot ICoKLSAqIFJldHVybnM6Ci0gKiAtRUJVU1k6IFRoZXJlJ3MgYWxyZWFkeSBhIGNhbGxiYWNrIHJl Z2lzdGVyZWQuIChNYXkgY2hhbmdlKS4KLSAqLwotCi1zdGF0aWMgaW5saW5lIGludCB0dG1fbWVt X3JlZ2lzdGVyX3NocmluayhzdHJ1Y3QgdHRtX21lbV9nbG9iYWwgKmdsb2IsCi0JCQkJCSAgc3Ry dWN0IHR0bV9tZW1fc2hyaW5rICpzaHJpbmspCi17Ci0Jc3Bpbl9sb2NrKCZnbG9iLT5sb2NrKTsK LQlpZiAoZ2xvYi0+c2hyaW5rICE9IE5VTEwpIHsKLQkJc3Bpbl91bmxvY2soJmdsb2ItPmxvY2sp OwotCQlyZXR1cm4gLUVCVVNZOwotCX0KLQlnbG9iLT5zaHJpbmsgPSBzaHJpbms7Ci0Jc3Bpbl91 bmxvY2soJmdsb2ItPmxvY2spOwotCXJldHVybiAwOwotfQotCi0vKioKLSAqIHR0bV9tZW1fdW5y ZWdpc3Rlcl9zaHJpbmsgLSB1bnJlZ2lzdGVyIGEgc3RydWN0IHR0bV9tZW1fc2hyaW5rIG9iamVj dC4KLSAqCi0gKiBAZ2xvYjogVGhlIHN0cnVjdCB0dG1fbWVtX2dsb2JhbCBvYmplY3QgdG8gdW5y ZWdpc3RlciBmcm9tLgotICogQHNocmluazogQSBwcmV2aW91c2x5IHJlZ2lzdGVydCBzdHJ1Y3Qg dHRtX21lbV9zaHJpbmsgb2JqZWN0LgotICoKLSAqLwotCi1zdGF0aWMgaW5saW5lIHZvaWQgdHRt X21lbV91bnJlZ2lzdGVyX3NocmluayhzdHJ1Y3QgdHRtX21lbV9nbG9iYWwgKmdsb2IsCi0JCQkJ CSAgICAgc3RydWN0IHR0bV9tZW1fc2hyaW5rICpzaHJpbmspCi17Ci0Jc3Bpbl9sb2NrKCZnbG9i LT5sb2NrKTsKLQlCVUdfT04oZ2xvYi0+c2hyaW5rICE9IHNocmluayk7Ci0JZ2xvYi0+c2hyaW5r ID0gTlVMTDsKLQlzcGluX3VubG9jaygmZ2xvYi0+bG9jayk7Ci19Ci0KIGV4dGVybiBpbnQgdHRt X21lbV9nbG9iYWxfaW5pdChzdHJ1Y3QgdHRtX21lbV9nbG9iYWwgKmdsb2IpOwogZXh0ZXJuIHZv aWQgdHRtX21lbV9nbG9iYWxfcmVsZWFzZShzdHJ1Y3QgdHRtX21lbV9nbG9iYWwgKmdsb2IpOwog ZXh0ZXJuIGludCB0dG1fbWVtX2dsb2JhbF9hbGxvYyhzdHJ1Y3QgdHRtX21lbV9nbG9iYWwgKmds b2IsIHVpbnQ2NF90IG1lbW9yeSwKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK