From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 02/13] ttm: allow driver has own lru policy Date: Wed, 9 May 2018 14:45:32 +0800 Message-ID: <20180509064543.15937-3-david1.zhou@amd.com> References: <20180509064543.15937-1-david1.zhou@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180509064543.15937-1-david1.zhou-5C7GfCeVMHo@public.gmane.org> 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: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Jerry.Zhang-5C7GfCeVMHo@public.gmane.org, ckoenig.leichtzumerken-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, Kai.Guo-5C7GfCeVMHo@public.gmane.org, Chunming Zhou Z2VuZXJhbCB0dG0gbHJ1IGNhbm5vdCBzdGF0aXNmeSBhbWRncHUgcGVyLXZtLWJvIHJlcXVpcmVt ZW50LAp3ZSBoYXZlIHRvIGFkYXB0IGl0IGluIGFtZGdwdSBkcml2ZXIgYXQgbGVhc3QuCgpDaGFu Z2UtSWQ6IEk5MmIyMjg2ZWY1MDdjMmUwNTVhZDkxMDFjZjMxMjc5ZDVmOGRiNDc1ClNpZ25lZC1v ZmYtYnk6IENodW5taW5nIFpob3UgPGRhdmlkMS56aG91QGFtZC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL3R0bS90dG1fYm8uYyAgICB8IDU0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tCiBpbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oIHwgNDkgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA4OSBpbnNl cnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v dHRtL3R0bV9iby5jIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYwppbmRleCAxNTUwNjY4 MmEwYmUuLjk4ZGEyY2Y2M2M5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1f Ym8uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jCkBAIC0xNjQsNiArMTY0LDgg QEAgdm9pZCB0dG1fYm9fYWRkX3RvX2xydShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvKQog CiAJcmVzZXJ2YXRpb25fb2JqZWN0X2Fzc2VydF9oZWxkKGJvLT5yZXN2KTsKIAorCWlmIChiZGV2 LT5kcml2ZXItPmFkZF90b19scnUpCisJCXJldHVybiBiZGV2LT5kcml2ZXItPmFkZF90b19scnUo Ym8pOwogCWlmICghKGJvLT5tZW0ucGxhY2VtZW50ICYgVFRNX1BMX0ZMQUdfTk9fRVZJQ1QpKSB7 CiAJCUJVR19PTighbGlzdF9lbXB0eSgmYm8tPmxydSkpOwogCkBAIC0xODgsNiArMTkwLDggQEAg c3RhdGljIHZvaWQgdHRtX2JvX3JlZl9idWcoc3RydWN0IGtyZWYgKmxpc3Rfa3JlZikKIAogdm9p ZCB0dG1fYm9fZGVsX2Zyb21fbHJ1KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8pCiB7CisJ c3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYgPSBiby0+YmRldjsKKwogCWlmICghbGlzdF9lbXB0 eSgmYm8tPnN3YXApKSB7CiAJCWxpc3RfZGVsX2luaXQoJmJvLT5zd2FwKTsKIAkJa3JlZl9wdXQo JmJvLT5saXN0X2tyZWYsIHR0bV9ib19yZWZfYnVnKTsKQEAgLTIwMSw2ICsyMDUsOCBAQCB2b2lk IHR0bV9ib19kZWxfZnJvbV9scnUoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibykKIAkgKiBU T0RPOiBBZGQgYSBkcml2ZXIgaG9vayB0byBkZWxldGUgZnJvbQogCSAqIGRyaXZlci1zcGVjaWZp YyBMUlUncyBoZXJlLgogCSAqLworCWlmIChiZGV2LT5kcml2ZXItPmRlbF9mcm9tX2xydSkKKwkJ cmV0dXJuIGJkZXYtPmRyaXZlci0+ZGVsX2Zyb21fbHJ1KGJvKTsKIH0KIAogdm9pZCB0dG1fYm9f ZGVsX3N1Yl9mcm9tX2xydShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvKQpAQCAtMjE1LDEw ICsyMjEsMTQgQEAgRVhQT1JUX1NZTUJPTCh0dG1fYm9fZGVsX3N1Yl9mcm9tX2xydSk7CiAKIHZv aWQgdHRtX2JvX21vdmVfdG9fbHJ1X3RhaWwoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibykK IHsKKwlzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiA9IGJvLT5iZGV2OworCiAJcmVzZXJ2YXRp b25fb2JqZWN0X2Fzc2VydF9oZWxkKGJvLT5yZXN2KTsKIAogCXR0bV9ib19kZWxfZnJvbV9scnUo Ym8pOwogCXR0bV9ib19hZGRfdG9fbHJ1KGJvKTsKKwlpZiAoYmRldi0+ZHJpdmVyLT5tb3ZlX3Rv X2xydV90YWlsKQorCQlyZXR1cm4gYmRldi0+ZHJpdmVyLT5tb3ZlX3RvX2xydV90YWlsKGJvKTsK IH0KIEVYUE9SVF9TWU1CT0wodHRtX2JvX21vdmVfdG9fbHJ1X3RhaWwpOwogCkBAIC02ODUsOCAr Njk1LDggQEAgRVhQT1JUX1NZTUJPTCh0dG1fYm9fZXZpY3Rpb25fdmFsdWFibGUpOwogICoKICAq IGIuIE90aGVyd2lzZSwgdHJ5bG9jayBpdC4KICAqLwotc3RhdGljIGJvb2wgdHRtX2JvX2V2aWN0 X3N3YXBvdXRfYWxsb3dhYmxlKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCi0JCQlzdHJ1 Y3QgdHRtX29wZXJhdGlvbl9jdHggKmN0eCwgYm9vbCAqbG9ja2VkKQorYm9vbCB0dG1fYm9fZXZp Y3Rfc3dhcG91dF9hbGxvd2FibGUoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKKwkJCQkg ICAgc3RydWN0IHR0bV9vcGVyYXRpb25fY3R4ICpjdHgsIGJvb2wgKmxvY2tlZCkKIHsKIAlib29s IHJldCA9IGZhbHNlOwogCkBAIC03MDMsNiArNzEzLDcgQEAgc3RhdGljIGJvb2wgdHRtX2JvX2V2 aWN0X3N3YXBvdXRfYWxsb3dhYmxlKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCiAKIAly ZXR1cm4gcmV0OwogfQorRVhQT1JUX1NZTUJPTCh0dG1fYm9fZXZpY3Rfc3dhcG91dF9hbGxvd2Fi bGUpOwogCiBzdGF0aWMgc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICoKIHR0bV9tZW1fZ2V0X2V2 aWN0YWJsZV9ibyhzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKQEAgLTczNiw2ICs3NDcsOSBA QCB0dG1fbWVtX2dldF9ldmljdGFibGVfYm8oc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsCiAJ CWJvID0gTlVMTDsKIAl9CiAKKwlpZiAoIWJvICYmIGJkZXYtPmRyaXZlci0+Z2V0X2V2aWN0YWJs ZV9ibykKKwkJYm89IGJkZXYtPmRyaXZlci0+Z2V0X2V2aWN0YWJsZV9ibyhiZGV2LCBtZW1fdHlw ZSwgcGxhY2UsCisJCQkJCQkgICBjdHgsIGxvY2tlZCk7CiAJcmV0dXJuIGJvOwogfQogCkBAIC0x MzExLDYgKzEzMjUsMjEgQEAgaW50IHR0bV9ib19jcmVhdGUoc3RydWN0IHR0bV9ib19kZXZpY2Ug KmJkZXYsCiB9CiBFWFBPUlRfU1lNQk9MKHR0bV9ib19jcmVhdGUpOwogCitib29sIHR0bV9scnVf ZW1wdHkoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsIHVuc2lnbmVkIG1lbV90eXBlKQorewor CXN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuID0gJmJkZXYtPm1hblttZW1fdHlwZV07 CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgVFRNX01BWF9CT19QUklPUklUWTsgKytpKSB7 CisJCWlmICghbGlzdF9lbXB0eSgmbWFuLT5scnVbaV0pKQorCQkJcmV0dXJuIGZhbHNlOworCX0K KwlpZiAoYmRldi0+ZHJpdmVyLT5scnVfZW1wdHkpCisJCXJldHVybiBiZGV2LT5kcml2ZXItPmxy dV9lbXB0eShiZGV2LCBtZW1fdHlwZSk7CisKKwlyZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIGlu dCB0dG1fYm9fZm9yY2VfbGlzdF9jbGVhbihzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKIAkJ CQkgICB1bnNpZ25lZCBtZW1fdHlwZSkKIHsKQEAgLTEzMjMsMjEgKzEzNTIsMTggQEAgc3RhdGlj IGludCB0dG1fYm9fZm9yY2VfbGlzdF9jbGVhbihzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwK IAlzdHJ1Y3QgdHRtX2JvX2dsb2JhbCAqZ2xvYiA9IGJkZXYtPmdsb2I7CiAJc3RydWN0IGRtYV9m ZW5jZSAqZmVuY2U7CiAJaW50IHJldDsKLQl1bnNpZ25lZCBpOwogCiAJLyoKIAkgKiBDYW4ndCB1 c2Ugc3RhbmRhcmQgbGlzdCB0cmF2ZXJzYWwgc2luY2Ugd2UncmUgdW5sb2NraW5nLgogCSAqLwog CiAJc3Bpbl9sb2NrKCZnbG9iLT5scnVfbG9jayk7Ci0JZm9yIChpID0gMDsgaSA8IFRUTV9NQVhf Qk9fUFJJT1JJVFk7ICsraSkgewotCQl3aGlsZSAoIWxpc3RfZW1wdHkoJm1hbi0+bHJ1W2ldKSkg ewotCQkJc3Bpbl91bmxvY2soJmdsb2ItPmxydV9sb2NrKTsKLQkJCXJldCA9IHR0bV9tZW1fZXZp Y3RfZmlyc3QoYmRldiwgbWVtX3R5cGUsIE5VTEwsICZjdHgpOwotCQkJaWYgKHJldCkKLQkJCQly ZXR1cm4gcmV0OwotCQkJc3Bpbl9sb2NrKCZnbG9iLT5scnVfbG9jayk7Ci0JCX0KKwl3aGlsZSAo IXR0bV9scnVfZW1wdHkoYmRldiwgbWVtX3R5cGUpKSB7CisJCXNwaW5fdW5sb2NrKCZnbG9iLT5s cnVfbG9jayk7CisJCXJldCA9IHR0bV9tZW1fZXZpY3RfZmlyc3QoYmRldiwgbWVtX3R5cGUsIE5V TEwsICZjdHgpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwkJc3Bpbl9sb2NrKCZnbG9i LT5scnVfbG9jayk7CiAJfQogCXNwaW5fdW5sb2NrKCZnbG9iLT5scnVfbG9jayk7CiAKQEAgLTE1 MzMsOSArMTU1OSw5IEBAIGludCB0dG1fYm9fZGV2aWNlX3JlbGVhc2Uoc3RydWN0IHR0bV9ib19k ZXZpY2UgKmJkZXYpCiAJCXByX2RlYnVnKCJEZWxheWVkIGRlc3Ryb3kgbGlzdCB3YXMgY2xlYW5c biIpOwogCiAJc3Bpbl9sb2NrKCZnbG9iLT5scnVfbG9jayk7Ci0JZm9yIChpID0gMDsgaSA8IFRU TV9NQVhfQk9fUFJJT1JJVFk7ICsraSkKLQkJaWYgKGxpc3RfZW1wdHkoJmJkZXYtPm1hblswXS5s cnVbMF0pKQotCQkJcHJfZGVidWcoIlN3YXAgbGlzdCAlZCB3YXMgY2xlYW5cbiIsIGkpOworCWZv ciAoaSA9IDA7IGkgPCBUVE1fTlVNX01FTV9UWVBFUzsgKytpKQorCQlpZiAodHRtX2xydV9lbXB0 eShiZGV2LCBpKSkKKwkJCXByX2RlYnVnKCJscnUgbGlzdCAlZCB3YXMgY2xlYW5cbiIsIGkpOwog CXNwaW5fdW5sb2NrKCZnbG9iLT5scnVfbG9jayk7CiAKIAlkcm1fdm1hX29mZnNldF9tYW5hZ2Vy X2Rlc3Ryb3koJmJkZXYtPnZtYV9tYW5hZ2VyKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL3R0 bS90dG1fYm9fZHJpdmVyLmggYi9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oCmluZGV4 IDMyMzRjYzMyMmU3MC4uMjkzMzliMGEyZmQ2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS90dG0v dHRtX2JvX2RyaXZlci5oCisrKyBiL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmgKQEAg LTI4NCw2ICsyODQsNTIgQEAgc3RydWN0IHR0bV9ib19kcml2ZXIgewogCSAqLwogCWJvb2wgKCpl dmljdGlvbl92YWx1YWJsZSkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKIAkJCQkgIGNv bnN0IHN0cnVjdCB0dG1fcGxhY2UgKnBsYWNlKTsKKworCS8qKgorCSAqIHN0cnVjdCB0dG1fYm9f ZHJpdmVyIG1lbWJlciBnZXRfZXZpY3RhYmxlX2JvCisJICoKKwkgKiBAYmRldjogdGhlIGJ1ZmZl ciBvYmplY3QgZGV2aWNlLgorCSAqIEBtZW1fdHlwZTogbWVtb3J5IHR5cGUKKwkgKiBAcGxhY2U6 IHBsYWNlbWVudCB3ZSBuZWVkIHJvb20gZm9yCisJICogQGN0eDogY29udGV4dCBmb3IgdGhpcyBl dmljdCB3aXRoIHBhcmFtZXRlcnMKKwkgKiBAbG9ja2VkOiByZXR1cm4gaWYgdGhlIGV2aWN0YWJs ZSBibyBpcyBhbHJlYWR5IGxvY2tlZC4KKwkgKgorCSAqIHJldHVybiBhbiBldmljdGFibGUgYm8g Zm9yIGV2aWN0aW5nLgorCSAqLworCXN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqKCpnZXRfZXZp Y3RhYmxlX2JvKShzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKKwkJCQkJCSAgICAgIHVpbnQz Ml90IG1lbV90eXBlLAorCQkJCQkJICAgICAgY29uc3Qgc3RydWN0IHR0bV9wbGFjZSAqcGxhY2Us CisJCQkJCQkgICAgICBzdHJ1Y3QgdHRtX29wZXJhdGlvbl9jdHggKmN0eCwKKwkJCQkJCSAgICAg IGJvb2wgKmxvY2tlZCk7CisKKwkvKioKKwkgKiBzdHJ1Y3QgdHRtX2JvX2RyaXZlciBtZW1iZXIg YWRkX3RvX2xydQorCSAqCisJICogQGJvOiB0aGUgYnVmZmVyIG9iamVjdCB0byBiZSBhZGQKKwkg KgorCSAqIGFkZCBibyB0byBkcml2ZXIgc3BlY2lmaWMgbHJ1CisJICovCisJdm9pZCAoKmFkZF90 b19scnUpKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8pOworCisJLyoqCisJICogc3RydWN0 IHR0bV9ib19kcml2ZXIgbWVtYmVyIGRlbF9mcm9tX2xydQorCSAqCisJICogQGJvOiB0aGUgYnVm ZmVyIG9iamVjdCB0byBiZSBhZGQKKwkgKgorCSAqIGRlbGV0ZSBibyBmcm9tIGRyaXZlciBzcGVj aWZpYyBscnUKKwkgKi8KKwl2b2lkICgqZGVsX2Zyb21fbHJ1KShzdHJ1Y3QgdHRtX2J1ZmZlcl9v YmplY3QgKmJvKTsKKworCS8qKgorCSAqIHN0cnVjdCB0dG1fYm9fZHJpdmVyIG1lbWJlciBtb3Zl X3RvX2xydV90YWlsCisJICoKKwkgKiBAYm86IHRoZSBidWZmZXIgb2JqZWN0IHRvIGJlIGFkZAor CSAqCisJICogbW92ZSB0byBkcml2ZXIgc3BlY2lmaWMgbHJ1IHRhaWwKKwkgKi8KKwl2b2lkICgq bW92ZV90b19scnVfdGFpbCkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibyk7CisKKwlib29s ICgqbHJ1X2VtcHR5KShzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwgdW5zaWduZWQgbWVtX3R5 cGUpOwogCS8qKgogCSAqIHN0cnVjdCB0dG1fYm9fZHJpdmVyIG1lbWJlciBldmljdF9mbGFnczoK IAkgKgpAQCAtNzYwLDYgKzgwNiw5IEBAIGludCB0dG1fbWVtX2lvX3Jlc2VydmUoc3RydWN0IHR0 bV9ib19kZXZpY2UgKmJkZXYsCiAJCSAgICAgICBzdHJ1Y3QgdHRtX21lbV9yZWcgKm1lbSk7CiB2 b2lkIHR0bV9tZW1faW9fZnJlZShzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKIAkJICAgICBz dHJ1Y3QgdHRtX21lbV9yZWcgKm1lbSk7Citib29sIHR0bV9ib19ldmljdF9zd2Fwb3V0X2FsbG93 YWJsZShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAorCQkJCSAgICBzdHJ1Y3QgdHRtX29w ZXJhdGlvbl9jdHggKmN0eCwKKwkJCQkgICAgYm9vbCAqbG9ja2VkKTsKIC8qKgogICogdHRtX2Jv X21vdmVfdHRtCiAgKgotLSAKMi4xNC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2FtZC1nZngK