From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 06/13] drm/amdgpu: add amdgpu lru implementation Date: Wed, 9 May 2018 14:45:36 +0800 Message-ID: <20180509064543.15937-7-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@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org Cc: Jerry.Zhang@amd.com, ckoenig.leichtzumerken@gmail.com, Kai.Guo@amd.com List-Id: amd-gfx.lists.freedesktop.org Q2hhbmdlLUlkOiBJMDIzZDNkZDMxNGU0OWJjOWIxNjQ5NDY4YTgyZWNjYTYwNDNlNDMxNwpTaWdu ZWQtb2ZmLWJ5OiBDaHVubWluZyBaaG91IDxkYXZpZDEuemhvdUBhbWQuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jIHwgNTkgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKykKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jCmluZGV4IDcyZmYyZDljODY4Ni4uMjdiM2Zk YjZkZDQ2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0u YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwpAQCAtMTYzLDEx ICsxNjMsNzAgQEAgc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICphbWRncHVfdm1fZ2V0X2V2aWN0 YWJsZV9ibyhzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKIAkJCQkJCSAgICAgc3RydWN0IHR0 bV9vcGVyYXRpb25fY3R4ICpjdHgsCiAJCQkJCQkgICAgIGJvb2wgKmxvY2tlZCkKIHsKKwlzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGFtZGdwdV90dG1fYWRldihiZGV2KTsKKwlzdHJ1Y3Qg dHRtX2J1ZmZlcl9vYmplY3QgKmJvID0gTlVMTDsKKwlzdHJ1Y3QgYW1kZ3B1X3ZtX2xydSAqdm1f bHJ1OworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IFRUTV9NQVhfQk9fUFJJT1JJVFk7ICsr aSkgeworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtX2xydSwgJmFkZXYtPnZtX2xydV9saXN0LCB2 bV9scnVfbGlzdCkgeworCQkJbGlzdF9mb3JfZWFjaF9lbnRyeShibywgJnZtX2xydS0+ZHluYW1p Y19scnVbbWVtX3R5cGVdW2ldLCBscnUpIHsKKwkJCQlpZiAoIXR0bV9ib19ldmljdF9zd2Fwb3V0 X2FsbG93YWJsZShibywgY3R4LCBsb2NrZWQpKQorCQkJCQljb250aW51ZTsKKwkJCQlpZiAocGxh Y2UgJiYgIWJkZXYtPmRyaXZlci0+ZXZpY3Rpb25fdmFsdWFibGUoYm8sIHBsYWNlKSkgeworCQkJ CQlpZiAobG9ja2VkKQorCQkJCQkJcmVzZXJ2YXRpb25fb2JqZWN0X3VubG9jayhiby0+cmVzdik7 CisJCQkJCWNvbnRpbnVlOworCQkJCX0KKwkJCQlicmVhazsKKwkJCX0KKwkJCS8qIElmIHRoZSBp bm5lciBsb29wIHRlcm1pbmF0ZWQgZWFybHksIHdlIGhhdmUgb3VyIGNhbmRpZGF0ZSAqLworCQkJ aWYgKCZiby0+bHJ1ICE9ICZ2bV9scnUtPmR5bmFtaWNfbHJ1W21lbV90eXBlXVtpXSkKKwkJCQli cmVhazsKKwkJCWJvID0gTlVMTDsKKwkJCWxpc3RfZm9yX2VhY2hfZW50cnkoYm8sICZ2bV9scnUt PmZpeGVkX2xydVttZW1fdHlwZV1baV0sIGxydSkgeworCQkJCWlmICghdHRtX2JvX2V2aWN0X3N3 YXBvdXRfYWxsb3dhYmxlKGJvLCBjdHgsIGxvY2tlZCkpCisJCQkJCWNvbnRpbnVlOworCQkJCWlm IChwbGFjZSAmJiAhYmRldi0+ZHJpdmVyLT5ldmljdGlvbl92YWx1YWJsZShibywgcGxhY2UpKSB7 CisJCQkJCWlmIChsb2NrZWQpCisJCQkJCQlyZXNlcnZhdGlvbl9vYmplY3RfdW5sb2NrKGJvLT5y ZXN2KTsKKwkJCQkJY29udGludWU7CisJCQkJfQorCQkJCWJyZWFrOworCQkJfQorCQkJLyogSWYg dGhlIGlubmVyIGxvb3AgdGVybWluYXRlZCBlYXJseSwgd2UgaGF2ZSBvdXIgY2FuZGlkYXRlICov CisJCQlpZiAoJmJvLT5scnUgIT0gJnZtX2xydS0+Zml4ZWRfbHJ1W21lbV90eXBlXVtpXSkKKwkJ CQlicmVhazsKKwkJCWJvID0gTlVMTDsKKwkJfQorCQlpZiAoYm8pCisJCQlicmVhazsKKwl9CisK KwlyZXR1cm4gYm87CiAKIH0KIAogdm9pZCBhbWRncHVfdm1fYWRkX3RvX2xydShzdHJ1Y3QgdHRt X2J1ZmZlcl9vYmplY3QgKmJvKQogeworCXN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2ID0gYm8t PmJkZXY7CisJc3RydWN0IGFtZGdwdV9ibyAqYWJvID0gdHRtX3RvX2FtZGdwdV9ibyhibyk7CisJ c3RydWN0IGFtZGdwdV92bV9scnUgKnZtX2xydSA9IGFiby0+dm1fbHJ1OworCisJaWYgKCEoYm8t Pm1lbS5wbGFjZW1lbnQgJiBUVE1fUExfRkxBR19OT19FVklDVCkpIHsKKwkJaWYgKGJvLT5yZXN2 ID09IHZtX2xydS0+cmVzdikKKwkJCWxpc3RfYWRkX3RhaWwoJmJvLT5scnUsICZ2bV9scnUtPmZp eGVkX2xydVtiby0+bWVtLm1lbV90eXBlXVtiby0+cHJpb3JpdHldKTsKKwkJZWxzZQorCQkJbGlz dF9hZGRfdGFpbCgmYm8tPmxydSwgJnZtX2xydS0+ZHluYW1pY19scnVbYm8tPm1lbS5tZW1fdHlw ZV1bYm8tPnByaW9yaXR5XSk7CisJCWtyZWZfZ2V0KCZiby0+bGlzdF9rcmVmKTsKKworCQlpZiAo Ym8tPnR0bSAmJiAhKGJvLT50dG0tPnBhZ2VfZmxhZ3MgJgorCQkJCSAoVFRNX1BBR0VfRkxBR19T RyB8IFRUTV9QQUdFX0ZMQUdfU1dBUFBFRCkpKSB7CisJCQlsaXN0X2FkZF90YWlsKCZiby0+c3dh cCwKKwkJCQkgICAgICAmYmRldi0+Z2xvYi0+c3dhcF9scnVbYm8tPnByaW9yaXR5XSk7CisJCQlr cmVmX2dldCgmYm8tPmxpc3Rfa3JlZik7CisJCX0KKwl9CiAKIH0KIAotLSAKMi4xNC4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK