From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: [PATCH RFC 053/111] staging: etnaviv: implement MMU reaping Date: Thu, 2 Apr 2015 17:29:55 +0200 Message-ID: <1427988653-754-54-git-send-email-l.stach@pengutronix.de> References: <1427988653-754-1-git-send-email-l.stach@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [92.198.50.35]) by gabe.freedesktop.org (Postfix) with ESMTP id 150F26EA4D for ; Thu, 2 Apr 2015 08:30:59 -0700 (PDT) In-Reply-To: <1427988653-754-1-git-send-email-l.stach@pengutronix.de> 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: Russell King , kernel@pengutronix.de List-Id: dri-devel@lists.freedesktop.org RnJvbTogUnVzc2VsbCBLaW5nIDxybWsra2VybmVsQGFybS5saW51eC5vcmcudWs+CgpXZSBjYW4g ZWFzaWx5IGV4aGF1c3QgdGhlIE1NVSBzcGFjZSBzaW5jZSB3ZSBsZWF2ZSBtYXBwaW5ncyBpbiBw bGFjZQp1bnRpbCB0aGUgdW5kZXJseWluZyBidWZmZXJzIGFyZSBmcmVlZC4KClNvbHZlIHRoaXMg YnkgcmVhcGluZyBpbmFjdGl2ZSBNTVUgZW50cmllcyB1c2luZyB0aGUgZHJtX21tIHNjYW5uaW5n CmZhY2lsaXR5IHRvIHNlbGVjdCBjYW5kaWRhdGUocyksIHdoaWNoIHdpbGwgdGhlbiBoYXZlIHRo ZWlyIE1NVQptYXBwaW5ncyByZWxlYXNlZC4KClNpZ25lZC1vZmYtYnk6IFJ1c3NlbGwgS2luZyA8 cm1rK2tlcm5lbEBhcm0ubGludXgub3JnLnVrPgotLS0KIGRyaXZlcnMvc3RhZ2luZy9ldG5hdml2 L2V0bmF2aXZfbW11LmMgfCA2MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQog MSBmaWxlIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X21tdS5jIGIvZHJpdmVycy9zdGFn aW5nL2V0bmF2aXYvZXRuYXZpdl9tbXUuYwppbmRleCA4OWM1NzEzZjUyYmMuLjU2NDc3NjhjMmJl NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9tbXUuYworKysg Yi9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X21tdS5jCkBAIC05NCw2ICs5NCw3IEBA IGludCBldG5hdml2X2lvbW11X3VubWFwKHN0cnVjdCBldG5hdml2X2lvbW11ICppb21tdSwgdWlu dDMyX3QgaW92YSwKIGludCBldG5hdml2X2lvbW11X21hcF9nZW0oc3RydWN0IGV0bmF2aXZfaW9t bXUgKm1tdSwKIAlzdHJ1Y3QgZXRuYXZpdl9nZW1fb2JqZWN0ICpldG5hdml2X29iaikKIHsKKwlz dHJ1Y3QgZXRuYXZpdl9kcm1fcHJpdmF0ZSAqcHJpdiA9IGV0bmF2aXZfb2JqLT5iYXNlLmRldi0+ ZGV2X3ByaXZhdGU7CiAJc3RydWN0IHNnX3RhYmxlICpzZ3QgPSBldG5hdml2X29iai0+c2d0Owog CXN0cnVjdCBkcm1fbW1fbm9kZSAqbm9kZTsKIAlpbnQgcmV0OwpAQCAtMTE3LDYgKzExOCwxMCBA QCBpbnQgZXRuYXZpdl9pb21tdV9tYXBfZ2VtKHN0cnVjdCBldG5hdml2X2lvbW11ICptbXUsCiAJ CXJldHVybiAtRU5PTUVNOwogCiAJd2hpbGUgKDEpIHsKKwkJc3RydWN0IGV0bmF2aXZfZ2VtX29i amVjdCAqbywgKm47CisJCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwkJYm9vbCBmb3VuZDsKKwog CQlyZXQgPSBkcm1fbW1faW5zZXJ0X25vZGVfaW5fcmFuZ2UoJm1tdS0+bW0sIG5vZGUsCiAJCQll dG5hdml2X29iai0+YmFzZS5zaXplLCAwLCBtbXUtPmxhc3RfaW92YSwgfjBVTCwKIAkJCURSTV9N TV9TRUFSQ0hfREVGQVVMVCk7CkBAIC0xMzQsNyArMTM5LDU4IEBAIGludCBldG5hdml2X2lvbW11 X21hcF9nZW0oc3RydWN0IGV0bmF2aXZfaW9tbXUgKm1tdSwKIAkJCWNvbnRpbnVlOwogCQl9CiAK LQkJYnJlYWs7CisJCS8qIFRyeSB0byByZXRpcmUgc29tZSBlbnRyaWVzICovCisJCWRybV9tbV9p bml0X3NjYW4oJm1tdS0+bW0sIGV0bmF2aXZfb2JqLT5iYXNlLnNpemUsIDAsIDApOworCisJCWZv dW5kID0gMDsKKwkJSU5JVF9MSVNUX0hFQUQoJmxpc3QpOworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5 KG8sICZwcml2LT5pbmFjdGl2ZV9saXN0LCBtbV9saXN0KSB7CisJCQlpZiAoIW8tPmdwdV92cmFt X25vZGUgfHwKKwkJCSAgICBvLT5ncHVfdnJhbV9ub2RlLT5tbSAhPSAmbW11LT5tbSkKKwkJCQlj b250aW51ZTsKKworCQkJLyoKKwkJCSAqIElmIGl0J3Mgb24gdGhlIHN1Ym1pdCBsaXN0LCB0aGVu IGl0IGlzIHBhcnQgb2YKKwkJCSAqIGEgc3VibWlzc2lvbiwgYW5kIHdlIHdhbnQgdG8ga2VlcCBp dHMgZW50cnkuCisJCQkgKi8KKwkJCWlmICghbGlzdF9lbXB0eSgmby0+c3VibWl0X2VudHJ5KSkK KwkJCQljb250aW51ZTsKKworCQkJbGlzdF9hZGQoJm8tPnN1Ym1pdF9lbnRyeSwgJmxpc3QpOwor CQkJaWYgKGRybV9tbV9zY2FuX2FkZF9ibG9jayhvLT5ncHVfdnJhbV9ub2RlKSkgeworCQkJCWZv dW5kID0gdHJ1ZTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCisJCWlmICghZm91bmQpIHsKKwkJ CS8qIE5vdGhpbmcgZm91bmQsIGNsZWFuIHVwIGFuZCBmYWlsICovCisJCQlsaXN0X2Zvcl9lYWNo X2VudHJ5X3NhZmUobywgbiwgJmxpc3QsIHN1Ym1pdF9lbnRyeSkKKwkJCQlCVUdfT04oZHJtX21t X3NjYW5fcmVtb3ZlX2Jsb2NrKG8tPmdwdV92cmFtX25vZGUpKTsKKwkJCWJyZWFrOworCQl9CisK KwkJLyoKKwkJICogZHJtX21tIGRvZXMgbm90IGFsbG93IGFueSBvdGhlciBvcGVyYXRpb25zIHdo aWxlCisJCSAqIHNjYW5uaW5nLCBzbyB3ZSBoYXZlIHRvIHJlbW92ZSBhbGwgYmxvY2tzIGZpcnN0 LgorCQkgKiBJZiBkcm1fbW1fc2Nhbl9yZW1vdmVfYmxvY2soKSByZXR1cm5zIGZhbHNlLCB3ZQor CQkgKiBjYW4gbGVhdmUgdGhlIGJsb2NrIHBpbm5lZC4KKwkJICovCisJCWxpc3RfZm9yX2VhY2hf ZW50cnlfc2FmZShvLCBuLCAmbGlzdCwgc3VibWl0X2VudHJ5KQorCQkJaWYgKCFkcm1fbW1fc2Nh bl9yZW1vdmVfYmxvY2soby0+Z3B1X3ZyYW1fbm9kZSkpCisJCQkJbGlzdF9kZWxfaW5pdCgmby0+ c3VibWl0X2VudHJ5KTsKKworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUobywgbiwgJmxpc3Qs IHN1Ym1pdF9lbnRyeSkgeworCQkJbGlzdF9kZWxfaW5pdCgmby0+c3VibWl0X2VudHJ5KTsKKwkJ CWV0bmF2aXZfaW9tbXVfdW5tYXBfZ2VtKG1tdSwgbyk7CisJCX0KKworCQkvKgorCQkgKiBXZSBy ZW1vdmVkIGVub3VnaCBtYXBwaW5ncyBzbyB0aGF0IHRoZSBuZXcgYWxsb2NhdGlvbiB3aWxsCisJ CSAqIHN1Y2NlZWQuICBFbnN1cmUgdGhhdCB0aGUgTU1VIHdpbGwgYmUgZmx1c2hlZCBhbmQgcmV0 cnkKKwkJICogdGhlIGFsbG9jYXRpb24gb25lIG1vcmUgdGltZS4KKwkJICovCisJCW1tdS0+bmVl ZF9mbHVzaCA9IHRydWU7CiAJfQogCiAJaWYgKHJldCA8IDApIHsKQEAgLTE2OSw2ICsyMjUsOSBA QCB2b2lkIGV0bmF2aXZfaW9tbXVfdW5tYXBfZ2VtKHN0cnVjdCBldG5hdml2X2lvbW11ICptbXUs CiAJCQkJICAgIGV0bmF2aXZfb2JqLT5iYXNlLnNpemUpOwogCQlkcm1fbW1fcmVtb3ZlX25vZGUo ZXRuYXZpdl9vYmotPmdwdV92cmFtX25vZGUpOwogCQlrZnJlZShldG5hdml2X29iai0+Z3B1X3Zy YW1fbm9kZSk7CisKKwkJZXRuYXZpdl9vYmotPmdwdV92cmFtX25vZGUgPSBOVUxMOworCQlldG5h dml2X29iai0+aW92YSA9IDA7CiAJfQogfQogCi0tIAoyLjEuNAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK