From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [RFC PATCH 34/42] drm/i915/query: Expose memory regions through the query uAPI Date: Thu, 14 Feb 2019 14:57:32 +0000 Message-ID: <20190214145740.14521-35-matthew.auld@intel.com> References: <20190214145740.14521-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2B0986E940 for ; Thu, 14 Feb 2019 14:58:26 +0000 (UTC) In-Reply-To: <20190214145740.14521-1-matthew.auld@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQWJkaWVsIEphbnVsZ3VlIDxhYmRpZWwuamFudWxndWVAbGludXguaW50ZWwuY29tPgoK UmV0dXJucyB0aGUgYXZhaWxhYmxlIG1lbW9yeSByZWdpb24gYXJlYXMgc3VwcG9ydGVkIGJ5IHRo ZSBIVy4KClNpZ25lZC1vZmYtYnk6IEFiZGllbCBKYW51bGd1ZSA8YWJkaWVsLmphbnVsZ3VlQGxp bnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRA aW50ZWwuY29tPgpDYzogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50 ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVlcnkuYyB8IDU3ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCAg ICAgICB8IDQwICsrKysrKysrKysrKysrKysrKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgOTYgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcXVlcnkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVlcnkuYwppbmRl eCBiNGYyNjYwNWY2MTcuLmUwMzk1OGM3YTM4NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9xdWVyeS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVlcnku YwpAQCAtOTUsOSArOTUsNjYgQEAgc3RhdGljIGludCBxdWVyeV90b3BvbG9neV9pbmZvKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlyZXR1cm4gdG90YWxfbGVuZ3RoOwogfQog CitzdGF0aWMgaW50IHF1ZXJ5X21lbXJlZ2lvbl9pbmZvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKKwkJCQlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSAqcXVlcnlfaXRlbSkK K3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfbWVtb3J5X3JlZ2lvbl9pbmZvIF9fdXNlciAqcXVl cnlfcHRyID0KKwkJdTY0X3RvX3VzZXJfcHRyKHF1ZXJ5X2l0ZW0tPmRhdGFfcHRyKTsKKwlzdHJ1 Y3QgZHJtX2k5MTVfbWVtb3J5X3JlZ2lvbl9pbmZvIF9fdXNlciAqaW5mb19wdHIgPQorCQkmcXVl cnlfcHRyLT5yZWdpb25zWzBdOworCXN0cnVjdCBkcm1faTkxNV9tZW1vcnlfcmVnaW9uX2luZm8g aW5mbyA9IHsgfTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfbWVtb3J5X3JlZ2lvbl9pbmZvIHF1 ZXJ5OworCXUzMiB0b3RhbF9sZW5ndGg7CisJaW50IHJldCwgaTsKKworCWlmIChxdWVyeV9pdGVt LT5mbGFncyAhPSAwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXRvdGFsX2xlbmd0aCA9IHNpemVv ZihzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfbWVtb3J5X3JlZ2lvbl9pbmZvKTsKKwlmb3IgKGkgPSAw OyBpIDwgQVJSQVlfU0laRShkZXZfcHJpdi0+cmVnaW9ucyk7ICsraSkgeworCQlzdHJ1Y3QgaW50 ZWxfbWVtb3J5X3JlZ2lvbiAqcmVnaW9uID0gZGV2X3ByaXYtPnJlZ2lvbnNbaV07CisKKwkJaWYg KCFyZWdpb24pCisJCQljb250aW51ZTsKKworCQl0b3RhbF9sZW5ndGggKz0gc2l6ZW9mKHN0cnVj dCBkcm1faTkxNV9tZW1vcnlfcmVnaW9uX2luZm8pOworCX0KKworCXJldCA9IGluaXRfcXVlcnlf aXRlbV9jaGVjaygmcXVlcnksIHNpemVvZihxdWVyeSksIHRvdGFsX2xlbmd0aCwKKwkJCQkgICAg cXVlcnlfaXRlbSk7CisJaWYgKHJldCAhPSAwKQorCQlyZXR1cm4gcmV0OworCisJaWYgKHF1ZXJ5 Lm51bV9yZWdpb25zIHx8IHF1ZXJ5LnJzdmRbMF0gfHwgcXVlcnkucnN2ZFsxXSB8fAorCSAgICBx dWVyeS5yc3ZkWzJdKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJB WV9TSVpFKGRldl9wcml2LT5yZWdpb25zKTsgKytpKSB7CisJCXN0cnVjdCBpbnRlbF9tZW1vcnlf cmVnaW9uICpyZWdpb24gPSBkZXZfcHJpdi0+cmVnaW9uc1tpXTsKKworCQlpZiAoIXJlZ2lvbikK KwkJCWNvbnRpbnVlOworCisJCWluZm8uaWQgPSByZWdpb24tPmlkOworCQlpbmZvLnNpemUgPSBy ZXNvdXJjZV9zaXplKCZyZWdpb24tPnJlZ2lvbik7CisKKwkJaWYgKF9fY29weV90b191c2VyKGlu Zm9fcHRyLCAmaW5mbywgc2l6ZW9mKGluZm8pKSkKKwkJCXJldHVybiAtRUZBVUxUOworCisJCXF1 ZXJ5Lm51bV9yZWdpb25zKys7CisJCWluZm9fcHRyKys7CisJfQorCisJaWYgKF9fY29weV90b191 c2VyKHF1ZXJ5X3B0ciwgJnF1ZXJ5LCBzaXplb2YocXVlcnkpKSkKKwkJcmV0dXJuIC1FRkFVTFQ7 CisKKwlyZXR1cm4gdG90YWxfbGVuZ3RoOworfQorCiBzdGF0aWMgaW50ICgqIGNvbnN0IGk5MTVf cXVlcnlfZnVuY3NbXSkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCQlz dHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSAqcXVlcnlfaXRlbSkgPSB7CiAJcXVlcnlfdG9wb2xv Z3lfaW5mbywKKwlxdWVyeV9tZW1yZWdpb25faW5mbywKIH07CiAKIGludCBpOTE1X3F1ZXJ5X2lv Y3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAq ZmlsZSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUv dWFwaS9kcm0vaTkxNV9kcm0uaAppbmRleCAyNmQyMjc0YjVkMmIuLjVhMTAyYTVjYjQxNSAxMDA2 NDQKLS0tIGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9k cm0vaTkxNV9kcm0uaApAQCAtMTc0NCw2ICsxNzQ0LDcgQEAgc3RydWN0IGRybV9pOTE1X3BlcmZf b2FfY29uZmlnIHsKIHN0cnVjdCBkcm1faTkxNV9xdWVyeV9pdGVtIHsKIAlfX3U2NCBxdWVyeV9p ZDsKICNkZWZpbmUgRFJNX0k5MTVfUVVFUllfVE9QT0xPR1lfSU5GTyAgICAxCisjZGVmaW5lIERS TV9JOTE1X1FVRVJZX01FTVJFR0lPTl9JTkZPICAgMwogCiAJLyoKIAkgKiBXaGVuIHNldCB0byB6 ZXJvIGJ5IHVzZXJzcGFjZSwgdGhpcyBpcyBmaWxsZWQgd2l0aCB0aGUgc2l6ZSBvZiB0aGUKQEAg LTE4MzIsNyArMTgzMyw2IEBAIHN0cnVjdCBkcm1faTkxNV9xdWVyeV90b3BvbG9neV9pbmZvIHsK IAkgKiBPZmZzZXQgaW4gZGF0YVtdIGF0IHdoaWNoIHRoZSBFVSBtYXNrcyBhcmUgc3RvcmVkLgog CSAqLwogCV9fdTE2IGV1X29mZnNldDsKLQogCS8qCiAJICogU3RyaWRlIGF0IHdoaWNoIGVhY2gg b2YgdGhlIEVVIG1hc2tzIGZvciBlYWNoIHN1YnNsaWNlIGFyZSBzdG9yZWQuCiAJICovCkBAIC0x ODQxLDYgKzE4NDEsNDQgQEAgc3RydWN0IGRybV9pOTE1X3F1ZXJ5X3RvcG9sb2d5X2luZm8gewog CV9fdTggZGF0YVtdOwogfTsKIAorc3RydWN0IGRybV9pOTE1X21lbW9yeV9yZWdpb25faW5mbyB7 CisKKwkvKiogQmFzZSB0eXBlIG9mIGEgcmVnaW9uCisJICovCisjZGVmaW5lIEk5MTVfU1lTVEVN X01FTU9SWSAgICAgICAgIDAKKyNkZWZpbmUgSTkxNV9ERVZJQ0VfTUVNT1JZICAgICAgICAgMQor CisJLyoqIFRoZSByZWdpb24gaWQgaXMgZW5jb2RlZCBpbiBhIGxheW91dCB3aGljaCBtYWtlcyBp dCBwb3NzaWJsZSB0bworCSAqICByZXRyaWV2ZSB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uOgor CSAqCisJICogIEJhc2UgdHlwZTogbG9nMihJRCA+PiAxNikKKwkgKiAgSW5zdGFuY2U6ICBsb2cy KElEICYgMHhmZmZmKQorCSAqLworCV9fdTMyIGlkOworCisJLyoqIFJlc2VydmVkIGZpZWxkLiBN QlogKi8KKwlfX3UzMiByc3ZkMDsKKworCS8qKiBVbnVzZWQgZm9yIG5vdy4gTUJaICovCisJX191 NjQgZmxhZ3M7CisKKwlfX3U2NCBzaXplOworCisJLyoqIFJlc2VydmVkIGZpZWxkcyBtdXN0IGJl IGNsZWFyZWQgdG8gemVyby4gKi8KKwlfX3U2NCByc3ZkMVs0XTsKK307CisKK3N0cnVjdCBkcm1f aTkxNV9xdWVyeV9tZW1vcnlfcmVnaW9uX2luZm8geworCisJLyoqIE51bWJlciBvZiBzdHJ1Y3Qg ZHJtX2k5MTVfbWVtb3J5X3JlZ2lvbl9pbmZvIHN0cnVjdHMgKi8KKwlfX3UzMiBudW1fcmVnaW9u czsKKworCS8qKiBNQlogKi8KKwlfX3UzMiByc3ZkWzNdOworCisJc3RydWN0IGRybV9pOTE1X21l bW9yeV9yZWdpb25faW5mbyByZWdpb25zW107Cit9OworCiAjaWYgZGVmaW5lZChfX2NwbHVzcGx1 cykKIH0KICNlbmRpZgotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZng=