From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: [PATCH RFC 085/111] staging: etnaviv: add support for offset physical memory Date: Thu, 2 Apr 2015 17:30:27 +0200 Message-ID: <1427988653-754-86-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 187416EA70 for ; Thu, 2 Apr 2015 08:31:01 -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+CgpPbiBpTVg2 LCBtZW1vcnkgc3RhcnRzIGF0IDI1Nk1CIHBoeXNpY2FsLCBhbmQgaWYgd2UgaGF2ZSAyR0Igb2Yg bWVtb3J5LAp0aGlzIGNhdXNlcyBpdCB0byBleHRlbmQgYmV5b25kIDB4ODAwMDAwMDAuICBBbGwg bWVtb3J5IGlzIGF2YWlsYWJsZSBmb3IKRE1BIGNvaGVyZW50IGFsbG9jYXRpb25zLCB3aGljaCBj YW4gcmVzdWx0IGluIHRoZSBjb21tYW5kIGJ1ZmZlcnMgYmVpbmcKYWxsb2NhdGVkIGZyb20gYWRk cmVzc2VzIGFib3ZlIDB4ODAwMDAwMDAuCgpIb3dldmVyLCB0aGUgVml2YW50ZSBHUFUgcmVxdWly ZXMgdGhhdCBjb21tYW5kIGJ1ZmZlcnMgYXJlIGluIHRoZSBsaW5lYXIKc3BhY2UgKGZpcnN0IDJH QiBvZiBHUFUgYWRkcmVzc2VzLikgIFRyeWluZyB0byBwcm9ncmFtIGFuIGFkZHJlc3Mgd2l0aApi aXQgMzEgc2V0IHJlc3VsdHMgaW4gaXQgYmVpbmcgaWdub3JlZC4KClRoZSBWaXZhbnRlIEdQVSBo YXMgYSBzb2x1dGlvbiB0byB0aGlzOiB0aGV5IHByb3ZpZGUgYSBzZXQgb2YgbWVtb3J5CmJhc2Ug YWRkcmVzcyByZWdpc3RlcnMsIHdoaWNoIGFyZSBhZGRlZCB0byB0aGUgR1BVIGxpbmVhciBzcGFj ZSBhZGRyZXNzCmJlZm9yZSBhcHBlYXJpbmcgb24gdGhlIGJ1cy4gIElmIHdlIHByb2dyYW0gdGhl c2UgdG8gdGhlIGJhc2UgYWRkcmVzcyBvZgpwaHlzaWNhbCBtZW1vcnksIHdlIGNhbiB1c2UgYWxs IDJHQiBvZiBSQU0uCgpUaGVyZSBhcmUgb3RoZXIgcmVhc29ucyB0byBkbyB0aGlzOiBmaXJzdGx5 LCBvdGhlciBTb0NzIG1heSBzdGFydCB0aGVpcgpwaHlzaWNhbCBtZW1vcnkgYXQgb3RoZXIgYnVz IGFkZHJlc3Nlcywgd2hpY2ggbWF5IGZ1cnRoZXIgcmVkdWNlIHRoZQpyYW5nZSBvZiBwaHlzaWNh bCBhZGRyZXNzZXMgZm9yIGNvbW1hbmQgYnVmZmVycy4gIFNlY29uZGx5LCBpdCBwcmV2ZW50cwp0 aGUgR1BVIGJlaW5nIGFibGUgdG8gYWNjZXNzIGFkZHJlc3NlcyBiZWxvdyBSQU0sIHdoaWNoIGlu IHRoZSBpTVg2CmNhc2UgYXJlIGhhcmR3YXJlIHJlZ2lzdGVycy4KClNpZ25lZC1vZmYtYnk6IFJ1 c3NlbGwgS2luZyA8cm1rK2tlcm5lbEBhcm0ubGludXgub3JnLnVrPgotLS0KIGRyaXZlcnMvc3Rh Z2luZy9ldG5hdml2L2V0bmF2aXZfYnVmZmVyLmMgfCAyMSArKysrKysrKysrKysrLS0tLS0tLS0K IGRyaXZlcnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfZ2VtLmMgICAgfCAgMyArKy0KIGRyaXZl cnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfZ3B1LmMgICAgfCAyMCArKysrKysrKysrKysrKy0t LS0tLQogZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9ncHUuaCAgICB8ICAzICsrKwog ZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9tbXUuYyAgICB8ICA0ICsrLS0KIGRyaXZl cnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfbW11LmggICAgfCAgMiArLQogNiBmaWxlcyBjaGFu Z2VkLCAzNSBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2J1ZmZlci5jIGIvZHJpdmVycy9zdGFnaW5nL2V0 bmF2aXYvZXRuYXZpdl9idWZmZXIuYwppbmRleCAxN2JmNmY5YWJlZDAuLjM5MWIyYWZjN2Y1OSAx MDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9idWZmZXIuYworKysg Yi9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2J1ZmZlci5jCkBAIC0xMjksNiArMTI5 LDExIEBAIHN0YXRpYyB2b2lkIGV0bmF2aXZfY21kX3NlbGVjdF9waXBlKHN0cnVjdCBldG5hdml2 X2dlbV9vYmplY3QgKmJ1ZmZlciwgdTggcGlwZSkKIAkJICAgICAgIFZJVlNfR0xfUElQRV9TRUxF Q1RfUElQRShwaXBlKSk7CiB9CiAKK3N0YXRpYyB1MzIgZ3B1X3ZhKHN0cnVjdCBldG5hdml2X2dw dSAqZ3B1LCBzdHJ1Y3QgZXRuYXZpdl9nZW1fb2JqZWN0ICpvYmopCit7CisJcmV0dXJuIG9iai0+ cGFkZHIgLSBncHUtPm1lbW9yeV9iYXNlOworfQorCiBzdGF0aWMgdm9pZCBldG5hdml2X2J1ZmZl cl9kdW1wKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LAogCXN0cnVjdCBldG5hdml2X2dlbV9vYmpl Y3QgKm9iaiwgdTMyIG9mZiwgdTMyIGxlbikKIHsKQEAgLTEzNiw3ICsxNDEsNyBAQCBzdGF0aWMg dm9pZCBldG5hdml2X2J1ZmZlcl9kdW1wKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LAogCXUzMiAq cHRyID0gb2JqLT52YWRkciArIG9mZjsKIAogCWRldl9pbmZvKGdwdS0+ZGV2LCAidmlydCAlcCBw aHlzIDB4JTA4eCBmcmVlIDB4JTA4eFxuIiwKLQkJCXB0ciwgb2JqLT5wYWRkciArIG9mZiwgc2l6 ZSAtIGxlbiAqIDQgLSBvZmYpOworCQkJcHRyLCBncHVfdmEoZ3B1LCBvYmopICsgb2ZmLCBzaXpl IC0gbGVuICogNCAtIG9mZik7CiAKIAlwcmludF9oZXhfZHVtcChLRVJOX0lORk8sICJjbWQgIiwg RFVNUF9QUkVGSVhfT0ZGU0VULCAxNiwgNCwKIAkJCXB0ciwgbGVuICogNCwgMCk7CkBAIC0xNTIs NyArMTU3LDcgQEAgdTMyIGV0bmF2aXZfYnVmZmVyX2luaXQoc3RydWN0IGV0bmF2aXZfZ3B1ICpn cHUpCiAJZXRuYXZpdl9jbWRfc2VsZWN0X3BpcGUoYnVmZmVyLCBncHUtPnBpcGUpOwogCiAJQ01E X1dBSVQoYnVmZmVyKTsKLQlDTURfTElOSyhidWZmZXIsIDIsIGJ1ZmZlci0+cGFkZHIgKyAoKGJ1 ZmZlci0+b2Zmc2V0IC0gMSkgKiA0KSk7CisJQ01EX0xJTksoYnVmZmVyLCAyLCBncHVfdmEoZ3B1 LCBidWZmZXIpICsgKChidWZmZXItPm9mZnNldCAtIDEpICogNCkpOwogCiAJcmV0dXJuIGJ1ZmZl ci0+b2Zmc2V0OwogfQpAQCAtMTk5LDcgKzIwNCw3IEBAIHZvaWQgZXRuYXZpdl9idWZmZXJfcXVl dWUoc3RydWN0IGV0bmF2aXZfZ3B1ICpncHUsIHVuc2lnbmVkIGludCBldmVudCwKIAogCS8qIHNh dmUgb2Zmc2V0IGJhY2sgaW50byBtYWluIGJ1ZmZlciAqLwogCWJhY2sgPSBidWZmZXItPm9mZnNl dCArIHJlc2VydmVfc2l6ZSAtIDY7Ci0JbGlua190YXJnZXQgPSBidWZmZXItPnBhZGRyICsgYnVm ZmVyLT5vZmZzZXQgKiA0OworCWxpbmtfdGFyZ2V0ID0gZ3B1X3ZhKGdwdSwgYnVmZmVyKSArIGJ1 ZmZlci0+b2Zmc2V0ICogNDsKIAlsaW5rX3NpemUgPSA2OwogCiAJaWYgKGdwdS0+bW11LT5uZWVk X2ZsdXNoKSB7CkBAIC0yMTYsNyArMjIxLDcgQEAgdm9pZCBldG5hdml2X2J1ZmZlcl9xdWV1ZShz dHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSwgdW5zaWduZWQgaW50IGV2ZW50LAogCQlpZiAoZHJtX2Rl YnVnICYgRFJNX1VUX0RSSVZFUikKIAkJCXByX2luZm8oInN0cmVhbSBsaW5rIGZyb20gYnVmZmVy ICV1IHRvIDB4JTA4eCBAIDB4JTA4eCAlcFxuIiwKIAkJCQlpLCBsaW5rX3RhcmdldCwKLQkJCQlj bWQtPnBhZGRyICsgY21kLT5vZmZzZXQgKiA0LAorCQkJCWdwdV92YShncHUsIGNtZCkgKyBjbWQt Pm9mZnNldCAqIDQsCiAJCQkJY21kLT52YWRkciArIGNtZC0+b2Zmc2V0ICogNCk7CiAKIAkJLyog anVtcCBiYWNrIGZyb20gbGFzdCBjbWQgdG8gbWFpbiBidWZmZXIgKi8KQEAgLTIyNSw3ICsyMzAs NyBAQCB2b2lkIGV0bmF2aXZfYnVmZmVyX3F1ZXVlKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LCB1 bnNpZ25lZCBpbnQgZXZlbnQsCiAJCS8qIHVwZGF0ZSB0aGUgc2l6ZSAqLwogCQlzdWJtaXQtPmNt ZFtpXS5zaXplID0gY21kLT5vZmZzZXQgLSBzdWJtaXQtPmNtZFtpXS5vZmZzZXQ7CiAKLQkJbGlu a190YXJnZXQgPSBjbWQtPnBhZGRyICsgc3VibWl0LT5jbWRbaV0ub2Zmc2V0ICogNDsKKwkJbGlu a190YXJnZXQgPSBncHVfdmEoZ3B1LCBjbWQpICsgc3VibWl0LT5jbWRbaV0ub2Zmc2V0ICogNDsK IAkJbGlua19zaXplID0gc3VibWl0LT5jbWRbaV0uc2l6ZSAqIDI7CiAJfQogCkBAIC0yNDAsMTIg KzI0NSwxMiBAQCB2b2lkIGV0bmF2aXZfYnVmZmVyX3F1ZXVlKHN0cnVjdCBldG5hdml2X2dwdSAq Z3B1LCB1bnNpZ25lZCBpbnQgZXZlbnQsCiAJCXByX2luZm8oImxpbmsgb3A6ICVwXG4iLCBsdyk7 CiAJCXByX2luZm8oImxpbmsgYWRkcjogJXBcbiIsIGx3ICsgMSk7CiAJCXByX2luZm8oImFkZHI6 IDB4JTA4eFxuIiwgbGlua190YXJnZXQpOwotCQlwcl9pbmZvKCJiYWNrOiAweCUwOHhcbiIsIGJ1 ZmZlci0+cGFkZHIgKyAoYmFjayAqIDQpKTsKKwkJcHJfaW5mbygiYmFjazogMHglMDh4XG4iLCBn cHVfdmEoZ3B1LCBidWZmZXIpICsgKGJhY2sgKiA0KSk7CiAJCXByX2luZm8oImV2ZW50OiAlZFxu IiwgZXZlbnQpOwogCX0KIAogCWlmIChncHUtPm1tdS0+bmVlZF9mbHVzaCkgewotCQl1aW50MzJf dCBuZXdfdGFyZ2V0ID0gYnVmZmVyLT5wYWRkciArIGJ1ZmZlci0+b2Zmc2V0ICoKKwkJdWludDMy X3QgbmV3X3RhcmdldCA9IGdwdV92YShncHUsIGJ1ZmZlcikgKyBidWZmZXItPm9mZnNldCAqCiAJ CQkJCXNpemVvZih1aW50MzJfdCk7CiAKIAkJLyogQWRkIHRoZSBNTVUgZmx1c2ggKi8KQEAgLTI3 Myw3ICsyNzgsNyBAQCB2b2lkIGV0bmF2aXZfYnVmZmVyX3F1ZXVlKHN0cnVjdCBldG5hdml2X2dw dSAqZ3B1LCB1bnNpZ25lZCBpbnQgZXZlbnQsCiAKIAkvKiBhcHBlbmQgV0FJVC9MSU5LIHRvIG1h aW4gYnVmZmVyICovCiAJQ01EX1dBSVQoYnVmZmVyKTsKLQlDTURfTElOSyhidWZmZXIsIDIsIGJ1 ZmZlci0+cGFkZHIgKyAoKGJ1ZmZlci0+b2Zmc2V0IC0gMSkgKiA0KSk7CisJQ01EX0xJTksoYnVm ZmVyLCAyLCBncHVfdmEoZ3B1LCBidWZmZXIpICsgKChidWZmZXItPm9mZnNldCAtIDEpICogNCkp OwogCiAJLyogQ2hhbmdlIFdBSVQgaW50byBhIExJTksgY29tbWFuZDsgd3JpdGUgdGhlIGFkZHJl c3MgZmlyc3QuICovCiAJKihsdyArIDEpID0gbGlua190YXJnZXQ7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2dlbS5jIGIvZHJpdmVycy9zdGFnaW5nL2V0bmF2 aXYvZXRuYXZpdl9nZW0uYwppbmRleCA1NmU0ZmY1ZGQwNDguLmZjOGRjZmFmNWYyMSAxMDA2NDQK LS0tIGEvZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9nZW0uYworKysgYi9kcml2ZXJz L3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X2dlbS5jCkBAIC0zMTcsNyArMzE3LDggQEAgaW50IGV0 bmF2aXZfZ2VtX2dldF9pb3ZhX2xvY2tlZChzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSwKIAkJaWYg KElTX0VSUihwYWdlcykpCiAJCQlyZXR1cm4gUFRSX0VSUihwYWdlcyk7CiAKLQkJcmV0ID0gZXRu YXZpdl9pb21tdV9tYXBfZ2VtKGdwdS0+bW11LCBldG5hdml2X29iaik7CisJCXJldCA9IGV0bmF2 aXZfaW9tbXVfbWFwX2dlbShncHUtPm1tdSwgZXRuYXZpdl9vYmosCisJCQkJZ3B1LT5tZW1vcnlf YmFzZSk7CiAJfQogCiAJaWYgKCFyZXQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvZXRu YXZpdi9ldG5hdml2X2dwdS5jIGIvZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9ncHUu YwppbmRleCAzMjA4NGUwOGEzODcuLjk3M2IwMDM0NmM3ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9z dGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9ncHUuYworKysgYi9kcml2ZXJzL3N0YWdpbmcvZXRuYXZp di9ldG5hdml2X2dwdS5jCkBAIC00MjksMTEgKzQyOSwxMSBAQCBzdGF0aWMgdm9pZCBldG5hdml2 X2dwdV9od19pbml0KHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1KQogCQkgIFZJVlNfSElfQVhJX0NP TkZJR19BUkNBQ0hFKDIpKTsKIAogCS8qIHNldCBiYXNlIGFkZHJlc3NlcyAqLwotCWdwdV93cml0 ZShncHUsIFZJVlNfTUNfTUVNT1JZX0JBU0VfQUREUl9SQSwgMHgwKTsKLQlncHVfd3JpdGUoZ3B1 LCBWSVZTX01DX01FTU9SWV9CQVNFX0FERFJfRkUsIDB4MCk7Ci0JZ3B1X3dyaXRlKGdwdSwgVklW U19NQ19NRU1PUllfQkFTRV9BRERSX1RYLCAweDApOwotCWdwdV93cml0ZShncHUsIFZJVlNfTUNf TUVNT1JZX0JBU0VfQUREUl9QRVosIDB4MCk7Ci0JZ3B1X3dyaXRlKGdwdSwgVklWU19NQ19NRU1P UllfQkFTRV9BRERSX1BFLCAweDApOworCWdwdV93cml0ZShncHUsIFZJVlNfTUNfTUVNT1JZX0JB U0VfQUREUl9SQSwgZ3B1LT5tZW1vcnlfYmFzZSk7CisJZ3B1X3dyaXRlKGdwdSwgVklWU19NQ19N RU1PUllfQkFTRV9BRERSX0ZFLCBncHUtPm1lbW9yeV9iYXNlKTsKKwlncHVfd3JpdGUoZ3B1LCBW SVZTX01DX01FTU9SWV9CQVNFX0FERFJfVFgsIGdwdS0+bWVtb3J5X2Jhc2UpOworCWdwdV93cml0 ZShncHUsIFZJVlNfTUNfTUVNT1JZX0JBU0VfQUREUl9QRVosIGdwdS0+bWVtb3J5X2Jhc2UpOwor CWdwdV93cml0ZShncHUsIFZJVlNfTUNfTUVNT1JZX0JBU0VfQUREUl9QRSwgZ3B1LT5tZW1vcnlf YmFzZSk7CiAKIAkvKiBGSVhNRTogd2UgbmVlZCB0byBwcm9ncmFtIHRoZSBHUFUgdGFibGUgcG9p bnRlcihzKSBoZXJlICovCiAKQEAgLTQ0NSw3ICs0NDUsNyBAQCBzdGF0aWMgdm9pZCBldG5hdml2 X2dwdV9od19pbml0KHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1KQogCiAJZ3B1X3dyaXRlKGdwdSwg VklWU19ISV9JTlRSX0VOQkwsIH4wVSk7CiAJZ3B1X3dyaXRlKGdwdSwgVklWU19GRV9DT01NQU5E X0FERFJFU1MsCi0JCSAgZXRuYXZpdl9nZW1fcGFkZHJfbG9ja2VkKGdwdS0+YnVmZmVyKSk7CisJ CSAgZXRuYXZpdl9nZW1fcGFkZHJfbG9ja2VkKGdwdS0+YnVmZmVyKSAtIGdwdS0+bWVtb3J5X2Jh c2UpOwogCWdwdV93cml0ZShncHUsIFZJVlNfRkVfQ09NTUFORF9DT05UUk9MLAogCQkgIFZJVlNf RkVfQ09NTUFORF9DT05UUk9MX0VOQUJMRSB8CiAJCSAgVklWU19GRV9DT01NQU5EX0NPTlRST0xf UFJFRkVUQ0god29yZHMpKTsKQEAgLTExNDAsNiArMTE0MCwxNCBAQCBzdGF0aWMgaW50IGV0bmF2 aXZfZ3B1X3BsYXRmb3JtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAKIAln cHUtPmRldiA9ICZwZGV2LT5kZXY7CiAKKwkvKgorCSAqIFNldCB0aGUgR1BVIGJhc2UgYWRkcmVz cyB0byB0aGUgc3RhcnQgb2YgcGh5c2ljYWwgbWVtb3J5LiAgVGhpcworCSAqIGVuc3VyZXMgdGhh dCBpZiB3ZSBoYXZlIHVwIHRvIDJHQiwgdGhlIHYxIE1NVSBjYW4gYWRkcmVzcyB0aGUKKwkgKiBo aWdoZXN0IG1lbW9yeS4gIFRoaXMgaXMgaW1wb3J0YW50IGFzIGNvbW1hbmQgYnVmZmVycyBtYXkg YmUKKwkgKiBhbGxvY2F0ZWQgb3V0c2lkZSBvZiB0aGlzIGxpbWl0LgorCSAqLworCWdwdS0+bWVt b3J5X2Jhc2UgPSBQSFlTX09GRlNFVDsKKwogCS8qIE1hcCByZWdpc3RlcnM6ICovCiAJZ3B1LT5t bWlvID0gZXRuYXZpdl9pb3JlbWFwKHBkZXYsIE5VTEwsIGRldl9uYW1lKGdwdS0+ZGV2KSk7CiAJ aWYgKElTX0VSUihncHUtPm1taW8pKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL2V0bmF2 aXYvZXRuYXZpdl9ncHUuaCBiL2RyaXZlcnMvc3RhZ2luZy9ldG5hdml2L2V0bmF2aXZfZ3B1LmgK aW5kZXggM2E0YzExMWE0OTc4Li45ZmVhYjA3ZGE0NTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3Rh Z2luZy9ldG5hdml2L2V0bmF2aXZfZ3B1LmgKKysrIGIvZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYv ZXRuYXZpdl9ncHUuaApAQCAtOTQsNiArOTQsOSBAQCBzdHJ1Y3QgZXRuYXZpdl9ncHUgewogCS8q ICdyaW5nJy1idWZmZXI6ICovCiAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpidWZmZXI7CiAKKwkv KiBidXMgYmFzZSBhZGRyZXNzIG9mIG1lbW9yeSAgKi8KKwl1aW50MzJfdCBtZW1vcnlfYmFzZTsK KwogCS8qIGV2ZW50IG1hbmFnZW1lbnQ6ICovCiAJc3RydWN0IGV0bmF2aXZfZXZlbnQgZXZlbnRb MzBdOwogCXN0cnVjdCBjb21wbGV0aW9uIGV2ZW50X2ZyZWU7CmRpZmYgLS1naXQgYS9kcml2ZXJz L3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X21tdS5jIGIvZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYv ZXRuYXZpdl9tbXUuYwppbmRleCAwYTJmOWRkNWJiN2EuLjg5NzM1NmQwOGUzMCAxMDA2NDQKLS0t IGEvZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9tbXUuYworKysgYi9kcml2ZXJzL3N0 YWdpbmcvZXRuYXZpdi9ldG5hdml2X21tdS5jCkBAIC05Miw3ICs5Miw3IEBAIGludCBldG5hdml2 X2lvbW11X3VubWFwKHN0cnVjdCBldG5hdml2X2lvbW11ICppb21tdSwgdWludDMyX3QgaW92YSwK IH0KIAogaW50IGV0bmF2aXZfaW9tbXVfbWFwX2dlbShzdHJ1Y3QgZXRuYXZpdl9pb21tdSAqbW11 LAotCXN0cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKmV0bmF2aXZfb2JqKQorCXN0cnVjdCBldG5h dml2X2dlbV9vYmplY3QgKmV0bmF2aXZfb2JqLCB1aW50MzJfdCBtZW1vcnlfYmFzZSkKIHsKIAlz dHJ1Y3QgZXRuYXZpdl9kcm1fcHJpdmF0ZSAqcHJpdiA9IGV0bmF2aXZfb2JqLT5iYXNlLmRldi0+ ZGV2X3ByaXZhdGU7CiAJc3RydWN0IHNnX3RhYmxlICpzZ3QgPSBldG5hdml2X29iai0+c2d0OwpA QCAtMTAzLDcgKzEwMyw3IEBAIGludCBldG5hdml2X2lvbW11X21hcF9nZW0oc3RydWN0IGV0bmF2 aXZfaW9tbXUgKm1tdSwKIAlpZiAoc2d0LT5uZW50cyA9PSAxKSB7CiAJCXVpbnQzMl90IGlvdmE7 CiAKLQkJaW92YSA9IHNnX2RtYV9hZGRyZXNzKHNndC0+c2dsKTsKKwkJaW92YSA9IHNnX2RtYV9h ZGRyZXNzKHNndC0+c2dsKSAtIG1lbW9yeV9iYXNlOwogCQlpZiAoaW92YSA8IDB4ODAwMDAwMDAg LSBzZ19kbWFfbGVuKHNndC0+c2dsKSkgewogCQkJZXRuYXZpdl9vYmotPmlvdmEgPSBpb3ZhOwog CQkJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2 X21tdS5oIGIvZHJpdmVycy9zdGFnaW5nL2V0bmF2aXYvZXRuYXZpdl9tbXUuaAppbmRleCBhMzdh ZmZkYTk1OTAuLjI5ODgxZTI3ZGM3ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL2V0bmF2 aXYvZXRuYXZpdl9tbXUuaAorKysgYi9kcml2ZXJzL3N0YWdpbmcvZXRuYXZpdi9ldG5hdml2X21t dS5oCkBAIC0zOSw3ICszOSw3IEBAIGludCBldG5hdml2X2lvbW11X21hcChzdHJ1Y3QgZXRuYXZp dl9pb21tdSAqaW9tbXUsIHVpbnQzMl90IGlvdmEsCiBpbnQgZXRuYXZpdl9pb21tdV91bm1hcChz dHJ1Y3QgZXRuYXZpdl9pb21tdSAqaW9tbXUsIHVpbnQzMl90IGlvdmEsCiAJc3RydWN0IHNnX3Rh YmxlICpzZ3QsIHVuc2lnbmVkIGxlbik7CiBpbnQgZXRuYXZpdl9pb21tdV9tYXBfZ2VtKHN0cnVj dCBldG5hdml2X2lvbW11ICptbXUsCi0Jc3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqZXRuYXZp dl9vYmopOworCXN0cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKmV0bmF2aXZfb2JqLCB1aW50MzJf dCBtZW1vcnlfYmFzZSk7CiB2b2lkIGV0bmF2aXZfaW9tbXVfdW5tYXBfZ2VtKHN0cnVjdCBldG5h dml2X2lvbW11ICptbXUsCiAJc3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqZXRuYXZpdl9vYmop Owogdm9pZCBldG5hdml2X2lvbW11X2Rlc3Ryb3koc3RydWN0IGV0bmF2aXZfaW9tbXUgKmlvbW11 KTsKLS0gCjIuMS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=