From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 15/17] drm/atomic-helpers: functions for state duplicate/destroy/reset Date: Sun, 2 Nov 2014 14:19:28 +0100 Message-ID: <1414934370-11924-16-git-send-email-daniel.vetter@ffwll.ch> References: <1414934370-11924-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1414934370-11924-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: DRI Development Cc: Daniel Vetter , Intel Graphics Development List-Id: dri-devel@lists.freedesktop.org VGhlIGF0b21pYyB1c2VycyBhbmQgaGVscGVycyBhc3N1bWUgdGhhdCB0aGVyZSBpcyBhbHdheXMg YSBvYmotPnN0YXRlCnN0cnVjdHVyZSBhcm91bmQuIFdoaWNoIG1lYW5zIGRyaXZlcnMgbmVlZCB0 byBzb21laG93IGNyZWF0ZSB0aGF0IGF0CmRyaXZlciBsb2FkIHRpbWUuIEFsc28gaXQgc2hvdWxk IG9idmlvdXNseSByZXNldCBoYXJkd2FyZSBzdGF0ZSwgc28KbmVlZHMgdG8gYmUgcmVzZXQgdXBv biByZXN1bWUuCgpGaW5hbGx5IHRoZSBkZXN0cm95L2R1cGxpY2F0ZV9zdGF0ZSBmdW5jdGlvbnMg YXJlIGFuIGF3ZnVsIGxvdCBvZgpib2lsZXJwbGF0ZSBpZiB0aGUgZHJpdmVyIGRvZXNuJ3QgbmVl ZCBhbnl0aGluZyBiZXlvbmQgdGhlIGRlZmF1bHQKc3RhdGUgb2JqZWN0cy4KClNvIGFkZCBoZWxw ZXIgZnVuY3Rpb25zIGZvciBhbGwgb2YgdGhpcy4KCnYyOiBTb21laG93IHRoZSBwbGFuZS9jb25u ZWN0b3IgdmVyc2lvbnMgZ290IGxvc3QgaW4gdGhlIGZpcnN0CnZlcnNpb24uCgp2MzogQWRkIGtl cm5lbGRvYy4KCnY0OiBNYWtlIGR1cGxpY2F0ZV9zdGF0ZSBmdW5jdGlvbnMgYSBiaXQgbW9yZSBy b2J1c3QsIHdoaWNoIGlzIHVzZWZ1bApmb3IgZGVidWdnaW5nIHN0YXRlIHRyYWNraW5nIGlzc3Vl cyB3aGVuIHRyYW5zaXRpb25pbmcgdG8gYXRvbWljLgoKdjU6IENsZWFyIHRlbXBvcmFyeSB2YXJp YWJsZXMgaW4gdGhlIGNydGMgc3RhdGUgd2hlbiBkdXBsaWNhdGluZyBpdCwKbGlrZSAtPm1vZGVf Y2hhbmdlZCBvciAtPnBsYW5lc19jaGFuZ2VkLiBJZiB3ZSBkb24ndCBkbyB0aGlzIHN0YWxlCnZh bHVlcyBmb3IgdGhlc2UgbWlnaHQgcG9sbHV0ZSB0aGUgbmV4dCBhdG9taWMgbW9kZXNldC4KCnY2 OiBBbHNvIGNsZWFyIGNydGNfc3RhdGUtPmV2ZW50IGluIGNhc2UgdGhlIGRyaXZlciBkaWRuJ3Qg KHlldCkgY2xlYXIKdGhpcyBvdXQuCgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5p ZWwudmV0dGVyQGZmd2xsLmNoPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jIHwgMTU0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogaW5jbHVkZS9k cm0vZHJtX2F0b21pY19oZWxwZXIuaCAgICAgfCAgMTkgKysrKysKIDIgZmlsZXMgY2hhbmdlZCwg MTcwIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19o ZWxwZXIuYwppbmRleCA3MGJkNjdjZjg2ZTMuLmJkMzhkZjNjYmU1NSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWNfaGVscGVyLmMKQEAgLTE0MjksNyArMTQyOSw3IEBAIEVYUE9SVF9TWU1CT0woZHJt X2F0b21pY19oZWxwZXJfc2V0X2NvbmZpZyk7CiAvKioKICAqIGRybV9hdG9taWNfaGVscGVyX2Ny dGNfc2V0X3Byb3BlcnR5IC0gaGVscGVyIGZvciBjcnRjIHByb3J0aWVzCiAgKiBAY3J0YzogRFJN IGNydGMKLSAqIEBwcm9ydHk6IERSTSBwcm9wZXJ0eQorICogQHByb3BlcnR5OiBEUk0gcHJvcGVy dHkKICAqIEB2YWw6IHZhbHVlIG9mIHByb3BlcnR5CiAgKgogICogUHJvdmlkZXMgYSBkZWZhdWx0 IHBsYW5lIGRpc2FibGxlIGhhbmRsZXIgdXNpbmcgdGhlIGF0b21pYyBkcml2ZXIgaW50ZXJmYWNl LgpAQCAtMTQ5Myw3ICsxNDkzLDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9j cnRjX3NldF9wcm9wZXJ0eSk7CiAvKioKICAqIGRybV9hdG9taWNfaGVscGVyX3BsYW5lX3NldF9w cm9wZXJ0eSAtIGhlbHBlciBmb3IgcGxhbmUgcHJvcnRpZXMKICAqIEBwbGFuZTogRFJNIHBsYW5l Ci0gKiBAcHJvcnR5OiBEUk0gcHJvcGVydHkKKyAqIEBwcm9wZXJ0eTogRFJNIHByb3BlcnR5CiAg KiBAdmFsOiB2YWx1ZSBvZiBwcm9wZXJ0eQogICoKICAqIFByb3ZpZGVzIGEgZGVmYXVsdCBwbGFu ZSBkaXNhYmxlIGhhbmRsZXIgdXNpbmcgdGhlIGF0b21pYyBkcml2ZXIgaW50ZXJmYWNlLgpAQCAt MTU1Nyw3ICsxNTU3LDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9z ZXRfcHJvcGVydHkpOwogLyoqCiAgKiBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3Jfc2V0X3By b3BlcnR5IC0gaGVscGVyIGZvciBjb25uZWN0b3IgcHJvcnRpZXMKICAqIEBjb25uZWN0b3I6IERS TSBjb25uZWN0b3IKLSAqIEBwcm9ydHk6IERSTSBwcm9wZXJ0eQorICogQHByb3BlcnR5OiBEUk0g cHJvcGVydHkKICAqIEB2YWw6IHZhbHVlIG9mIHByb3BlcnR5CiAgKgogICogUHJvdmlkZXMgYSBk ZWZhdWx0IHBsYW5lIGRpc2FibGxlIGhhbmRsZXIgdXNpbmcgdGhlIGF0b21pYyBkcml2ZXIgaW50 ZXJmYWNlLgpAQCAtMTcwNywzICsxNzA3LDE1MSBAQCBiYWNrb2ZmOgogCWdvdG8gcmV0cnk7CiB9 CiBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX3BhZ2VfZmxpcCk7CisKKy8qKgorICog ZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCAtIGRlZmF1bHQgLT5yZXNldCBob29rIGZvciBD UlRDcworICogQGNydGM6IGRybSBDUlRDCisgKgorICogUmVzZXRzIHRoZSBhdG9taWMgc3RhdGUg Zm9yIEBjcnRjIGJ5IGZyZWVpbmcgdGhlIHN0YXRlIHBvaW50ZXIgYW5kIGFsbG9jYXRpbmcKKyAq IGEgbmV3IGVtcHR5IHN0YXRlIG9iamVjdC4KKyAqLwordm9pZCBkcm1fYXRvbWljX2hlbHBlcl9j cnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKK3sKKwlrZnJlZShjcnRjLT5zdGF0ZSk7 CisJY3J0Yy0+c3RhdGUgPSBremFsbG9jKHNpemVvZigqY3J0Yy0+c3RhdGUpLCBHRlBfS0VSTkVM KTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCk7CisKKy8q KgorICogZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUgLSBkZWZhdWx0IHN0 YXRlIGR1cGxpY2F0ZSBob29rCisgKiBAY3J0YzogZHJtIENSVEMKKyAqCisgKiBEZWZhdWx0IENS VEMgc3RhdGUgZHVwbGljYXRlIGhvb2sgZm9yIGRyaXZlcnMgd2hpY2ggZG9uJ3QgaGF2ZSB0aGVp ciBvd24KKyAqIHN1YmNsYXNzZWQgQ1JUQyBzdGF0ZSBzdHJ1Y3R1cmUuCisgKi8KK3N0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqCitkcm1fYXRvbWljX2hlbHBlcl9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShz dHJ1Y3QgZHJtX2NydGMgKmNydGMpCit7CisJc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZTsK KworCWlmIChXQVJOX09OKCFjcnRjLT5zdGF0ZSkpCisJCXJldHVybiBOVUxMOworCisJc3RhdGUg PSBrbWVtZHVwKGNydGMtPnN0YXRlLCBzaXplb2YoKmNydGMtPnN0YXRlKSwgR0ZQX0tFUk5FTCk7 CisKKwlpZiAoc3RhdGUpIHsKKwkJc3RhdGUtPm1vZGVfY2hhbmdlZCA9IGZhbHNlOworCQlzdGF0 ZS0+cGxhbmVzX2NoYW5nZWQgPSBmYWxzZTsKKwkJc3RhdGUtPmV2ZW50ID0gTlVMTDsKKwl9CisK KwlyZXR1cm4gc3RhdGU7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX2NydGNf ZHVwbGljYXRlX3N0YXRlKTsKKworLyoqCisgKiBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ry b3lfc3RhdGUgLSBkZWZhdWx0IHN0YXRlIGRlc3Ryb3kgaG9vaworICogQGNydGM6IGRybSBDUlRD CisgKiBAc3RhdGU6IENSVEMgc3RhdGUgb2JqZWN0IHRvIHJlbGVhc2UKKyAqCisgKiBEZWZhdWx0 IENSVEMgc3RhdGUgZGVzdHJveSBob29rIGZvciBkcml2ZXJzIHdoaWNoIGRvbid0IGhhdmUgdGhl aXIgb3duCisgKiBzdWJjbGFzc2VkIENSVEMgc3RhdGUgc3RydWN0dXJlLgorICovCit2b2lkIGRy bV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMs CisJCQkJCSAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKK3sKKwlrZnJlZShzdGF0ZSk7 Cit9CitFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSk7 CisKKy8qKgorICogZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfcmVzZXQgLSBkZWZhdWx0IC0+cmVz ZXQgaG9vayBmb3IgcGxhbmVzCisgKiBAcGxhbmU6IGRybSBwbGFuZQorICoKKyAqIFJlc2V0cyB0 aGUgYXRvbWljIHN0YXRlIGZvciBAcGxhbmUgYnkgZnJlZWluZyB0aGUgc3RhdGUgcG9pbnRlciBh bmQKKyAqIGFsbG9jYXRpbmcgYSBuZXcgZW1wdHkgc3RhdGUgb2JqZWN0LgorICovCit2b2lkIGRy bV9hdG9taWNfaGVscGVyX3BsYW5lX3Jlc2V0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQorewor CWtmcmVlKHBsYW5lLT5zdGF0ZSk7CisJcGxhbmUtPnN0YXRlID0ga3phbGxvYyhzaXplb2YoKnBs YW5lLT5zdGF0ZSksIEdGUF9LRVJORUwpOworfQorRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hl bHBlcl9wbGFuZV9yZXNldCk7CisKKy8qKgorICogZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfZHVw bGljYXRlX3N0YXRlIC0gZGVmYXVsdCBzdGF0ZSBkdXBsaWNhdGUgaG9vaworICogQHBsYW5lOiBk cm0gcGxhbmUKKyAqCisgKiBEZWZhdWx0IHBsYW5lIHN0YXRlIGR1cGxpY2F0ZSBob29rIGZvciBk cml2ZXJzIHdoaWNoIGRvbid0IGhhdmUgdGhlaXIgb3duCisgKiBzdWJjbGFzc2VkIHBsYW5lIHN0 YXRlIHN0cnVjdHVyZS4KKyAqLworc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqCitkcm1fYXRvbWlj X2hlbHBlcl9wbGFuZV9kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCit7 CisJaWYgKFdBUk5fT04oIXBsYW5lLT5zdGF0ZSkpCisJCXJldHVybiBOVUxMOworCisJcmV0dXJu IGttZW1kdXAocGxhbmUtPnN0YXRlLCBzaXplb2YoKnBsYW5lLT5zdGF0ZSksIEdGUF9LRVJORUwp OworfQorRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9kdXBsaWNhdGVfc3Rh dGUpOworCisvKioKKyAqIGRybV9hdG9taWNfaGVscGVyX3BsYW5lX2Rlc3Ryb3lfc3RhdGUgLSBk ZWZhdWx0IHN0YXRlIGRlc3Ryb3kgaG9vaworICogQHBsYW5lOiBkcm0gcGxhbmUKKyAqIEBzdGF0 ZTogcGxhbmUgc3RhdGUgb2JqZWN0IHRvIHJlbGVhc2UKKyAqCisgKiBEZWZhdWx0IHBsYW5lIHN0 YXRlIGRlc3Ryb3kgaG9vayBmb3IgZHJpdmVycyB3aGljaCBkb24ndCBoYXZlIHRoZWlyIG93bgor ICogc3ViY2xhc3NlZCBwbGFuZSBzdGF0ZSBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgZHJtX2F0b21p Y19oZWxwZXJfcGxhbmVfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKKwkJ CQkJICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSkKK3sKKwlrZnJlZShzdGF0ZSk7Cit9 CitFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX3BsYW5lX2Rlc3Ryb3lfc3RhdGUpOwor CisvKioKKyAqIGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9yZXNldCAtIGRlZmF1bHQgLT5y ZXNldCBob29rIGZvciBjb25uZWN0b3JzCisgKiBAY29ubmVjdG9yOiBkcm0gY29ubmVjdG9yCisg KgorICogUmVzZXRzIHRoZSBhdG9taWMgc3RhdGUgZm9yIEBjb25uZWN0b3IgYnkgZnJlZWluZyB0 aGUgc3RhdGUgcG9pbnRlciBhbmQKKyAqIGFsbG9jYXRpbmcgYSBuZXcgZW1wdHkgc3RhdGUgb2Jq ZWN0LgorICovCit2b2lkIGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9yZXNldChzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCWtmcmVlKGNvbm5lY3Rvci0+c3RhdGUpOwor CWNvbm5lY3Rvci0+c3RhdGUgPSBremFsbG9jKHNpemVvZigqY29ubmVjdG9yLT5zdGF0ZSksIEdG UF9LRVJORUwpOworfQorRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3Jf cmVzZXQpOworCisvKioKKyAqIGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVf c3RhdGUgLSBkZWZhdWx0IHN0YXRlIGR1cGxpY2F0ZSBob29rCisgKiBAY29ubmVjdG9yOiBkcm0g Y29ubmVjdG9yCisgKgorICogRGVmYXVsdCBjb25uZWN0b3Igc3RhdGUgZHVwbGljYXRlIGhvb2sg Zm9yIGRyaXZlcnMgd2hpY2ggZG9uJ3QgaGF2ZSB0aGVpciBvd24KKyAqIHN1YmNsYXNzZWQgY29u bmVjdG9yIHN0YXRlIHN0cnVjdHVyZS4KKyAqLworc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg KgorZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCWlmIChXQVJOX09OKCFjb25uZWN0b3ItPnN0YXRl KSkKKwkJcmV0dXJuIE5VTEw7CisKKwlyZXR1cm4ga21lbWR1cChjb25uZWN0b3ItPnN0YXRlLCBz aXplb2YoKmNvbm5lY3Rvci0+c3RhdGUpLCBHRlBfS0VSTkVMKTsKK30KK0VYUE9SVF9TWU1CT0wo ZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZSk7CisKKy8qKgorICog ZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2Rlc3Ryb3lfc3RhdGUgLSBkZWZhdWx0IHN0YXRl IGRlc3Ryb3kgaG9vaworICogQGNvbm5lY3RvcjogZHJtIGNvbm5lY3RvcgorICogQHN0YXRlOiBj b25uZWN0b3Igc3RhdGUgb2JqZWN0IHRvIHJlbGVhc2UKKyAqCisgKiBEZWZhdWx0IGNvbm5lY3Rv ciBzdGF0ZSBkZXN0cm95IGhvb2sgZm9yIGRyaXZlcnMgd2hpY2ggZG9uJ3QgaGF2ZSB0aGVpciBv d24KKyAqIHN1YmNsYXNzZWQgY29ubmVjdG9yIHN0YXRlIHN0cnVjdHVyZS4KKyAqLwordm9pZCBk cm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAorCQkJCQkgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0 ZSkKK3sKKwlrZnJlZShzdGF0ZSk7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVy X2Nvbm5lY3Rvcl9kZXN0cm95X3N0YXRlKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9h dG9taWNfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljX2hlbHBlci5oCmluZGV4IDI4 YTJmM2E4MTVmZC4uNjdlM2M0NjQ1YWUwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fYXRv bWljX2hlbHBlci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmgKQEAgLTc0 LDUgKzc0LDI0IEBAIGludCBkcm1fYXRvbWljX2hlbHBlcl9wYWdlX2ZsaXAoc3RydWN0IGRybV9j cnRjICpjcnRjLAogCQkJCXN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmV2ZW50LAog CQkJCXVpbnQzMl90IGZsYWdzKTsKIAorLyogZGVmYXVsdCBpbXBsZW1lbnRhdGlvbnMgZm9yIHN0 YXRlIGhhbmRsaW5nICovCit2b2lkIGRybV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQoc3RydWN0 IGRybV9jcnRjICpjcnRjKTsKK3N0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqCitkcm1fYXRvbWljX2hl bHBlcl9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwordm9pZCBk cm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRj LAorCQkJCQkgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpOworCit2b2lkIGRybV9hdG9t aWNfaGVscGVyX3BsYW5lX3Jlc2V0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKTsKK3N0cnVjdCBk cm1fcGxhbmVfc3RhdGUgKgorZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfZHVwbGljYXRlX3N0YXRl KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKTsKK3ZvaWQgZHJtX2F0b21pY19oZWxwZXJfcGxhbmVf ZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKKwkJCQkJICBzdHJ1Y3QgZHJt X3BsYW5lX3N0YXRlICpzdGF0ZSk7CisKK3ZvaWQgZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9y X3Jlc2V0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOworc3RydWN0IGRybV9jb25u ZWN0b3Jfc3RhdGUgKgorZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0 ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKK3ZvaWQgZHJtX2F0b21pY19oZWxw ZXJfY29ubmVjdG9yX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKKwkJCQkJICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqc3RhdGUpOworCiAKICNlbmRp ZiAvKiBEUk1fQVRPTUlDX0hFTFBFUl9IXyAqLwotLSAKMi4xLjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==