From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: [PATCH v3 4/8] drm/panfrost: Rework page table flushing and runtime PM interaction Date: Mon, 26 Aug 2019 17:33:13 -0500 Message-ID: <20190826223317.28509-5-robh@kernel.org> References: <20190826223317.28509-1-robh@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-oi1-f196.google.com (mail-oi1-f196.google.com [209.85.167.196]) by gabe.freedesktop.org (Postfix) with ESMTPS id E56A589CA8 for ; Mon, 26 Aug 2019 22:33:23 +0000 (UTC) Received: by mail-oi1-f196.google.com with SMTP id l2so13443235oil.0 for ; Mon, 26 Aug 2019 15:33:23 -0700 (PDT) In-Reply-To: <20190826223317.28509-1-robh@kernel.org> 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: Tomeu Vizoso , David Airlie , Steven Price , Alyssa Rosenzweig , Robin Murphy List-Id: dri-devel@lists.freedesktop.org VGhlcmUgaXMgbm8gcG9pbnQgaW4gcmVzdW1pbmcgdGhlIGgvdyBqdXN0IHRvIGRvIGZsdXNoIG9w ZXJhdGlvbnMgYW5kCmRvaW5nIHNvIHRha2VzIHNldmVyYWwgbG9ja3Mgd2hpY2ggY2F1c2UgbG9j a2RlcCBpc3N1ZXMgd2l0aCB0aGUgc2hyaW5rZXIuClJld29yayB0aGUgZmx1c2ggb3BlcmF0aW9u cyB0byBvbmx5IGhhcHBlbiB3aGVuIHRoZSBoL3cgaXMgYWxyZWFkeSBhd2FrZS4KVGhpcyBhdm9p ZHMgdGFraW5nIGFueSBsb2NrcyBhc3NvY2lhdGVkIHdpdGggcmVzdW1pbmcgd2hpY2ggdHJpZ2dl cgpsb2NrZGVwIHdhcm5pbmdzLgoKRml4ZXM6IDAxM2I2NTEwMTMxNSAoImRybS9wYW5mcm9zdDog QWRkIG1hZHZpc2UgYW5kIHNocmlua2VyIHN1cHBvcnQiKQpDYzogVG9tZXUgVml6b3NvIDx0b21l dS52aXpvc29AY29sbGFib3JhLmNvbT4KQ2M6IFN0ZXZlbiBQcmljZSA8c3RldmVuLnByaWNlQGFy bS5jb20+CkNjOiBBbHlzc2EgUm9zZW56d2VpZyA8YWx5c3NhLnJvc2VuendlaWdAY29sbGFib3Jh LmNvbT4KQ2M6IERhdmlkIEFpcmxpZSA8YWlybGllZEBsaW51eC5pZT4KQ2M6IERhbmllbCBWZXR0 ZXIgPGRhbmllbEBmZndsbC5jaD4KU2lnbmVkLW9mZi1ieTogUm9iIEhlcnJpbmcgPHJvYmhAa2Vy bmVsLm9yZz4KLS0tCnYzOgogLSBVc2UgcG1fcnVudGltZV9nZXRfbm9yZXN1bWUoKSBhbmQgcG1f cnVudGltZV9hY3RpdmUoKSBpbnN0ZWFkIG9mCiAgIHBtX3J1bnRpbWVfZ2V0X2lmX25vdF91c2Vk KCkuIFRoZSBwcm9ibGVtIGlzIHBtX3J1bnRpbWVfZ2V0X2lmX25vdF91c2VkKCkKICAgcmV0dXJu cyAwIChubyBnZXQpIGlmIGluIHRoZSBwZXJpb2QgYmV0d2VlbiB0aGUgbGFzdCBwdXQoKQogICBh bmQgYmVmb3JlIHRoZSBhdXRvc3VzcGVuZCB0aW1lb3V0IHdoZW4gdGhlIGgvdyBpcyBzdGlsbCBh Y3RpdmUuCgogZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X21tdS5jIHwgMzggKysr KysrKysrKysrLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyks IDIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9w YW5mcm9zdF9tbXUuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9tbXUuYwpp bmRleCAzYThiY2ZhN2U3YjYuLjIyMDRlNjBmNzgwOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3BhbmZyb3N0L3BhbmZyb3N0X21tdS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5mcm9z dC9wYW5mcm9zdF9tbXUuYwpAQCAtMjIwLDYgKzIyMCwyMiBAQCBzdGF0aWMgc2l6ZV90IGdldF9w Z3NpemUodTY0IGFkZHIsIHNpemVfdCBzaXplKQogCXJldHVybiBTWl8yTTsKIH0KCit2b2lkIHBh bmZyb3N0X21tdV9mbHVzaF9yYW5nZShzdHJ1Y3QgcGFuZnJvc3RfZGV2aWNlICpwZmRldiwKKwkJ CSAgICAgIHN0cnVjdCBwYW5mcm9zdF9tbXUgKm1tdSwKKwkJCSAgICAgIHU2NCBpb3ZhLCBzaXpl X3Qgc2l6ZSkKK3sKKwlpZiAobW11LT5hcyA8IDApCisJCXJldHVybjsKKworCXBtX3J1bnRpbWVf Z2V0X25vcmVzdW1lKHBmZGV2LT5kZXYpOworCisJLyogRmx1c2ggdGhlIFBUcyBvbmx5IGlmIHdl J3JlIGFscmVhZHkgYXdha2UgKi8KKwlpZiAocG1fcnVudGltZV9hY3RpdmUocGZkZXYtPmRldikp CisJCW1tdV9od19kb19vcGVyYXRpb24ocGZkZXYsIG1tdSwgaW92YSwgc2l6ZSwgQVNfQ09NTUFO RF9GTFVTSF9QVCk7CisKKwlwbV9ydW50aW1lX3B1dF9zeW5jX2F1dG9zdXNwZW5kKHBmZGV2LT5k ZXYpOworfQorCiBzdGF0aWMgaW50IG1tdV9tYXBfc2coc3RydWN0IHBhbmZyb3N0X2RldmljZSAq cGZkZXYsIHN0cnVjdCBwYW5mcm9zdF9tbXUgKm1tdSwKIAkJICAgICAgdTY0IGlvdmEsIGludCBw cm90LCBzdHJ1Y3Qgc2dfdGFibGUgKnNndCkKIHsKQEAgLTI0NCw4ICsyNjAsNyBAQCBzdGF0aWMg aW50IG1tdV9tYXBfc2coc3RydWN0IHBhbmZyb3N0X2RldmljZSAqcGZkZXYsIHN0cnVjdCBwYW5m cm9zdF9tbXUgKm1tdSwKIAkJfQogCX0KCi0JbW11X2h3X2RvX29wZXJhdGlvbihwZmRldiwgbW11 LCBzdGFydF9pb3ZhLCBpb3ZhIC0gc3RhcnRfaW92YSwKLQkJCSAgICBBU19DT01NQU5EX0ZMVVNI X1BUKTsKKwlwYW5mcm9zdF9tbXVfZmx1c2hfcmFuZ2UocGZkZXYsIG1tdSwgc3RhcnRfaW92YSwg aW92YSAtIHN0YXJ0X2lvdmEpOwoKIAlyZXR1cm4gMDsKIH0KQEAgLTI1NSw3ICsyNzAsNiBAQCBp bnQgcGFuZnJvc3RfbW11X21hcChzdHJ1Y3QgcGFuZnJvc3RfZ2VtX29iamVjdCAqYm8pCiAJc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICpvYmogPSAmYm8tPmJhc2UuYmFzZTsKIAlzdHJ1Y3QgcGFuZnJv c3RfZGV2aWNlICpwZmRldiA9IHRvX3BhbmZyb3N0X2RldmljZShvYmotPmRldik7CiAJc3RydWN0 IHNnX3RhYmxlICpzZ3Q7Ci0JaW50IHJldDsKIAlpbnQgcHJvdCA9IElPTU1VX1JFQUQgfCBJT01N VV9XUklURTsKCiAJaWYgKFdBUk5fT04oYm8tPmlzX21hcHBlZCkpCkBAIC0yNjgsMTQgKzI4Miw3 IEBAIGludCBwYW5mcm9zdF9tbXVfbWFwKHN0cnVjdCBwYW5mcm9zdF9nZW1fb2JqZWN0ICpibykK IAlpZiAoV0FSTl9PTihJU19FUlIoc2d0KSkpCiAJCXJldHVybiBQVFJfRVJSKHNndCk7CgotCXJl dCA9IHBtX3J1bnRpbWVfZ2V0X3N5bmMocGZkZXYtPmRldik7Ci0JaWYgKHJldCA8IDApCi0JCXJl dHVybiByZXQ7Ci0KIAltbXVfbWFwX3NnKHBmZGV2LCBiby0+bW11LCBiby0+bm9kZS5zdGFydCA8 PCBQQUdFX1NISUZULCBwcm90LCBzZ3QpOwotCi0JcG1fcnVudGltZV9tYXJrX2xhc3RfYnVzeShw ZmRldi0+ZGV2KTsKLQlwbV9ydW50aW1lX3B1dF9hdXRvc3VzcGVuZChwZmRldi0+ZGV2KTsKIAli by0+aXNfbWFwcGVkID0gdHJ1ZTsKCiAJcmV0dXJuIDA7CkBAIC0yODksMTcgKzI5NiwxMiBAQCB2 b2lkIHBhbmZyb3N0X21tdV91bm1hcChzdHJ1Y3QgcGFuZnJvc3RfZ2VtX29iamVjdCAqYm8pCiAJ dTY0IGlvdmEgPSBiby0+bm9kZS5zdGFydCA8PCBQQUdFX1NISUZUOwogCXNpemVfdCBsZW4gPSBi by0+bm9kZS5zaXplIDw8IFBBR0VfU0hJRlQ7CiAJc2l6ZV90IHVubWFwcGVkX2xlbiA9IDA7Ci0J aW50IHJldDsKCiAJaWYgKFdBUk5fT04oIWJvLT5pc19tYXBwZWQpKQogCQlyZXR1cm47CgogCWRl dl9kYmcocGZkZXYtPmRldiwgInVubWFwOiBhcz0lZCwgaW92YT0lbGx4LCBsZW49JXp4IiwgYm8t Pm1tdS0+YXMsIGlvdmEsIGxlbik7CgotCXJldCA9IHBtX3J1bnRpbWVfZ2V0X3N5bmMocGZkZXYt PmRldik7Ci0JaWYgKHJldCA8IDApCi0JCXJldHVybjsKLQogCXdoaWxlICh1bm1hcHBlZF9sZW4g PCBsZW4pIHsKIAkJc2l6ZV90IHVubWFwcGVkX3BhZ2U7CiAJCXNpemVfdCBwZ3NpemUgPSBnZXRf cGdzaXplKGlvdmEsIGxlbiAtIHVubWFwcGVkX2xlbik7CkBAIC0zMTIsMTEgKzMxNCw3IEBAIHZv aWQgcGFuZnJvc3RfbW11X3VubWFwKHN0cnVjdCBwYW5mcm9zdF9nZW1fb2JqZWN0ICpibykKIAkJ dW5tYXBwZWRfbGVuICs9IHBnc2l6ZTsKIAl9CgotCW1tdV9od19kb19vcGVyYXRpb24ocGZkZXYs IGJvLT5tbXUsIGJvLT5ub2RlLnN0YXJ0IDw8IFBBR0VfU0hJRlQsCi0JCQkgICAgYm8tPm5vZGUu c2l6ZSA8PCBQQUdFX1NISUZULCBBU19DT01NQU5EX0ZMVVNIX1BUKTsKLQotCXBtX3J1bnRpbWVf bWFya19sYXN0X2J1c3kocGZkZXYtPmRldik7Ci0JcG1fcnVudGltZV9wdXRfYXV0b3N1c3BlbmQo cGZkZXYtPmRldik7CisJcGFuZnJvc3RfbW11X2ZsdXNoX3JhbmdlKHBmZGV2LCBiby0+bW11LCBi by0+bm9kZS5zdGFydCA8PCBQQUdFX1NISUZULCBsZW4pOwogCWJvLT5pc19tYXBwZWQgPSBmYWxz ZTsKIH0KCi0tCjIuMjAuMQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWw=