From mboxrd@z Thu Jan 1 00:00:00 1970 From: Flora Cui Subject: [PATCH 1/2] drm/amdgpu: update tile table for verde Date: Thu, 15 Dec 2016 16:31:16 +0800 Message-ID: <1481790677-1006-1-git-send-email-Flora.Cui@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Flora Cui Q2hhbmdlLUlkOiBJNGUzYzY5OGEwNGU1ZjdlZTA1YzAyNjhlZWMxMmRmNTE5ZjIzMDVkNApTaWdu ZWQtb2ZmLWJ5OiBGbG9yYSBDdWkgPEZsb3JhLkN1aUBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2dmeF92Nl8wLmMgfCAyOTUgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDI5MyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92Nl8wLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjZfMC5jCmluZGV4IDIyYzNkMzYuLmNl NzVkNDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92Nl8wLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y2XzAuYwpAQCAtNDExLDggKzQx MSwyOTkgQEAgc3RhdGljIHZvaWQgZ2Z4X3Y2XzBfdGlsaW5nX21vZGVfdGFibGVfaW5pdChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAkJYnJlYWs7CiAJfQogCi0JaWYgKGFkZXYtPmFzaWNf dHlwZSA9PSBDSElQX1ZFUkRFIHx8Ci0JICAgIGFkZXYtPmFzaWNfdHlwZSA9PSBDSElQX09MQU5E IHx8CisJaWYgKGFkZXYtPmFzaWNfdHlwZSA9PSBDSElQX1ZFUkRFKSB7CisJCWZvciAocmVnX29m ZnNldCA9IDA7IHJlZ19vZmZzZXQgPCBudW1fdGlsZV9tb2RlX3N0YXRlczsgcmVnX29mZnNldCsr KSB7CisJCQlzd2l0Y2ggKHJlZ19vZmZzZXQpIHsKKwkJCWNhc2UgMDoKKwkJCQlnYl90aWxlX21v ZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfREVQVEhfTUlDUk9fVElMSU5HKSB8CisJ CQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAorCQkJCQkJIFBJUEVfQ09O RklHKEFERFJfU1VSRl9QNF84eDE2KSB8CisJCQkJCQkgVElMRV9TUExJVChBRERSX1NVUkZfVElM RV9TUExJVF82NEIpIHwKKwkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEp IHwKKwkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfNCkgfAorCQkJCQkJ IE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfNCkgfAorCQkJCQkJIE5V TV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykpOworCQkJCWJyZWFrOworCQkJY2FzZSAxOgorCQkJ CWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9ERVBUSF9NSUNST19U SUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJ CQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKKwkJCQkJCSBUSUxFX1NQTElUKEFE RFJfU1VSRl9USUxFX1NQTElUXzEyOEIpIHwKKwkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9C QU5LX1dJRFRIXzEpIHwKKwkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRf NCkgfAorCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfNCkg fAorCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykpOworCQkJCWJyZWFrOworCQkJ Y2FzZSAyOgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9E RVBUSF9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RI SU4xKSB8CisJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKKwkJCQkJCSBU SUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzI1NkIpIHwKKwkJCQkJCSBCQU5LX1dJRFRI KEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKKwkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZf QkFOS19IRUlHSFRfNCkgfAorCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNS T19BU1BFQ1RfNCkgfAorCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykpOworCQkJ CWJyZWFrOworCQkJY2FzZSAzOgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RF KEFERFJfU1VSRl9ERVBUSF9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZ XzJEX1RJTEVEX1RISU4xKSB8CisJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYp IHwKKwkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKKwkJCQkJCSBC QU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfMikgfAorCQkJCQkJIE1BQ1JPX1RJTEVf QVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMSkgfAorCQkJCQkJIE5VTV9CQU5LUyhBRERS X1NVUkZfOF9CQU5LKSB8CisJCQkJCQkgVElMRV9TUExJVChzcGxpdF9lcXVhbF90b19yb3dfc2l6 ZSkpOworCQkJCWJyZWFrOworCQkJY2FzZSA0OgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9f VElMRV9NT0RFKEFERFJfU1VSRl9ERVBUSF9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9N T0RFKEFSUkFZXzFEX1RJTEVEX1RISU4xKSB8CisJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJG X1A0Xzh4MTYpKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgNToKKwkJCQlnYl90aWxlX21vZGVuID0g KE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfREVQVEhfTUlDUk9fVElMSU5HKSB8CisJCQkJCQkg QVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAorCQkJCQkJIFBJUEVfQ09ORklHKEFE RFJfU1VSRl9QNF84eDE2KSB8CisJCQkJCQkgVElMRV9TUExJVChBRERSX1NVUkZfVElMRV9TUExJ VF81MTJCKSB8CisJCQkJCQkgQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CisJ CQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzIpIHwKKwkJCQkJCSBNQUNS T19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzEpIHwKKwkJCQkJCSBOVU1fQkFO S1MoQUREUl9TVVJGXzRfQkFOSykpOworCQkJCWJyZWFrOworCQkJY2FzZSA2OgorCQkJCWdiX3Rp bGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9ERVBUSF9NSUNST19USUxJTkcp IHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJCQkgUElQ RV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKKwkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VS Rl9USUxFX1NQTElUXzI1NkIpIHwKKwkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJ RFRIXzEpIHwKKwkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfNCkgfAor CQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMSkgfAorCQkJ CQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfNF9CQU5LKSk7CisJCQkJYnJlYWs7CisJCQljYXNlIDc6 CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RFUFRIX01J Q1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwK KwkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDRfOHgxNikgfAorCQkJCQkJIFRJTEVfU1BM SVQoQUREUl9TVVJGX1RJTEVfU1BMSVRfMUtCKSB8CisJCQkJCQkgQkFOS19XSURUSChBRERSX1NV UkZfQkFOS19XSURUSF8xKSB8CisJCQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJ R0hUXzQpIHwKKwkJCQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNU XzEpIHwKKwkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzJfQkFOSykpOworCQkJCWJyZWFrOwor CQkJY2FzZSA4OgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoQVJSQVlfTU9ERShBUlJBWV9MSU5FQVJf QUxJR05FRCkpOworCQkJCWJyZWFrOworCQkJY2FzZSA5OgorCQkJCWdiX3RpbGVfbW9kZW4gPSAo TUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9ESVNQTEFZX01JQ1JPX1RJTElORykgfAorCQkJCQkJ IEFSUkFZX01PREUoQVJSQVlfMURfVElMRURfVEhJTjEpIHwKKwkJCQkJCSBQSVBFX0NPTkZJRyhB RERSX1NVUkZfUDRfOHgxNikpOworCQkJCWJyZWFrOworCQkJY2FzZSAxMDoKKwkJCQlnYl90aWxl X21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfRElTUExBWV9NSUNST19USUxJTkcp IHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJCQkgUElQ RV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKKwkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VS Rl9USUxFX1NQTElUXzI1NkIpIHwKKwkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJ RFRIXzEpIHwKKwkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfNCkgfAor CQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfNCkgfAorCQkJ CQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykpOworCQkJCWJyZWFrOworCQkJY2FzZSAx MToKKwkJCQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfRElTUExB WV9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4x KSB8CisJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKKwkJCQkJCSBUSUxF X1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzI1NkIpIHwKKwkJCQkJCSBCQU5LX1dJRFRIKEFE RFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKKwkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFO S19IRUlHSFRfMikgfAorCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19B U1BFQ1RfMikgfAorCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykpOworCQkJCWJy ZWFrOworCQkJY2FzZSAxMjoKKwkJCQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShB RERSX1NVUkZfRElTUExBWV9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZ XzJEX1RJTEVEX1RISU4xKSB8CisJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYp IHwKKwkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzUxMkIpIHwKKwkJCQkJ CSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKKwkJCQkJCSBCQU5LX0hFSUdI VChBRERSX1NVUkZfQkFOS19IRUlHSFRfMSkgfAorCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFE RFJfU1VSRl9NQUNST19BU1BFQ1RfMikgfAorCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZf QkFOSykpOworCQkJCWJyZWFrOworCQkJY2FzZSAxMzoKKwkJCQlnYl90aWxlX21vZGVuID0gKE1J Q1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJB WV9NT0RFKEFSUkFZXzFEX1RJTEVEX1RISU4xKSB8CisJCQkJCQkgUElQRV9DT05GSUcoQUREUl9T VVJGX1A0Xzh4MTYpKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMTQ6CisJCQkJZ2JfdGlsZV9tb2Rl biA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX1RISU5fTUlDUk9fVElMSU5HKSB8CisJCQkJ CQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAorCQkJCQkJIFBJUEVfQ09ORklH KEFERFJfU1VSRl9QNF84eDE2KSB8CisJCQkJCQkgVElMRV9TUExJVChBRERSX1NVUkZfVElMRV9T UExJVF8yNTZCKSB8CisJCQkJCQkgQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8 CisJCQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzQpIHwKKwkJCQkJCSBN QUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzIpIHwKKwkJCQkJCSBOVU1f QkFOS1MoQUREUl9TVVJGXzE2X0JBTkspKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMTU6CisJCQkJ Z2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX1RISU5fTUlDUk9fVElM SU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAorCQkJCQkJ IFBJUEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2KSB8CisJCQkJCQkgVElMRV9TUExJVChBRERS X1NVUkZfVElMRV9TUExJVF8yNTZCKSB8CisJCQkJCQkgQkFOS19XSURUSChBRERSX1NVUkZfQkFO S19XSURUSF8xKSB8CisJCQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzIp IHwKKwkJCQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzIpIHwK KwkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspKTsKKwkJCQlicmVhazsKKwkJCWNh c2UgMTY6CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX1RI SU5fTUlDUk9fVElMSU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElO MSkgfAorCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2KSB8CisJCQkJCQkgVElM RV9TUExJVChBRERSX1NVUkZfVElMRV9TUExJVF81MTJCKSB8CisJCQkJCQkgQkFOS19XSURUSChB RERSX1NVUkZfQkFOS19XSURUSF8xKSB8CisJCQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JB TktfSEVJR0hUXzEpIHwKKwkJCQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9f QVNQRUNUXzIpIHwKKwkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspKTsKKwkJCQli cmVhazsKKwkJCWNhc2UgMTc6CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUo QUREUl9TVVJGX1RISU5fTUlDUk9fVElMSU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8y RF9USUxFRF9USElOMSkgfAorCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2KSB8 CisJCQkJCQkgQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CisJCQkJCQkgQkFO S19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzEpIHwKKwkJCQkJCSBNQUNST19USUxFX0FT UEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzIpIHwKKwkJCQkJCSBOVU1fQkFOS1MoQUREUl9T VVJGXzE2X0JBTkspIHwKKwkJCQkJCSBUSUxFX1NQTElUKHNwbGl0X2VxdWFsX3RvX3Jvd19zaXpl KSk7CisJCQkJYnJlYWs7CisJCQljYXNlIDE4OgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9f VElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01P REUoQVJSQVlfMURfVElMRURfVEhJQ0spIHwKKwkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZf UDRfOHgxNikpOworCQkJCWJyZWFrOworCQkJY2FzZSAxOToKKwkJCQlnYl90aWxlX21vZGVuID0g KE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBB UlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1hUSElDSykgfAorCQkJCQkJIFBJUEVfQ09ORklHKEFE RFJfU1VSRl9QNF84eDE2KSB8CisJCQkJCQkgQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURU SF8xKSB8CisJCQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzEpIHwKKwkJ CQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzIpIHwKKwkJCQkJ CSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwKKwkJCQkJCSBUSUxFX1NQTElUKHNwbGl0 X2VxdWFsX3RvX3Jvd19zaXplKSk7CisJCQkJYnJlYWs7CisJCQljYXNlIDIwOgorCQkJCWdiX3Rp bGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykg fAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJQ0spIHwKKwkJCQkJCSBQSVBF X0NPTkZJRyhBRERSX1NVUkZfUDRfOHgxNikgfAorCQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJG X0JBTktfV0lEVEhfMSkgfAorCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdI VF8xKSB8CisJCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8y KSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl8xNl9CQU5LKSB8CisJCQkJCQkgVElMRV9T UExJVChzcGxpdF9lcXVhbF90b19yb3dfc2l6ZSkpOworCQkJCWJyZWFrOworCQkJY2FzZSAyMToK KwkJCQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNS T19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJ CQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKKwkJCQkJCSBUSUxFX1NQTElU KEFERFJfU1VSRl9USUxFX1NQTElUXzI1NkIpIHwKKwkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VS Rl9CQU5LX1dJRFRIXzEpIHwKKwkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlH SFRfNCkgfAorCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1Rf MSkgfAorCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfOF9CQU5LKSk7CisJCQkJYnJlYWs7CisJ CQljYXNlIDIyOgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VS Rl9USElOX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURf VEhJTjEpIHwKKwkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDRfOHgxNikgfAorCQkJCQkJ IFRJTEVfU1BMSVQoQUREUl9TVVJGX1RJTEVfU1BMSVRfMjU2QikgfAorCQkJCQkJIEJBTktfV0lE VEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAorCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VS Rl9CQU5LX0hFSUdIVF8yKSB8CisJCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01B Q1JPX0FTUEVDVF8xKSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl84X0JBTkspKTsKKwkJ CQlicmVhazsKKwkJCWNhc2UgMjM6CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01P REUoQUREUl9TVVJGX1RISU5fTUlDUk9fVElMSU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJB WV8yRF9USUxFRF9USElOMSkgfAorCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2 KSB8CisJCQkJCQkgVElMRV9TUExJVChBRERSX1NVUkZfVElMRV9TUExJVF8yNTZCKSB8CisJCQkJ CQkgQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CisJCQkJCQkgQkFOS19IRUlH SFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzQpIHwKKwkJCQkJCSBNQUNST19USUxFX0FTUEVDVChB RERSX1NVUkZfTUFDUk9fQVNQRUNUXzEpIHwKKwkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzRf QkFOSykpOworCQkJCWJyZWFrOworCQkJY2FzZSAyNDoKKwkJCQlnYl90aWxlX21vZGVuID0gKE1J Q1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJB WV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJCQkgUElQRV9DT05GSUcoQUREUl9T VVJGX1A0Xzh4MTYpIHwKKwkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzUx MkIpIHwKKwkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKKwkJCQkJ CSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfMikgfAorCQkJCQkJIE1BQ1JPX1RJ TEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMSkgfAorCQkJCQkJIE5VTV9CQU5LUyhB RERSX1NVUkZfNF9CQU5LKSk7CisJCQkJYnJlYWs7CisJCQljYXNlIDI1OgorCQkJCWdiX3RpbGVf bW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAor CQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKKwkJCQkJCSBQSVBFX0NP TkZJRyhBRERSX1NVUkZfUDRfOHgxNikgfAorCQkJCQkJIFRJTEVfU1BMSVQoQUREUl9TVVJGX1RJ TEVfU1BMSVRfMUtCKSB8CisJCQkJCQkgQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8x KSB8CisJCQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzQpIHwKKwkJCQkJ CSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzEpIHwKKwkJCQkJCSBO VU1fQkFOS1MoQUREUl9TVVJGXzJfQkFOSykpOworCQkJCWJyZWFrOworCQkJY2FzZSAyNjoKKwkJ CQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19U SUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJ CQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKKwkJCQkJCSBUSUxFX1NQTElUKEFE RFJfU1VSRl9USUxFX1NQTElUXzFLQikgfAorCQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JB TktfV0lEVEhfMSkgfAorCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF80 KSB8CisJCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8xKSB8 CisJCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl8yX0JBTkspKTsKKwkJCQlicmVhazsKKwkJCWNh c2UgMjc6CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX1RI SU5fTUlDUk9fVElMSU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElO MSkgfAorCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2KSB8CisJCQkJCQkgVElM RV9TUExJVChBRERSX1NVUkZfVElMRV9TUExJVF8xS0IpIHwKKwkJCQkJCSBCQU5LX1dJRFRIKEFE RFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKKwkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFO S19IRUlHSFRfNCkgfAorCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19B U1BFQ1RfMSkgfAorCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMl9CQU5LKSk7CisJCQkJYnJl YWs7CisJCQljYXNlIDI4OgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFE RFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRf VElMRURfVEhJTjEpIHwKKwkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDRfOHgxNikgfAor CQkJCQkJIFRJTEVfU1BMSVQoQUREUl9TVVJGX1RJTEVfU1BMSVRfMUtCKSB8CisJCQkJCQkgQkFO S19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CisJCQkJCQkgQkFOS19IRUlHSFQoQURE Ul9TVVJGX0JBTktfSEVJR0hUXzQpIHwKKwkJCQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NV UkZfTUFDUk9fQVNQRUNUXzEpIHwKKwkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzJfQkFOSykp OworCQkJCWJyZWFrOworCQkJY2FzZSAyOToKKwkJCQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJ TEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RF KEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A0 Xzh4MTYpIHwKKwkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzFLQikgfAor CQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAorCQkJCQkJIEJBTktf SEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF80KSB8CisJCQkJCQkgTUFDUk9fVElMRV9BU1BF Q1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8xKSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJfU1VS Rl8yX0JBTkspKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMzA6CisJCQkJZ2JfdGlsZV9tb2RlbiA9 IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX1RISU5fTUlDUk9fVElMSU5HKSB8CisJCQkJCQkg QVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAorCQkJCQkJIFBJUEVfQ09ORklHKEFE RFJfU1VSRl9QNF84eDE2KSB8CisJCQkJCQkgVElMRV9TUExJVChBRERSX1NVUkZfVElMRV9TUExJ VF8yS0IpIHwKKwkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKKwkJ CQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfMikgfAorCQkJCQkJIE1BQ1JP X1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMSkgfAorCQkJCQkJIE5VTV9CQU5L UyhBRERSX1NVUkZfMl9CQU5LKSk7CisJCQkJYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCWNvbnRp bnVlOworCQkJfQorCQkJYWRldi0+Z2Z4LmNvbmZpZy50aWxlX21vZGVfYXJyYXlbcmVnX29mZnNl dF0gPSBnYl90aWxlX21vZGVuOworCQkJV1JFRzMyKG1tR0JfVElMRV9NT0RFMCArIHJlZ19vZmZz ZXQsIGdiX3RpbGVfbW9kZW4pOworCQl9CisJfSBlbHNlIGlmIChhZGV2LT5hc2ljX3R5cGUgPT0g Q0hJUF9PTEFORCB8fAogCSAgICBhZGV2LT5hc2ljX3R5cGUgPT0gQ0hJUF9IQUlOQU4pIHsKIAkJ Zm9yIChyZWdfb2Zmc2V0ID0gMDsgcmVnX29mZnNldCA8IG51bV90aWxlX21vZGVfc3RhdGVzOyBy ZWdfb2Zmc2V0KyspIHsKIAkJCXN3aXRjaCAocmVnX29mZnNldCkgewotLSAKMi43LjQKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGlu ZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=