From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhi Wang Subject: [RFC 02/29] drm/i915: Introduce host graphics memory balloon for gvt Date: Thu, 28 Jan 2016 18:21:24 +0800 Message-ID: <1453976511-27322-3-git-send-email-zhi.a.wang@intel.com> References: <1453976511-27322-1-git-send-email-zhi.a.wang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 01BA76E7EC for ; Thu, 28 Jan 2016 02:23:46 -0800 (PST) In-Reply-To: <1453976511-27322-1-git-send-email-zhi.a.wang@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, igvt-g@lists.01.org Cc: daniel.vetter@ffwll.ch, david.j.cowperthwaite@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQmluZyBOaXUgPGJpbmcubml1QGludGVsLmNvbT4KClRoaXMgcGF0Y2ggaW50cm9kdWNl cyBob3N0IGdyYXBoaWNzIG1lbW9yeSBiYWxsb24gd2hlbiBHVlQtZyBpcyBlbmFibGVkLgoKQXMg dW5kZXIgR1ZULWcsIGk5MTUgb25seSBvd25lZCBsaW1pdGVkIGdyYXBoaWNzIHJlc291cmNlcywg b3RoZXJzIGFyZQptYW5hZ2VkIGJ5IEdWVC1nIHJlc291cmNlIGFsbG9jYXRvciBhbmQga2VwdCBm b3Igb3RoZXIgdkdQVXMuCgpGb3IgZ3JhcGhpY3MgbWVtb3J5IHNwYWNlIHBhcnRpdGlvbiwgYSB0 eXBpY2FsIGxheW91dCBsb29rcyBsaWtlOgoKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8KiBIb3N0IHwgICAqR1ZULWcgUmVz b3VyY2UgICAgIHwqIEhvc3R8ICAgKkdWVC1nIFJlc291cmNlICAgICB8CnwgT3duZWQgfCAgIEFs bG9jYXRvciBNYW5hZ2VkICAgfCBPd25lZHwgICBBbGxvY2F0b3IgTWFuYWdlZCAgIHwKfCAgICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg fAorLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t Ky0tLS0tLS0rCnwgICAgICAgfCAgICAgICB8ICAgICAgIHwgICAgICAgfCAgICAgIHwgICAgICAg fCAgICAgICB8ICAgICAgIHwKfCBpOTE1ICB8IHZtIDEgIHwgdm0gMiAgfCB2bSAzICB8IGk5MTUg fCB2bSAxICB8IHZtIDIgIHwgdm0gMyAgfAp8ICAgICAgIHwgICAgICAgfCAgICAgICB8ICAgICAg IHwgICAgICB8ICAgICAgIHwgICAgICAgfCAgICAgICB8CistLS0tLS0tKy0tLS0tLS0rLS0tLS0t LSstLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsKfCAgICAgICAgICAgQXBl cnR1cmUgICAgICAgICAgICB8ICAgICAgICAgICAgSGlkZGVuICAgICAgICAgICAgfAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r CnwgICAgICAgICAgICAgICAgICAgICAgIEdHVFQgbWVtb3J5IHNwYWNlICAgICAgICAgICAgICAg ICAgICAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKwoKU2ltaWxhciB3aXRoIGZlbmNlIHJlZ2lzdGVycyBwYXJ0aXRpb246 CgogKy0tLS0tLSArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8ICogSG9zdHwgICAgR1ZULWcg UmVzb3VyY2UgICAgIHwKIHwgT3duZWQgfCAgIEFsbG9jYXRvciBNYW5hZ2VkICAgKwogMCAgICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAzMQogKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0t LS0tLS0rCiB8ICAgICAgIHwgICAgICAgfCAgICAgICB8ICAgICAgIHwKIHwgaTkxNSAgfCB2bSAx ICB8IHZtIDIgIHwgdm0gMyAgfAogfCAgICAgICB8ICAgICAgIHwgICAgICAgfCAgICAgICB8CiAr LS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsKCmk5MTUgaG9zdCB3aWxsIHJlYWQgdGhl IGFtb3VudCBvZiBhbGxvY2F0ZWQgcmVzb3VyY2VzIHZpYSBHVlQtZyBrZXJuZWwgcGFyYW1ldGVy cy4KClNpZ25lZC1vZmYtYnk6IEJpbmcgTml1IDxiaW5nLm5pdUBpbnRlbC5jb20+ClNpZ25lZC1v ZmYtYnk6IFpoaSBXYW5nIDx6aGkuYS53YW5nQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9ndnQvcGFyYW1zLmggICB8ICAzICsrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYyAgICAgfCAgMyArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5j IHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmMgICAgfCAxNiArKysr KysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuaCAgICB8ICAxICsK IDUgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvcGFyYW1zLmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndnQvcGFyYW1zLmgKaW5kZXggZDI5NTViOS4uMDY1NmE5OCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3BhcmFtcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d2dC9wYXJhbXMuaApAQCAtMjcsNiArMjcsOSBAQAogc3RydWN0IGd2dF9rZXJuZWxfcGFy YW1zIHsKIAlib29sIGVuYWJsZTsKIAlpbnQgZGVidWc7CisJaW50IGRvbTBfbG93X2dtX3N6Owor CWludCBkb20wX2hpZ2hfZ21fc3o7CisJaW50IGRvbTBfZmVuY2Vfc3o7CiB9OwogCiBleHRlcm4g c3RydWN0IGd2dF9rZXJuZWxfcGFyYW1zIGd2dDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4 IDc5OWE1M2EuLmU5MTZlNDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtNTA4MCw2ICs1 MDgwLDkgQEAgaTkxNV9nZW1fbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWVsc2UKIAkJ ZGV2X3ByaXYtPm51bV9mZW5jZV9yZWdzID0gODsKIAorCWlmKGludGVsX2d2dF9ob3N0X2FjdGl2 ZShkZXYpKQorCQlkZXZfcHJpdi0+bnVtX2ZlbmNlX3JlZ3MgPSBndnQuZG9tMF9mZW5jZV9zejsK KwogCWlmIChpbnRlbF92Z3B1X2FjdGl2ZShkZXYpKQogCQlkZXZfcHJpdi0+bnVtX2ZlbmNlX3Jl Z3MgPQogCQkJCUk5MTVfUkVBRCh2Z3RpZl9yZWcoYXZhaWxfcnMuZmVuY2VfbnVtKSk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCmluZGV4IDczNzdiNjcuLjA1NDBkZTIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC0yNzEzLDcgKzI3MTMsNyBAQCBzdGF0aWMgaW50 IGk5MTVfZ2VtX3NldHVwX2dsb2JhbF9ndHQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlpOTE1 X2FkZHJlc3Nfc3BhY2VfaW5pdChnZ3R0X3ZtLCBkZXZfcHJpdik7CiAJZ2d0dF92bS0+dG90YWwg Kz0gUEFHRV9TSVpFOwogCi0JaWYgKGludGVsX3ZncHVfYWN0aXZlKGRldikpIHsKKwlpZiAoaW50 ZWxfdmdwdV9hY3RpdmUoZGV2KSB8fCBpbnRlbF9ndnRfaG9zdF9hY3RpdmUoZGV2KSkgewogCQly ZXQgPSBpbnRlbF92Z3RfYmFsbG9vbihkZXYpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsK QEAgLTI4MTAsNyArMjgxMCw3IEBAIHZvaWQgaTkxNV9nbG9iYWxfZ3R0X2NsZWFudXAoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKIAl9CiAKIAlpZiAoZHJtX21tX2luaXRpYWxpemVkKCZ2bS0+bW0p KSB7Ci0JCWlmIChpbnRlbF92Z3B1X2FjdGl2ZShkZXYpKQorCQlpZiAoaW50ZWxfdmdwdV9hY3Rp dmUoZGV2KSB8fCBpbnRlbF9ndnRfaG9zdF9hY3RpdmUoZGV2KSkKIAkJCWludGVsX3ZndF9kZWJh bGxvb24oKTsKIAogCQlkcm1fbW1fdGFrZWRvd24oJnZtLT5tbSk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf dmdwdS5jCmluZGV4IGRlYTc0MjkuLmZiZTYxMTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfdmdwdS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5j CkBAIC0xODgsMTAgKzE4OCwxOCBAQCBpbnQgaW50ZWxfdmd0X2JhbGxvb24oc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIAl1bnNpZ25lZCBsb25nIHVubWFwcGFibGVfYmFzZSwgdW5tYXBwYWJsZV9z aXplLCB1bm1hcHBhYmxlX2VuZDsKIAlpbnQgcmV0OwogCi0JbWFwcGFibGVfYmFzZSA9IEk5MTVf UkVBRCh2Z3RpZl9yZWcoYXZhaWxfcnMubWFwcGFibGVfZ21hZHIuYmFzZSkpOwotCW1hcHBhYmxl X3NpemUgPSBJOTE1X1JFQUQodmd0aWZfcmVnKGF2YWlsX3JzLm1hcHBhYmxlX2dtYWRyLnNpemUp KTsKLQl1bm1hcHBhYmxlX2Jhc2UgPSBJOTE1X1JFQUQodmd0aWZfcmVnKGF2YWlsX3JzLm5vbm1h cHBhYmxlX2dtYWRyLmJhc2UpKTsKLQl1bm1hcHBhYmxlX3NpemUgPSBJOTE1X1JFQUQodmd0aWZf cmVnKGF2YWlsX3JzLm5vbm1hcHBhYmxlX2dtYWRyLnNpemUpKTsKKwlpZihpbnRlbF9ndnRfaG9z dF9hY3RpdmUoZGV2KSkgeworCQltYXBwYWJsZV9iYXNlID0gMDsKKwkJbWFwcGFibGVfc2l6ZSA9 IGd2dC5kb20wX2xvd19nbV9zeiA8PCAyMDsKKwkJdW5tYXBwYWJsZV9iYXNlID0gZGV2X3ByaXYt Pmd0dC5tYXBwYWJsZV9lbmQ7CisJCXVubWFwcGFibGVfc2l6ZSA9IGd2dC5kb20wX2hpZ2hfZ21f c3ogPDwgMjA7CisJfSBlbHNlIGlmIChpbnRlbF92Z3B1X2FjdGl2ZShkZXYpKSB7CisJCW1hcHBh YmxlX2Jhc2UgPSBJOTE1X1JFQUQodmd0aWZfcmVnKGF2YWlsX3JzLm1hcHBhYmxlX2dtYWRyLmJh c2UpKTsKKwkJbWFwcGFibGVfc2l6ZSA9IEk5MTVfUkVBRCh2Z3RpZl9yZWcoYXZhaWxfcnMubWFw cGFibGVfZ21hZHIuc2l6ZSkpOworCQl1bm1hcHBhYmxlX2Jhc2UgPSBJOTE1X1JFQUQodmd0aWZf cmVnKGF2YWlsX3JzLm5vbm1hcHBhYmxlX2dtYWRyLmJhc2UpKTsKKwkJdW5tYXBwYWJsZV9zaXpl ID0gSTkxNV9SRUFEKHZndGlmX3JlZyhhdmFpbF9ycy5ub25tYXBwYWJsZV9nbWFkci5zaXplKSk7 CisJfSBlbHNlCisJCXJldHVybiAtRU5PREVWOwogCiAJbWFwcGFibGVfZW5kID0gbWFwcGFibGVf YmFzZSArIG1hcHBhYmxlX3NpemU7CiAJdW5tYXBwYWJsZV9lbmQgPSB1bm1hcHBhYmxlX2Jhc2Ug KyB1bm1hcHBhYmxlX3NpemU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3ZncHUuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oCmluZGV4IDk0MjQ5MGEu LmI4YTQ5ZTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oCkBAIC0yNCw2ICsyNCw3IEBACiAj aWZuZGVmIF9JOTE1X1ZHUFVfSF8KICNkZWZpbmUgX0k5MTVfVkdQVV9IXwogCisjaW5jbHVkZSAi Z3Z0L3BhcmFtcy5oIgogLyogVGhlIE1NSU8gb2Zmc2V0IG9mIHRoZSBzaGFyZWQgaW5mbyBiZXR3 ZWVuIGd1ZXN0IGFuZCBob3N0IGVtdWxhdG9yICovCiAjZGVmaW5lIFZHVF9QVklORk9fUEFHRQkw eDc4MDAwCiAjZGVmaW5lIFZHVF9QVklORk9fU0laRQkweDEwMDAKLS0gCjEuOS4xCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=