From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: [PATCH 1/2] drm/shmem: Add madvise state and purge helpers Date: Mon, 5 Aug 2019 08:33:57 -0600 Message-ID: <20190805143358.21245-1-robh@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-io1-f68.google.com (mail-io1-f68.google.com [209.85.166.68]) by gabe.freedesktop.org (Postfix) with ESMTPS id 127E589E43 for ; Mon, 5 Aug 2019 14:34:02 +0000 (UTC) Received: by mail-io1-f68.google.com with SMTP id j6so68766ioa.5 for ; Mon, 05 Aug 2019 07:34:02 -0700 (PDT) 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: Rob Clark , Tomeu Vizoso , Maxime Ripard , David Airlie , Steven Price , Alyssa Rosenzweig , Sean Paul List-Id: dri-devel@lists.freedesktop.org QWRkIHN1cHBvcnQgdG8gdGhlIHNobWVtIEdFTSBoZWxwZXJzIGZvciB0cmFja2luZyBtYWR2aXNl IHN0YXRlIGFuZApwdXJnaW5nIHBhZ2VzLiBUaGlzIGlzIGJhc2VkIG9uIHRoZSBtc20gaW1wbGVt ZW50YXRpb24uCgpUaGUgQk8gcHJvdmlkZXMgYSBsaXN0X2hlYWQsIGJ1dCB0aGUgbGlzdCBtYW5h Z2VtZW50IGlzIGhhbmRsZWQgb3V0c2lkZQpvZiB0aGUgc2htZW0gaGVscGVycyBhcyB0aGVyZSBh cmUgZGlmZmVyZW50IGxvY2tpbmcgcmVxdWlyZW1lbnRzLgoKQ2M6IFRvbWV1IFZpem9zbyA8dG9t ZXUudml6b3NvQGNvbGxhYm9yYS5jb20+CkNjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5s YW5raG9yc3RAbGludXguaW50ZWwuY29tPgpDYzogTWF4aW1lIFJpcGFyZCA8bWF4aW1lLnJpcGFy ZEBib290bGluLmNvbT4KQ2M6IFNlYW4gUGF1bCA8c2VhbkBwb29ybHkucnVuPgpDYzogRGF2aWQg QWlybGllIDxhaXJsaWVkQGxpbnV4LmllPgpDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xs LmNoPgpDYzogRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KU2lnbmVkLW9mZi1ieTogUm9i IEhlcnJpbmcgPHJvYmhAa2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2dlbV9z aG1lbV9oZWxwZXIuYyB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2Ry bS9kcm1fZ2VtX3NobWVtX2hlbHBlci5oICAgICB8IDE1ICsrKysrKysKIDIgZmlsZXMgY2hhbmdl ZCwgNzIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2Vt X3NobWVtX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fc2htZW1faGVscGVyLmMK aW5kZXggMmY2NDY2N2FjODA1Li40YjQ0MjU3NmRlMWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZ2VtX3NobWVtX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2Vt X3NobWVtX2hlbHBlci5jCkBAIC03NSw2ICs3NSw3IEBAIHN0cnVjdCBkcm1fZ2VtX3NobWVtX29i amVjdCAqZHJtX2dlbV9zaG1lbV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc2l6ZV90 CiAJc2htZW0gPSB0b19kcm1fZ2VtX3NobWVtX29iaihvYmopOwogCW11dGV4X2luaXQoJnNobWVt LT5wYWdlc19sb2NrKTsKIAltdXRleF9pbml0KCZzaG1lbS0+dm1hcF9sb2NrKTsKKwlJTklUX0xJ U1RfSEVBRCgmc2htZW0tPm1hZHZfbGlzdCk7CiAKIAkvKgogCSAqIE91ciBidWZmZXJzIGFyZSBr ZXB0IHBpbm5lZCwgc28gYWxsb2NhdGluZyB0aGVtCkBAIC0zNjIsNiArMzYzLDYyIEBAIGRybV9n ZW1fc2htZW1fY3JlYXRlX3dpdGhfaGFuZGxlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAog fQogRVhQT1JUX1NZTUJPTChkcm1fZ2VtX3NobWVtX2NyZWF0ZV93aXRoX2hhbmRsZSk7CiAKKy8q IFVwZGF0ZSBtYWR2aXNlIHN0YXR1cywgcmV0dXJucyB0cnVlIGlmIG5vdCBwdXJnZWQsIGVsc2UK KyAqIGZhbHNlIG9yIC1lcnJuby4KKyAqLworaW50IGRybV9nZW1fc2htZW1fbWFkdmlzZShzdHJ1 Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgaW50IG1hZHYpCit7CisJc3RydWN0IGRybV9nZW1fc2ht ZW1fb2JqZWN0ICpzaG1lbSA9IHRvX2RybV9nZW1fc2htZW1fb2JqKG9iaik7CisKKwltdXRleF9s b2NrKCZzaG1lbS0+cGFnZXNfbG9jayk7CisKKwlpZiAoc2htZW0tPm1hZHYgPj0gMCkKKwkJc2ht ZW0tPm1hZHYgPSBtYWR2OworCisJbWFkdiA9IHNobWVtLT5tYWR2OworCisJbXV0ZXhfdW5sb2Nr KCZzaG1lbS0+cGFnZXNfbG9jayk7CisKKwlyZXR1cm4gKG1hZHYgPj0gMCk7Cit9CitFWFBPUlRf U1lNQk9MKGRybV9nZW1fc2htZW1fbWFkdmlzZSk7CisKK3ZvaWQgZHJtX2dlbV9zaG1lbV9wdXJn ZV9sb2NrZWQoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopCit7CisJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IG9iai0+ZGV2OworCXN0cnVjdCBkcm1fZ2VtX3NobWVtX29iamVjdCAqc2htZW0g PSB0b19kcm1fZ2VtX3NobWVtX29iaihvYmopOworCisJV0FSTl9PTighZHJtX2dlbV9zaG1lbV9p c19wdXJnZWFibGUoc2htZW0pKTsKKworCWRybV9nZW1fc2htZW1fcHV0X3BhZ2VzX2xvY2tlZChz aG1lbSk7CisKKwlzaG1lbS0+bWFkdiA9IC0xOworCisJZHJtX3ZtYV9ub2RlX3VubWFwKCZvYmot PnZtYV9ub2RlLCBkZXYtPmFub25faW5vZGUtPmlfbWFwcGluZyk7CisJZHJtX2dlbV9mcmVlX21t YXBfb2Zmc2V0KG9iaik7CisKKwkvKiBPdXIgZ29hbCBoZXJlIGlzIHRvIHJldHVybiBhcyBtdWNo IG9mIHRoZSBtZW1vcnkgYXMKKwkgKiBpcyBwb3NzaWJsZSBiYWNrIHRvIHRoZSBzeXN0ZW0gYXMg d2UgYXJlIGNhbGxlZCBmcm9tIE9PTS4KKwkgKiBUbyBkbyB0aGlzIHdlIG11c3QgaW5zdHJ1Y3Qg dGhlIHNobWZzIHRvIGRyb3AgYWxsIG9mIGl0cworCSAqIGJhY2tpbmcgcGFnZXMsICpub3cqLgor CSAqLworCXNobWVtX3RydW5jYXRlX3JhbmdlKGZpbGVfaW5vZGUob2JqLT5maWxwKSwgMCwgKGxv ZmZfdCktMSk7CisKKwlpbnZhbGlkYXRlX21hcHBpbmdfcGFnZXMoZmlsZV9pbm9kZShvYmotPmZp bHApLT5pX21hcHBpbmcsCisJCQkwLCAobG9mZl90KS0xKTsKK30KK0VYUE9SVF9TWU1CT0woZHJt X2dlbV9zaG1lbV9wdXJnZV9sb2NrZWQpOworCit2b2lkIGRybV9nZW1fc2htZW1fcHVyZ2Uoc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICpvYmopCit7CisJc3RydWN0IGRybV9nZW1fc2htZW1fb2JqZWN0 ICpzaG1lbSA9IHRvX2RybV9nZW1fc2htZW1fb2JqKG9iaik7CisKKwltdXRleF9sb2NrKCZzaG1l bS0+cGFnZXNfbG9jayk7CisJZHJtX2dlbV9zaG1lbV9wdXJnZV9sb2NrZWQob2JqKTsKKwltdXRl eF91bmxvY2soJnNobWVtLT5wYWdlc19sb2NrKTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2dlbV9z aG1lbV9wdXJnZSk7CisKIC8qKgogICogZHJtX2dlbV9zaG1lbV9kdW1iX2NyZWF0ZSAtIENyZWF0 ZSBhIGR1bWIgc2htZW0gYnVmZmVyIG9iamVjdAogICogQGZpbGU6IERSTSBmaWxlIHN0cnVjdHVy ZSB0byBjcmVhdGUgdGhlIGR1bWIgYnVmZmVyIGZvcgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0v ZHJtX2dlbV9zaG1lbV9oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9nZW1fc2htZW1faGVscGVy LmgKaW5kZXggMDM4YjZkMzEzNDQ3Li5jZTE2MDBmZGZjM2UgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv ZHJtL2RybV9nZW1fc2htZW1faGVscGVyLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2dlbV9zaG1l bV9oZWxwZXIuaApAQCAtNDQsNiArNDQsOSBAQCBzdHJ1Y3QgZHJtX2dlbV9zaG1lbV9vYmplY3Qg ewogCSAqLwogCXVuc2lnbmVkIGludCBwYWdlc191c2VfY291bnQ7CiAKKwlpbnQgbWFkdjsKKwlz dHJ1Y3QgbGlzdF9oZWFkIG1hZHZfbGlzdDsKKwogCS8qKgogCSAqIEBwYWdlc19tYXJrX2RpcnR5 X29uX3B1dDoKIAkgKgpAQCAtMTIxLDYgKzEyNCwxOCBAQCB2b2lkIGRybV9nZW1fc2htZW1fdW5w aW4oc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwogdm9pZCAqZHJtX2dlbV9zaG1lbV92bWFw KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKTsKIHZvaWQgZHJtX2dlbV9zaG1lbV92dW5tYXAo c3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIHZvaWQgKnZhZGRyKTsKIAoraW50IGRybV9nZW1f c2htZW1fbWFkdmlzZShzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgaW50IG1hZHYpOworCitz dGF0aWMgaW5saW5lIGJvb2wgZHJtX2dlbV9zaG1lbV9pc19wdXJnZWFibGUoc3RydWN0IGRybV9n ZW1fc2htZW1fb2JqZWN0ICpzaG1lbSkKK3sKKwlyZXR1cm4gKHNobWVtLT5tYWR2ID4gMCkgJiYK KwkJIXNobWVtLT52bWFwX3VzZV9jb3VudCAmJiBzaG1lbS0+c2d0ICYmCisJCSFzaG1lbS0+YmFz ZS5kbWFfYnVmICYmICFzaG1lbS0+YmFzZS5pbXBvcnRfYXR0YWNoOworfQorCit2b2lkIGRybV9n ZW1fc2htZW1fcHVyZ2VfbG9ja2VkKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKTsKK3ZvaWQg ZHJtX2dlbV9zaG1lbV9wdXJnZShzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaik7CisKIHN0cnVj dCBkcm1fZ2VtX3NobWVtX29iamVjdCAqCiBkcm1fZ2VtX3NobWVtX2NyZWF0ZV93aXRoX2hhbmRs ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKIAkJCQkgc3RydWN0IGRybV9kZXZpY2UgKmRl diwgc2l6ZV90IHNpemUsCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbA==