From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: [PATCH 27/62] drm/i915/bdw: Implement PPGTT enable Date: Sat, 2 Nov 2013 21:07:25 -0700 Message-ID: <1383451680-11173-28-git-send-email-benjamin.widawsky@intel.com> References: <1383451680-11173-1-git-send-email-benjamin.widawsky@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id CEFF9EDE8B for ; Sat, 2 Nov 2013 21:08:16 -0700 (PDT) In-Reply-To: <1383451680-11173-1-git-send-email-benjamin.widawsky@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: Intel GFX Cc: Daniel Vetter , Ben Widawsky , Ben Widawsky List-Id: intel-gfx@lists.freedesktop.org TGVnYWN5IFBQR1RUIG9uIEdFTjggcmVxdWlyZXMgcHJvZ3JhbW1pbmcgNCBQRFAgcmVnaXN0ZXJz IHBlciByaW5nLgpTaW5jZSBhbGwgcmluZ3MgYXJlIHVzaW5nIHRoZSBzYW1lIGFkZHJlc3Mgc3Bh Y2Ugd2l0aCB0aGUgY3VycmVudCBjb2RlCnRoZSBsb2dpYyBpcyBzaW1wbHkgdG8gcHJvZ3JhbSBh bGwgdGhlIHRhYmxlcyB3ZSd2ZSBzZXR1cCBmb3IgdGhlIFBQR1RULgoKdjI6IFR1cm4gb24gUFBH VFQgaW4gR0ZYX01PREUKCnYzOiB2MiB3YXMgdGhlIHdyb25nIHBhdGNoCgp2NDogUmVzb2x2ZSBj b25mbGljdHMgZHVlIHRvIHBhdGNoIHNlcmllcyByZW9yZGVyaW5nLgoKdjU6IFNxdWFzaCBpbiBm aXh1cCBmcm9tIEJlbjogVXNlIExSSSB0byB3cml0ZSBQRFBzCgpUaGUgZG9jcyAoYW5kIHNpbXVs YXRvciBzZWVtcyB0byBiYWNrIHVwKSBzdWdnZXN0IHRoYXQgd2UgY2FuIG9ubHkKcHJvZ3JhbSBs ZWdhY3kgUFBHVFQgUERQcyB3aXRoIExSSSBjb21tYW5kcy4KCnY0OiBSZWJhc2UgYXJvdW5kIGNv bnRleHQgZGlmZmVyZW5jZXMgY29uZmxpY3RzLgoKQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUu c3lyamFsYUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEJlbiBXaWRhd3NreSA8YmVu QGJ3aWRhd3NrLm5ldD4gKHYzKQpSZXZpZXdlZC1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50 ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xs LmNoPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIHwgNTAgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDUwIGluc2Vy dGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCmluZGV4IDI3ZTE1N2QuLjA3 ODkyZTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC0xOTUsNiArMTk1LDU1 IEBAIHN0YXRpYyBnZW42X2d0dF9wdGVfdCBpcmlzX3B0ZV9lbmNvZGUoZG1hX2FkZHJfdCBhZGRy LAogCXJldHVybiBwdGU7CiB9CiAKKy8qIEJyb2Fkd2VsbCBQYWdlIERpcmVjdG9yeSBQb2ludGVy IERlc2NyaXB0b3JzICovCitzdGF0aWMgaW50IGdlbjhfd3JpdGVfcGRwKHN0cnVjdCBpbnRlbF9y aW5nX2J1ZmZlciAqcmluZywgdW5zaWduZWQgZW50cnksCisJCQkgICB1aW50NjRfdCB2YWwpCit7 CisJaW50IHJldDsKKworCUJVR19PTihlbnRyeSA+PSA0KTsKKworCXJldCA9IGludGVsX3Jpbmdf YmVnaW4ocmluZywgNik7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCWludGVsX3Jpbmdf ZW1pdChyaW5nLCBNSV9MT0FEX1JFR0lTVEVSX0lNTSgxKSk7CisJaW50ZWxfcmluZ19lbWl0KHJp bmcsIHJpbmctPm1taW9fYmFzZSArIDB4MjcwICsgKGVudHJ5ICogOCkgKyA0KTsKKwlpbnRlbF9y aW5nX2VtaXQocmluZywgKHUzMikodmFsID4+IDMyKSk7CisJaW50ZWxfcmluZ19lbWl0KHJpbmcs IE1JX0xPQURfUkVHSVNURVJfSU1NKDEpKTsKKwlpbnRlbF9yaW5nX2VtaXQocmluZywgcmluZy0+ bW1pb19iYXNlICsgMHgyNzAgKyAoZW50cnkgKiA4KSk7CisJaW50ZWxfcmluZ19lbWl0KHJpbmcs ICh1MzIpKHZhbCkpOworCWludGVsX3JpbmdfYWR2YW5jZShyaW5nKTsKKworCXJldHVybiAwOwor fQorCitzdGF0aWMgaW50IGdlbjhfcHBndHRfZW5hYmxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cit7CisJZHJtX2k5MTVfcHJpdmF0ZV90ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJ c3RydWN0IGludGVsX3JpbmdfYnVmZmVyICpyaW5nOworCXN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpw cGd0dCA9IGRldl9wcml2LT5tbS5hbGlhc2luZ19wcGd0dDsKKwlpbnQgaSwgaiwgcmV0OworCisJ LyogYml0IG9mIGEgaGFjayB0byBmaW5kIHRoZSBhY3R1YWwgbGFzdCB1c2VkIHBkICovCisJaW50 IHVzZWRfcGQgPSBwcGd0dC0+bnVtX3BkX2VudHJpZXMgLyBHRU44X1BERVNfUEVSX1BBR0U7CisK Kwlmb3JfZWFjaF9yaW5nKHJpbmcsIGRldl9wcml2LCBqKSB7CisJCUk5MTVfV1JJVEUoUklOR19N T0RFX0dFTjcocmluZyksCisJCQkgICBfTUFTS0VEX0JJVF9FTkFCTEUoR0ZYX1BQR1RUX0VOQUJM RSkpOworCX0KKworCWZvciAoaSA9IHVzZWRfcGQgLSAxOyBpID49IDA7IGktLSkgeworCQlkbWFf YWRkcl90IGFkZHIgPSBwcGd0dC0+cGRfZG1hX2FkZHJbaV07CisJCWZvcl9lYWNoX3Jpbmcocmlu ZywgZGV2X3ByaXYsIGopIHsKKwkJCXJldCA9IGdlbjhfd3JpdGVfcGRwKHJpbmcsIGksIGFkZHIp OworCQkJaWYgKHJldCkKKwkJCQlyZXR1cm4gcmV0OworCQl9CisJfQorCXJldHVybiAwOworfQor CiBzdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2NsZWFyX3JhbmdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nf c3BhY2UgKnZtLAogCQkJCSAgIHVuc2lnbmVkIGZpcnN0X2VudHJ5LAogCQkJCSAgIHVuc2lnbmVk IG51bV9lbnRyaWVzLApAQCAtMzI2LDYgKzM3NSw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9wcGd0dF9p bml0KHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCwgdWludDY0X3Qgc2l6ZSkKIAlwcGd0dC0+ bnVtX3BkX3BhZ2VzID0gMSA8PCBnZXRfb3JkZXIobWF4X3BkcCA8PCBQQUdFX1NISUZUKTsKIAlw cGd0dC0+bnVtX3B0X3BhZ2VzID0gMSA8PCBnZXRfb3JkZXIobnVtX3B0X3BhZ2VzIDw8IFBBR0Vf U0hJRlQpOwogCXBwZ3R0LT5udW1fcGRfZW50cmllcyA9IG1heF9wZHAgKiBHRU44X1BERVNfUEVS X1BBR0U7CisJcHBndHQtPmVuYWJsZSA9IGdlbjhfcHBndHRfZW5hYmxlOwogCXBwZ3R0LT5iYXNl LmNsZWFyX3JhbmdlID0gZ2VuOF9wcGd0dF9jbGVhcl9yYW5nZTsKIAlwcGd0dC0+YmFzZS5pbnNl cnRfZW50cmllcyA9IGdlbjhfcHBndHRfaW5zZXJ0X2VudHJpZXM7CiAJcHBndHQtPmJhc2UuY2xl YW51cCA9IGdlbjhfcHBndHRfY2xlYW51cDsKLS0gCjEuOC40LjIKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==