From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH 2/3] drm/msm: add support for "stolen" mem Date: Tue, 3 Mar 2015 15:04:25 -0500 Message-ID: <1425413066-20757-2-git-send-email-robdclark@gmail.com> References: <1425413066-20757-1-git-send-email-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qg0-f48.google.com (mail-qg0-f48.google.com [209.85.192.48]) by gabe.freedesktop.org (Postfix) with ESMTP id A2E726E252 for ; Tue, 3 Mar 2015 12:04:35 -0800 (PST) Received: by mail-qg0-f48.google.com with SMTP id q107so21424794qgd.7 for ; Tue, 03 Mar 2015 12:04:35 -0800 (PST) In-Reply-To: <1425413066-20757-1-git-send-email-robdclark@gmail.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 Cc: linux-arm-msm@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org QWRkIHN1cHBvcnQgdG8gdXNlIHRoZSBWUkFNIGNhcnZlb3V0IChpZiBzcGVjaWZpZWQgaW4gZHRi KSBmb3IgZmJkZXYKc2Nhbm91dCBidWZmZXIuICBUaGlzIGFsbG93cyBkcm0vbXNtIHRvIHRha2Ug b3ZlciBhIGJvb3Rsb2FkZXIgc3BsYXNoLQpzY3JlZW4sIGFuZCBhdm9pZHMgY29ycnVwdGlvbiBv biBzY3JlZW4gdGhhdCByZXN1bHRzIGlmIHRoZSBrZXJuZWwgdXNlcwptZW1vcnkgdGhhdCBpcyBz dGlsbCBiZWluZyBzY2FubmVkIG91dCBmb3IgaXRzZWxmLgoKU2lnbmVkLW9mZi1ieTogUm9iIENs YXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Ry di5jICAgfCA0NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogZHJp dmVycy9ncHUvZHJtL21zbS9tc21fZmJkZXYuYyB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL21z bS9tc21fZ2VtLmMgICB8IDI1ICsrKysrKysrKysrKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vbXNtL21zbV9nZW0uaCAgIHwgIDUgKysrKy0KIDQgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0 aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9tc21fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwppbmRleCBiMjUwNjEw Li4wYzM4ZjM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwpAQCAtMTgyLDIxICsxODIsNTcgQEAgc3Rh dGljIGludCBnZXRfbWRwX3ZlcihzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCXJldHVy biA0OwogfQogCisjaW5jbHVkZSA8bGludXgvb2ZfYWRkcmVzcy5oPgorCiBzdGF0aWMgaW50IG1z bV9pbml0X3ZyYW0oc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgbXNtX2RybV9w cml2YXRlICpwcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwl1bnNpZ25lZCBsb25nIHNpemUgPSAw OworCWludCByZXQgPSAwOworCisjaWZkZWYgQ09ORklHX09GCisJLyogSW4gdGhlIGRldmljZS10 cmVlIHdvcmxkLCB3ZSBjb3VsZCBoYXZlIGEgJ21lbW9yeS1yZWdpb24nCisJICogcGhhbmRsZSwg d2hpY2ggZ2l2ZXMgdXMgYSBsaW5rIHRvIG91ciAidnJhbSIuICBBbGxvY2F0aW5nCisJICogaXMg YWxsIG5pY2VseSBhYnN0cmFjdGVkIGJlaGluZCB0aGUgZG1hIGFwaSwgYnV0IHdlIG5lZWQKKwkg KiB0byBrbm93IHRoZSBlbnRpcmUgc2l6ZSB0byBhbGxvY2F0ZSBpdCBhbGwgaW4gb25lIGdvLiBU aGVyZQorCSAqIGFyZSB0d28gY2FzZXM6CisJICogIDEpIGRldmljZSB3aXRoIG5vIElPTU1VLCBp biB3aGljaCBjYXNlIHdlIG5lZWQgZXhjbHVzaXZlCisJICogICAgIGFjY2VzcyB0byBhIFZSQU0g Y2FydmVvdXQgYmlnIGVub3VnaCBmb3IgYWxsIGdwdQorCSAqICAgICBidWZmZXJzCisJICogIDIp IGRldmljZSB3aXRoIElPTU1VLCBidXQgd2hlcmUgdGhlIGJvb3Rsb2FkZXIgcHV0cyB1cAorCSAq ICAgICBhIHNwbGFzaCBzY3JlZW4uICBJbiB0aGlzIGNhc2UsIHRoZSBWUkFNIGNhcnZlb3V0CisJ ICogICAgIG5lZWQgb25seSBiZSBsYXJnZSBlbm91Z2ggZm9yIGZiZGV2IGZiLiAgQnV0IHdlIG5l ZWQKKwkgKiAgICAgZXhjbHVzaXZlIGFjY2VzcyB0byB0aGUgYnVmZmVyIHRvIGF2b2lkIHRoZSBr ZXJuZWwKKwkgKiAgICAgdXNpbmcgdGhvc2UgcGFnZXMgZm9yIG90aGVyIHB1cnBvc2VzICh3aGlj aCBhcHBlYXJzCisJICogICAgIGFzIGNvcnJ1cHRpb24gb24gc2NyZWVuIGJlZm9yZSB3ZSBoYXZl IGEgY2hhbmNlIHRvCisJICogICAgIGxvYWQgYW5kIGRvIGluaXRpYWwgbW9kZXNldCkKKwkgKi8K KwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGU7CisKKwlub2RlID0gb2ZfcGFyc2VfcGhhbmRsZShk ZXYtPmRldi0+b2Zfbm9kZSwgIm1lbW9yeS1yZWdpb24iLCAwKTsKKwlpZiAobm9kZSkgeworCQlz dHJ1Y3QgcmVzb3VyY2UgcjsKKwkJcmV0ID0gb2ZfYWRkcmVzc190b19yZXNvdXJjZShub2RlLCAw LCAmcik7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCQlzaXplID0gci5lbmQgLSByLnN0 YXJ0OworCQlEUk1fSU5GTygidXNpbmcgVlJBTSBjYXJ2ZW91dDogJWx4QCUwOHhcbiIsIHNpemUs IHIuc3RhcnQpOworCX0gZWxzZQorI2VuZGlmCiAKIAkvKiBpZiB3ZSBoYXZlIG5vIElPTU1VLCB0 aGVuIHdlIG5lZWQgdG8gdXNlIGNhcnZlb3V0IGFsbG9jYXRvci4KIAkgKiBHcmFiIHRoZSBlbnRp cmUgQ01BIGNodW5rIGNhcnZlZCBvdXQgaW4gZWFybHkgc3RhcnR1cCBpbgogCSAqIG1hY2gtbXNt OgogCSAqLwogCWlmICghaW9tbXVfcHJlc2VudCgmcGxhdGZvcm1fYnVzX3R5cGUpKSB7CisJCURS TV9JTkZPKCJ1c2luZyAlcyBWUkFNIGNhcnZlb3V0XG4iLCB2cmFtKTsKKwkJc2l6ZSA9IG1lbXBh cnNlKHZyYW0sIE5VTEwpOworCX0KKworCWlmIChzaXplKSB7CiAJCURFRklORV9ETUFfQVRUUlMo YXR0cnMpOwotCQl1bnNpZ25lZCBsb25nIHNpemU7CiAJCXZvaWQgKnA7CiAKLQkJREJHKCJ1c2lu ZyAlcyBWUkFNIGNhcnZlb3V0IiwgdnJhbSk7Ci0JCXNpemUgPSBtZW1wYXJzZSh2cmFtLCBOVUxM KTsKIAkJcHJpdi0+dnJhbS5zaXplID0gc2l6ZTsKIAogCQlkcm1fbW1faW5pdCgmcHJpdi0+dnJh bS5tbSwgMCwgKHNpemUgPj4gUEFHRV9TSElGVCkgLSAxKTsKQEAgLTIyMCw3ICsyNTYsNyBAQCBz dGF0aWMgaW50IG1zbV9pbml0X3ZyYW0oc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJCQkodWlu dDMyX3QpKHByaXYtPnZyYW0ucGFkZHIgKyBzaXplKSk7CiAJfQogCi0JcmV0dXJuIDA7CisJcmV0 dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBtc21fbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB1bnNpZ25lZCBsb25nIGZsYWdzKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9t c21fZmJkZXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2ZiZGV2LmMKaW5kZXggZGY2MGY2 NS4uOTVmNjUzMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZmJkZXYuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9mYmRldi5jCkBAIC0xMTAsNyArMTEwLDggQEAg c3RhdGljIGludCBtc21fZmJkZXZfY3JlYXRlKHN0cnVjdCBkcm1fZmJfaGVscGVyICpoZWxwZXIs CiAJc2l6ZSA9IG1vZGVfY21kLnBpdGNoZXNbMF0gKiBtb2RlX2NtZC5oZWlnaHQ7CiAJREJHKCJh bGxvY2F0aW5nICVkIGJ5dGVzIGZvciBmYiAlZCIsIHNpemUsIGRldi0+cHJpbWFyeS0+aW5kZXgp OwogCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKLQlmYmRldi0+Ym8gPSBtc21fZ2Vt X25ldyhkZXYsIHNpemUsIE1TTV9CT19TQ0FOT1VUIHwgTVNNX0JPX1dDKTsKKwlmYmRldi0+Ym8g PSBtc21fZ2VtX25ldyhkZXYsIHNpemUsIE1TTV9CT19TQ0FOT1VUIHwKKwkJCU1TTV9CT19XQyB8 IE1TTV9CT19TVE9MRU4pOwogCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCWlm IChJU19FUlIoZmJkZXYtPmJvKSkgewogCQlyZXQgPSBQVFJfRVJSKGZiZGV2LT5ibyk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vbXNtX2dlbS5jCmluZGV4IDQ5ZGVhNGYuLjQ3OWQ4YWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tc20vbXNtX2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbS5j CkBAIC0zMiw2ICszMiwxMiBAQCBzdGF0aWMgZG1hX2FkZHJfdCBwaHlzYWRkcihzdHJ1Y3QgZHJt X2dlbV9vYmplY3QgKm9iaikKIAkJCXByaXYtPnZyYW0ucGFkZHI7CiB9CiAKK3N0YXRpYyBib29s IHVzZV9wYWdlcyhzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaikKK3sKKwlzdHJ1Y3QgbXNtX2dl bV9vYmplY3QgKm1zbV9vYmogPSB0b19tc21fYm8ob2JqKTsKKwlyZXR1cm4gIW1zbV9vYmotPnZy YW1fbm9kZTsKK30KKwogLyogYWxsb2NhdGUgcGFnZXMgZnJvbSBWUkFNIGNhcnZlb3V0LCB1c2Vk IHdoZW4gbm8gSU9NTVU6ICovCiBzdGF0aWMgc3RydWN0IHBhZ2UgKipnZXRfcGFnZXNfdnJhbShz dHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwKIAkJaW50IG5wYWdlcykKQEAgLTcyLDcgKzc4LDcg QEAgc3RhdGljIHN0cnVjdCBwYWdlICoqZ2V0X3BhZ2VzKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq b2JqKQogCQlzdHJ1Y3QgcGFnZSAqKnA7CiAJCWludCBucGFnZXMgPSBvYmotPnNpemUgPj4gUEFH RV9TSElGVDsKIAotCQlpZiAoaW9tbXVfcHJlc2VudCgmcGxhdGZvcm1fYnVzX3R5cGUpKQorCQlp ZiAodXNlX3BhZ2VzKG9iaikpCiAJCQlwID0gZHJtX2dlbV9nZXRfcGFnZXMob2JqKTsKIAkJZWxz ZQogCQkJcCA9IGdldF9wYWdlc192cmFtKG9iaiwgbnBhZ2VzKTsKQEAgLTExNiw3ICsxMjIsNyBA QCBzdGF0aWMgdm9pZCBwdXRfcGFnZXMoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopCiAJCXNn X2ZyZWVfdGFibGUobXNtX29iai0+c2d0KTsKIAkJa2ZyZWUobXNtX29iai0+c2d0KTsKIAotCQlp ZiAoaW9tbXVfcHJlc2VudCgmcGxhdGZvcm1fYnVzX3R5cGUpKQorCQlpZiAodXNlX3BhZ2VzKG9i aikpCiAJCQlkcm1fZ2VtX3B1dF9wYWdlcyhvYmosIG1zbV9vYmotPnBhZ2VzLCB0cnVlLCBmYWxz ZSk7CiAJCWVsc2UgewogCQkJZHJtX21tX3JlbW92ZV9ub2RlKG1zbV9vYmotPnZyYW1fbm9kZSk7 CkBAIC01ODAsNiArNTg2LDcgQEAgc3RhdGljIGludCBtc21fZ2VtX25ld19pbXBsKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCiAJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IGRldi0+ZGV2 X3ByaXZhdGU7CiAJc3RydWN0IG1zbV9nZW1fb2JqZWN0ICptc21fb2JqOwogCXVuc2lnbmVkIHN6 OworCWJvb2wgdXNlX3ZyYW0gPSBmYWxzZTsKIAogCXN3aXRjaCAoZmxhZ3MgJiBNU01fQk9fQ0FD SEVfTUFTSykgewogCWNhc2UgTVNNX0JPX1VOQ0FDSEVEOgpAQCAtNTkyLDE1ICs1OTksMjMgQEAg c3RhdGljIGludCBtc21fZ2VtX25ld19pbXBsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCXJl dHVybiAtRUlOVkFMOwogCX0KIAotCXN6ID0gc2l6ZW9mKCptc21fb2JqKTsKIAlpZiAoIWlvbW11 X3ByZXNlbnQoJnBsYXRmb3JtX2J1c190eXBlKSkKKwkJdXNlX3ZyYW0gPSB0cnVlOworCWVsc2Ug aWYgKChmbGFncyAmIE1TTV9CT19TVE9MRU4pICYmIHByaXYtPnZyYW0uc2l6ZSkKKwkJdXNlX3Zy YW0gPSB0cnVlOworCisJaWYgKFdBUk5fT04odXNlX3ZyYW0gJiYgIXByaXYtPnZyYW0uc2l6ZSkp CisJCXJldHVybiAtRUlOVkFMOworCisJc3ogPSBzaXplb2YoKm1zbV9vYmopOworCWlmICh1c2Vf dnJhbSkKIAkJc3ogKz0gc2l6ZW9mKHN0cnVjdCBkcm1fbW1fbm9kZSk7CiAKIAltc21fb2JqID0g a3phbGxvYyhzeiwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFtc21fb2JqKQogCQlyZXR1cm4gLUVOT01F TTsKIAotCWlmICghaW9tbXVfcHJlc2VudCgmcGxhdGZvcm1fYnVzX3R5cGUpKQorCWlmICh1c2Vf dnJhbSkKIAkJbXNtX29iai0+dnJhbV9ub2RlID0gKHZvaWQgKikmbXNtX29ialsxXTsKIAogCW1z bV9vYmotPmZsYWdzID0gZmxhZ3M7CkBAIC02MzAsNyArNjQ1LDcgQEAgc3RydWN0IGRybV9nZW1f b2JqZWN0ICptc21fZ2VtX25ldyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWlmIChyZXQpCiAJ CWdvdG8gZmFpbDsKIAotCWlmIChpb21tdV9wcmVzZW50KCZwbGF0Zm9ybV9idXNfdHlwZSkpIHsK KwlpZiAodXNlX3BhZ2VzKG9iaikpIHsKIAkJcmV0ID0gZHJtX2dlbV9vYmplY3RfaW5pdChkZXYs IG9iaiwgc2l6ZSk7CiAJCWlmIChyZXQpCiAJCQlnb3RvIGZhaWw7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL21zbV9nZW0uaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbS5o CmluZGV4IDhmYmJkMDUuLjg1ZDQ4MWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20v bXNtX2dlbS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbS5oCkBAIC0yMSw2ICsy MSw5IEBACiAjaW5jbHVkZSA8bGludXgvcmVzZXJ2YXRpb24uaD4KICNpbmNsdWRlICJtc21fZHJ2 LmgiCiAKKy8qIEFkZGl0aW9uYWwgaW50ZXJuYWwtdXNlIG9ubHkgQk8gZmxhZ3M6ICovCisjZGVm aW5lIE1TTV9CT19TVE9MRU4gICAgICAgIDB4MTAwMDAwMDAgICAgLyogdHJ5IHRvIHVzZSBzdG9s ZW4vc3BsYXNoIG1lbW9yeSAqLworCiBzdHJ1Y3QgbXNtX2dlbV9vYmplY3QgewogCXN0cnVjdCBk cm1fZ2VtX29iamVjdCBiYXNlOwogCkBAIC01OSw3ICs2Miw3IEBAIHN0cnVjdCBtc21fZ2VtX29i amVjdCB7CiAJc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCBfcmVzdjsKIAogCS8qIEZvciBwaHlz aWNhbGx5IGNvbnRpZ3VvdXMgYnVmZmVycy4gIFVzZWQgd2hlbiB3ZSBkb24ndCBoYXZlCi0JICog YW4gSU9NTVUuCisJICogYW4gSU9NTVUuICBBbHNvIHVzZWQgZm9yIHN0b2xlbi9zcGxhc2hzY3Jl ZW4gYnVmZmVyLgogCSAqLwogCXN0cnVjdCBkcm1fbW1fbm9kZSAqdnJhbV9ub2RlOwogfTsKLS0g CjIuMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=