From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v2 03/11] drm: parse ycbcr420 cmdb block Date: Tue, 30 May 2017 17:43:42 +0530 Message-ID: <1496146430-11430-4-git-send-email-shashank.sharma@intel.com> References: <1496146430-11430-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1496146430-11430-1-git-send-email-shashank.sharma@intel.com> 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, intel-gfx@lists.freedesktop.org Cc: Jose Abreu , Emil Velikov List-Id: dri-devel@lists.freedesktop.org SERNSSAyLjAgc3BlYyBhZGRzIHN1cHBvcnQgZm9yIHljYmNyNDIwIHN1Yi1zYW1wbGVkIG91dHB1 dC4KQ0VBLTg2MS1GIGFkZHMgdHdvIG5ldyBibG9ja3MgaW4gRURJRCwgdG8gcHJvdmlkZSBpbmZv cm1hdGlvbgphYm91dCBzaW5rJ3Mgc3VwcG9ydCBmb3IgeWNiY3I0MjAgb3V0cHV0LgoKT25lIG9m IHRoZXNlIG5ldyBibG9ja3MgaXM6IHljYmNyNDIwY21kYih5Y2JjciA0MjAgY2FwYWJpbGl0eQpt YXAgZGF0YSBibG9jaykuIFRoaXMgZ2l2ZXMgaW5mb3JtYXRpb24gYWJvdXQgdmlkZW8gbW9kZXMg d2hpY2gKY2FuIHN1cHBvcnQgeWNiY3I0MjAgb3V0cHV0IG1vZGUgYWxzbyAoYWxvbmcgd2l0aCBS R0IsWUNCQ1I0NDQvCjQyMiBldGMpCgpUaGlzIGJsb2NrIGNvbnRhaW5zIGEgYml0bWFwIGluZGV4 IG9mIG5vcm1hbCBzdmQgdmlkZW9tb2Rlcywgd2hpY2ggY2FuCnN1cHBvcnQgeWNiY3I0MjAgb3V0 cHV0IHRvby4KU28gaWYgYml0IDAgZnJvbSBmaXJzdCB2Y2IgYnl0ZSBpcyBzZXQsZmlyc3Qgdmlk ZW8gbW9kZSBpbiB0aGUgc3ZkIGxpc3QKY2FuIHN1cHBvcnQgeWNiY3I0MjAgb3V0cHV0IHRvby4g Qml0IDIgbWVhbnMgc2Vjb25kIHZpZGVvIG1vZGUgZnJvbSBzdmQKbGlzdCBjYW4gc3VwcG9ydCB5 Y2JjcjQyMCBvdXRwdXQgdG9vLCBhbmQgc28gb24uCgpUaGlzIHBhdGNoIGFkZHMgcGFyc2luZyBh bmQgaGFuZGxpbmcgb2YgeWNiY3I0MjAtY21kYiBpbiB0aGUgRFJNIGxheWVyLgoKQ2M6IFZpbGxl IFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogSm9zZSBBYnJldSA8 am9hYnJldUBzeW5vcHN5cy5jb20+CkNjOiBFbWlsIFZlbGlrb3YgPGVtaWwubC52ZWxpa292QGdt YWlsLmNvbT4KClYyOiBBZGRyZXNzZWQKICAgIFJldmlldyBjb21tZW50cyBmcm9tIEVtaWw6CiAg ICAtIFVzZSAxVUxMPDxpIGluc3RlYWQgb2YgMTw8aSB0byBtYWtlIHN1cmUgdGhlIG91dHB1dCBp cyA2NGJpdC4KICAgIC0gVXNlIHRoZSBzdWdnZXN0ZWQgbWV0aG9kIGZvciB1cGRhdGluZyBkYm1h cC4KICAgIC0gQWRkIGRvY3VtZW50YXRpb24gZm9yIHljYmNyNDIwX3ZjYl9tYXAgdG8gZml4IGti dWlsZCB3YXJuaW5nLgoKICAgIFJldmlldyBjb21tZW50cyBmcm9tIFZpbGxlOgogICAgLSBEbyBu b3QgZXhwb3NlIHRoZSB5Y2JjcjQyMCBmbGFncyBpbiB1YWJpIGxheWVyLCBrZWVwIGl0IGludGVy bmFsLgogICAgLSBTYXZlIGEgbWFwIG9mIHljYmNyNDIwIG1vZGVzIGZvciBmdXR1cmUgcmVmZXJl bmNlLgogICAgLSBDaGVjayBkYiBsZW5ndGggYmVmb3JlIHRyeWluZyB0byBwYXJzZSBleHRlbmRl ZCB0YWcuCiAgICAtIEFkZCBhIHdhcm5pbmcgaWYgdGhlcmUgYXJlID4gNjQgbW9kZXMgaW4gY2Fw YWJpbGl0eSBtYXAgYmxvY2suCiAgICAtIFVzZSB5NDIwY21kYiBpbiBmdW5jdGlvbiBuYW1lcyBh bmQgbWFjcm9zIHdoaWxlIGRlYWxpbmcgd2l0aCB2Y2IKICAgICAgdG8gYmUgYWxpZ25lZCB3aXRo IHNwZWMuCiAgICAtIE1vdmUgdGhlIGRpc3BsYXkgaW5mb3JtYXRpb24gcGFyc2luZyBibG9jayBh aGVhZCBvZiBtb2RlIHBhcnNpbmcKICAgICAgYmxvY2tzLgoKU2lnbmVkLW9mZi1ieTogU2hhc2hh bmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fZWRpZC5jICB8IDExOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLQogaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIHwgIDEyICsrKysrCiAyIGZpbGVz IGNoYW5nZWQsIDEyNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMK aW5kZXggYzNmYTNhMS4uY2U4NjUyOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9l ZGlkLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKQEAgLTI3ODEsNyArMjc4MSw5 IEBAIGFkZF9kZXRhaWxlZF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBz dHJ1Y3QgZWRpZCAqZWRpZCwKICNkZWZpbmUgVklERU9fQkxPQ0sgICAgIDB4MDIKICNkZWZpbmUg VkVORE9SX0JMT0NLICAgIDB4MDMKICNkZWZpbmUgU1BFQUtFUl9CTE9DSwkweDA0Ci0jZGVmaW5l IFZJREVPX0NBUEFCSUxJVFlfQkxPQ0sJMHgwNworI2RlZmluZSBWSURFT19DQVBBQklMSVRZX0JM T0NLIDB4MDcKKyNkZWZpbmUgVklERU9fREFUQV9CTE9DS180MjAJMHgwRQorI2RlZmluZSBWSURF T19DQVBfQkxPQ0tfWTQyMENNREIgMHgwRgogI2RlZmluZSBFRElEX0JBU0lDX0FVRElPCSgxIDw8 IDYpCiAjZGVmaW5lIEVESURfQ0VBX1lDUkNCNDQ0CSgxIDw8IDUpCiAjZGVmaW5lIEVESURfQ0VB X1lDUkNCNDIyCSgxIDw8IDQpCkBAIC0zMTQzLDE1ICszMTQ1LDUwIEBAIGRybV9kaXNwbGF5X21v ZGVfZnJvbV92aWNfaW5kZXgoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAlyZXR1 cm4gbmV3bW9kZTsKIH0KIAorc3RhdGljIHZvaWQKK2RybV9hZGRfdmNiX21vZGVzKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsIHU4IHZpYykKK3sKKwl1MzIgKm1hcDsKKwl1OCBpbmRl eCA9IDA7CisJc3RydWN0IGRybV9oZG1pX2luZm8gKmhkbWkgPSAmY29ubmVjdG9yLT5kaXNwbGF5 X2luZm8uaGRtaTsKKworCS8qIFZJQ3MgYXJlIDEgdG8gMTI3KDEwNyBkZWZpbmVkIHRpbGwgQ0VB LTg2MS1GKSAqLworCXZpYyAmPSAxMjc7CisKKwkvKgorCSAqIHljYmNyNDIwX3ZjYl9tb2RlcyBp cyBhIGZpeCBwb3NpdGlvbiAxMjggYml0IGJpdG1hcC4gVGhpcyBpbmRpY2F0ZXMKKwkgKiBzdXBw b3J0IGZvciB5Y2JjcjQyMCBvdXRwdXQgcGVyIFZJQy4gQXJyYW5nZW1lbnQgaXMgYml0W25dIGlu ZGljYXRlcworCSAqIGlmIHZpY1tuKzFdIHN1cHBvcnRzIHljYmNyNDIwIG91dHB1dC4KKwkgKiB5 Y2JjcjQyMF92Y2JfbW9kZXNbMF0gPSB8VklDPTMyIHxWSUM9MzEgfC4uLi4uLi4uLi4uLnxWSUM9 MiB8VklDPTEgfAorCSAqIHljYmNyNDIwX3ZjYl9tb2Rlc1sxXSA9IHxWSUM9NjQgfFZJQz02MyB8 Li4uLi4uLi4uLi4ufFZJQz0zNHxWSUM9MzN8CisJICogeWNiY3I0MjBfdmNiX21vZGVzWzJdID0g fFZJQz05NiB8VklDPTk1IHwuLi4uLi4uLi4uLi58VklDPTY2fFZJQz02NXwKKwkgKiB5Y2JjcjQy MF92Y2JfbW9kZXNbM10gPSB8VklDPTEyOHxWSUM9MTI3fC4uLi4uLi4uLi4uLnxWSUM9MzR8VklD PTk3fAorCSAqLworCW1hcCA9ICYoaGRtaS0+eWNiY3I0MjBfdmNiX21vZGVzWyh2aWMgLSAxKSAv IDMyXSk7CisJaW5kZXggPSAodmljIC0gMSkgJSAzMjsKKwkqbWFwIHw9ICgxIDw8IGluZGV4KTsK K30KKwogc3RhdGljIGludAogZG9fY2VhX21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsIGNvbnN0IHU4ICpkYiwgdTggbGVuKQogewogCWludCBpLCBtb2RlcyA9IDA7CisJc3Ry dWN0IGRybV9oZG1pX2luZm8gKmhkbWkgPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGRtaTsK Kwl1NjQgaGRtaV92Y2JfbWFwID0gaGRtaS0+eWNiY3I0MjBfdmNiX21hcDsKIAogCWZvciAoaSA9 IDA7IGkgPCBsZW47IGkrKykgewogCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKIAkJ bW9kZSA9IGRybV9kaXNwbGF5X21vZGVfZnJvbV92aWNfaW5kZXgoY29ubmVjdG9yLCBkYiwgbGVu LCBpKTsKIAkJaWYgKG1vZGUpIHsKKwkJCS8qCisJCQkgKiB5Y2JjcjQyMCBjYXBhYmlsaXR5IGJs b2NrIGNvbnRhaW5zIGEgYml0bWFwIHdoaWNoCisJCQkgKiBnaXZlcyB0aGUgaW5kZXggb2Ygc3Vj aCBDRUEgbW9kZXMgaW4gVkRCLCB3aGljaCBjYW4KKwkJCSAqIHN1cHBvcnQgeWNiY3I0MjAgc2Ft cGxpbmcgb3V0cHV0IGFsc28uCisJCQkgKiBGb3IgZXhhbXBsZSwgaWYgdGhlIGJpdCAwIGluIGJp dG1hcCBpcyBzZXQsCisJCQkgKiBmaXJzdCBtb2RlIGluIFZEQiBjYW4gc3VwcG9ydCB5Y2JjcjQy MCBvdXRwdXQgdG9vLgorCQkJICovCisJCQlpZiAoaGRtaV92Y2JfbWFwICYgKDEgPDwgaSkpCisJ CQkJZHJtX2FkZF92Y2JfbW9kZXMoY29ubmVjdG9yLCBkYltpXSk7CiAJCQlkcm1fbW9kZV9wcm9i ZWRfYWRkKGNvbm5lY3RvciwgbW9kZSk7CiAJCQltb2RlcysrOwogCQl9CkBAIC0zNDI3LDYgKzM0 NjQsMTIgQEAgZG9faGRtaV92c2RiX21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsIGNvbnN0IHU4ICpkYiwgdTggbGVuLAogfQogCiBzdGF0aWMgaW50CitjZWFfZGJfZXh0ZW5k ZWRfdGFnKGNvbnN0IHU4ICpkYikKK3sKKwlyZXR1cm4gZGJbMV07Cit9CisKK3N0YXRpYyBpbnQK IGNlYV9kYl9wYXlsb2FkX2xlbihjb25zdCB1OCAqZGIpCiB7CiAJcmV0dXJuIGRiWzBdICYgMHgx ZjsKQEAgLTM0ODcsOSArMzUzMCw3MCBAQCBzdGF0aWMgYm9vbCBjZWFfZGJfaXNfaGRtaV9mb3J1 bV92c2RiKGNvbnN0IHU4ICpkYikKIAlyZXR1cm4gb3VpID09IEhETUlfRk9SVU1fSUVFRV9PVUk7 CiB9CiAKK3N0YXRpYyBib29sIGNlYV9kYl9pc195NDIwY21kYihjb25zdCB1OCAqZGIpCit7CisJ dTggbGVuID0gY2VhX2RiX3BheWxvYWRfbGVuKGRiKTsKKworCWlmIChjZWFfZGJfdGFnKGRiKSAh PSBWSURFT19DQVBBQklMSVRZX0JMT0NLKQorCQlyZXR1cm4gZmFsc2U7CisKKwlpZiAoIWxlbikK KwkJcmV0dXJuIGZhbHNlOworCisJaWYgKGNlYV9kYl9leHRlbmRlZF90YWcoZGIpICE9IFZJREVP X0NBUF9CTE9DS19ZNDIwQ01EQikKKwkJcmV0dXJuIGZhbHNlOworCisJcmV0dXJuIHRydWU7Cit9 CisKICNkZWZpbmUgZm9yX2VhY2hfY2VhX2RiKGNlYSwgaSwgc3RhcnQsIGVuZCkgXAogCWZvciAo KGkpID0gKHN0YXJ0KTsgKGkpIDwgKGVuZCkgJiYgKGkpICsgY2VhX2RiX3BheWxvYWRfbGVuKCYo Y2VhKVsoaSldKSA8IChlbmQpOyAoaSkgKz0gY2VhX2RiX3BheWxvYWRfbGVuKCYoY2VhKVsoaSld KSArIDEpCiAKK3N0YXRpYyB2b2lkIGRybV9wYXJzZV95NDIwY21kYl9iaXRtYXAoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJCQkgICAgIGNvbnN0IHU4ICpkYikKK3sKKwlzdHJ1 Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqaW5mbyA9ICZjb25uZWN0b3ItPmRpc3BsYXlfaW5mbzsKKwlz dHJ1Y3QgZHJtX2hkbWlfaW5mbyAqaGRtaSA9ICZpbmZvLT5oZG1pOworCXU4IG1hcF9sZW4gPSBj ZWFfZGJfcGF5bG9hZF9sZW4oZGIpIC0gMTsKKwl1OCBjb3VudDsKKwl1NjQgbWFwID0gMDsKKwor CWlmICghZGIpCisJCXJldHVybjsKKworCWlmIChtYXBfbGVuID09IDApIHsKKwkJLyogQWxsIENF QSBtb2RlcyBzdXBwb3J0IHljYmNyNDIwIHNhbXBsaW5nIGFsc28uKi8KKwkJaGRtaS0+eWNiY3I0 MjBfdmNiX21hcCA9IFU2NF9NQVg7CisJCWluZm8tPmNvbG9yX2Zvcm1hdHMgfD0gRFJNX0NPTE9S X0ZPUk1BVF9ZQ1JDQjQyMDsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogVGhpcyBtYXAgaW5k aWNhdGVzIHdoaWNoIG9mIHRoZSBleGlzdGluZyBDRUEgYmxvY2sgbW9kZXMKKwkgKiBmcm9tIFZE QiBjYW4gc3VwcG9ydCBZQ0JDUjQyMCBvdXRwdXQgdG9vLiBTbyBpZiBiaXQ9MCBpcworCSAqIHNl dCwgZmlyc3QgbW9kZSBmcm9tIFZEQiBjYW4gc3VwcG9ydCBZQ0JDUjQyMCBvdXRwdXQgdG9vLgor CSAqIFdlIHdpbGwgcGFyc2UgYW5kIGtlZXAgdGhpcyBtYXAsIGJlZm9yZSBwYXJzaW5nIFZEQiBp dHNlbGYKKwkgKiB0byBhdm9pZCBnb2luZyB0aHJvdWdoIHRoZSBzYW1lIGJsb2NrIGFnYWluIGFu ZCBhZ2Fpbi4KKwkgKgorCSAqIFNwZWMgaXMgbm90IGNsZWFyIGFib3V0IG1heCBwb3NzaWJsZSBz aXplIG9mIHRoaXMgYmxvY2suCisJICogQ2xhbXBpbmcgbWF4IGJpdG1hcCBibG9jayBzaXplIGF0 IDggYnl0ZXMuIEV2ZXJ5IGJ5dGUgY2FuCisJICogYWRkcmVzcyA4IENFQSBtb2RlcywgaW4gdGhp cyB3YXkgdGhpcyBtYXAgY2FuIGFkZHJlc3MKKwkgKiA4KjggPSBmaXJzdCA2NCBTVkRzLgorCSAq LworCWlmIChXQVJOX09OX09OQ0UobWFwX2xlbiA+IDgpKQorCQltYXBfbGVuID0gODsKKworCWZv ciAoY291bnQgPSAwOyBjb3VudCA8IG1hcF9sZW47IGNvdW50KyspCisJCW1hcCB8PSAodTY0KWRi WzIgKyBjb3VudF0gPDwgKDggKiBjb3VudCk7CisKKwlpZiAobWFwKSB7CisJCURSTV9ERUJVR19L TVMoIlNpbmsgc3VwcG9ydHMgeWNiY3IgNDIwXG4iKTsKKwkJaW5mby0+Y29sb3JfZm9ybWF0cyB8 PSBEUk1fQ09MT1JfRk9STUFUX1lDUkNCNDIwOworCX0KKworCWhkbWktPnljYmNyNDIwX3ZjYl9t YXAgPSBtYXA7Cit9CisKIHN0YXRpYyBpbnQKIGFkZF9jZWFfbW9kZXMoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3Rvciwgc3RydWN0IGVkaWQgKmVkaWQpCiB7CkBAIC00MTk2LDYgKzQzMDAs OCBAQCBzdGF0aWMgdm9pZCBkcm1fcGFyc2VfY2VhX2V4dChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAogCQkJZHJtX3BhcnNlX2hkbWlfdnNkYl92aWRlbyhjb25uZWN0b3IsIGRiKTsK IAkJaWYgKGNlYV9kYl9pc19oZG1pX2ZvcnVtX3ZzZGIoZGIpKQogCQkJZHJtX3BhcnNlX2hkbWlf Zm9ydW1fdnNkYihjb25uZWN0b3IsIGRiKTsKKwkJaWYgKGNlYV9kYl9pc195NDIwY21kYihkYikp CisJCQlkcm1fcGFyc2VfeTQyMGNtZGJfYml0bWFwKGNvbm5lY3RvciwgZGIpOwogCX0KIH0KIApA QCAtNDQzMCw2ICs0NTM2LDEzIEBAIGludCBkcm1fYWRkX2VkaWRfbW9kZXMoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3Rvciwgc3RydWN0IGVkaWQgKmVkaWQpCiAJcXVpcmtzID0gZWRpZF9n ZXRfcXVpcmtzKGVkaWQpOwogCiAJLyoKKwkgKiBDRUEtODYxLUYgYWRkcyB5Y2JjciBjYXBhYmls aXR5IG1hcCBibG9jaywgZm9yIEhETUkgMi4wIHNpbmtzLgorCSAqIFRvIGF2b2lkIG11bHRpcGxl IHBhcnNpbmcgb2Ygc2FtZSBibG9jaywgbGV0cyBnZXQgdGhlIHNpbmsgaW5mbworCSAqIGJlZm9y ZSBwYXJzaW5nIENFQSBtb2Rlcy4KKwkgKi8KKwlkcm1fYWRkX2Rpc3BsYXlfaW5mbyhjb25uZWN0 b3IsIGVkaWQpOworCisJLyoKIAkgKiBFRElEIHNwZWMgc2F5cyBtb2RlcyBzaG91bGQgYmUgcHJl ZmVycmVkIGluIHRoaXMgb3JkZXI6CiAJICogLSBwcmVmZXJyZWQgZGV0YWlsZWQgbW9kZQogCSAq IC0gb3RoZXIgZGV0YWlsZWQgbW9kZXMgZnJvbSBiYXNlIGJsb2NrCkBAIC00NDUwLDE0ICs0NTYz LDEzIEBAIGludCBkcm1fYWRkX2VkaWRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3Rvciwgc3RydWN0IGVkaWQgKmVkaWQpCiAJbnVtX21vZGVzICs9IGFkZF9jZWFfbW9kZXMoY29u bmVjdG9yLCBlZGlkKTsKIAludW1fbW9kZXMgKz0gYWRkX2FsdGVybmF0ZV9jZWFfbW9kZXMoY29u bmVjdG9yLCBlZGlkKTsKIAludW1fbW9kZXMgKz0gYWRkX2Rpc3BsYXlpZF9kZXRhaWxlZF9tb2Rl cyhjb25uZWN0b3IsIGVkaWQpOworCiAJaWYgKGVkaWQtPmZlYXR1cmVzICYgRFJNX0VESURfRkVB VFVSRV9ERUZBVUxUX0dURikKIAkJbnVtX21vZGVzICs9IGFkZF9pbmZlcnJlZF9tb2Rlcyhjb25u ZWN0b3IsIGVkaWQpOwogCiAJaWYgKHF1aXJrcyAmIChFRElEX1FVSVJLX1BSRUZFUl9MQVJHRV82 MCB8IEVESURfUVVJUktfUFJFRkVSX0xBUkdFXzc1KSkKIAkJZWRpZF9maXh1cF9wcmVmZXJyZWQo Y29ubmVjdG9yLCBxdWlya3MpOwogCi0JZHJtX2FkZF9kaXNwbGF5X2luZm8oY29ubmVjdG9yLCBl ZGlkKTsKLQogCWlmIChxdWlya3MgJiBFRElEX1FVSVJLX0ZPUkNFXzZCUEMpCiAJCWNvbm5lY3Rv ci0+ZGlzcGxheV9pbmZvLmJwYyA9IDY7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9j b25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAppbmRleCAyZmUwOWMxLi4w N2IxMGFiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKKysrIGIvaW5j bHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCkBAIC0xMzcsNiArMTM3LDE3IEBAIHN0cnVjdCBkcm1f c2NkYyB7CiBzdHJ1Y3QgZHJtX2hkbWlfaW5mbyB7CiAJLyoqIEBzY2RjOiBzaW5rJ3Mgc2NkYyBz dXBwb3J0IGFuZCBjYXBhYmlsaXRpZXMgKi8KIAlzdHJ1Y3QgZHJtX3NjZGMgc2NkYzsKKworCS8q KgorCSAqIEB5Y2JjcjQyMF92Y2JfbW9kZXM6IGJpdG1hcCBvZiBtb2RlcyB3aGljaCBjYW4gc3Vw cG9ydCB5Y2JjcjQyMAorCSAqIG91dHB1dCBhbHNvIGFsb25nIHdpdGggbm9ybWFsIG91dHB1dHMu IFRoZXJlIGFyZSB0b3RhbCAxMDcgVklDcworCSAqIGRlZmluZWQgYnkgQ0VBLTg2MS1GIHNwZWMs IHNvIHRoZSBzaXplIGlzIDEyOGJpdHMgdG8gbWFwIHVwdG8gMTI4CisJICogVklDczsKKwkgKi8K Kwl1MzIgeWNiY3I0MjBfdmNiX21vZGVzWzRdOworCisJLyoqIEB5Y2JjcjQyMF92Y2JfbWFwOiBi aXRtYXAgb2YgU1ZEIGluZGV4LCB0byBleHRyYXh0IHZjYiBtb2RlcyAqLworCXU2NCB5Y2JjcjQy MF92Y2JfbWFwOwogfTsKIAogLyoqCkBAIC0yMDAsNiArMjExLDcgQEAgc3RydWN0IGRybV9kaXNw bGF5X2luZm8gewogI2RlZmluZSBEUk1fQ09MT1JfRk9STUFUX1JHQjQ0NAkJKDE8PDApCiAjZGVm aW5lIERSTV9DT0xPUl9GT1JNQVRfWUNSQ0I0NDQJKDE8PDEpCiAjZGVmaW5lIERSTV9DT0xPUl9G T1JNQVRfWUNSQ0I0MjIJKDE8PDIpCisjZGVmaW5lIERSTV9DT0xPUl9GT1JNQVRfWUNSQ0I0MjAJ KDE8PDMpCiAKIAkvKioKIAkgKiBAY29sb3JfZm9ybWF0czogSERNSSBDb2xvciBmb3JtYXRzLCBz ZWxlY3RzIGJldHdlZW4gUkdCIGFuZCBZQ3JDYgotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=