From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Stone Subject: [PATCH 08/11] drm/mode: Add user blob-creation ioctl Date: Fri, 22 May 2015 13:34:51 +0100 Message-ID: <1432298094-22239-9-git-send-email-daniels@collabora.com> References: <1432298094-22239-1-git-send-email-daniels@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [93.93.135.160]) by gabe.freedesktop.org (Postfix) with ESMTP id BA4026EA7A for ; Fri, 22 May 2015 05:35:06 -0700 (PDT) In-Reply-To: <1432298094-22239-1-git-send-email-daniels@collabora.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 List-Id: dri-devel@lists.freedesktop.org QWRkIGFuIGlvY3RsIHdoaWNoIGFsbG93cyB1c2VycyB0byBjcmVhdGUgYmxvYiBwcm9wZXJ0aWVz IGZyb20gc3VwcGxpZWQKZGF0YS4gQ3VycmVudGx5IHRoaXMgb25seSBzdXBwb3J0cyBtb2Rlcywg Y3JlYXRpbmcgYSBkcm1fZGlzcGxheV9tb2RlIGZyb20KdGhlIHVzZXJzcGFjZSBkcm1fbW9kZV9t b2RlaW5mby4KCnYyOiBSZW1vdmVkIHNpemUvdHlwZSBjaGVja3MuCiAgICBSZWJhc2VkIG9uIG5l dyBwYXRjaGVzIHRvIGFsbG93IGVycm9yIHByb3BhZ2F0aW9uIGZyb20gY3JlYXRlX2Jsb2IsCiAg ICBhcyB3ZWxsIGFzIGF2b2lkaW5nIGRvdWJsZS1hbGxvY2F0aW9uLgoKU2lnbmVkLW9mZi1ieTog RGFuaWVsIFN0b25lIDxkYW5pZWxzQGNvbGxhYm9yYS5jb20+ClJldmlld2VkLWJ5OiBNYWFydGVu IExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAaW50ZWwuY29tPgpUZXN0ZWQtYnk6IFNlYW4g UGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0 Yy5jICB8IDEzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQog ZHJpdmVycy9ncHUvZHJtL2RybV9mb3BzLmMgIHwgICA1ICstCiBkcml2ZXJzL2dwdS9kcm0vZHJt X2lvY3RsLmMgfCAgIDIgKwogaW5jbHVkZS9kcm0vZHJtUC5oICAgICAgICAgIHwgICA0ICsrCiBp bmNsdWRlL2RybS9kcm1fY3J0Yy5oICAgICAgfCAgIDkgKystCiBpbmNsdWRlL3VhcGkvZHJtL2Ry bS5oICAgICAgfCAgIDIgKwogaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oIHwgIDIwICsrKysr KysKIDcgZmlsZXMgY2hhbmdlZCwgMTc2IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2NydGMuYwppbmRleCA0OTRjNGEwLi45MjYzYjIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwpAQCAtNDE3 Myw2ICs0MTczLDkgQEAgZHJtX3Byb3BlcnR5X2NyZWF0ZV9ibG9iKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHNpemVfdCBsZW5ndGgsCiAJaWYgKCFibG9iKQogCQlyZXR1cm4gRVJSX1BUUigtRU5P TUVNKTsKIAorCS8qIFRoaXMgbXVzdCBiZSBleHBsaWNpdGx5IGluaXRpYWxpc2VkLCBzbyB3ZSBj YW4gc2FmZWx5IGNhbGwgbGlzdF9kZWwKKwkgKiBvbiBpdCBpbiB0aGUgcmVtb3ZhbCBoYW5kbGVy LCBldmVuIGlmIGl0IGlzbid0IGluIGEgZmlsZSBsaXN0LiAqLworCUlOSVRfTElTVF9IRUFEKCZi bG9iLT5oZWFkX2ZpbGUpOwogCWJsb2ItPmxlbmd0aCA9IGxlbmd0aDsKIAlibG9iLT5kZXYgPSBk ZXY7CiAKQEAgLTQxOTAsNyArNDE5Myw4IEBAIGRybV9wcm9wZXJ0eV9jcmVhdGVfYmxvYihzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCBzaXplX3QgbGVuZ3RoLAogCiAJa3JlZl9pbml0KCZibG9iLT5y ZWZjb3VudCk7CiAKLQlsaXN0X2FkZF90YWlsKCZibG9iLT5oZWFkLCAmZGV2LT5tb2RlX2NvbmZp Zy5wcm9wZXJ0eV9ibG9iX2xpc3QpOworCWxpc3RfYWRkX3RhaWwoJmJsb2ItPmhlYWRfZ2xvYmFs LAorCSAgICAgICAgICAgICAgJmRldi0+bW9kZV9jb25maWcucHJvcGVydHlfYmxvYl9saXN0KTsK IAogCW11dGV4X3VubG9jaygmZGV2LT5tb2RlX2NvbmZpZy5ibG9iX2xvY2spOwogCkBAIC00MjEy LDcgKzQyMTYsOCBAQCBzdGF0aWMgdm9pZCBkcm1fcHJvcGVydHlfZnJlZV9ibG9iKHN0cnVjdCBr cmVmICprcmVmKQogCiAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZibG9iLT5kZXYtPm1vZGVf Y29uZmlnLmJsb2JfbG9jaykpOwogCi0JbGlzdF9kZWwoJmJsb2ItPmhlYWQpOworCWxpc3RfZGVs KCZibG9iLT5oZWFkX2dsb2JhbCk7CisJbGlzdF9kZWwoJmJsb2ItPmhlYWRfZmlsZSk7CiAJZHJt X21vZGVfb2JqZWN0X3B1dChibG9iLT5kZXYsICZibG9iLT5iYXNlKTsKIAogCWtmcmVlKGJsb2Ip OwpAQCAtNDI2NCw2ICs0MjY5LDI2IEBAIHN0YXRpYyB2b2lkIGRybV9wcm9wZXJ0eV91bnJlZmVy ZW5jZV9ibG9iX2xvY2tlZChzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IpCiB9CiAKIC8q KgorICogZHJtX3Byb3BlcnR5X2Rlc3Ryb3lfdXNlcl9ibG9icyAtIGRlc3Ryb3kgYWxsIGJsb2Jz IGNyZWF0ZWQgYnkgdGhpcyBjbGllbnQKKyAqIEBkZXY6ICAgICAgIERSTSBkZXZpY2UKKyAqIEBm aWxlX3ByaXY6IGRlc3Ryb3kgYWxsIGJsb2JzIG93bmVkIGJ5IHRoaXMgZmlsZSBoYW5kbGUKKyAq Lwordm9pZCBkcm1fcHJvcGVydHlfZGVzdHJveV91c2VyX2Jsb2JzKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCisJCQkJICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKK3sKKwlzdHJ1Y3Qg ZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IsICpidDsKKworCW11dGV4X2xvY2soJmRldi0+bW9kZV9j b25maWcuYmxvYl9sb2NrKTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShibG9iLCBidCwg JmZpbGVfcHJpdi0+YmxvYnMsIGhlYWRfZmlsZSkgeworCQlsaXN0X2RlbF9pbml0KCZibG9iLT5o ZWFkX2ZpbGUpOworCQlkcm1fcHJvcGVydHlfdW5yZWZlcmVuY2VfYmxvYl9sb2NrZWQoYmxvYik7 CisJfQorCisJbXV0ZXhfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLmJsb2JfbG9jayk7Cit9CisK Ky8qKgogICogZHJtX3Byb3BlcnR5X3JlZmVyZW5jZV9ibG9iIC0gVGFrZSBhIHJlZmVyZW5jZSBv biBhbiBleGlzdGluZyBwcm9wZXJ0eQogICoKICAqIFRha2UgYSBuZXcgcmVmZXJlbmNlIG9uIGFu IGV4aXN0aW5nIGJsb2IgcHJvcGVydHkuCkBAIC00NDUzLDYgKzQ0NzgsMTE0IEBAIGRvbmU6CiB9 CiAKIC8qKgorICogZHJtX21vZGVfY3JlYXRlYmxvYl9pb2N0bCAtIGNyZWF0ZSBhIG5ldyBibG9i IHByb3BlcnR5CisgKiBAZGV2OiBEUk0gZGV2aWNlCisgKiBAZGF0YTogaW9jdGwgZGF0YQorICog QGZpbGVfcHJpdjogRFJNIGZpbGUgaW5mbworICoKKyAqIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBh IG5ldyBibG9iIHByb3BlcnR5IHdpdGggdXNlci1kZWZpbmVkIHZhbHVlcy4gSW4gb3JkZXIKKyAq IHRvIGdpdmUgdXMgc2Vuc2libGUgdmFsaWRhdGlvbiBhbmQgY2hlY2tpbmcgd2hlbiBjcmVhdGlu ZywgcmF0aGVyIHRoYW4gYXQKKyAqIGV2ZXJ5IHBvdGVudGlhbCB1c2UsIHdlIGFsc28gcmVxdWly ZSBhIHR5cGUgdG8gYmUgcHJvdmlkZWQgdXBmcm9udC4KKyAqCisgKiBDYWxsZWQgYnkgdGhlIHVz ZXIgdmlhIGlvY3RsLgorICoKKyAqIFJldHVybnM6CisgKiBaZXJvIG9uIHN1Y2Nlc3MsIG5lZ2F0 aXZlIGVycm5vIG9uIGZhaWx1cmUuCisgKi8KK2ludCBkcm1fbW9kZV9jcmVhdGVibG9iX2lvY3Rs KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCQkgICAgICB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGVfcHJpdikKK3sKKwlzdHJ1Y3QgZHJtX21vZGVfY3JlYXRlX2Jsb2IgKm91dF9y ZXNwID0gZGF0YTsKKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2I7CisJdm9pZCBfX3Vz ZXIgKmJsb2JfcHRyOworCWludCByZXQgPSAwOworCisJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0 dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWJsb2IgPSBk cm1fcHJvcGVydHlfY3JlYXRlX2Jsb2IoZGV2LCBvdXRfcmVzcC0+bGVuZ3RoLCBOVUxMKTsKKwlp ZiAoSVNfRVJSKGJsb2IpKQorCQlyZXR1cm4gUFRSX0VSUihibG9iKTsKKworCWJsb2JfcHRyID0g KHZvaWQgX191c2VyICopKHVuc2lnbmVkIGxvbmcpb3V0X3Jlc3AtPmRhdGE7CisJaWYgKGNvcHlf ZnJvbV91c2VyKGJsb2ItPmRhdGEsIGJsb2JfcHRyLCBvdXRfcmVzcC0+bGVuZ3RoKSkgeworCQly ZXQgPSAtRUZBVUxUOworCQlnb3RvIG91dF9ibG9iOworCX0KKworCS8qIERyb3BwaW5nIHRoZSBs b2NrIGJldHdlZW4gY3JlYXRlX2Jsb2IgYW5kIG91ciBhY2Nlc3MgaGVyZSBpcyBzYWZlCisJICog YXMgb25seSB0aGUgc2FtZSBmaWxlX3ByaXYgY2FuIHJlbW92ZSB0aGUgYmxvYjsgYXQgdGhpcyBw b2ludCwgaXQgaXMKKwkgKiBub3QgYXNzb2NpYXRlZCB3aXRoIGFueSBmaWxlX3ByaXYuICovCisJ bXV0ZXhfbG9jaygmZGV2LT5tb2RlX2NvbmZpZy5ibG9iX2xvY2spOworCW91dF9yZXNwLT5ibG9i X2lkID0gYmxvYi0+YmFzZS5pZDsKKwlsaXN0X2FkZF90YWlsKCZmaWxlX3ByaXYtPmJsb2JzLCAm YmxvYi0+aGVhZF9maWxlKTsKKwltdXRleF91bmxvY2soJmRldi0+bW9kZV9jb25maWcuYmxvYl9s b2NrKTsKKworCXJldHVybiAwOworCitvdXRfYmxvYjoKKwlkcm1fcHJvcGVydHlfdW5yZWZlcmVu Y2VfYmxvYihibG9iKTsKKwlyZXR1cm4gcmV0OworfQorCisvKioKKyAqIGRybV9tb2RlX2Rlc3Ry b3libG9iX2lvY3RsIC0gZGVzdHJveSBhIHVzZXIgYmxvYiBwcm9wZXJ0eQorICogQGRldjogRFJN IGRldmljZQorICogQGRhdGE6IGlvY3RsIGRhdGEKKyAqIEBmaWxlX3ByaXY6IERSTSBmaWxlIGlu Zm8KKyAqCisgKiBEZXN0cm95IGFuIGV4aXN0aW5nIHVzZXItZGVmaW5lZCBibG9iIHByb3BlcnR5 LgorICoKKyAqIENhbGxlZCBieSB0aGUgdXNlciB2aWEgaW9jdGwuCisgKgorICogUmV0dXJuczoK KyAqIFplcm8gb24gc3VjY2VzcywgbmVnYXRpdmUgZXJybm8gb24gZmFpbHVyZS4KKyAqLworaW50 IGRybV9tb2RlX2Rlc3Ryb3libG9iX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCQkg ICAgICAgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCit7CisJc3RydWN0 IGRybV9tb2RlX2Rlc3Ryb3lfYmxvYiAqb3V0X3Jlc3AgPSBkYXRhOworCXN0cnVjdCBkcm1fcHJv cGVydHlfYmxvYiAqYmxvYiA9IE5VTEwsICpidDsKKwlib29sIGZvdW5kID0gZmFsc2U7CisJaW50 IHJldCA9IDA7CisKKwlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9E RVNFVCkpCisJCXJldHVybiAtRUlOVkFMOworCisJbXV0ZXhfbG9jaygmZGV2LT5tb2RlX2NvbmZp Zy5ibG9iX2xvY2spOworCWJsb2IgPSBfX2RybV9wcm9wZXJ0eV9sb29rdXBfYmxvYihkZXYsIG91 dF9yZXNwLT5ibG9iX2lkKTsKKwlpZiAoIWJsb2IpIHsKKwkJcmV0ID0gLUVOT0VOVDsKKwkJZ290 byBlcnI7CisJfQorCisJLyogRW5zdXJlIHRoZSBwcm9wZXJ0eSB3YXMgYWN0dWFsbHkgY3JlYXRl ZCBieSB0aGlzIHVzZXIuICovCisJbGlzdF9mb3JfZWFjaF9lbnRyeShidCwgJmZpbGVfcHJpdi0+ YmxvYnMsIGhlYWRfZmlsZSkgeworCQlpZiAoYnQgPT0gYmxvYikgeworCQkJZm91bmQgPSB0cnVl OworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAoIWZvdW5kKSB7CisJCXJldCA9IC1FUEVSTTsK KwkJZ290byBlcnI7CisJfQorCisJLyogV2UgbXVzdCBkcm9wIGhlYWRfZmlsZSBoZXJlLCBiZWNh dXNlIHdlIG1heSBub3QgYmUgdGhlIGxhc3QKKwkgKiByZWZlcmVuY2Ugb24gdGhlIGJsb2IuICov CisJbGlzdF9kZWxfaW5pdCgmYmxvYi0+aGVhZF9maWxlKTsKKwlkcm1fcHJvcGVydHlfdW5yZWZl cmVuY2VfYmxvYl9sb2NrZWQoYmxvYik7CisJbXV0ZXhfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmln LmJsb2JfbG9jayk7CisKKwlyZXR1cm4gMDsKKworZXJyOgorCW11dGV4X3VubG9jaygmZGV2LT5t b2RlX2NvbmZpZy5ibG9iX2xvY2spOworCXJldHVybiByZXQ7Cit9CisKKy8qKgogICogZHJtX21v ZGVfY29ubmVjdG9yX3NldF9wYXRoX3Byb3BlcnR5IC0gc2V0IHRpbGUgcHJvcGVydHkgb24gY29u bmVjdG9yCiAgKiBAY29ubmVjdG9yOiBjb25uZWN0b3IgdG8gc2V0IHByb3BlcnR5IG9uLgogICog QHBhdGg6IHBhdGggdG8gdXNlIGZvciBwcm9wZXJ0eTsgbXVzdCBub3QgYmUgTlVMTC4KQEAgLTU2 NTksNyArNTc5Miw3IEBAIHZvaWQgZHJtX21vZGVfY29uZmlnX2NsZWFudXAoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIAl9CiAKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoYmxvYiwgYnQsICZk ZXYtPm1vZGVfY29uZmlnLnByb3BlcnR5X2Jsb2JfbGlzdCwKLQkJCQkgaGVhZCkgeworCQkJCSBo ZWFkX2dsb2JhbCkgewogCQlkcm1fcHJvcGVydHlfdW5yZWZlcmVuY2VfYmxvYihibG9iKTsKIAl9 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZm9wcy5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9mb3BzLmMKaW5kZXggMGY2YTVjOC4uYzU5Y2U0ZCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9mb3BzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mb3BzLmMKQEAg LTE2Nyw2ICsxNjcsNyBAQCBzdGF0aWMgaW50IGRybV9vcGVuX2hlbHBlcihzdHJ1Y3QgZmlsZSAq ZmlscCwgc3RydWN0IGRybV9taW5vciAqbWlub3IpCiAJSU5JVF9MSVNUX0hFQUQoJnByaXYtPmxo ZWFkKTsKIAlJTklUX0xJU1RfSEVBRCgmcHJpdi0+ZmJzKTsKIAltdXRleF9pbml0KCZwcml2LT5m YnNfbG9jayk7CisJSU5JVF9MSVNUX0hFQUQoJnByaXYtPmJsb2JzKTsKIAlJTklUX0xJU1RfSEVB RCgmcHJpdi0+ZXZlbnRfbGlzdCk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmcHJpdi0+ZXZlbnRf d2FpdCk7CiAJcHJpdi0+ZXZlbnRfc3BhY2UgPSA0MDk2OyAvKiBzZXQgYXNpZGUgNGsgZm9yIGV2 ZW50IGJ1ZmZlciAqLwpAQCAtNDA1LDggKzQwNiwxMCBAQCBpbnQgZHJtX3JlbGVhc2Uoc3RydWN0 IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiAKIAlkcm1fZXZlbnRzX3JlbGVhc2Uo ZmlsZV9wcml2KTsKIAotCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01P REVTRVQpKQorCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQp KSB7CiAJCWRybV9mYl9yZWxlYXNlKGZpbGVfcHJpdik7CisJCWRybV9wcm9wZXJ0eV9kZXN0cm95 X3VzZXJfYmxvYnMoZGV2LCBmaWxlX3ByaXYpOworCX0KIAogCWlmIChkcm1fY29yZV9jaGVja19m ZWF0dXJlKGRldiwgRFJJVkVSX0dFTSkpCiAJCWRybV9nZW1fcmVsZWFzZShkZXYsIGZpbGVfcHJp dik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2lvY3RsLmMKaW5kZXggMjY2ZGNkNi4uOWJhYzFiNyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwu YwpAQCAtNjQxLDYgKzY0MSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2lvY3RsX2Rlc2Mg ZHJtX2lvY3Rsc1tdID0gewogCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfT0JKX1NFVFBS T1BFUlRZLCBkcm1fbW9kZV9vYmpfc2V0X3Byb3BlcnR5X2lvY3RsLCBEUk1fTUFTVEVSfERSTV9D T05UUk9MX0FMTE9XfERSTV9VTkxPQ0tFRCksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9E RV9DVVJTT1IyLCBkcm1fbW9kZV9jdXJzb3IyX2lvY3RsLCBEUk1fTUFTVEVSfERSTV9DT05UUk9M X0FMTE9XfERSTV9VTkxPQ0tFRCksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9BVE9N SUMsIGRybV9tb2RlX2F0b21pY19pb2N0bCwgRFJNX01BU1RFUnxEUk1fQ09OVFJPTF9BTExPV3xE Uk1fVU5MT0NLRUQpLAorCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfQ1JFQVRFUFJPUEJM T0IsIGRybV9tb2RlX2NyZWF0ZWJsb2JfaW9jdGwsIERSTV9DT05UUk9MX0FMTE9XfERSTV9VTkxP Q0tFRCksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9ERVNUUk9ZUFJPUEJMT0IsIGRy bV9tb2RlX2Rlc3Ryb3libG9iX2lvY3RsLCBEUk1fQ09OVFJPTF9BTExPV3xEUk1fVU5MT0NLRUQp LAogfTsKIAogI2RlZmluZSBEUk1fQ09SRV9JT0NUTF9DT1VOVAlBUlJBWV9TSVpFKCBkcm1faW9j dGxzICkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybVAuaCBiL2luY2x1ZGUvZHJtL2RybVAu aAppbmRleCBkZjZkOTk3Li45ZmE2MzY2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1QLmgK KysrIGIvaW5jbHVkZS9kcm0vZHJtUC5oCkBAIC0zMjYsNiArMzI2LDEwIEBAIHN0cnVjdCBkcm1f ZmlsZSB7CiAJc3RydWN0IGxpc3RfaGVhZCBmYnM7CiAJc3RydWN0IG11dGV4IGZic19sb2NrOwog CisJLyoqIFVzZXItY3JlYXRlZCBibG9iIHByb3BlcnRpZXM7IHRoaXMgcmV0YWlucyBhIHJlZmVy ZW5jZSBvbiB0aGUKKwkgKiAgcHJvcGVydHkuICovCisJc3RydWN0IGxpc3RfaGVhZCBibG9iczsK KwogCXdhaXRfcXVldWVfaGVhZF90IGV2ZW50X3dhaXQ7CiAJc3RydWN0IGxpc3RfaGVhZCBldmVu dF9saXN0OwogCWludCBldmVudF9zcGFjZTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9j cnRjLmggYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCmluZGV4IGRhY2UxYjYuLjcyYjYwZGIgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2Ny dGMuaApAQCAtMjE4LDcgKzIxOCw4IEBAIHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiB7CiAJc3Ry dWN0IGRybV9tb2RlX29iamVjdCBiYXNlOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7CiAJc3Ry dWN0IGtyZWYgcmVmY291bnQ7Ci0Jc3RydWN0IGxpc3RfaGVhZCBoZWFkOworCXN0cnVjdCBsaXN0 X2hlYWQgaGVhZF9nbG9iYWw7CisJc3RydWN0IGxpc3RfaGVhZCBoZWFkX2ZpbGU7CiAJc2l6ZV90 IGxlbmd0aDsKIAl1bnNpZ25lZCBjaGFyIGRhdGFbXTsKIH07CkBAIC0xMzE1LDYgKzEzMTYsOCBA QCBleHRlcm4gY29uc3QgY2hhciAqZHJtX2dldF9kdmlfaV9zZWxlY3RfbmFtZShpbnQgdmFsKTsK IGV4dGVybiBjb25zdCBjaGFyICpkcm1fZ2V0X3R2X3N1YmNvbm5lY3Rvcl9uYW1lKGludCB2YWwp OwogZXh0ZXJuIGNvbnN0IGNoYXIgKmRybV9nZXRfdHZfc2VsZWN0X25hbWUoaW50IHZhbCk7CiBl eHRlcm4gdm9pZCBkcm1fZmJfcmVsZWFzZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7Citl eHRlcm4gdm9pZCBkcm1fcHJvcGVydHlfZGVzdHJveV91c2VyX2Jsb2JzKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKIGV4dGVybiBpbnQgZHJtX21vZGVfZ3JvdXBfaW5p dF9sZWdhY3lfZ3JvdXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9tb2RlX2dy b3VwICpncm91cCk7CiBleHRlcm4gdm9pZCBkcm1fbW9kZV9ncm91cF9kZXN0cm95KHN0cnVjdCBk cm1fbW9kZV9ncm91cCAqZ3JvdXApOwogZXh0ZXJuIHZvaWQgZHJtX3JlaW5pdF9wcmltYXJ5X21v ZGVfZ3JvdXAoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CkBAIC0xNDYwLDYgKzE0NjMsMTAgQEAg ZXh0ZXJuIGludCBkcm1fbW9kZV9nZXRwcm9wZXJ0eV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogCQkJCSAgICAgIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsK IGV4dGVybiBpbnQgZHJtX21vZGVfZ2V0YmxvYl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAogCQkJCSAgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOworZXh0ZXJu IGludCBkcm1fbW9kZV9jcmVhdGVibG9iX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJ CQkJICAgICB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7CitleHRlcm4g aW50IGRybV9tb2RlX2Rlc3Ryb3libG9iX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJ CQkJICAgICAgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwogZXh0ZXJu IGludCBkcm1fbW9kZV9jb25uZWN0b3JfcHJvcGVydHlfc2V0X2lvY3RsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAJCQkJCSAgICAgIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9w cml2KTsKIGV4dGVybiBpbnQgZHJtX21vZGVfZ2V0ZW5jb2RlcihzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LApkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9kcm0uaCBiL2luY2x1ZGUvdWFwaS9k cm0vZHJtLmgKaW5kZXggZmY2ZWY2Mi4uMzgwMTU4NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBp L2RybS9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybS5oCkBAIC03ODYsNiArNzg2LDgg QEAgc3RydWN0IGRybV9wcmltZV9oYW5kbGUgewogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9PQkpf U0VUUFJPUEVSVFkJRFJNX0lPV1IoMHhCQSwgc3RydWN0IGRybV9tb2RlX29ial9zZXRfcHJvcGVy dHkpCiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX0NVUlNPUjIJCURSTV9JT1dSKDB4QkIsIHN0cnVj dCBkcm1fbW9kZV9jdXJzb3IyKQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9BVE9NSUMJCURSTV9J T1dSKDB4QkMsIHN0cnVjdCBkcm1fbW9kZV9hdG9taWMpCisjZGVmaW5lIERSTV9JT0NUTF9NT0RF X0NSRUFURVBST1BCTE9CCURSTV9JT1dSKDB4QkQsIHN0cnVjdCBkcm1fbW9kZV9jcmVhdGVfYmxv YikKKyNkZWZpbmUgRFJNX0lPQ1RMX01PREVfREVTVFJPWVBST1BCTE9CCURSTV9JT1dSKDB4QkUs IHN0cnVjdCBkcm1fbW9kZV9kZXN0cm95X2Jsb2IpCiAKIC8qKgogICogRGV2aWNlIHNwZWNpZmlj IGlvY3RscyBzaG91bGQgb25seSBiZSBpbiB0aGVpciByZXNwZWN0aXZlIGhlYWRlcnMKZGlmZiAt LWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJt X21vZGUuaAppbmRleCBkYmViYTk0Li4zNTkxMDdhIDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkv ZHJtL2RybV9tb2RlLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCkBAIC01NTgs NCArNTU4LDI0IEBAIHN0cnVjdCBkcm1fbW9kZV9hdG9taWMgewogCV9fdTY0IHVzZXJfZGF0YTsK IH07CiAKKy8qKgorICogQ3JlYXRlIGEgbmV3ICdibG9iJyBkYXRhIHByb3BlcnR5LCBjb3B5aW5n IGxlbmd0aCBieXRlcyBmcm9tIGRhdGEgcG9pbnRlciwKKyAqIGFuZCByZXR1cm5pbmcgbmV3IGJs b2IgSUQuCisgKi8KK3N0cnVjdCBkcm1fbW9kZV9jcmVhdGVfYmxvYiB7CisJLyoqIFBvaW50ZXIg dG8gZGF0YSB0byBjb3B5LiAqLworCV9fdTY0IGRhdGE7CisJLyoqIExlbmd0aCBvZiBkYXRhIHRv IGNvcHkuICovCisJX191MzIgbGVuZ3RoOworCS8qKiBSZXR1cm46IG5ldyBwcm9wZXJ0eSBJRC4g Ki8KKwlfX3UzMiBibG9iX2lkOworfTsKKworLyoqCisgKiBEZXN0cm95IGEgdXNlci1jcmVhdGVk IGJsb2IgcHJvcGVydHkuCisgKi8KK3N0cnVjdCBkcm1fbW9kZV9kZXN0cm95X2Jsb2IgeworCV9f dTMyIGJsb2JfaWQ7Cit9OworCiAjZW5kaWYKLS0gCjIuNC4xCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=