From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751483AbdBWPLV (ORCPT ); Thu, 23 Feb 2017 10:11:21 -0500 Received: from mail-yb0-f193.google.com ([209.85.213.193]:32926 "EHLO mail-yb0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751107AbdBWPLU (ORCPT ); Thu, 23 Feb 2017 10:11:20 -0500 MIME-Version: 1.0 In-Reply-To: References: <89288c2354690be744b72b27e39f317cb1c5310d.1487314667.git.joe@perches.com> From: Alex Deucher Date: Thu, 23 Feb 2017 10:02:19 -0500 Message-ID: Subject: Re: [PATCH 17/35] drivers/gpu: Convert remaining uses of pr_warning to pr_warn To: "Edward O'Callaghan" Cc: =?UTF-8?Q?Christian_K=C3=B6nig?= , Joe Perches , LKML , Alex Deucher , David Airlie , amd-gfx list , Maling list - DRI developers Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v1NFBP23019751 On Sat, Feb 18, 2017 at 12:03 AM, Edward O'Callaghan wrote: > > > On 02/18/2017 01:22 AM, Christian König wrote: >> Am 17.02.2017 um 08:11 schrieb Joe Perches: >>> To enable eventual removal of pr_warning >>> >>> This makes pr_warn use consistent for drivers/gpu >>> >>> Prior to this patch, there were 15 uses of pr_warning and >>> 20 uses of pr_warn in drivers/gpu >>> >>> Signed-off-by: Joe Perches >> >> Acked-by: Christian König . > > Reviewed-by: Edward O'Callaghan Applied. thanks! Alex > >> >>> --- >>> drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 2 +- >>> drivers/gpu/drm/amd/powerplay/inc/pp_debug.h | 2 +- >>> drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c | 4 ++-- >>> drivers/gpu/drm/amd/powerplay/smumgr/iceland_smc.c | 14 >>> +++++++------- >>> drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smc.c | 4 ++-- >>> drivers/gpu/drm/amd/powerplay/smumgr/tonga_smc.c | 4 ++-- >>> 6 files changed, 15 insertions(+), 15 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c >>> b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c >>> index b1de9e8ccdbc..83266408634e 100644 >>> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c >>> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c >>> @@ -1535,7 +1535,7 @@ static int smu7_get_evv_voltages(struct pp_hwmgr >>> *hwmgr) >>> if (vddc >= 2000 || vddc == 0) >>> return -EINVAL; >>> } else { >>> - pr_warning("failed to retrieving EVV voltage!\n"); >>> + pr_warn("failed to retrieving EVV voltage!\n"); >>> continue; >>> } >>> diff --git a/drivers/gpu/drm/amd/powerplay/inc/pp_debug.h >>> b/drivers/gpu/drm/amd/powerplay/inc/pp_debug.h >>> index 072880130cfb..f3f9ebb631a5 100644 >>> --- a/drivers/gpu/drm/amd/powerplay/inc/pp_debug.h >>> +++ b/drivers/gpu/drm/amd/powerplay/inc/pp_debug.h >>> @@ -37,7 +37,7 @@ >>> #define PP_ASSERT_WITH_CODE(cond, msg, code) \ >>> do { \ >>> if (!(cond)) { \ >>> - pr_warning("%s\n", msg); \ >>> + pr_warn("%s\n", msg); \ >>> code; \ >>> } \ >>> } while (0) >>> diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c >>> b/drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c >>> index 0f7a77b7312e..5450f5ef8e89 100644 >>> --- a/drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c >>> +++ b/drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c >>> @@ -2131,7 +2131,7 @@ uint32_t fiji_get_offsetof(uint32_t type, >>> uint32_t member) >>> return offsetof(SMU73_Discrete_DpmTable, >>> LowSclkInterruptThreshold); >>> } >>> } >>> - pr_warning("can't get the offset of type %x member %x\n", type, >>> member); >>> + pr_warn("can't get the offset of type %x member %x\n", type, >>> member); >>> return 0; >>> } >>> @@ -2156,7 +2156,7 @@ uint32_t fiji_get_mac_definition(uint32_t value) >>> return SMU73_MAX_LEVELS_MVDD; >>> } >>> - pr_warning("can't get the mac of %x\n", value); >>> + pr_warn("can't get the mac of %x\n", value); >>> return 0; >>> } >>> diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/iceland_smc.c >>> b/drivers/gpu/drm/amd/powerplay/smumgr/iceland_smc.c >>> index ad82161df831..51adf04ab4b3 100644 >>> --- a/drivers/gpu/drm/amd/powerplay/smumgr/iceland_smc.c >>> +++ b/drivers/gpu/drm/amd/powerplay/smumgr/iceland_smc.c >>> @@ -122,7 +122,7 @@ static void >>> iceland_initialize_power_tune_defaults(struct pp_hwmgr *hwmgr) >>> break; >>> default: >>> smu_data->power_tune_defaults = &defaults_iceland; >>> - pr_warning("Unknown V.I. Device ID.\n"); >>> + pr_warn("Unknown V.I. Device ID.\n"); >>> break; >>> } >>> return; >>> @@ -378,7 +378,7 @@ static int >>> iceland_get_std_voltage_value_sidd(struct pp_hwmgr *hwmgr, >>> return -EINVAL); >>> if (NULL == hwmgr->dyn_state.cac_leakage_table) { >>> - pr_warning("CAC Leakage Table does not exist, using vddc.\n"); >>> + pr_warn("CAC Leakage Table does not exist, using vddc.\n"); >>> return 0; >>> } >>> @@ -394,7 +394,7 @@ static int >>> iceland_get_std_voltage_value_sidd(struct pp_hwmgr *hwmgr, >>> *lo = >>> hwmgr->dyn_state.cac_leakage_table->entries[v_index].Vddc * >>> VOLTAGE_SCALE; >>> *hi = >>> (uint16_t)(hwmgr->dyn_state.cac_leakage_table->entries[v_index].Leakage * >>> VOLTAGE_SCALE); >>> } else { >>> - pr_warning("Index from SCLK/VDDC Dependency Table >>> exceeds the CAC Leakage Table index, using maximum index from CAC >>> table.\n"); >>> + pr_warn("Index from SCLK/VDDC Dependency Table >>> exceeds the CAC Leakage Table index, using maximum index from CAC >>> table.\n"); >>> *lo = >>> hwmgr->dyn_state.cac_leakage_table->entries[hwmgr->dyn_state.cac_leakage_table->count >>> - 1].Vddc * VOLTAGE_SCALE; >>> *hi = >>> (uint16_t)(hwmgr->dyn_state.cac_leakage_table->entries[hwmgr->dyn_state.cac_leakage_table->count >>> - 1].Leakage * VOLTAGE_SCALE); >>> } >>> @@ -414,7 +414,7 @@ static int >>> iceland_get_std_voltage_value_sidd(struct pp_hwmgr *hwmgr, >>> *lo = >>> hwmgr->dyn_state.cac_leakage_table->entries[v_index].Vddc * >>> VOLTAGE_SCALE; >>> *hi = >>> (uint16_t)(hwmgr->dyn_state.cac_leakage_table->entries[v_index].Leakage) >>> * VOLTAGE_SCALE; >>> } else { >>> - pr_warning("Index from SCLK/VDDC Dependency Table >>> exceeds the CAC Leakage Table index in second look up, using maximum >>> index from CAC table."); >>> + pr_warn("Index from SCLK/VDDC Dependency Table >>> exceeds the CAC Leakage Table index in second look up, using maximum >>> index from CAC table."); >>> *lo = >>> hwmgr->dyn_state.cac_leakage_table->entries[hwmgr->dyn_state.cac_leakage_table->count >>> - 1].Vddc * VOLTAGE_SCALE; >>> *hi = >>> (uint16_t)(hwmgr->dyn_state.cac_leakage_table->entries[hwmgr->dyn_state.cac_leakage_table->count >>> - 1].Leakage * VOLTAGE_SCALE); >>> } >>> @@ -423,7 +423,7 @@ static int >>> iceland_get_std_voltage_value_sidd(struct pp_hwmgr *hwmgr, >>> } >>> if (!vol_found) >>> - pr_warning("Unable to get std_vddc from SCLK/VDDC >>> Dependency Table, using vddc.\n"); >>> + pr_warn("Unable to get std_vddc from SCLK/VDDC Dependency >>> Table, using vddc.\n"); >>> } >>> return 0; >>> @@ -2146,7 +2146,7 @@ uint32_t iceland_get_offsetof(uint32_t type, >>> uint32_t member) >>> return offsetof(SMU71_Discrete_DpmTable, >>> LowSclkInterruptThreshold); >>> } >>> } >>> - pr_warning("can't get the offset of type %x member %x\n", type, >>> member); >>> + pr_warn("can't get the offset of type %x member %x\n", type, >>> member); >>> return 0; >>> } >>> @@ -2169,7 +2169,7 @@ uint32_t iceland_get_mac_definition(uint32_t >>> value) >>> return SMU71_MAX_LEVELS_MVDD; >>> } >>> - pr_warning("can't get the mac of %x\n", value); >>> + pr_warn("can't get the mac of %x\n", value); >>> return 0; >>> } >>> diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smc.c >>> b/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smc.c >>> index 0e26900e459e..deec874d874f 100644 >>> --- a/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smc.c >>> +++ b/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smc.c >>> @@ -2180,7 +2180,7 @@ uint32_t polaris10_get_offsetof(uint32_t type, >>> uint32_t member) >>> return offsetof(SMU74_Discrete_DpmTable, >>> LowSclkInterruptThreshold); >>> } >>> } >>> - pr_warning("can't get the offset of type %x member %x\n", type, >>> member); >>> + pr_warn("can't get the offset of type %x member %x\n", type, >>> member); >>> return 0; >>> } >>> @@ -2207,7 +2207,7 @@ uint32_t polaris10_get_mac_definition(uint32_t >>> value) >>> return SMU7_UVD_MCLK_HANDSHAKE_DISABLE; >>> } >>> - pr_warning("can't get the mac of %x\n", value); >>> + pr_warn("can't get the mac of %x\n", value); >>> return 0; >>> } >>> diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/tonga_smc.c >>> b/drivers/gpu/drm/amd/powerplay/smumgr/tonga_smc.c >>> index 331b0aba4a13..4d1439a498eb 100644 >>> --- a/drivers/gpu/drm/amd/powerplay/smumgr/tonga_smc.c >>> +++ b/drivers/gpu/drm/amd/powerplay/smumgr/tonga_smc.c >>> @@ -2657,7 +2657,7 @@ uint32_t tonga_get_offsetof(uint32_t type, >>> uint32_t member) >>> return offsetof(SMU72_Discrete_DpmTable, >>> LowSclkInterruptThreshold); >>> } >>> } >>> - pr_warning("can't get the offset of type %x member %x\n", type, >>> member); >>> + pr_warn("can't get the offset of type %x member %x\n", type, >>> member); >>> return 0; >>> } >>> @@ -2681,7 +2681,7 @@ uint32_t tonga_get_mac_definition(uint32_t value) >>> case SMU_MAX_LEVELS_MVDD: >>> return SMU72_MAX_LEVELS_MVDD; >>> } >>> - pr_warning("can't get the mac value %x\n", value); >>> + pr_warn("can't get the mac value %x\n", value); >>> return 0; >>> } >> >> >> _______________________________________________ >> amd-gfx mailing list >> amd-gfx@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/amd-gfx > > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: Re: [PATCH 17/35] drivers/gpu: Convert remaining uses of pr_warning to pr_warn Date: Thu, 23 Feb 2017 10:02:19 -0500 Message-ID: References: <89288c2354690be744b72b27e39f317cb1c5310d.1487314667.git.joe@perches.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Edward O'Callaghan Cc: David Airlie , LKML , amd-gfx list , Alex Deucher , Maling list - DRI developers , Joe Perches , =?UTF-8?Q?Christian_K=C3=B6nig?= List-Id: dri-devel@lists.freedesktop.org T24gU2F0LCBGZWIgMTgsIDIwMTcgYXQgMTI6MDMgQU0sIEVkd2FyZCBPJ0NhbGxhZ2hhbgo8ZnVu ZnVuY3RvckBmb2xrbG9yZTE5ODQubmV0PiB3cm90ZToKPgo+Cj4gT24gMDIvMTgvMjAxNyAwMToy MiBBTSwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPj4gQW0gMTcuMDIuMjAxNyB1bSAwODoxMSBz Y2hyaWViIEpvZSBQZXJjaGVzOgo+Pj4gVG8gZW5hYmxlIGV2ZW50dWFsIHJlbW92YWwgb2YgcHJf d2FybmluZwo+Pj4KPj4+IFRoaXMgbWFrZXMgcHJfd2FybiB1c2UgY29uc2lzdGVudCBmb3IgZHJp dmVycy9ncHUKPj4+Cj4+PiBQcmlvciB0byB0aGlzIHBhdGNoLCB0aGVyZSB3ZXJlIDE1IHVzZXMg b2YgcHJfd2FybmluZyBhbmQKPj4+IDIwIHVzZXMgb2YgcHJfd2FybiBpbiBkcml2ZXJzL2dwdQo+ Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IEpvZSBQZXJjaGVzIDxqb2VAcGVyY2hlcy5jb20+Cj4+Cj4+ IEFja2VkLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Lgo+ Cj4gUmV2aWV3ZWQtYnk6IEVkd2FyZCBPJ0NhbGxhZ2hhbiA8ZnVuZnVuY3RvckBmb2xrbG9yZTE5 ODQubmV0PgoKQXBwbGllZC4gIHRoYW5rcyEKCkFsZXgKCgo+Cj4+Cj4+PiAtLS0KPj4+ICAgZHJp dmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jICAgICB8ICAyICst Cj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9wcF9kZWJ1Zy5oICAgICAg ICAgfCAgMiArLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvZmlq aV9zbWMuYyAgICAgIHwgIDQgKystLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxh eS9zbXVtZ3IvaWNlbGFuZF9zbWMuYyAgIHwgMTQKPj4+ICsrKysrKystLS0tLS0tCj4+PiAgIGRy aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9wb2xhcmlzMTBfc21jLmMgfCAgNCAr Ky0tCj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci90b25nYV9zbWMu YyAgICAgfCAgNCArKy0tCj4+PiAgIDYgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwg MTUgZGVsZXRpb25zKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv cG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYwo+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bv d2VycGxheS9od21nci9zbXU3X2h3bWdyLmMKPj4+IGluZGV4IGIxZGU5ZThjY2RiYy4uODMyNjY0 MDg2MzRlIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdt Z3Ivc211N19od21nci5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9o d21nci9zbXU3X2h3bWdyLmMKPj4+IEBAIC0xNTM1LDcgKzE1MzUsNyBAQCBzdGF0aWMgaW50IHNt dTdfZ2V0X2V2dl92b2x0YWdlcyhzdHJ1Y3QgcHBfaHdtZ3IKPj4+ICpod21ncikKPj4+ICAgICAg ICAgICAgICAgICAgICAgICBpZiAodmRkYyA+PSAyMDAwIHx8IHZkZGMgPT0gMCkKPj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+PiAgICAgICAgICAgICAgICAg ICB9IGVsc2Ugewo+Pj4gLSAgICAgICAgICAgICAgICAgICAgcHJfd2FybmluZygiZmFpbGVkIHRv IHJldHJpZXZpbmcgRVZWIHZvbHRhZ2UhXG4iKTsKPj4+ICsgICAgICAgICAgICAgICAgICAgIHBy X3dhcm4oImZhaWxlZCB0byByZXRyaWV2aW5nIEVWViB2b2x0YWdlIVxuIik7Cj4+PiAgICAgICAg ICAgICAgICAgICAgICAgY29udGludWU7Cj4+PiAgICAgICAgICAgICAgICAgICB9Cj4+PiAgIGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvcHBfZGVidWcuaAo+ Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvcHBfZGVidWcuaAo+Pj4gaW5k ZXggMDcyODgwMTMwY2ZiLi5mM2Y5ZWJiNjMxYTUgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvcHBfZGVidWcuaAo+Pj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9wb3dlcnBsYXkvaW5jL3BwX2RlYnVnLmgKPj4+IEBAIC0zNyw3ICszNyw3IEBACj4+ PiAgICNkZWZpbmUgUFBfQVNTRVJUX1dJVEhfQ09ERShjb25kLCBtc2csIGNvZGUpICAgIFwKPj4+ ICAgICAgIGRvIHsgICAgICAgICAgICAgICAgICAgIFwKPj4+ICAgICAgICAgICBpZiAoIShjb25k KSkgeyAgICAgICAgICAgIFwKPj4+IC0gICAgICAgICAgICBwcl93YXJuaW5nKCIlc1xuIiwgbXNn KTsgICAgXAo+Pj4gKyAgICAgICAgICAgIHByX3dhcm4oIiVzXG4iLCBtc2cpOyAgICBcCj4+PiAg ICAgICAgICAgICAgIGNvZGU7ICAgICAgICAgICAgXAo+Pj4gICAgICAgICAgIH0gICAgICAgICAg ICAgICAgXAo+Pj4gICAgICAgfSB3aGlsZSAoMCkKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvZmlqaV9zbWMuYwo+Pj4gYi9kcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvZmlqaV9zbWMuYwo+Pj4gaW5kZXggMGY3YTc3YjczMTJl Li41NDUwZjVlZjhlODkgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2Vy cGxheS9zbXVtZ3IvZmlqaV9zbWMuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvc211bWdyL2Zpamlfc21jLmMKPj4+IEBAIC0yMTMxLDcgKzIxMzEsNyBAQCB1aW50MzJf dCBmaWppX2dldF9vZmZzZXRvZih1aW50MzJfdCB0eXBlLAo+Pj4gdWludDMyX3QgbWVtYmVyKQo+ Pj4gICAgICAgICAgICAgICByZXR1cm4gb2Zmc2V0b2YoU01VNzNfRGlzY3JldGVfRHBtVGFibGUs Cj4+PiBMb3dTY2xrSW50ZXJydXB0VGhyZXNob2xkKTsKPj4+ICAgICAgICAgICB9Cj4+PiAgICAg ICB9Cj4+PiAtICAgIHByX3dhcm5pbmcoImNhbid0IGdldCB0aGUgb2Zmc2V0IG9mIHR5cGUgJXgg bWVtYmVyICV4XG4iLCB0eXBlLAo+Pj4gbWVtYmVyKTsKPj4+ICsgICAgcHJfd2FybigiY2FuJ3Qg Z2V0IHRoZSBvZmZzZXQgb2YgdHlwZSAleCBtZW1iZXIgJXhcbiIsIHR5cGUsCj4+PiBtZW1iZXIp Owo+Pj4gICAgICAgcmV0dXJuIDA7Cj4+PiAgIH0KPj4+ICAgQEAgLTIxNTYsNyArMjE1Niw3IEBA IHVpbnQzMl90IGZpamlfZ2V0X21hY19kZWZpbml0aW9uKHVpbnQzMl90IHZhbHVlKQo+Pj4gICAg ICAgICAgIHJldHVybiBTTVU3M19NQVhfTEVWRUxTX01WREQ7Cj4+PiAgICAgICB9Cj4+PiAgIC0g ICAgcHJfd2FybmluZygiY2FuJ3QgZ2V0IHRoZSBtYWMgb2YgJXhcbiIsIHZhbHVlKTsKPj4+ICsg ICAgcHJfd2FybigiY2FuJ3QgZ2V0IHRoZSBtYWMgb2YgJXhcbiIsIHZhbHVlKTsKPj4+ICAgICAg IHJldHVybiAwOwo+Pj4gICB9Cj4+PiAgIGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L3Bvd2VycGxheS9zbXVtZ3IvaWNlbGFuZF9zbWMuYwo+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1k L3Bvd2VycGxheS9zbXVtZ3IvaWNlbGFuZF9zbWMuYwo+Pj4gaW5kZXggYWQ4MjE2MWRmODMxLi41 MWFkZjA0YWI0YjMgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxh eS9zbXVtZ3IvaWNlbGFuZF9zbWMuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvc211bWdyL2ljZWxhbmRfc21jLmMKPj4+IEBAIC0xMjIsNyArMTIyLDcgQEAgc3RhdGlj IHZvaWQKPj4+IGljZWxhbmRfaW5pdGlhbGl6ZV9wb3dlcl90dW5lX2RlZmF1bHRzKHN0cnVjdCBw cF9od21nciAqaHdtZ3IpCj4+PiAgICAgICAgICAgYnJlYWs7Cj4+PiAgICAgICBkZWZhdWx0Ogo+ Pj4gICAgICAgICAgIHNtdV9kYXRhLT5wb3dlcl90dW5lX2RlZmF1bHRzID0gJmRlZmF1bHRzX2lj ZWxhbmQ7Cj4+PiAtICAgICAgICBwcl93YXJuaW5nKCJVbmtub3duIFYuSS4gRGV2aWNlIElELlxu Iik7Cj4+PiArICAgICAgICBwcl93YXJuKCJVbmtub3duIFYuSS4gRGV2aWNlIElELlxuIik7Cj4+ PiAgICAgICAgICAgYnJlYWs7Cj4+PiAgICAgICB9Cj4+PiAgICAgICByZXR1cm47Cj4+PiBAQCAt Mzc4LDcgKzM3OCw3IEBAIHN0YXRpYyBpbnQKPj4+IGljZWxhbmRfZ2V0X3N0ZF92b2x0YWdlX3Zh bHVlX3NpZGQoc3RydWN0IHBwX2h3bWdyICpod21nciwKPj4+ICAgICAgICAgICAgICAgcmV0dXJu IC1FSU5WQUwpOwo+Pj4gICAgICAgICBpZiAoTlVMTCA9PSBod21nci0+ZHluX3N0YXRlLmNhY19s ZWFrYWdlX3RhYmxlKSB7Cj4+PiAtICAgICAgICBwcl93YXJuaW5nKCJDQUMgTGVha2FnZSBUYWJs ZSBkb2VzIG5vdCBleGlzdCwgdXNpbmcgdmRkYy5cbiIpOwo+Pj4gKyAgICAgICAgcHJfd2Fybigi Q0FDIExlYWthZ2UgVGFibGUgZG9lcyBub3QgZXhpc3QsIHVzaW5nIHZkZGMuXG4iKTsKPj4+ICAg ICAgICAgICByZXR1cm4gMDsKPj4+ICAgICAgIH0KPj4+ICAgQEAgLTM5NCw3ICszOTQsNyBAQCBz dGF0aWMgaW50Cj4+PiBpY2VsYW5kX2dldF9zdGRfdm9sdGFnZV92YWx1ZV9zaWRkKHN0cnVjdCBw cF9od21nciAqaHdtZ3IsCj4+PiAgICAgICAgICAgICAgICAgICAqbG8gPQo+Pj4gaHdtZ3ItPmR5 bl9zdGF0ZS5jYWNfbGVha2FnZV90YWJsZS0+ZW50cmllc1t2X2luZGV4XS5WZGRjICoKPj4+IFZP TFRBR0VfU0NBTEU7Cj4+PiAgICAgICAgICAgICAgICAgICAqaGkgPQo+Pj4gKHVpbnQxNl90KSho d21nci0+ZHluX3N0YXRlLmNhY19sZWFrYWdlX3RhYmxlLT5lbnRyaWVzW3ZfaW5kZXhdLkxlYWth Z2UgKgo+Pj4gVk9MVEFHRV9TQ0FMRSk7Cj4+PiAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4+PiAt ICAgICAgICAgICAgICAgIHByX3dhcm5pbmcoIkluZGV4IGZyb20gU0NMSy9WRERDIERlcGVuZGVu Y3kgVGFibGUKPj4+IGV4Y2VlZHMgdGhlIENBQyBMZWFrYWdlIFRhYmxlIGluZGV4LCB1c2luZyBt YXhpbXVtIGluZGV4IGZyb20gQ0FDCj4+PiB0YWJsZS5cbiIpOwo+Pj4gKyAgICAgICAgICAgICAg ICBwcl93YXJuKCJJbmRleCBmcm9tIFNDTEsvVkREQyBEZXBlbmRlbmN5IFRhYmxlCj4+PiBleGNl ZWRzIHRoZSBDQUMgTGVha2FnZSBUYWJsZSBpbmRleCwgdXNpbmcgbWF4aW11bSBpbmRleCBmcm9t IENBQwo+Pj4gdGFibGUuXG4iKTsKPj4+ICAgICAgICAgICAgICAgICAgICpsbyA9Cj4+PiBod21n ci0+ZHluX3N0YXRlLmNhY19sZWFrYWdlX3RhYmxlLT5lbnRyaWVzW2h3bWdyLT5keW5fc3RhdGUu Y2FjX2xlYWthZ2VfdGFibGUtPmNvdW50Cj4+PiAtIDFdLlZkZGMgKiBWT0xUQUdFX1NDQUxFOwo+ Pj4gICAgICAgICAgICAgICAgICAgKmhpID0KPj4+ICh1aW50MTZfdCkoaHdtZ3ItPmR5bl9zdGF0 ZS5jYWNfbGVha2FnZV90YWJsZS0+ZW50cmllc1tod21nci0+ZHluX3N0YXRlLmNhY19sZWFrYWdl X3RhYmxlLT5jb3VudAo+Pj4gLSAxXS5MZWFrYWdlICogVk9MVEFHRV9TQ0FMRSk7Cj4+PiAgICAg ICAgICAgICAgIH0KPj4+IEBAIC00MTQsNyArNDE0LDcgQEAgc3RhdGljIGludAo+Pj4gaWNlbGFu ZF9nZXRfc3RkX3ZvbHRhZ2VfdmFsdWVfc2lkZChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAo+Pj4g ICAgICAgICAgICAgICAgICAgICAgICpsbyA9Cj4+PiBod21nci0+ZHluX3N0YXRlLmNhY19sZWFr YWdlX3RhYmxlLT5lbnRyaWVzW3ZfaW5kZXhdLlZkZGMgKgo+Pj4gVk9MVEFHRV9TQ0FMRTsKPj4+ ICAgICAgICAgICAgICAgICAgICAgICAqaGkgPQo+Pj4gKHVpbnQxNl90KShod21nci0+ZHluX3N0 YXRlLmNhY19sZWFrYWdlX3RhYmxlLT5lbnRyaWVzW3ZfaW5kZXhdLkxlYWthZ2UpCj4+PiAqIFZP TFRBR0VfU0NBTEU7Cj4+PiAgICAgICAgICAgICAgICAgICB9IGVsc2Ugewo+Pj4gLSAgICAgICAg ICAgICAgICAgICAgcHJfd2FybmluZygiSW5kZXggZnJvbSBTQ0xLL1ZEREMgRGVwZW5kZW5jeSBU YWJsZQo+Pj4gZXhjZWVkcyB0aGUgQ0FDIExlYWthZ2UgVGFibGUgaW5kZXggaW4gc2Vjb25kIGxv b2sgdXAsIHVzaW5nIG1heGltdW0KPj4+IGluZGV4IGZyb20gQ0FDIHRhYmxlLiIpOwo+Pj4gKyAg ICAgICAgICAgICAgICAgICAgcHJfd2FybigiSW5kZXggZnJvbSBTQ0xLL1ZEREMgRGVwZW5kZW5j eSBUYWJsZQo+Pj4gZXhjZWVkcyB0aGUgQ0FDIExlYWthZ2UgVGFibGUgaW5kZXggaW4gc2Vjb25k IGxvb2sgdXAsIHVzaW5nIG1heGltdW0KPj4+IGluZGV4IGZyb20gQ0FDIHRhYmxlLiIpOwo+Pj4g ICAgICAgICAgICAgICAgICAgICAgICpsbyA9Cj4+PiBod21nci0+ZHluX3N0YXRlLmNhY19sZWFr YWdlX3RhYmxlLT5lbnRyaWVzW2h3bWdyLT5keW5fc3RhdGUuY2FjX2xlYWthZ2VfdGFibGUtPmNv dW50Cj4+PiAtIDFdLlZkZGMgKiBWT0xUQUdFX1NDQUxFOwo+Pj4gICAgICAgICAgICAgICAgICAg ICAgICpoaSA9Cj4+PiAodWludDE2X3QpKGh3bWdyLT5keW5fc3RhdGUuY2FjX2xlYWthZ2VfdGFi bGUtPmVudHJpZXNbaHdtZ3ItPmR5bl9zdGF0ZS5jYWNfbGVha2FnZV90YWJsZS0+Y291bnQKPj4+ IC0gMV0uTGVha2FnZSAqIFZPTFRBR0VfU0NBTEUpOwo+Pj4gICAgICAgICAgICAgICAgICAgfQo+ Pj4gQEAgLTQyMyw3ICs0MjMsNyBAQCBzdGF0aWMgaW50Cj4+PiBpY2VsYW5kX2dldF9zdGRfdm9s dGFnZV92YWx1ZV9zaWRkKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsCj4+PiAgICAgICAgICAgfQo+ Pj4gICAgICAgICAgICAgaWYgKCF2b2xfZm91bmQpCj4+PiAtICAgICAgICAgICAgcHJfd2Fybmlu ZygiVW5hYmxlIHRvIGdldCBzdGRfdmRkYyBmcm9tIFNDTEsvVkREQwo+Pj4gRGVwZW5kZW5jeSBU YWJsZSwgdXNpbmcgdmRkYy5cbiIpOwo+Pj4gKyAgICAgICAgICAgIHByX3dhcm4oIlVuYWJsZSB0 byBnZXQgc3RkX3ZkZGMgZnJvbSBTQ0xLL1ZEREMgRGVwZW5kZW5jeQo+Pj4gVGFibGUsIHVzaW5n IHZkZGMuXG4iKTsKPj4+ICAgICAgIH0KPj4+ICAgICAgICAgcmV0dXJuIDA7Cj4+PiBAQCAtMjE0 Niw3ICsyMTQ2LDcgQEAgdWludDMyX3QgaWNlbGFuZF9nZXRfb2Zmc2V0b2YodWludDMyX3QgdHlw ZSwKPj4+IHVpbnQzMl90IG1lbWJlcikKPj4+ICAgICAgICAgICAgICAgcmV0dXJuIG9mZnNldG9m KFNNVTcxX0Rpc2NyZXRlX0RwbVRhYmxlLAo+Pj4gTG93U2Nsa0ludGVycnVwdFRocmVzaG9sZCk7 Cj4+PiAgICAgICAgICAgfQo+Pj4gICAgICAgfQo+Pj4gLSAgICBwcl93YXJuaW5nKCJjYW4ndCBn ZXQgdGhlIG9mZnNldCBvZiB0eXBlICV4IG1lbWJlciAleFxuIiwgdHlwZSwKPj4+IG1lbWJlcik7 Cj4+PiArICAgIHByX3dhcm4oImNhbid0IGdldCB0aGUgb2Zmc2V0IG9mIHR5cGUgJXggbWVtYmVy ICV4XG4iLCB0eXBlLAo+Pj4gbWVtYmVyKTsKPj4+ICAgICAgIHJldHVybiAwOwo+Pj4gICB9Cj4+ PiAgIEBAIC0yMTY5LDcgKzIxNjksNyBAQCB1aW50MzJfdCBpY2VsYW5kX2dldF9tYWNfZGVmaW5p dGlvbih1aW50MzJfdAo+Pj4gdmFsdWUpCj4+PiAgICAgICAgICAgcmV0dXJuIFNNVTcxX01BWF9M RVZFTFNfTVZERDsKPj4+ICAgICAgIH0KPj4+ICAgLSAgICBwcl93YXJuaW5nKCJjYW4ndCBnZXQg dGhlIG1hYyBvZiAleFxuIiwgdmFsdWUpOwo+Pj4gKyAgICBwcl93YXJuKCJjYW4ndCBnZXQgdGhl IG1hYyBvZiAleFxuIiwgdmFsdWUpOwo+Pj4gICAgICAgcmV0dXJuIDA7Cj4+PiAgIH0KPj4+ICAg ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9wb2xhcmlz MTBfc21jLmMKPj4+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL3BvbGFy aXMxMF9zbWMuYwo+Pj4gaW5kZXggMGUyNjkwMGU0NTllLi5kZWVjODc0ZDg3NGYgMTAwNjQ0Cj4+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvcG9sYXJpczEwX3Nt Yy5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvcG9sYXJp czEwX3NtYy5jCj4+PiBAQCAtMjE4MCw3ICsyMTgwLDcgQEAgdWludDMyX3QgcG9sYXJpczEwX2dl dF9vZmZzZXRvZih1aW50MzJfdCB0eXBlLAo+Pj4gdWludDMyX3QgbWVtYmVyKQo+Pj4gICAgICAg ICAgICAgICByZXR1cm4gb2Zmc2V0b2YoU01VNzRfRGlzY3JldGVfRHBtVGFibGUsCj4+PiBMb3dT Y2xrSW50ZXJydXB0VGhyZXNob2xkKTsKPj4+ICAgICAgICAgICB9Cj4+PiAgICAgICB9Cj4+PiAt ICAgIHByX3dhcm5pbmcoImNhbid0IGdldCB0aGUgb2Zmc2V0IG9mIHR5cGUgJXggbWVtYmVyICV4 XG4iLCB0eXBlLAo+Pj4gbWVtYmVyKTsKPj4+ICsgICAgcHJfd2FybigiY2FuJ3QgZ2V0IHRoZSBv ZmZzZXQgb2YgdHlwZSAleCBtZW1iZXIgJXhcbiIsIHR5cGUsCj4+PiBtZW1iZXIpOwo+Pj4gICAg ICAgcmV0dXJuIDA7Cj4+PiAgIH0KPj4+ICAgQEAgLTIyMDcsNyArMjIwNyw3IEBAIHVpbnQzMl90 IHBvbGFyaXMxMF9nZXRfbWFjX2RlZmluaXRpb24odWludDMyX3QKPj4+IHZhbHVlKQo+Pj4gICAg ICAgICAgIHJldHVybiBTTVU3X1VWRF9NQ0xLX0hBTkRTSEFLRV9ESVNBQkxFOwo+Pj4gICAgICAg fQo+Pj4gICAtICAgIHByX3dhcm5pbmcoImNhbid0IGdldCB0aGUgbWFjIG9mICV4XG4iLCB2YWx1 ZSk7Cj4+PiArICAgIHByX3dhcm4oImNhbid0IGdldCB0aGUgbWFjIG9mICV4XG4iLCB2YWx1ZSk7 Cj4+PiAgICAgICByZXR1cm4gMDsKPj4+ICAgfQo+Pj4gICBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL3RvbmdhX3NtYy5jCj4+PiBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci90b25nYV9zbWMuYwo+Pj4gaW5kZXggMzMxYjBhYmE0 YTEzLi40ZDE0MzlhNDk4ZWIgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bv d2VycGxheS9zbXVtZ3IvdG9uZ2Ffc21jLmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv cG93ZXJwbGF5L3NtdW1nci90b25nYV9zbWMuYwo+Pj4gQEAgLTI2NTcsNyArMjY1Nyw3IEBAIHVp bnQzMl90IHRvbmdhX2dldF9vZmZzZXRvZih1aW50MzJfdCB0eXBlLAo+Pj4gdWludDMyX3QgbWVt YmVyKQo+Pj4gICAgICAgICAgICAgICByZXR1cm4gb2Zmc2V0b2YoU01VNzJfRGlzY3JldGVfRHBt VGFibGUsCj4+PiBMb3dTY2xrSW50ZXJydXB0VGhyZXNob2xkKTsKPj4+ICAgICAgICAgICB9Cj4+ PiAgICAgICB9Cj4+PiAtICAgIHByX3dhcm5pbmcoImNhbid0IGdldCB0aGUgb2Zmc2V0IG9mIHR5 cGUgJXggbWVtYmVyICV4XG4iLCB0eXBlLAo+Pj4gbWVtYmVyKTsKPj4+ICsgICAgcHJfd2Fybigi Y2FuJ3QgZ2V0IHRoZSBvZmZzZXQgb2YgdHlwZSAleCBtZW1iZXIgJXhcbiIsIHR5cGUsCj4+PiBt ZW1iZXIpOwo+Pj4gICAgICAgcmV0dXJuIDA7Cj4+PiAgIH0KPj4+ICAgQEAgLTI2ODEsNyArMjY4 MSw3IEBAIHVpbnQzMl90IHRvbmdhX2dldF9tYWNfZGVmaW5pdGlvbih1aW50MzJfdCB2YWx1ZSkK Pj4+ICAgICAgIGNhc2UgU01VX01BWF9MRVZFTFNfTVZERDoKPj4+ICAgICAgICAgICByZXR1cm4g U01VNzJfTUFYX0xFVkVMU19NVkREOwo+Pj4gICAgICAgfQo+Pj4gLSAgICBwcl93YXJuaW5nKCJj YW4ndCBnZXQgdGhlIG1hYyB2YWx1ZSAleFxuIiwgdmFsdWUpOwo+Pj4gKyAgICBwcl93YXJuKCJj YW4ndCBnZXQgdGhlIG1hYyB2YWx1ZSAleFxuIiwgdmFsdWUpOwo+Pj4gICAgICAgICByZXR1cm4g MDsKPj4+ICAgfQo+Pgo+Pgo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+PiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+PiBhbWQtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwo+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2FtZC1nZngKPgo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9h bWQtZ2Z4Cj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K YW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==