From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH v3 04/16] gpu: host1x: Support 40-bit addressing Date: Fri, 1 Feb 2019 14:28:25 +0100 Message-ID: <20190201132837.12327-5-thierry.reding@gmail.com> References: <20190201132837.12327-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190201132837.12327-1-thierry.reding@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding Cc: linux-tegra@vger.kernel.org, Dmitry Osipenko , dri-devel@lists.freedesktop.org, Mikko Perttunen List-Id: linux-tegra@vger.kernel.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KClRlZ3JhMTg2IGFuZCBs YXRlciBzdXBwb3J0IDQwIGJpdHMgb2YgYWRkcmVzcyBzcGFjZS4gQWRkaXRpb25hbApyZWdpc3Rl cnMgbmVlZCB0byBiZSBwcm9ncmFtbWVkIHRvIHN0b3JlIHRoZSBmdWxsIDQwIGJpdHMgb2YgcHVz aApidWZmZXIgYWRkcmVzc2VzLgoKU2luY2UgY29tbWFuZCBzdHJlYW0gZ2F0aGVycyBjYW4gYWxz byByZXNpZGUgaW4gYnVmZmVycyBpbiBhIDQwLWJpdAphZGRyZXNzIHNwYWNlLCBhIG5ldyB2YXJp YW50IG9mIHRoZSBHQVRIRVIgb3Bjb2RlIGlzIGFsc28gaW50cm9kdWNlZC4KSXQgdGFrZXMgdHdv IHBhcmFtZXRlcnM6IHRoZSBmaXJzdCBwYXJhbWV0ZXIgY29udGFpbnMgdGhlIGxvd2VyIDMyCmJp dHMgb2YgdGhlIGFkZHJlc3MgYW5kIHRoZSBzZWNvbmQgcGFyYW1ldGVyIGNvbnRhaW5zIGJpdHMg MzIgdG8gMzkuCgpTaWduZWQtb2ZmLWJ5OiBUaGllcnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2hvc3QxeC9ody9jZG1hX2h3LmMgICAgICAgICAgIHwgMzIg KysrKysrKysrKysrKysrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2hvc3QxeC9ody9jaGFubmVsX2h3 LmMgICAgICAgIHwgMzAgKysrKysrKysrKysrKysrKysrLS0tCiBkcml2ZXJzL2dwdS9ob3N0MXgv aHcvaG9zdDF4MDZfaGFyZHdhcmUuaCB8ICA1ICsrKysKIGRyaXZlcnMvZ3B1L2hvc3QxeC9ody9o b3N0MXgwN19oYXJkd2FyZS5oIHwgIDUgKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRp b25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9ob3N0MXgv aHcvY2RtYV9ody5jIGIvZHJpdmVycy9ncHUvaG9zdDF4L2h3L2NkbWFfaHcuYwppbmRleCBjZTMy MDUzNGNiZWQuLjQ4NWFlZjU3NjFhZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvaG9zdDF4L2h3 L2NkbWFfaHcuYworKysgYi9kcml2ZXJzL2dwdS9ob3N0MXgvaHcvY2RtYV9ody5jCkBAIC02OCwy MCArNjgsMzEgQEAgc3RhdGljIHZvaWQgY2RtYV90aW1lb3V0X2NwdV9pbmNyKHN0cnVjdCBob3N0 MXhfY2RtYSAqY2RtYSwgdTMyIGdldHB0ciwKIHN0YXRpYyB2b2lkIGNkbWFfc3RhcnQoc3RydWN0 IGhvc3QxeF9jZG1hICpjZG1hKQogewogCXN0cnVjdCBob3N0MXhfY2hhbm5lbCAqY2ggPSBjZG1h X3RvX2NoYW5uZWwoY2RtYSk7CisJdTY0IHN0YXJ0LCBlbmQ7CiAKIAlpZiAoY2RtYS0+cnVubmlu ZykKIAkJcmV0dXJuOwogCiAJY2RtYS0+bGFzdF9wb3MgPSBjZG1hLT5wdXNoX2J1ZmZlci5wb3M7 CisJc3RhcnQgPSBjZG1hLT5wdXNoX2J1ZmZlci5kbWE7CisJZW5kID0gc3RhcnQgKyBjZG1hLT5w dXNoX2J1ZmZlci5zaXplICsgNDsKIAogCWhvc3QxeF9jaF93cml0ZWwoY2gsIEhPU1QxWF9DSEFO TkVMX0RNQUNUUkxfRE1BU1RPUCwKIAkJCSBIT1NUMVhfQ0hBTk5FTF9ETUFDVFJMKTsKIAogCS8q IHNldCBiYXNlLCBwdXQgYW5kIGVuZCBwb2ludGVyICovCi0JaG9zdDF4X2NoX3dyaXRlbChjaCwg Y2RtYS0+cHVzaF9idWZmZXIuZG1hLCBIT1NUMVhfQ0hBTk5FTF9ETUFTVEFSVCk7CisJaG9zdDF4 X2NoX3dyaXRlbChjaCwgbG93ZXJfMzJfYml0cyhzdGFydCksIEhPU1QxWF9DSEFOTkVMX0RNQVNU QVJUKTsKKyNpZiBIT1NUMVhfSFcgPj0gNgorCWhvc3QxeF9jaF93cml0ZWwoY2gsIHVwcGVyXzMy X2JpdHMoc3RhcnQpLCBIT1NUMVhfQ0hBTk5FTF9ETUFTVEFSVF9ISSk7CisjZW5kaWYKIAlob3N0 MXhfY2hfd3JpdGVsKGNoLCBjZG1hLT5wdXNoX2J1ZmZlci5wb3MsIEhPU1QxWF9DSEFOTkVMX0RN QVBVVCk7Ci0JaG9zdDF4X2NoX3dyaXRlbChjaCwgY2RtYS0+cHVzaF9idWZmZXIuZG1hICsgY2Rt YS0+cHVzaF9idWZmZXIuc2l6ZSArIDQsCi0JCQkgSE9TVDFYX0NIQU5ORUxfRE1BRU5EKTsKKyNp ZiBIT1NUMVhfSFcgPj0gNgorCWhvc3QxeF9jaF93cml0ZWwoY2gsIDAsIEhPU1QxWF9DSEFOTkVM X0RNQVBVVF9ISSk7CisjZW5kaWYKKwlob3N0MXhfY2hfd3JpdGVsKGNoLCBsb3dlcl8zMl9iaXRz KGVuZCksIEhPU1QxWF9DSEFOTkVMX0RNQUVORCk7CisjaWYgSE9TVDFYX0hXID49IDYKKwlob3N0 MXhfY2hfd3JpdGVsKGNoLCB1cHBlcl8zMl9iaXRzKGVuZCksIEhPU1QxWF9DSEFOTkVMX0RNQUVO RF9ISSk7CisjZW5kaWYKIAogCS8qIHJlc2V0IEdFVCAqLwogCWhvc3QxeF9jaF93cml0ZWwoY2gs IEhPU1QxWF9DSEFOTkVMX0RNQUNUUkxfRE1BU1RPUCB8CkBAIC0xMDQsNiArMTE1LDcgQEAgc3Rh dGljIHZvaWQgY2RtYV90aW1lb3V0X3Jlc3RhcnQoc3RydWN0IGhvc3QxeF9jZG1hICpjZG1hLCB1 MzIgZ2V0cHRyKQogewogCXN0cnVjdCBob3N0MXggKmhvc3QxeCA9IGNkbWFfdG9faG9zdDF4KGNk bWEpOwogCXN0cnVjdCBob3N0MXhfY2hhbm5lbCAqY2ggPSBjZG1hX3RvX2NoYW5uZWwoY2RtYSk7 CisJdTY0IHN0YXJ0LCBlbmQ7CiAKIAlpZiAoY2RtYS0+cnVubmluZykKIAkJcmV0dXJuOwpAQCAt MTEzLDEwICsxMjUsMTggQEAgc3RhdGljIHZvaWQgY2RtYV90aW1lb3V0X3Jlc3RhcnQoc3RydWN0 IGhvc3QxeF9jZG1hICpjZG1hLCB1MzIgZ2V0cHRyKQogCWhvc3QxeF9jaF93cml0ZWwoY2gsIEhP U1QxWF9DSEFOTkVMX0RNQUNUUkxfRE1BU1RPUCwKIAkJCSBIT1NUMVhfQ0hBTk5FTF9ETUFDVFJM KTsKIAorCXN0YXJ0ID0gY2RtYS0+cHVzaF9idWZmZXIuZG1hOworCWVuZCA9IHN0YXJ0ICsgY2Rt YS0+cHVzaF9idWZmZXIuc2l6ZSArIDQ7CisKIAkvKiBzZXQgYmFzZSwgZW5kIHBvaW50ZXIgKGFs bCBvZiBtZW1vcnkpICovCi0JaG9zdDF4X2NoX3dyaXRlbChjaCwgY2RtYS0+cHVzaF9idWZmZXIu ZG1hLCBIT1NUMVhfQ0hBTk5FTF9ETUFTVEFSVCk7Ci0JaG9zdDF4X2NoX3dyaXRlbChjaCwgY2Rt YS0+cHVzaF9idWZmZXIuZG1hICsgY2RtYS0+cHVzaF9idWZmZXIuc2l6ZSwKLQkJCSBIT1NUMVhf Q0hBTk5FTF9ETUFFTkQpOworCWhvc3QxeF9jaF93cml0ZWwoY2gsIGxvd2VyXzMyX2JpdHMoc3Rh cnQpLCBIT1NUMVhfQ0hBTk5FTF9ETUFTVEFSVCk7CisjaWYgSE9TVDFYX0hXID49IDYKKwlob3N0 MXhfY2hfd3JpdGVsKGNoLCB1cHBlcl8zMl9iaXRzKHN0YXJ0KSwgSE9TVDFYX0NIQU5ORUxfRE1B U1RBUlRfSEkpOworI2VuZGlmCisJaG9zdDF4X2NoX3dyaXRlbChjaCwgbG93ZXJfMzJfYml0cyhl bmQpLCBIT1NUMVhfQ0hBTk5FTF9ETUFFTkQpOworI2lmIEhPU1QxWF9IVyA+PSA2CisJaG9zdDF4 X2NoX3dyaXRlbChjaCwgdXBwZXJfMzJfYml0cyhlbmQpLCBIT1NUMVhfQ0hBTk5FTF9ETUFFTkRf SEkpOworI2VuZGlmCiAKIAkvKiBzZXQgR0VULCBieSBsb2FkaW5nIHRoZSB2YWx1ZSBpbiBQVVQg KHRoZW4gcmVzZXQgR0VUKSAqLwogCWhvc3QxeF9jaF93cml0ZWwoY2gsIGdldHB0ciwgSE9TVDFY X0NIQU5ORUxfRE1BUFVUKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2hvc3QxeC9ody9jaGFu bmVsX2h3LmMgYi9kcml2ZXJzL2dwdS9ob3N0MXgvaHcvY2hhbm5lbF9ody5jCmluZGV4IDM4NGY2 YWM5MWFmYS4uNzNmMTFhNDE4ZWU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9ob3N0MXgvaHcv Y2hhbm5lbF9ody5jCisrKyBiL2RyaXZlcnMvZ3B1L2hvc3QxeC9ody9jaGFubmVsX2h3LmMKQEAg LTYwLDE1ICs2MCwzNyBAQCBzdGF0aWMgdm9pZCB0cmFjZV93cml0ZV9nYXRoZXIoc3RydWN0IGhv c3QxeF9jZG1hICpjZG1hLCBzdHJ1Y3QgaG9zdDF4X2JvICpibywKIHN0YXRpYyB2b2lkIHN1Ym1p dF9nYXRoZXJzKHN0cnVjdCBob3N0MXhfam9iICpqb2IpCiB7CiAJc3RydWN0IGhvc3QxeF9jZG1h ICpjZG1hID0gJmpvYi0+Y2hhbm5lbC0+Y2RtYTsKKyNpZiBIT1NUMVhfSFcgPCA2CisJc3RydWN0 IGRldmljZSAqZGV2ID0gam9iLT5jaGFubmVsLT5kZXY7CisjZW5kaWYKIAl1bnNpZ25lZCBpbnQg aTsKIAogCWZvciAoaSA9IDA7IGkgPCBqb2ItPm51bV9nYXRoZXJzOyBpKyspIHsKIAkJc3RydWN0 IGhvc3QxeF9qb2JfZ2F0aGVyICpnID0gJmpvYi0+Z2F0aGVyc1tpXTsKLQkJdTMyIG9wMSA9IGhv c3QxeF9vcGNvZGVfZ2F0aGVyKGctPndvcmRzKTsKLQkJdTMyIG9wMiA9IGctPmJhc2UgKyBnLT5v ZmZzZXQ7CisJCWRtYV9hZGRyX3QgYWRkciA9IGctPmJhc2UgKyBnLT5vZmZzZXQ7CisJCXUzMiBv cDIsIG9wMzsKKworCQlvcDIgPSBsb3dlcl8zMl9iaXRzKGFkZHIpOworCQlvcDMgPSB1cHBlcl8z Ml9iaXRzKGFkZHIpOworCisJCXRyYWNlX3dyaXRlX2dhdGhlcihjZG1hLCBnLT5ibywgZy0+b2Zm c2V0LCBnLT53b3Jkcyk7CisKKwkJaWYgKG9wMyAhPSAwKSB7CisjaWYgSE9TVDFYX0hXID49IDYK KwkJCXUzMiBvcDEgPSBob3N0MXhfb3Bjb2RlX2dhdGhlcl93aWRlKGctPndvcmRzKTsKKwkJCXUz MiBvcDQgPSBIT1NUMVhfT1BDT0RFX05PUDsKIAotCQl0cmFjZV93cml0ZV9nYXRoZXIoY2RtYSwg Zy0+Ym8sIGctPm9mZnNldCwgb3AxICYgMHhmZmZmKTsKLQkJaG9zdDF4X2NkbWFfcHVzaChjZG1h LCBvcDEsIG9wMik7CisJCQlob3N0MXhfY2RtYV9wdXNoX3dpZGUoY2RtYSwgb3AxLCBvcDIsIG9w Mywgb3A0KTsKKyNlbHNlCisJCQlkZXZfZXJyKGRldiwgImludmFsaWQgZ2F0aGVyIGZvciBwdXNo IGJ1ZmZlciAlcGFkXG4iLAorCQkJCSZhZGRyKTsKKwkJCWNvbnRpbnVlOworI2VuZGlmCisJCX0g ZWxzZSB7CisJCQl1MzIgb3AxID0gaG9zdDF4X29wY29kZV9nYXRoZXIoZy0+d29yZHMpOworCisJ CQlob3N0MXhfY2RtYV9wdXNoKGNkbWEsIG9wMSwgb3AyKTsKKwkJfQogCX0KIH0KIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvaG9zdDF4L2h3L2hvc3QxeDA2X2hhcmR3YXJlLmggYi9kcml2ZXJz L2dwdS9ob3N0MXgvaHcvaG9zdDF4MDZfaGFyZHdhcmUuaAppbmRleCBlYWI3NTNiOTFmMjQuLmRk MzdiMTBjOGQwNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvaG9zdDF4L2h3L2hvc3QxeDA2X2hh cmR3YXJlLmgKKysrIGIvZHJpdmVycy9ncHUvaG9zdDF4L2h3L2hvc3QxeDA2X2hhcmR3YXJlLmgK QEAgLTEzOCw2ICsxMzgsMTEgQEAgc3RhdGljIGlubGluZSB1MzIgaG9zdDF4X29wY29kZV9nYXRo ZXJfaW5jcih1bnNpZ25lZCBvZmZzZXQsIHVuc2lnbmVkIGNvdW50KQogCXJldHVybiAoNiA8PCAy OCkgfCAob2Zmc2V0IDw8IDE2KSB8IEJJVCgxNSkgfCBCSVQoMTQpIHwgY291bnQ7CiB9CiAKK3N0 YXRpYyBpbmxpbmUgdTMyIGhvc3QxeF9vcGNvZGVfZ2F0aGVyX3dpZGUodW5zaWduZWQgY291bnQp Cit7CisJcmV0dXJuICgxMiA8PCAyOCkgfCBjb3VudDsKK30KKwogI2RlZmluZSBIT1NUMVhfT1BD T0RFX05PUCBob3N0MXhfb3Bjb2RlX25vbmluY3IoMCwgMCkKIAogI2VuZGlmCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9ob3N0MXgvaHcvaG9zdDF4MDdfaGFyZHdhcmUuaCBiL2RyaXZlcnMvZ3B1 L2hvc3QxeC9ody9ob3N0MXgwN19oYXJkd2FyZS5oCmluZGV4IGE3OWY1N2RjODdiYi4uOWY2ZGE0 ZWU1NDQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9ob3N0MXgvaHcvaG9zdDF4MDdfaGFyZHdh cmUuaAorKysgYi9kcml2ZXJzL2dwdS9ob3N0MXgvaHcvaG9zdDF4MDdfaGFyZHdhcmUuaApAQCAt MTM4LDYgKzEzOCwxMSBAQCBzdGF0aWMgaW5saW5lIHUzMiBob3N0MXhfb3Bjb2RlX2dhdGhlcl9p bmNyKHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgY291bnQpCiAJcmV0dXJuICg2IDw8IDI4KSB8 IChvZmZzZXQgPDwgMTYpIHwgQklUKDE1KSB8IEJJVCgxNCkgfCBjb3VudDsKIH0KIAorc3RhdGlj IGlubGluZSB1MzIgaG9zdDF4X29wY29kZV9nYXRoZXJfd2lkZSh1bnNpZ25lZCBjb3VudCkKK3sK KwlyZXR1cm4gKDEyIDw8IDI4KSB8IGNvdW50OworfQorCiAjZGVmaW5lIEhPU1QxWF9PUENPREVf Tk9QIGhvc3QxeF9vcGNvZGVfbm9uaW5jcigwLCAwKQogCiAjZW5kaWYKLS0gCjIuMTkuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==