From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2F87DC71155 for ; Mon, 30 Nov 2020 23:46:05 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D54FB207F7 for ; Mon, 30 Nov 2020 23:46:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="iGoI7oCQ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388820AbgK3Xpq (ORCPT ); Mon, 30 Nov 2020 18:45:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49730 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388050AbgK3Xpp (ORCPT ); Mon, 30 Nov 2020 18:45:45 -0500 Received: from mail-oi1-x244.google.com (mail-oi1-x244.google.com [IPv6:2607:f8b0:4864:20::244]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 60585C0613D2 for ; Mon, 30 Nov 2020 15:45:05 -0800 (PST) Received: by mail-oi1-x244.google.com with SMTP id w15so16165486oie.13 for ; Mon, 30 Nov 2020 15:45:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=/lyaYGV02AY7zFNEbhGP5/Ng0ywG3eDIwUtsDfqupic=; b=iGoI7oCQ7OuV+LUmK6RWknf4IkWkIrRTSZGIAeD3Zf5YUfOZn8iNi0B4EF3LyQyeVP NW1fJ6TSay1IddyfndLaU5Eof3Hl9hc5kmdVjisSqVYmGBChKu4HTici2FaLjoZy0IVo ZX/GW8K4J4K2l7ZMJiuXDPcZ+dZFpQsihdsMGUdFjSk+NG7heX6099IcZkTpTfu3A0hi cElQ407uKS6aqH0CxJETPgjvTBh2mCATmSOhvG5lc7bR65kg2ybL8gQ6RtFEQTeh9DhP LkKkN8z9OF7R43sQ9sk8WCWyzR2SrgqIwBPiwgCWfX7KwhQmGLlMpAKtjQSD0gouOMM0 ithw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=/lyaYGV02AY7zFNEbhGP5/Ng0ywG3eDIwUtsDfqupic=; b=I5DVA3+G28/Yk/geJR7GEKe2EykWUWAymF0oIeeEOYpLWKHvyWA5MVNIsmYyr1AjuM eq4lZTZ7Uf/AAhGJprfXSf7qiGsuPH64mbCkEkllXqNJJ2kdFCZQZbViGUBcP08vL111 Yc25NDkSd/YuCRgqt7D6kOQBni0+lx6OUs/34XpeewpR5omca5+BxO9PuPhdEHxk3jSg PvBzeOZYBsHyIJqAVJu12aDVX704rtfeTd3BaW5P7zUmbBeu4TFCEeDqA1tg84BG10l6 WLBLTaX2Q4T9Kz2G1xuZro3+vKdwlJa0quwOKEfQo8rdCsMKMKsy8MIVCbAgo+mGI/RV veHw== X-Gm-Message-State: AOAM533iIvIIvf/nOZ+9ZSj0qrzleY3DVphY4GglLiLFDj2TVfjGN1tM SVZuZN3hGuGFxYSjlXkEbtfcXlmy10jXYVWAjzE= X-Google-Smtp-Source: ABdhPJy3AkAOZ1BefVySkHZuT39m+O3MRbLY3QUbUYPTZj4ScbPjJPigzQgQP63AZaAuXllS0nZGBmiDAeBy5TPzG0I= X-Received: by 2002:aca:f50e:: with SMTP id t14mr174065oih.123.1606779904734; Mon, 30 Nov 2020 15:45:04 -0800 (PST) MIME-Version: 1.0 References: <20201126134240.3214176-1-lee.jones@linaro.org> <20201126134240.3214176-22-lee.jones@linaro.org> In-Reply-To: <20201126134240.3214176-22-lee.jones@linaro.org> From: Alex Deucher Date: Mon, 30 Nov 2020 18:44:53 -0500 Message-ID: Subject: Re: [PATCH 21/40] drm/amd/pm/powerplay/hwmgr/smu7_hwmgr: Fix a whole bunch of historical function doc issues To: Lee Jones Cc: David Airlie , LKML , amd-gfx list , Maling list - DRI developers , Alex Deucher , Evan Quan , =?UTF-8?Q?Christian_K=C3=B6nig?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Nov 26, 2020 at 8:43 AM Lee Jones wrote: > > Fixes the following W=3D1 kernel build warning(s): > > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:202: warni= ng: Function parameter or member 'hwmgr' not described in 'smu7_get_mc_micr= ocode_version' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:242: warni= ng: Function parameter or member 'hwmgr' not described in 'smu7_enable_smc_= voltage_controller' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:263: warni= ng: Function parameter or member 'hwmgr' not described in 'smu7_voltage_con= trol' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:277: warni= ng: Function parameter or member 'hwmgr' not described in 'smu7_enable_volt= age_control' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:315: warni= ng: Function parameter or member 'hwmgr' not described in 'smu7_construct_v= oltage_tables' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:428: warni= ng: Function parameter or member 'hwmgr' not described in 'smu7_program_sta= tic_screen_threshold_parameters' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:450: warni= ng: Function parameter or member 'hwmgr' not described in 'smu7_enable_disp= lay_gap' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:474: warni= ng: Function parameter or member 'hwmgr' not described in 'smu7_program_vot= ing_clients' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:570: warni= ng: Function parameter or member 'hwmgr' not described in 'smu7_initial_swi= tch_from_arbf0_to_f1' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1926: warn= ing: Function parameter or member 'hwmgr' not described in 'smu7_get_evv_vo= ltages' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:2028: warn= ing: Function parameter or member 'hwmgr' not described in 'smu7_patch_ppt_= v1_with_vdd_leakage' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:2028: warn= ing: Function parameter or member 'voltage' not described in 'smu7_patch_pp= t_v1_with_vdd_leakage' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:2028: warn= ing: Function parameter or member 'leakage_table' not described in 'smu7_pa= tch_ppt_v1_with_vdd_leakage' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:2056: warn= ing: Function parameter or member 'hwmgr' not described in 'smu7_patch_look= up_table_with_leakage' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:2056: warn= ing: Function parameter or member 'lookup_table' not described in 'smu7_pat= ch_lookup_table_with_leakage' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:2056: warn= ing: Function parameter or member 'leakage_table' not described in 'smu7_pa= tch_lookup_table_with_leakage' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:2511: warn= ing: Function parameter or member 'hwmgr' not described in 'smu7_patch_ppt_= v0_with_vdd_leakage' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:2511: warn= ing: Function parameter or member 'voltage' not described in 'smu7_patch_pp= t_v0_with_vdd_leakage' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:2511: warn= ing: Function parameter or member 'leakage_table' not described in 'smu7_pa= tch_ppt_v0_with_vdd_leakage' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:4449: warn= ing: Function parameter or member 'hwmgr' not described in 'smu7_program_di= splay_gap' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:4508: warn= ing: Function parameter or member 'hwmgr' not described in 'smu7_set_max_fa= n_rpm_output' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:4508: warn= ing: Function parameter or member 'us_max_fan_rpm' not described in 'smu7_s= et_max_fan_rpm_output' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:4707: warn= ing: Function parameter or member 'hwmgr' not described in 'smu7_get_memory= _type' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:4723: warn= ing: Function parameter or member 'hwmgr' not described in 'smu7_enable_acp= i_power_management' > drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:4737: warn= ing: Function parameter or member 'hwmgr' not described in 'smu7_init_power= _gate_state' > > Cc: Evan Quan > Cc: Alex Deucher > Cc: "Christian K=C3=B6nig" > Cc: David Airlie > Cc: Daniel Vetter > Cc: amd-gfx@lists.freedesktop.org > Cc: dri-devel@lists.freedesktop.org > Signed-off-by: Lee Jones Applied. Thanks! Alex > --- > .../drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c | 166 +++++++++--------- > 1 file changed, 83 insertions(+), 83 deletions(-) > > diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c b/driver= s/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c > index 53111c6bbcc91..82676c086ce46 100644 > --- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c > +++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c > @@ -193,10 +193,10 @@ static const struct smu7_power_state *cast_const_ph= w_smu7_power_state( > } > > /** > - * Find the MC microcode version and store it in the HwMgr struct > + * smu7_get_mc_microcode_version - Find the MC microcode version and sto= re it in the HwMgr struct > * > - * @param hwmgr the address of the powerplay hardware manager. > - * @return always 0 > + * @hwmgr: the address of the powerplay hardware manager. > + * Return: always 0 > */ > static int smu7_get_mc_microcode_version(struct pp_hwmgr *hwmgr) > { > @@ -233,11 +233,11 @@ static int smu7_get_current_pcie_lane_number(struct= pp_hwmgr *hwmgr) > } > > /** > -* Enable voltage control > -* > -* @param pHwMgr the address of the powerplay hardware manager. > -* @return always PP_Result_OK > -*/ > + * smu7_enable_smc_voltage_controller - Enable voltage control > + * > + * @hwmgr the address of the powerplay hardware manager. > + * Return: always PP_Result_OK > + */ > static int smu7_enable_smc_voltage_controller(struct pp_hwmgr *hwmgr) > { > if (hwmgr->chip_id >=3D CHIP_POLARIS10 && > @@ -255,10 +255,10 @@ static int smu7_enable_smc_voltage_controller(struc= t pp_hwmgr *hwmgr) > } > > /** > -* Checks if we want to support voltage control > -* > -* @param hwmgr the address of the powerplay hardware manager. > -*/ > + * smu7_voltage_control - Checks if we want to support voltage control > + * > + * @hwmgr: the address of the powerplay hardware manager. > + */ > static bool smu7_voltage_control(const struct pp_hwmgr *hwmgr) > { > const struct smu7_hwmgr *data =3D > @@ -268,11 +268,11 @@ static bool smu7_voltage_control(const struct pp_hw= mgr *hwmgr) > } > > /** > -* Enable voltage control > -* > -* @param hwmgr the address of the powerplay hardware manager. > -* @return always 0 > -*/ > + * smu7_enable_voltage_control - Enable voltage control > + * > + * @hwmgr: the address of the powerplay hardware manager. > + * Return: always 0 > + */ > static int smu7_enable_voltage_control(struct pp_hwmgr *hwmgr) > { > /* enable voltage control */ > @@ -306,11 +306,11 @@ static int phm_get_svi2_voltage_table_v0(pp_atomctr= l_voltage_table *voltage_tabl > > > /** > -* Create Voltage Tables. > -* > -* @param hwmgr the address of the powerplay hardware manager. > -* @return always 0 > -*/ > + * smu7_construct_voltage_tables - Create Voltage Tables. > + * > + * @hwmgr: the address of the powerplay hardware manager. > + * Return: always 0 > + */ > static int smu7_construct_voltage_tables(struct pp_hwmgr *hwmgr) > { > struct smu7_hwmgr *data =3D (struct smu7_hwmgr *)(hwmgr->backend)= ; > @@ -418,11 +418,11 @@ static int smu7_construct_voltage_tables(struct pp_= hwmgr *hwmgr) > } > > /** > -* Programs static screed detection parameters > -* > -* @param hwmgr the address of the powerplay hardware manager. > -* @return always 0 > -*/ > + * smu7_program_static_screen_threshold_parameters - Programs static scr= eed detection parameters > + * > + * @hwmgr: the address of the powerplay hardware manager. > + * Return: always 0 > + */ > static int smu7_program_static_screen_threshold_parameters( > struct pp_hwmgr *= hwmgr) > { > @@ -441,11 +441,11 @@ static int smu7_program_static_screen_threshold_par= ameters( > } > > /** > -* Setup display gap for glitch free memory clock switching. > -* > -* @param hwmgr the address of the powerplay hardware manager. > -* @return always 0 > -*/ > + * smu7_enable_display_gap - Setup display gap for glitch free memory cl= ock switching. > + * > + * @hwmgr: the address of the powerplay hardware manager. > + * Return: always 0 > + */ > static int smu7_enable_display_gap(struct pp_hwmgr *hwmgr) > { > uint32_t display_gap =3D > @@ -465,11 +465,11 @@ static int smu7_enable_display_gap(struct pp_hwmgr = *hwmgr) > } > > /** > -* Programs activity state transition voting clients > -* > -* @param hwmgr the address of the powerplay hardware manager. > -* @return always 0 > -*/ > + * smu7_program_voting_clients - Programs activity state transition voti= ng clients > + * > + * @hwmgr: the address of the powerplay hardware manager. > + * Return: always 0 > + */ > static int smu7_program_voting_clients(struct pp_hwmgr *hwmgr) > { > struct smu7_hwmgr *data =3D (struct smu7_hwmgr *)(hwmgr->backend)= ; > @@ -560,12 +560,12 @@ static int smu7_reset_to_default(struct pp_hwmgr *h= wmgr) > } > > /** > -* Initial switch from ARB F0->F1 > -* > -* @param hwmgr the address of the powerplay hardware manager. > -* @return always 0 > -* This function is to be called from the SetPowerState table. > -*/ > + * smu7_initial_switch_from_arbf0_to_f1 - Initial switch from ARB F0->F1 > + * > + * @hwmgr: the address of the powerplay hardware manager. > + * Return: always 0 > + * This function is to be called from the SetPowerState table. > + */ > static int smu7_initial_switch_from_arbf0_to_f1(struct pp_hwmgr *hwmgr) > { > return smu7_copy_and_switch_arb_sets(hwmgr, > @@ -1917,11 +1917,11 @@ static int smu7_calculate_ro_range(struct pp_hwmg= r *hwmgr) > } > > /** > -* Get Leakage VDDC based on leakage ID. > -* > -* @param hwmgr the address of the powerplay hardware manager. > -* @return always 0 > -*/ > + * smu7_get_evv_voltages - Get Leakage VDDC based on leakage ID. > + * > + * @hwmgr: the address of the powerplay hardware manager. > + * Return: always 0 > + */ > static int smu7_get_evv_voltages(struct pp_hwmgr *hwmgr) > { > struct smu7_hwmgr *data =3D (struct smu7_hwmgr *)(hwmgr->backend)= ; > @@ -2017,11 +2017,11 @@ static int smu7_get_evv_voltages(struct pp_hwmgr = *hwmgr) > } > > /** > - * Change virtual leakage voltage to actual value. > + * smu7_patch_ppt_v1_with_vdd_leakage - Change virtual leakage voltage t= o actual value. > * > - * @param hwmgr the address of the powerplay hardware manager. > - * @param pointer to changing voltage > - * @param pointer to leakage table > + * @hwmgr: the address of the powerplay hardware manager. > + * @voltage: pointer to changing voltage > + * @leakage_table: pointer to leakage table > */ > static void smu7_patch_ppt_v1_with_vdd_leakage(struct pp_hwmgr *hwmgr, > uint16_t *voltage, struct smu7_leakage_voltage *leakage_t= able) > @@ -2043,13 +2043,13 @@ static void smu7_patch_ppt_v1_with_vdd_leakage(st= ruct pp_hwmgr *hwmgr, > } > > /** > -* Patch voltage lookup table by EVV leakages. > -* > -* @param hwmgr the address of the powerplay hardware manager. > -* @param pointer to voltage lookup table > -* @param pointer to leakage table > -* @return always 0 > -*/ > + * smu7_patch_lookup_table_with_leakage - Patch voltage lookup table by = EVV leakages. > + * > + * @hwmgr: the address of the powerplay hardware manager. > + * @lookup_table: pointer to voltage lookup table > + * @leakage_table: pointer to leakage table > + * Return: always 0 > + */ > static int smu7_patch_lookup_table_with_leakage(struct pp_hwmgr *hwmgr, > phm_ppt_v1_voltage_lookup_table *lookup_table, > struct smu7_leakage_voltage *leakage_table) > @@ -2500,11 +2500,11 @@ static int smu7_thermal_parameter_init(struct pp_= hwmgr *hwmgr) > } > > /** > - * Change virtual leakage voltage to actual value. > + * smu7_patch_ppt_v0_with_vdd_leakage - Change virtual leakage voltage t= o actual value. > * > - * @param hwmgr the address of the powerplay hardware manager. > - * @param pointer to changing voltage > - * @param pointer to leakage table > + * @hwmgr: the address of the powerplay hardware manager. > + * @voltage: pointer to changing voltage > + * @leakage_table: pointer to leakage table > */ > static void smu7_patch_ppt_v0_with_vdd_leakage(struct pp_hwmgr *hwmgr, > uint32_t *voltage, struct smu7_leakage_voltage *leakage_t= able) > @@ -4440,11 +4440,11 @@ smu7_notify_smc_display_config_after_ps_adjustmen= t(struct pp_hwmgr *hwmgr) > } > > /** > -* Programs the display gap > -* > -* @param hwmgr the address of the powerplay hardware manager. > -* @return always OK > -*/ > + * smu7_program_display_gap - Programs the display gap > + * > + * @hwmgr: the address of the powerplay hardware manager. > + * Return: always OK > + */ > static int smu7_program_display_gap(struct pp_hwmgr *hwmgr) > { > struct smu7_hwmgr *data =3D (struct smu7_hwmgr *)(hwmgr->backend)= ; > @@ -4498,12 +4498,12 @@ static int smu7_display_configuration_changed_tas= k(struct pp_hwmgr *hwmgr) > } > > /** > -* Set maximum target operating fan output RPM > -* > -* @param hwmgr: the address of the powerplay hardware manager. > -* @param usMaxFanRpm: max operating fan RPM value. > -* @return The response that came from the SMC. > -*/ > + * smu7_set_max_fan_rpm_output - Set maximum target operating fan output= RPM > + * > + * @hwmgr: the address of the powerplay hardware manager. > + * @usMaxFanRpm: max operating fan RPM value. > + * Return: The response that came from the SMC. > + */ > static int smu7_set_max_fan_rpm_output(struct pp_hwmgr *hwmgr, uint16_t = us_max_fan_rpm) > { > hwmgr->thermal_controller. > @@ -4698,10 +4698,10 @@ static int smu7_read_clock_registers(struct pp_hw= mgr *hwmgr) > } > > /** > - * Find out if memory is GDDR5. > + * smu7_get_memory_type - Find out if memory is GDDR5. > * > - * @param hwmgr the address of the powerplay hardware manager. > - * @return always 0 > + * @hwmgr: the address of the powerplay hardware manager. > + * Return: always 0 > */ > static int smu7_get_memory_type(struct pp_hwmgr *hwmgr) > { > @@ -4714,10 +4714,10 @@ static int smu7_get_memory_type(struct pp_hwmgr *= hwmgr) > } > > /** > - * Enables Dynamic Power Management by SMC > + * smu7_enable_acpi_power_management - Enables Dynamic Power Management = by SMC > * > - * @param hwmgr the address of the powerplay hardware manager. > - * @return always 0 > + * @hwmgr: the address of the powerplay hardware manager. > + * Return: always 0 > */ > static int smu7_enable_acpi_power_management(struct pp_hwmgr *hwmgr) > { > @@ -4728,10 +4728,10 @@ static int smu7_enable_acpi_power_management(stru= ct pp_hwmgr *hwmgr) > } > > /** > - * Initialize PowerGating States for different engines > + * smu7_init_power_gate_state - Initialize PowerGating States for differ= ent engines > * > - * @param hwmgr the address of the powerplay hardware manager. > - * @return always 0 > + * @hwmgr: the address of the powerplay hardware manager. > + * Return: always 0 > */ > static int smu7_init_power_gate_state(struct pp_hwmgr *hwmgr) > { > -- > 2.25.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.5 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0A504C71155 for ; Mon, 30 Nov 2020 23:45:08 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8724D207F7 for ; Mon, 30 Nov 2020 23:45:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="iGoI7oCQ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8724D207F7 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6DD4A89D52; Mon, 30 Nov 2020 23:45:06 +0000 (UTC) Received: from mail-oi1-x243.google.com (mail-oi1-x243.google.com [IPv6:2607:f8b0:4864:20::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6EE4289D52; Mon, 30 Nov 2020 23:45:05 +0000 (UTC) Received: by mail-oi1-x243.google.com with SMTP id y74so16187750oia.11; Mon, 30 Nov 2020 15:45:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=/lyaYGV02AY7zFNEbhGP5/Ng0ywG3eDIwUtsDfqupic=; b=iGoI7oCQ7OuV+LUmK6RWknf4IkWkIrRTSZGIAeD3Zf5YUfOZn8iNi0B4EF3LyQyeVP NW1fJ6TSay1IddyfndLaU5Eof3Hl9hc5kmdVjisSqVYmGBChKu4HTici2FaLjoZy0IVo ZX/GW8K4J4K2l7ZMJiuXDPcZ+dZFpQsihdsMGUdFjSk+NG7heX6099IcZkTpTfu3A0hi cElQ407uKS6aqH0CxJETPgjvTBh2mCATmSOhvG5lc7bR65kg2ybL8gQ6RtFEQTeh9DhP LkKkN8z9OF7R43sQ9sk8WCWyzR2SrgqIwBPiwgCWfX7KwhQmGLlMpAKtjQSD0gouOMM0 ithw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=/lyaYGV02AY7zFNEbhGP5/Ng0ywG3eDIwUtsDfqupic=; b=b5v5npjNp74Kg5L+OT/grfKIWAT/VpLKFJ7cCBPNHVbU0SiAnrZiYF8yoWDRBdeC8e LQFQYyFPAY/4svM5FjLK6lB84eB+iurUkCFcn78O0k/y66D+WtC4kx32QTMU9o+LmUr3 pZteTz5WMwRG9oiY9lQHvexb21XjU5rNX4t/ZFYJuQI58cPhlcO7VeLE3ZXlvOLSqez0 Xe6pWfPli0QJ6ugLQAlVaKlHGb2nR8uSr9Pp1Fk/5QNKpSOYACYIzYh9rjbSJt2CoFz1 DUK5dRE4aQwynPllCEAywe7LX/3CxNHosTiKoDI8sabkvenW92n/YbS0OzOIzFRkjTet d8cQ== X-Gm-Message-State: AOAM533xP9K6nTiOzSUxJrf5peMvNXCeb6GyEOB7u+rFnDvG4f45owrs 3ZbhXBe7RT0QUoAkwTDb874wZl1ktpnF0EJKmTE= X-Google-Smtp-Source: ABdhPJy3AkAOZ1BefVySkHZuT39m+O3MRbLY3QUbUYPTZj4ScbPjJPigzQgQP63AZaAuXllS0nZGBmiDAeBy5TPzG0I= X-Received: by 2002:aca:f50e:: with SMTP id t14mr174065oih.123.1606779904734; Mon, 30 Nov 2020 15:45:04 -0800 (PST) MIME-Version: 1.0 References: <20201126134240.3214176-1-lee.jones@linaro.org> <20201126134240.3214176-22-lee.jones@linaro.org> In-Reply-To: <20201126134240.3214176-22-lee.jones@linaro.org> From: Alex Deucher Date: Mon, 30 Nov 2020 18:44:53 -0500 Message-ID: Subject: Re: [PATCH 21/40] drm/amd/pm/powerplay/hwmgr/smu7_hwmgr: Fix a whole bunch of historical function doc issues To: Lee Jones X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David Airlie , LKML , Maling list - DRI developers , amd-gfx list , Alex Deucher , Evan Quan , =?UTF-8?Q?Christian_K=C3=B6nig?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gVGh1LCBOb3YgMjYsIDIwMjAgYXQgODo0MyBBTSBMZWUgSm9uZXMgPGxlZS5qb25lc0BsaW5h cm8ub3JnPiB3cm90ZToKPgo+IEZpeGVzIHRoZSBmb2xsb3dpbmcgVz0xIGtlcm5lbCBidWlsZCB3 YXJuaW5nKHMpOgo+Cj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1Ly4uL3BtL3Bvd2VycGxh eS9od21nci9zbXU3X2h3bWdyLmM6MjAyOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3Ig bWVtYmVyICdod21ncicgbm90IGRlc2NyaWJlZCBpbiAnc211N19nZXRfbWNfbWljcm9jb2RlX3Zl cnNpb24nCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1Ly4uL3BtL3Bvd2VycGxheS9od21n ci9zbXU3X2h3bWdyLmM6MjQyOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVy ICdod21ncicgbm90IGRlc2NyaWJlZCBpbiAnc211N19lbmFibGVfc21jX3ZvbHRhZ2VfY29udHJv bGxlcicKPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvLi4vcG0vcG93ZXJwbGF5L2h3bWdy L3NtdTdfaHdtZ3IuYzoyNjM6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIg J2h3bWdyJyBub3QgZGVzY3JpYmVkIGluICdzbXU3X3ZvbHRhZ2VfY29udHJvbCcKPiAgZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvLi4vcG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYzoy Nzc6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2h3bWdyJyBub3QgZGVz Y3JpYmVkIGluICdzbXU3X2VuYWJsZV92b2x0YWdlX2NvbnRyb2wnCj4gIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1Ly4uL3BtL3Bvd2VycGxheS9od21nci9zbXU3X2h3bWdyLmM6MzE1OiB3YXJu aW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2NyaWJlZCBp biAnc211N19jb25zdHJ1Y3Rfdm9sdGFnZV90YWJsZXMnCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1Ly4uL3BtL3Bvd2VycGxheS9od21nci9zbXU3X2h3bWdyLmM6NDI4OiB3YXJuaW5nOiBG dW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2NyaWJlZCBpbiAnc211 N19wcm9ncmFtX3N0YXRpY19zY3JlZW5fdGhyZXNob2xkX3BhcmFtZXRlcnMnCj4gIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1Ly4uL3BtL3Bvd2VycGxheS9od21nci9zbXU3X2h3bWdyLmM6NDUw OiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2Ny aWJlZCBpbiAnc211N19lbmFibGVfZGlzcGxheV9nYXAnCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1Ly4uL3BtL3Bvd2VycGxheS9od21nci9zbXU3X2h3bWdyLmM6NDc0OiB3YXJuaW5nOiBG dW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2NyaWJlZCBpbiAnc211 N19wcm9ncmFtX3ZvdGluZ19jbGllbnRzJwo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS8u Li9wbS9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jOjU3MDogd2FybmluZzogRnVuY3Rpb24g cGFyYW1ldGVyIG9yIG1lbWJlciAnaHdtZ3InIG5vdCBkZXNjcmliZWQgaW4gJ3NtdTdfaW5pdGlh bF9zd2l0Y2hfZnJvbV9hcmJmMF90b19mMScKPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Li4vcG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYzoxOTI2OiB3YXJuaW5nOiBGdW5jdGlv biBwYXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2NyaWJlZCBpbiAnc211N19nZXRf ZXZ2X3ZvbHRhZ2VzJwo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS8uLi9wbS9wb3dlcnBs YXkvaHdtZ3Ivc211N19od21nci5jOjIwMjg6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBv ciBtZW1iZXIgJ2h3bWdyJyBub3QgZGVzY3JpYmVkIGluICdzbXU3X3BhdGNoX3BwdF92MV93aXRo X3ZkZF9sZWFrYWdlJwo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS8uLi9wbS9wb3dlcnBs YXkvaHdtZ3Ivc211N19od21nci5jOjIwMjg6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBv ciBtZW1iZXIgJ3ZvbHRhZ2UnIG5vdCBkZXNjcmliZWQgaW4gJ3NtdTdfcGF0Y2hfcHB0X3YxX3dp dGhfdmRkX2xlYWthZ2UnCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1Ly4uL3BtL3Bvd2Vy cGxheS9od21nci9zbXU3X2h3bWdyLmM6MjAyODogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVy IG9yIG1lbWJlciAnbGVha2FnZV90YWJsZScgbm90IGRlc2NyaWJlZCBpbiAnc211N19wYXRjaF9w cHRfdjFfd2l0aF92ZGRfbGVha2FnZScKPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvLi4v cG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYzoyMDU2OiB3YXJuaW5nOiBGdW5jdGlvbiBw YXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2NyaWJlZCBpbiAnc211N19wYXRjaF9s b29rdXBfdGFibGVfd2l0aF9sZWFrYWdlJwo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS8u Li9wbS9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jOjIwNTY6IHdhcm5pbmc6IEZ1bmN0aW9u IHBhcmFtZXRlciBvciBtZW1iZXIgJ2xvb2t1cF90YWJsZScgbm90IGRlc2NyaWJlZCBpbiAnc211 N19wYXRjaF9sb29rdXBfdGFibGVfd2l0aF9sZWFrYWdlJwo+ICBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS8uLi9wbS9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jOjIwNTY6IHdhcm5pbmc6 IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2xlYWthZ2VfdGFibGUnIG5vdCBkZXNjcmli ZWQgaW4gJ3NtdTdfcGF0Y2hfbG9va3VwX3RhYmxlX3dpdGhfbGVha2FnZScKPiAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvLi4vcG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYzoyNTEx OiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2Ny aWJlZCBpbiAnc211N19wYXRjaF9wcHRfdjBfd2l0aF92ZGRfbGVha2FnZScKPiAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvLi4vcG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYzoyNTEx OiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICd2b2x0YWdlJyBub3QgZGVz Y3JpYmVkIGluICdzbXU3X3BhdGNoX3BwdF92MF93aXRoX3ZkZF9sZWFrYWdlJwo+ICBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS8uLi9wbS9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jOjI1 MTE6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2xlYWthZ2VfdGFibGUn IG5vdCBkZXNjcmliZWQgaW4gJ3NtdTdfcGF0Y2hfcHB0X3YwX3dpdGhfdmRkX2xlYWthZ2UnCj4g IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1Ly4uL3BtL3Bvd2VycGxheS9od21nci9zbXU3X2h3 bWdyLmM6NDQ0OTogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnaHdtZ3In IG5vdCBkZXNjcmliZWQgaW4gJ3NtdTdfcHJvZ3JhbV9kaXNwbGF5X2dhcCcKPiAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvLi4vcG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYzo0NTA4 OiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2Ny aWJlZCBpbiAnc211N19zZXRfbWF4X2Zhbl9ycG1fb3V0cHV0Jwo+ICBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS8uLi9wbS9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jOjQ1MDg6IHdhcm5p bmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ3VzX21heF9mYW5fcnBtJyBub3QgZGVz Y3JpYmVkIGluICdzbXU3X3NldF9tYXhfZmFuX3JwbV9vdXRwdXQnCj4gIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1Ly4uL3BtL3Bvd2VycGxheS9od21nci9zbXU3X2h3bWdyLmM6NDcwNzogd2Fy bmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnaHdtZ3InIG5vdCBkZXNjcmliZWQg aW4gJ3NtdTdfZ2V0X21lbW9yeV90eXBlJwo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS8u Li9wbS9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jOjQ3MjM6IHdhcm5pbmc6IEZ1bmN0aW9u IHBhcmFtZXRlciBvciBtZW1iZXIgJ2h3bWdyJyBub3QgZGVzY3JpYmVkIGluICdzbXU3X2VuYWJs ZV9hY3BpX3Bvd2VyX21hbmFnZW1lbnQnCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1Ly4u L3BtL3Bvd2VycGxheS9od21nci9zbXU3X2h3bWdyLmM6NDczNzogd2FybmluZzogRnVuY3Rpb24g cGFyYW1ldGVyIG9yIG1lbWJlciAnaHdtZ3InIG5vdCBkZXNjcmliZWQgaW4gJ3NtdTdfaW5pdF9w b3dlcl9nYXRlX3N0YXRlJwo+Cj4gQ2M6IEV2YW4gUXVhbiA8ZXZhbi5xdWFuQGFtZC5jb20+Cj4g Q2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KPiBDYzogIkNocmlz dGlhbiBLw7ZuaWciIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4gQ2M6IERhdmlkIEFpcmxp ZSA8YWlybGllZEBsaW51eC5pZT4KPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNo Pgo+IENjOiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IENjOiBkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4gU2lnbmVkLW9mZi1ieTogTGVlIEpvbmVzIDxsZWUuam9uZXNA bGluYXJvLm9yZz4KCkFwcGxpZWQuICBUaGFua3MhCgpBbGV4Cgo+IC0tLQo+ICAuLi4vZHJtL2Ft ZC9wbS9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jICAgfCAxNjYgKysrKysrKysrLS0tLS0t LS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCspLCA4MyBkZWxldGlvbnMoLSkK Pgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3BtL3Bvd2VycGxheS9od21nci9z bXU3X2h3bWdyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3BtL3Bvd2VycGxheS9od21nci9zbXU3 X2h3bWdyLmMKPiBpbmRleCA1MzExMWM2YmJjYzkxLi44MjY3NmMwODZjZTQ2IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3Iu Ywo+IEBAIC0xOTMsMTAgKzE5MywxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHNtdTdfcG93ZXJf c3RhdGUgKmNhc3RfY29uc3RfcGh3X3NtdTdfcG93ZXJfc3RhdGUoCj4gIH0KPgo+ICAvKioKPiAt ICogRmluZCB0aGUgTUMgbWljcm9jb2RlIHZlcnNpb24gYW5kIHN0b3JlIGl0IGluIHRoZSBId01n ciBzdHJ1Y3QKPiArICogc211N19nZXRfbWNfbWljcm9jb2RlX3ZlcnNpb24gLSBGaW5kIHRoZSBN QyBtaWNyb2NvZGUgdmVyc2lvbiBhbmQgc3RvcmUgaXQgaW4gdGhlIEh3TWdyIHN0cnVjdAo+ICAg Kgo+IC0gKiBAcGFyYW0gICAgaHdtZ3IgIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFy ZHdhcmUgbWFuYWdlci4KPiAtICogQHJldHVybiAgIGFsd2F5cyAwCj4gKyAqIEBod21ncjogIHRo ZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFyZHdhcmUgbWFuYWdlci4KPiArICogUmV0dXJu OiAgIGFsd2F5cyAwCj4gICAqLwo+ICBzdGF0aWMgaW50IHNtdTdfZ2V0X21jX21pY3JvY29kZV92 ZXJzaW9uKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCj4gIHsKPiBAQCAtMjMzLDExICsyMzMsMTEg QEAgc3RhdGljIGludCBzbXU3X2dldF9jdXJyZW50X3BjaWVfbGFuZV9udW1iZXIoc3RydWN0IHBw X2h3bWdyICpod21ncikKPiAgfQo+Cj4gIC8qKgo+IC0qIEVuYWJsZSB2b2x0YWdlIGNvbnRyb2wK PiAtKgo+IC0qIEBwYXJhbSAgICBwSHdNZ3IgIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkg aGFyZHdhcmUgbWFuYWdlci4KPiAtKiBAcmV0dXJuICAgYWx3YXlzIFBQX1Jlc3VsdF9PSwo+IC0q Lwo+ICsgKiBzbXU3X2VuYWJsZV9zbWNfdm9sdGFnZV9jb250cm9sbGVyIC0gRW5hYmxlIHZvbHRh Z2UgY29udHJvbAo+ICsgKgo+ICsgKiBAaHdtZ3IgIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBs YXkgaGFyZHdhcmUgbWFuYWdlci4KPiArICogUmV0dXJuOiAgIGFsd2F5cyBQUF9SZXN1bHRfT0sK PiArICovCj4gIHN0YXRpYyBpbnQgc211N19lbmFibGVfc21jX3ZvbHRhZ2VfY29udHJvbGxlcihz dHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICB7Cj4gICAgICAgICBpZiAoaHdtZ3ItPmNoaXBfaWQg Pj0gQ0hJUF9QT0xBUklTMTAgJiYKPiBAQCAtMjU1LDEwICsyNTUsMTAgQEAgc3RhdGljIGludCBz bXU3X2VuYWJsZV9zbWNfdm9sdGFnZV9jb250cm9sbGVyKHN0cnVjdCBwcF9od21nciAqaHdtZ3Ip Cj4gIH0KPgo+ICAvKioKPiAtKiBDaGVja3MgaWYgd2Ugd2FudCB0byBzdXBwb3J0IHZvbHRhZ2Ug Y29udHJvbAo+IC0qCj4gLSogQHBhcmFtICAgIGh3bWdyICB0aGUgYWRkcmVzcyBvZiB0aGUgcG93 ZXJwbGF5IGhhcmR3YXJlIG1hbmFnZXIuCj4gLSovCj4gKyAqIHNtdTdfdm9sdGFnZV9jb250cm9s IC0gQ2hlY2tzIGlmIHdlIHdhbnQgdG8gc3VwcG9ydCB2b2x0YWdlIGNvbnRyb2wKPiArICoKPiAr ICogQGh3bWdyOiAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2Vy Lgo+ICsgKi8KPiAgc3RhdGljIGJvb2wgc211N192b2x0YWdlX2NvbnRyb2woY29uc3Qgc3RydWN0 IHBwX2h3bWdyICpod21ncikKPiAgewo+ICAgICAgICAgY29uc3Qgc3RydWN0IHNtdTdfaHdtZ3Ig KmRhdGEgPQo+IEBAIC0yNjgsMTEgKzI2OCwxMSBAQCBzdGF0aWMgYm9vbCBzbXU3X3ZvbHRhZ2Vf Y29udHJvbChjb25zdCBzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICB9Cj4KPiAgLyoqCj4gLSog RW5hYmxlIHZvbHRhZ2UgY29udHJvbAo+IC0qCj4gLSogQHBhcmFtICAgIGh3bWdyICB0aGUgYWRk cmVzcyBvZiB0aGUgcG93ZXJwbGF5IGhhcmR3YXJlIG1hbmFnZXIuCj4gLSogQHJldHVybiAgIGFs d2F5cyAwCj4gLSovCj4gKyAqIHNtdTdfZW5hYmxlX3ZvbHRhZ2VfY29udHJvbCAtIEVuYWJsZSB2 b2x0YWdlIGNvbnRyb2wKPiArICoKPiArICogQGh3bWdyOiAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBv d2VycGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+ICsgKiBSZXR1cm46ICAgYWx3YXlzIDAKPiArICov Cj4gIHN0YXRpYyBpbnQgc211N19lbmFibGVfdm9sdGFnZV9jb250cm9sKHN0cnVjdCBwcF9od21n ciAqaHdtZ3IpCj4gIHsKPiAgICAgICAgIC8qIGVuYWJsZSB2b2x0YWdlIGNvbnRyb2wgKi8KPiBA QCAtMzA2LDExICszMDYsMTEgQEAgc3RhdGljIGludCBwaG1fZ2V0X3N2aTJfdm9sdGFnZV90YWJs ZV92MChwcF9hdG9tY3RybF92b2x0YWdlX3RhYmxlICp2b2x0YWdlX3RhYmwKPgo+Cj4gIC8qKgo+ IC0qIENyZWF0ZSBWb2x0YWdlIFRhYmxlcy4KPiAtKgo+IC0qIEBwYXJhbSAgICBod21nciAgdGhl IGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+IC0qIEByZXR1cm4g ICBhbHdheXMgMAo+IC0qLwo+ICsgKiBzbXU3X2NvbnN0cnVjdF92b2x0YWdlX3RhYmxlcyAtIENy ZWF0ZSBWb2x0YWdlIFRhYmxlcy4KPiArICoKPiArICogQGh3bWdyOiAgdGhlIGFkZHJlc3Mgb2Yg dGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+ICsgKiBSZXR1cm46ICAgYWx3YXlzIDAK PiArICovCj4gIHN0YXRpYyBpbnQgc211N19jb25zdHJ1Y3Rfdm9sdGFnZV90YWJsZXMoc3RydWN0 IHBwX2h3bWdyICpod21ncikKPiAgewo+ICAgICAgICAgc3RydWN0IHNtdTdfaHdtZ3IgKmRhdGEg PSAoc3RydWN0IHNtdTdfaHdtZ3IgKikoaHdtZ3ItPmJhY2tlbmQpOwo+IEBAIC00MTgsMTEgKzQx OCwxMSBAQCBzdGF0aWMgaW50IHNtdTdfY29uc3RydWN0X3ZvbHRhZ2VfdGFibGVzKHN0cnVjdCBw cF9od21nciAqaHdtZ3IpCj4gIH0KPgo+ICAvKioKPiAtKiBQcm9ncmFtcyBzdGF0aWMgc2NyZWVk IGRldGVjdGlvbiBwYXJhbWV0ZXJzCj4gLSoKPiAtKiBAcGFyYW0gICAgaHdtZ3IgIHRoZSBhZGRy ZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFyZHdhcmUgbWFuYWdlci4KPiAtKiBAcmV0dXJuICAgYWx3 YXlzIDAKPiAtKi8KPiArICogc211N19wcm9ncmFtX3N0YXRpY19zY3JlZW5fdGhyZXNob2xkX3Bh cmFtZXRlcnMgLSBQcm9ncmFtcyBzdGF0aWMgc2NyZWVkIGRldGVjdGlvbiBwYXJhbWV0ZXJzCj4g KyAqCj4gKyAqIEBod21ncjogIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFyZHdhcmUg bWFuYWdlci4KPiArICogUmV0dXJuOiAgIGFsd2F5cyAwCj4gKyAqLwo+ICBzdGF0aWMgaW50IHNt dTdfcHJvZ3JhbV9zdGF0aWNfc2NyZWVuX3RocmVzaG9sZF9wYXJhbWV0ZXJzKAo+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBw X2h3bWdyICpod21ncikKPiAgewo+IEBAIC00NDEsMTEgKzQ0MSwxMSBAQCBzdGF0aWMgaW50IHNt dTdfcHJvZ3JhbV9zdGF0aWNfc2NyZWVuX3RocmVzaG9sZF9wYXJhbWV0ZXJzKAo+ICB9Cj4KPiAg LyoqCj4gLSogU2V0dXAgZGlzcGxheSBnYXAgZm9yIGdsaXRjaCBmcmVlIG1lbW9yeSBjbG9jayBz d2l0Y2hpbmcuCj4gLSoKPiAtKiBAcGFyYW0gICAgaHdtZ3IgIHRoZSBhZGRyZXNzIG9mIHRoZSBw b3dlcnBsYXkgaGFyZHdhcmUgbWFuYWdlci4KPiAtKiBAcmV0dXJuICAgYWx3YXlzICAwCj4gLSov Cj4gKyAqIHNtdTdfZW5hYmxlX2Rpc3BsYXlfZ2FwIC0gU2V0dXAgZGlzcGxheSBnYXAgZm9yIGds aXRjaCBmcmVlIG1lbW9yeSBjbG9jayBzd2l0Y2hpbmcuCj4gKyAqCj4gKyAqIEBod21ncjogIHRo ZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFyZHdhcmUgbWFuYWdlci4KPiArICogUmV0dXJu OiAgIGFsd2F5cyAgMAo+ICsgKi8KPiAgc3RhdGljIGludCBzbXU3X2VuYWJsZV9kaXNwbGF5X2dh cChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICB7Cj4gICAgICAgICB1aW50MzJfdCBkaXNwbGF5 X2dhcCA9Cj4gQEAgLTQ2NSwxMSArNDY1LDExIEBAIHN0YXRpYyBpbnQgc211N19lbmFibGVfZGlz cGxheV9nYXAoc3RydWN0IHBwX2h3bWdyICpod21ncikKPiAgfQo+Cj4gIC8qKgo+IC0qIFByb2dy YW1zIGFjdGl2aXR5IHN0YXRlIHRyYW5zaXRpb24gdm90aW5nIGNsaWVudHMKPiAtKgo+IC0qIEBw YXJhbSAgICBod21nciAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5h Z2VyLgo+IC0qIEByZXR1cm4gICBhbHdheXMgIDAKPiAtKi8KPiArICogc211N19wcm9ncmFtX3Zv dGluZ19jbGllbnRzIC0gUHJvZ3JhbXMgYWN0aXZpdHkgc3RhdGUgdHJhbnNpdGlvbiB2b3Rpbmcg Y2xpZW50cwo+ICsgKgo+ICsgKiBAaHdtZ3I6ICB0aGUgYWRkcmVzcyBvZiB0aGUgcG93ZXJwbGF5 IGhhcmR3YXJlIG1hbmFnZXIuCj4gKyAqIFJldHVybjogICBhbHdheXMgIDAKPiArICovCj4gIHN0 YXRpYyBpbnQgc211N19wcm9ncmFtX3ZvdGluZ19jbGllbnRzKHN0cnVjdCBwcF9od21nciAqaHdt Z3IpCj4gIHsKPiAgICAgICAgIHN0cnVjdCBzbXU3X2h3bWdyICpkYXRhID0gKHN0cnVjdCBzbXU3 X2h3bWdyICopKGh3bWdyLT5iYWNrZW5kKTsKPiBAQCAtNTYwLDEyICs1NjAsMTIgQEAgc3RhdGlj IGludCBzbXU3X3Jlc2V0X3RvX2RlZmF1bHQoc3RydWN0IHBwX2h3bWdyICpod21ncikKPiAgfQo+ Cj4gIC8qKgo+IC0qIEluaXRpYWwgc3dpdGNoIGZyb20gQVJCIEYwLT5GMQo+IC0qCj4gLSogQHBh cmFtICAgIGh3bWdyICB0aGUgYWRkcmVzcyBvZiB0aGUgcG93ZXJwbGF5IGhhcmR3YXJlIG1hbmFn ZXIuCj4gLSogQHJldHVybiAgIGFsd2F5cyAwCj4gLSogVGhpcyBmdW5jdGlvbiBpcyB0byBiZSBj YWxsZWQgZnJvbSB0aGUgU2V0UG93ZXJTdGF0ZSB0YWJsZS4KPiAtKi8KPiArICogc211N19pbml0 aWFsX3N3aXRjaF9mcm9tX2FyYmYwX3RvX2YxIC0gSW5pdGlhbCBzd2l0Y2ggZnJvbSBBUkIgRjAt PkYxCj4gKyAqCj4gKyAqIEBod21ncjogIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFy ZHdhcmUgbWFuYWdlci4KPiArICogUmV0dXJuOiAgIGFsd2F5cyAwCj4gKyAqIFRoaXMgZnVuY3Rp b24gaXMgdG8gYmUgY2FsbGVkIGZyb20gdGhlIFNldFBvd2VyU3RhdGUgdGFibGUuCj4gKyAqLwo+ ICBzdGF0aWMgaW50IHNtdTdfaW5pdGlhbF9zd2l0Y2hfZnJvbV9hcmJmMF90b19mMShzdHJ1Y3Qg cHBfaHdtZ3IgKmh3bWdyKQo+ICB7Cj4gICAgICAgICByZXR1cm4gc211N19jb3B5X2FuZF9zd2l0 Y2hfYXJiX3NldHMoaHdtZ3IsCj4gQEAgLTE5MTcsMTEgKzE5MTcsMTEgQEAgc3RhdGljIGludCBz bXU3X2NhbGN1bGF0ZV9yb19yYW5nZShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICB9Cj4KPiAg LyoqCj4gLSogR2V0IExlYWthZ2UgVkREQyBiYXNlZCBvbiBsZWFrYWdlIElELgo+IC0qCj4gLSog QHBhcmFtICAgIGh3bWdyICB0aGUgYWRkcmVzcyBvZiB0aGUgcG93ZXJwbGF5IGhhcmR3YXJlIG1h bmFnZXIuCj4gLSogQHJldHVybiAgIGFsd2F5cyAwCj4gLSovCj4gKyAqIHNtdTdfZ2V0X2V2dl92 b2x0YWdlcyAtIEdldCBMZWFrYWdlIFZEREMgYmFzZWQgb24gbGVha2FnZSBJRC4KPiArICoKPiAr ICogQGh3bWdyOiAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2Vy Lgo+ICsgKiBSZXR1cm46ICAgYWx3YXlzIDAKPiArICovCj4gIHN0YXRpYyBpbnQgc211N19nZXRf ZXZ2X3ZvbHRhZ2VzKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCj4gIHsKPiAgICAgICAgIHN0cnVj dCBzbXU3X2h3bWdyICpkYXRhID0gKHN0cnVjdCBzbXU3X2h3bWdyICopKGh3bWdyLT5iYWNrZW5k KTsKPiBAQCAtMjAxNywxMSArMjAxNywxMSBAQCBzdGF0aWMgaW50IHNtdTdfZ2V0X2V2dl92b2x0 YWdlcyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICB9Cj4KPiAgLyoqCj4gLSAqIENoYW5nZSB2 aXJ0dWFsIGxlYWthZ2Ugdm9sdGFnZSB0byBhY3R1YWwgdmFsdWUuCj4gKyAqIHNtdTdfcGF0Y2hf cHB0X3YxX3dpdGhfdmRkX2xlYWthZ2UgLSBDaGFuZ2UgdmlydHVhbCBsZWFrYWdlIHZvbHRhZ2Ug dG8gYWN0dWFsIHZhbHVlLgo+ICAgKgo+IC0gKiBAcGFyYW0gICAgIGh3bWdyICB0aGUgYWRkcmVz cyBvZiB0aGUgcG93ZXJwbGF5IGhhcmR3YXJlIG1hbmFnZXIuCj4gLSAqIEBwYXJhbSAgICAgcG9p bnRlciB0byBjaGFuZ2luZyB2b2x0YWdlCj4gLSAqIEBwYXJhbSAgICAgcG9pbnRlciB0byBsZWFr YWdlIHRhYmxlCj4gKyAqIEBod21ncjogIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFy ZHdhcmUgbWFuYWdlci4KPiArICogQHZvbHRhZ2U6IHBvaW50ZXIgdG8gY2hhbmdpbmcgdm9sdGFn ZQo+ICsgKiBAbGVha2FnZV90YWJsZTogcG9pbnRlciB0byBsZWFrYWdlIHRhYmxlCj4gICAqLwo+ ICBzdGF0aWMgdm9pZCBzbXU3X3BhdGNoX3BwdF92MV93aXRoX3ZkZF9sZWFrYWdlKHN0cnVjdCBw cF9od21nciAqaHdtZ3IsCj4gICAgICAgICAgICAgICAgIHVpbnQxNl90ICp2b2x0YWdlLCBzdHJ1 Y3Qgc211N19sZWFrYWdlX3ZvbHRhZ2UgKmxlYWthZ2VfdGFibGUpCj4gQEAgLTIwNDMsMTMgKzIw NDMsMTMgQEAgc3RhdGljIHZvaWQgc211N19wYXRjaF9wcHRfdjFfd2l0aF92ZGRfbGVha2FnZShz dHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAo+ICB9Cj4KPiAgLyoqCj4gLSogUGF0Y2ggdm9sdGFnZSBs b29rdXAgdGFibGUgYnkgRVZWIGxlYWthZ2VzLgo+IC0qCj4gLSogQHBhcmFtICAgICBod21nciAg dGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+IC0qIEBwYXJh bSAgICAgcG9pbnRlciB0byB2b2x0YWdlIGxvb2t1cCB0YWJsZQo+IC0qIEBwYXJhbSAgICAgcG9p bnRlciB0byBsZWFrYWdlIHRhYmxlCj4gLSogQHJldHVybiAgICAgYWx3YXlzIDAKPiAtKi8KPiAr ICogc211N19wYXRjaF9sb29rdXBfdGFibGVfd2l0aF9sZWFrYWdlIC0gUGF0Y2ggdm9sdGFnZSBs b29rdXAgdGFibGUgYnkgRVZWIGxlYWthZ2VzLgo+ICsgKgo+ICsgKiBAaHdtZ3I6ICB0aGUgYWRk cmVzcyBvZiB0aGUgcG93ZXJwbGF5IGhhcmR3YXJlIG1hbmFnZXIuCj4gKyAqIEBsb29rdXBfdGFi bGU6IHBvaW50ZXIgdG8gdm9sdGFnZSBsb29rdXAgdGFibGUKPiArICogQGxlYWthZ2VfdGFibGU6 IHBvaW50ZXIgdG8gbGVha2FnZSB0YWJsZQo+ICsgKiBSZXR1cm46ICAgICBhbHdheXMgMAo+ICsg Ki8KPiAgc3RhdGljIGludCBzbXU3X3BhdGNoX2xvb2t1cF90YWJsZV93aXRoX2xlYWthZ2Uoc3Ry dWN0IHBwX2h3bWdyICpod21nciwKPiAgICAgICAgICAgICAgICAgcGhtX3BwdF92MV92b2x0YWdl X2xvb2t1cF90YWJsZSAqbG9va3VwX3RhYmxlLAo+ICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc211 N19sZWFrYWdlX3ZvbHRhZ2UgKmxlYWthZ2VfdGFibGUpCj4gQEAgLTI1MDAsMTEgKzI1MDAsMTEg QEAgc3RhdGljIGludCBzbXU3X3RoZXJtYWxfcGFyYW1ldGVyX2luaXQoc3RydWN0IHBwX2h3bWdy ICpod21ncikKPiAgfQo+Cj4gIC8qKgo+IC0gKiBDaGFuZ2UgdmlydHVhbCBsZWFrYWdlIHZvbHRh Z2UgdG8gYWN0dWFsIHZhbHVlLgo+ICsgKiBzbXU3X3BhdGNoX3BwdF92MF93aXRoX3ZkZF9sZWFr YWdlIC0gQ2hhbmdlIHZpcnR1YWwgbGVha2FnZSB2b2x0YWdlIHRvIGFjdHVhbCB2YWx1ZS4KPiAg ICoKPiAtICogQHBhcmFtICAgICBod21nciAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBo YXJkd2FyZSBtYW5hZ2VyLgo+IC0gKiBAcGFyYW0gICAgIHBvaW50ZXIgdG8gY2hhbmdpbmcgdm9s dGFnZQo+IC0gKiBAcGFyYW0gICAgIHBvaW50ZXIgdG8gbGVha2FnZSB0YWJsZQo+ICsgKiBAaHdt Z3I6ICB0aGUgYWRkcmVzcyBvZiB0aGUgcG93ZXJwbGF5IGhhcmR3YXJlIG1hbmFnZXIuCj4gKyAq IEB2b2x0YWdlOiBwb2ludGVyIHRvIGNoYW5naW5nIHZvbHRhZ2UKPiArICogQGxlYWthZ2VfdGFi bGU6IHBvaW50ZXIgdG8gbGVha2FnZSB0YWJsZQo+ICAgKi8KPiAgc3RhdGljIHZvaWQgc211N19w YXRjaF9wcHRfdjBfd2l0aF92ZGRfbGVha2FnZShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAo+ICAg ICAgICAgICAgICAgICB1aW50MzJfdCAqdm9sdGFnZSwgc3RydWN0IHNtdTdfbGVha2FnZV92b2x0 YWdlICpsZWFrYWdlX3RhYmxlKQo+IEBAIC00NDQwLDExICs0NDQwLDExIEBAIHNtdTdfbm90aWZ5 X3NtY19kaXNwbGF5X2NvbmZpZ19hZnRlcl9wc19hZGp1c3RtZW50KHN0cnVjdCBwcF9od21nciAq aHdtZ3IpCj4gIH0KPgo+ICAvKioKPiAtKiBQcm9ncmFtcyB0aGUgZGlzcGxheSBnYXAKPiAtKgo+ IC0qIEBwYXJhbSAgICBod21nciAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2Fy ZSBtYW5hZ2VyLgo+IC0qIEByZXR1cm4gICBhbHdheXMgT0sKPiAtKi8KPiArICogc211N19wcm9n cmFtX2Rpc3BsYXlfZ2FwIC0gUHJvZ3JhbXMgdGhlIGRpc3BsYXkgZ2FwCj4gKyAqCj4gKyAqIEBo d21ncjogIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFyZHdhcmUgbWFuYWdlci4KPiAr ICogUmV0dXJuOiAgIGFsd2F5cyBPSwo+ICsgKi8KPiAgc3RhdGljIGludCBzbXU3X3Byb2dyYW1f ZGlzcGxheV9nYXAoc3RydWN0IHBwX2h3bWdyICpod21ncikKPiAgewo+ICAgICAgICAgc3RydWN0 IHNtdTdfaHdtZ3IgKmRhdGEgPSAoc3RydWN0IHNtdTdfaHdtZ3IgKikoaHdtZ3ItPmJhY2tlbmQp Owo+IEBAIC00NDk4LDEyICs0NDk4LDEyIEBAIHN0YXRpYyBpbnQgc211N19kaXNwbGF5X2NvbmZp Z3VyYXRpb25fY2hhbmdlZF90YXNrKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCj4gIH0KPgo+ICAv KioKPiAtKiAgU2V0IG1heGltdW0gdGFyZ2V0IG9wZXJhdGluZyBmYW4gb3V0cHV0IFJQTQo+IC0q Cj4gLSogQHBhcmFtICAgIGh3bWdyOiAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJk d2FyZSBtYW5hZ2VyLgo+IC0qIEBwYXJhbSAgICB1c01heEZhblJwbTogIG1heCBvcGVyYXRpbmcg ZmFuIFJQTSB2YWx1ZS4KPiAtKiBAcmV0dXJuICAgVGhlIHJlc3BvbnNlIHRoYXQgY2FtZSBmcm9t IHRoZSBTTUMuCj4gLSovCj4gKyAqIHNtdTdfc2V0X21heF9mYW5fcnBtX291dHB1dCAtIFNldCBt YXhpbXVtIHRhcmdldCBvcGVyYXRpbmcgZmFuIG91dHB1dCBSUE0KPiArICoKPiArICogQGh3bWdy OiAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+ICsgKiBA dXNNYXhGYW5ScG06ICBtYXggb3BlcmF0aW5nIGZhbiBSUE0gdmFsdWUuCj4gKyAqIFJldHVybjog ICBUaGUgcmVzcG9uc2UgdGhhdCBjYW1lIGZyb20gdGhlIFNNQy4KPiArICovCj4gIHN0YXRpYyBp bnQgc211N19zZXRfbWF4X2Zhbl9ycG1fb3V0cHV0KHN0cnVjdCBwcF9od21nciAqaHdtZ3IsIHVp bnQxNl90IHVzX21heF9mYW5fcnBtKQo+ICB7Cj4gICAgICAgICBod21nci0+dGhlcm1hbF9jb250 cm9sbGVyLgo+IEBAIC00Njk4LDEwICs0Njk4LDEwIEBAIHN0YXRpYyBpbnQgc211N19yZWFkX2Ns b2NrX3JlZ2lzdGVycyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICB9Cj4KPiAgLyoqCj4gLSAq IEZpbmQgb3V0IGlmIG1lbW9yeSBpcyBHRERSNS4KPiArICogc211N19nZXRfbWVtb3J5X3R5cGUg LSBGaW5kIG91dCBpZiBtZW1vcnkgaXMgR0REUjUuCj4gICAqCj4gLSAqIEBwYXJhbSAgICBod21n ciAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+IC0gKiBA cmV0dXJuICAgYWx3YXlzIDAKPiArICogQGh3bWdyOiAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2Vy cGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+ICsgKiBSZXR1cm46ICAgYWx3YXlzIDAKPiAgICovCj4g IHN0YXRpYyBpbnQgc211N19nZXRfbWVtb3J5X3R5cGUoc3RydWN0IHBwX2h3bWdyICpod21ncikK PiAgewo+IEBAIC00NzE0LDEwICs0NzE0LDEwIEBAIHN0YXRpYyBpbnQgc211N19nZXRfbWVtb3J5 X3R5cGUoc3RydWN0IHBwX2h3bWdyICpod21ncikKPiAgfQo+Cj4gIC8qKgo+IC0gKiBFbmFibGVz IER5bmFtaWMgUG93ZXIgTWFuYWdlbWVudCBieSBTTUMKPiArICogc211N19lbmFibGVfYWNwaV9w b3dlcl9tYW5hZ2VtZW50IC0gRW5hYmxlcyBEeW5hbWljIFBvd2VyIE1hbmFnZW1lbnQgYnkgU01D Cj4gICAqCj4gLSAqIEBwYXJhbSAgICBod21nciAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxh eSBoYXJkd2FyZSBtYW5hZ2VyLgo+IC0gKiBAcmV0dXJuICAgYWx3YXlzIDAKPiArICogQGh3bWdy OiAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+ICsgKiBS ZXR1cm46ICAgYWx3YXlzIDAKPiAgICovCj4gIHN0YXRpYyBpbnQgc211N19lbmFibGVfYWNwaV9w b3dlcl9tYW5hZ2VtZW50KHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCj4gIHsKPiBAQCAtNDcyOCwx MCArNDcyOCwxMCBAQCBzdGF0aWMgaW50IHNtdTdfZW5hYmxlX2FjcGlfcG93ZXJfbWFuYWdlbWVu dChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICB9Cj4KPiAgLyoqCj4gLSAqIEluaXRpYWxpemUg UG93ZXJHYXRpbmcgU3RhdGVzIGZvciBkaWZmZXJlbnQgZW5naW5lcwo+ICsgKiBzbXU3X2luaXRf cG93ZXJfZ2F0ZV9zdGF0ZSAtIEluaXRpYWxpemUgUG93ZXJHYXRpbmcgU3RhdGVzIGZvciBkaWZm ZXJlbnQgZW5naW5lcwo+ICAgKgo+IC0gKiBAcGFyYW0gICAgaHdtZ3IgIHRoZSBhZGRyZXNzIG9m IHRoZSBwb3dlcnBsYXkgaGFyZHdhcmUgbWFuYWdlci4KPiAtICogQHJldHVybiAgIGFsd2F5cyAw Cj4gKyAqIEBod21ncjogIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFyZHdhcmUgbWFu YWdlci4KPiArICogUmV0dXJuOiAgIGFsd2F5cyAwCj4gICAqLwo+ICBzdGF0aWMgaW50IHNtdTdf aW5pdF9wb3dlcl9nYXRlX3N0YXRlKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCj4gIHsKPiAtLQo+ IDIuMjUuMQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.5 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 95253C64E90 for ; Mon, 30 Nov 2020 23:45:07 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 20B13207BB for ; Mon, 30 Nov 2020 23:45:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="iGoI7oCQ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 20B13207BB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 99F6389D53; Mon, 30 Nov 2020 23:45:06 +0000 (UTC) Received: from mail-oi1-x243.google.com (mail-oi1-x243.google.com [IPv6:2607:f8b0:4864:20::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6EE4289D52; Mon, 30 Nov 2020 23:45:05 +0000 (UTC) Received: by mail-oi1-x243.google.com with SMTP id y74so16187750oia.11; Mon, 30 Nov 2020 15:45:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=/lyaYGV02AY7zFNEbhGP5/Ng0ywG3eDIwUtsDfqupic=; b=iGoI7oCQ7OuV+LUmK6RWknf4IkWkIrRTSZGIAeD3Zf5YUfOZn8iNi0B4EF3LyQyeVP NW1fJ6TSay1IddyfndLaU5Eof3Hl9hc5kmdVjisSqVYmGBChKu4HTici2FaLjoZy0IVo ZX/GW8K4J4K2l7ZMJiuXDPcZ+dZFpQsihdsMGUdFjSk+NG7heX6099IcZkTpTfu3A0hi cElQ407uKS6aqH0CxJETPgjvTBh2mCATmSOhvG5lc7bR65kg2ybL8gQ6RtFEQTeh9DhP LkKkN8z9OF7R43sQ9sk8WCWyzR2SrgqIwBPiwgCWfX7KwhQmGLlMpAKtjQSD0gouOMM0 ithw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=/lyaYGV02AY7zFNEbhGP5/Ng0ywG3eDIwUtsDfqupic=; b=b5v5npjNp74Kg5L+OT/grfKIWAT/VpLKFJ7cCBPNHVbU0SiAnrZiYF8yoWDRBdeC8e LQFQYyFPAY/4svM5FjLK6lB84eB+iurUkCFcn78O0k/y66D+WtC4kx32QTMU9o+LmUr3 pZteTz5WMwRG9oiY9lQHvexb21XjU5rNX4t/ZFYJuQI58cPhlcO7VeLE3ZXlvOLSqez0 Xe6pWfPli0QJ6ugLQAlVaKlHGb2nR8uSr9Pp1Fk/5QNKpSOYACYIzYh9rjbSJt2CoFz1 DUK5dRE4aQwynPllCEAywe7LX/3CxNHosTiKoDI8sabkvenW92n/YbS0OzOIzFRkjTet d8cQ== X-Gm-Message-State: AOAM533xP9K6nTiOzSUxJrf5peMvNXCeb6GyEOB7u+rFnDvG4f45owrs 3ZbhXBe7RT0QUoAkwTDb874wZl1ktpnF0EJKmTE= X-Google-Smtp-Source: ABdhPJy3AkAOZ1BefVySkHZuT39m+O3MRbLY3QUbUYPTZj4ScbPjJPigzQgQP63AZaAuXllS0nZGBmiDAeBy5TPzG0I= X-Received: by 2002:aca:f50e:: with SMTP id t14mr174065oih.123.1606779904734; Mon, 30 Nov 2020 15:45:04 -0800 (PST) MIME-Version: 1.0 References: <20201126134240.3214176-1-lee.jones@linaro.org> <20201126134240.3214176-22-lee.jones@linaro.org> In-Reply-To: <20201126134240.3214176-22-lee.jones@linaro.org> From: Alex Deucher Date: Mon, 30 Nov 2020 18:44:53 -0500 Message-ID: Subject: Re: [PATCH 21/40] drm/amd/pm/powerplay/hwmgr/smu7_hwmgr: Fix a whole bunch of historical function doc issues To: Lee Jones X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David Airlie , LKML , Maling list - DRI developers , amd-gfx list , Alex Deucher , Evan Quan , =?UTF-8?Q?Christian_K=C3=B6nig?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" T24gVGh1LCBOb3YgMjYsIDIwMjAgYXQgODo0MyBBTSBMZWUgSm9uZXMgPGxlZS5qb25lc0BsaW5h cm8ub3JnPiB3cm90ZToKPgo+IEZpeGVzIHRoZSBmb2xsb3dpbmcgVz0xIGtlcm5lbCBidWlsZCB3 YXJuaW5nKHMpOgo+Cj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1Ly4uL3BtL3Bvd2VycGxh eS9od21nci9zbXU3X2h3bWdyLmM6MjAyOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3Ig bWVtYmVyICdod21ncicgbm90IGRlc2NyaWJlZCBpbiAnc211N19nZXRfbWNfbWljcm9jb2RlX3Zl cnNpb24nCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1Ly4uL3BtL3Bvd2VycGxheS9od21n ci9zbXU3X2h3bWdyLmM6MjQyOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVy ICdod21ncicgbm90IGRlc2NyaWJlZCBpbiAnc211N19lbmFibGVfc21jX3ZvbHRhZ2VfY29udHJv bGxlcicKPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvLi4vcG0vcG93ZXJwbGF5L2h3bWdy L3NtdTdfaHdtZ3IuYzoyNjM6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIg J2h3bWdyJyBub3QgZGVzY3JpYmVkIGluICdzbXU3X3ZvbHRhZ2VfY29udHJvbCcKPiAgZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvLi4vcG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYzoy Nzc6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2h3bWdyJyBub3QgZGVz Y3JpYmVkIGluICdzbXU3X2VuYWJsZV92b2x0YWdlX2NvbnRyb2wnCj4gIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1Ly4uL3BtL3Bvd2VycGxheS9od21nci9zbXU3X2h3bWdyLmM6MzE1OiB3YXJu aW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2NyaWJlZCBp biAnc211N19jb25zdHJ1Y3Rfdm9sdGFnZV90YWJsZXMnCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1Ly4uL3BtL3Bvd2VycGxheS9od21nci9zbXU3X2h3bWdyLmM6NDI4OiB3YXJuaW5nOiBG dW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2NyaWJlZCBpbiAnc211 N19wcm9ncmFtX3N0YXRpY19zY3JlZW5fdGhyZXNob2xkX3BhcmFtZXRlcnMnCj4gIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1Ly4uL3BtL3Bvd2VycGxheS9od21nci9zbXU3X2h3bWdyLmM6NDUw OiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2Ny aWJlZCBpbiAnc211N19lbmFibGVfZGlzcGxheV9nYXAnCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1Ly4uL3BtL3Bvd2VycGxheS9od21nci9zbXU3X2h3bWdyLmM6NDc0OiB3YXJuaW5nOiBG dW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2NyaWJlZCBpbiAnc211 N19wcm9ncmFtX3ZvdGluZ19jbGllbnRzJwo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS8u Li9wbS9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jOjU3MDogd2FybmluZzogRnVuY3Rpb24g cGFyYW1ldGVyIG9yIG1lbWJlciAnaHdtZ3InIG5vdCBkZXNjcmliZWQgaW4gJ3NtdTdfaW5pdGlh bF9zd2l0Y2hfZnJvbV9hcmJmMF90b19mMScKPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Li4vcG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYzoxOTI2OiB3YXJuaW5nOiBGdW5jdGlv biBwYXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2NyaWJlZCBpbiAnc211N19nZXRf ZXZ2X3ZvbHRhZ2VzJwo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS8uLi9wbS9wb3dlcnBs YXkvaHdtZ3Ivc211N19od21nci5jOjIwMjg6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBv ciBtZW1iZXIgJ2h3bWdyJyBub3QgZGVzY3JpYmVkIGluICdzbXU3X3BhdGNoX3BwdF92MV93aXRo X3ZkZF9sZWFrYWdlJwo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS8uLi9wbS9wb3dlcnBs YXkvaHdtZ3Ivc211N19od21nci5jOjIwMjg6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBv ciBtZW1iZXIgJ3ZvbHRhZ2UnIG5vdCBkZXNjcmliZWQgaW4gJ3NtdTdfcGF0Y2hfcHB0X3YxX3dp dGhfdmRkX2xlYWthZ2UnCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1Ly4uL3BtL3Bvd2Vy cGxheS9od21nci9zbXU3X2h3bWdyLmM6MjAyODogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVy IG9yIG1lbWJlciAnbGVha2FnZV90YWJsZScgbm90IGRlc2NyaWJlZCBpbiAnc211N19wYXRjaF9w cHRfdjFfd2l0aF92ZGRfbGVha2FnZScKPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvLi4v cG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYzoyMDU2OiB3YXJuaW5nOiBGdW5jdGlvbiBw YXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2NyaWJlZCBpbiAnc211N19wYXRjaF9s b29rdXBfdGFibGVfd2l0aF9sZWFrYWdlJwo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS8u Li9wbS9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jOjIwNTY6IHdhcm5pbmc6IEZ1bmN0aW9u IHBhcmFtZXRlciBvciBtZW1iZXIgJ2xvb2t1cF90YWJsZScgbm90IGRlc2NyaWJlZCBpbiAnc211 N19wYXRjaF9sb29rdXBfdGFibGVfd2l0aF9sZWFrYWdlJwo+ICBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS8uLi9wbS9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jOjIwNTY6IHdhcm5pbmc6 IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2xlYWthZ2VfdGFibGUnIG5vdCBkZXNjcmli ZWQgaW4gJ3NtdTdfcGF0Y2hfbG9va3VwX3RhYmxlX3dpdGhfbGVha2FnZScKPiAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvLi4vcG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYzoyNTEx OiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2Ny aWJlZCBpbiAnc211N19wYXRjaF9wcHRfdjBfd2l0aF92ZGRfbGVha2FnZScKPiAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvLi4vcG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYzoyNTEx OiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICd2b2x0YWdlJyBub3QgZGVz Y3JpYmVkIGluICdzbXU3X3BhdGNoX3BwdF92MF93aXRoX3ZkZF9sZWFrYWdlJwo+ICBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS8uLi9wbS9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jOjI1 MTE6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2xlYWthZ2VfdGFibGUn IG5vdCBkZXNjcmliZWQgaW4gJ3NtdTdfcGF0Y2hfcHB0X3YwX3dpdGhfdmRkX2xlYWthZ2UnCj4g IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1Ly4uL3BtL3Bvd2VycGxheS9od21nci9zbXU3X2h3 bWdyLmM6NDQ0OTogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnaHdtZ3In IG5vdCBkZXNjcmliZWQgaW4gJ3NtdTdfcHJvZ3JhbV9kaXNwbGF5X2dhcCcKPiAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvLi4vcG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYzo0NTA4 OiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdod21ncicgbm90IGRlc2Ny aWJlZCBpbiAnc211N19zZXRfbWF4X2Zhbl9ycG1fb3V0cHV0Jwo+ICBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS8uLi9wbS9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jOjQ1MDg6IHdhcm5p bmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ3VzX21heF9mYW5fcnBtJyBub3QgZGVz Y3JpYmVkIGluICdzbXU3X3NldF9tYXhfZmFuX3JwbV9vdXRwdXQnCj4gIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1Ly4uL3BtL3Bvd2VycGxheS9od21nci9zbXU3X2h3bWdyLmM6NDcwNzogd2Fy bmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnaHdtZ3InIG5vdCBkZXNjcmliZWQg aW4gJ3NtdTdfZ2V0X21lbW9yeV90eXBlJwo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS8u Li9wbS9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jOjQ3MjM6IHdhcm5pbmc6IEZ1bmN0aW9u IHBhcmFtZXRlciBvciBtZW1iZXIgJ2h3bWdyJyBub3QgZGVzY3JpYmVkIGluICdzbXU3X2VuYWJs ZV9hY3BpX3Bvd2VyX21hbmFnZW1lbnQnCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1Ly4u L3BtL3Bvd2VycGxheS9od21nci9zbXU3X2h3bWdyLmM6NDczNzogd2FybmluZzogRnVuY3Rpb24g cGFyYW1ldGVyIG9yIG1lbWJlciAnaHdtZ3InIG5vdCBkZXNjcmliZWQgaW4gJ3NtdTdfaW5pdF9w b3dlcl9nYXRlX3N0YXRlJwo+Cj4gQ2M6IEV2YW4gUXVhbiA8ZXZhbi5xdWFuQGFtZC5jb20+Cj4g Q2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KPiBDYzogIkNocmlz dGlhbiBLw7ZuaWciIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4gQ2M6IERhdmlkIEFpcmxp ZSA8YWlybGllZEBsaW51eC5pZT4KPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNo Pgo+IENjOiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IENjOiBkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4gU2lnbmVkLW9mZi1ieTogTGVlIEpvbmVzIDxsZWUuam9uZXNA bGluYXJvLm9yZz4KCkFwcGxpZWQuICBUaGFua3MhCgpBbGV4Cgo+IC0tLQo+ICAuLi4vZHJtL2Ft ZC9wbS9wb3dlcnBsYXkvaHdtZ3Ivc211N19od21nci5jICAgfCAxNjYgKysrKysrKysrLS0tLS0t LS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCspLCA4MyBkZWxldGlvbnMoLSkK Pgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3BtL3Bvd2VycGxheS9od21nci9z bXU3X2h3bWdyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3BtL3Bvd2VycGxheS9od21nci9zbXU3 X2h3bWdyLmMKPiBpbmRleCA1MzExMWM2YmJjYzkxLi44MjY3NmMwODZjZTQ2IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3IuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG0vcG93ZXJwbGF5L2h3bWdyL3NtdTdfaHdtZ3Iu Ywo+IEBAIC0xOTMsMTAgKzE5MywxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHNtdTdfcG93ZXJf c3RhdGUgKmNhc3RfY29uc3RfcGh3X3NtdTdfcG93ZXJfc3RhdGUoCj4gIH0KPgo+ICAvKioKPiAt ICogRmluZCB0aGUgTUMgbWljcm9jb2RlIHZlcnNpb24gYW5kIHN0b3JlIGl0IGluIHRoZSBId01n ciBzdHJ1Y3QKPiArICogc211N19nZXRfbWNfbWljcm9jb2RlX3ZlcnNpb24gLSBGaW5kIHRoZSBN QyBtaWNyb2NvZGUgdmVyc2lvbiBhbmQgc3RvcmUgaXQgaW4gdGhlIEh3TWdyIHN0cnVjdAo+ICAg Kgo+IC0gKiBAcGFyYW0gICAgaHdtZ3IgIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFy ZHdhcmUgbWFuYWdlci4KPiAtICogQHJldHVybiAgIGFsd2F5cyAwCj4gKyAqIEBod21ncjogIHRo ZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFyZHdhcmUgbWFuYWdlci4KPiArICogUmV0dXJu OiAgIGFsd2F5cyAwCj4gICAqLwo+ICBzdGF0aWMgaW50IHNtdTdfZ2V0X21jX21pY3JvY29kZV92 ZXJzaW9uKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCj4gIHsKPiBAQCAtMjMzLDExICsyMzMsMTEg QEAgc3RhdGljIGludCBzbXU3X2dldF9jdXJyZW50X3BjaWVfbGFuZV9udW1iZXIoc3RydWN0IHBw X2h3bWdyICpod21ncikKPiAgfQo+Cj4gIC8qKgo+IC0qIEVuYWJsZSB2b2x0YWdlIGNvbnRyb2wK PiAtKgo+IC0qIEBwYXJhbSAgICBwSHdNZ3IgIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkg aGFyZHdhcmUgbWFuYWdlci4KPiAtKiBAcmV0dXJuICAgYWx3YXlzIFBQX1Jlc3VsdF9PSwo+IC0q Lwo+ICsgKiBzbXU3X2VuYWJsZV9zbWNfdm9sdGFnZV9jb250cm9sbGVyIC0gRW5hYmxlIHZvbHRh Z2UgY29udHJvbAo+ICsgKgo+ICsgKiBAaHdtZ3IgIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBs YXkgaGFyZHdhcmUgbWFuYWdlci4KPiArICogUmV0dXJuOiAgIGFsd2F5cyBQUF9SZXN1bHRfT0sK PiArICovCj4gIHN0YXRpYyBpbnQgc211N19lbmFibGVfc21jX3ZvbHRhZ2VfY29udHJvbGxlcihz dHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICB7Cj4gICAgICAgICBpZiAoaHdtZ3ItPmNoaXBfaWQg Pj0gQ0hJUF9QT0xBUklTMTAgJiYKPiBAQCAtMjU1LDEwICsyNTUsMTAgQEAgc3RhdGljIGludCBz bXU3X2VuYWJsZV9zbWNfdm9sdGFnZV9jb250cm9sbGVyKHN0cnVjdCBwcF9od21nciAqaHdtZ3Ip Cj4gIH0KPgo+ICAvKioKPiAtKiBDaGVja3MgaWYgd2Ugd2FudCB0byBzdXBwb3J0IHZvbHRhZ2Ug Y29udHJvbAo+IC0qCj4gLSogQHBhcmFtICAgIGh3bWdyICB0aGUgYWRkcmVzcyBvZiB0aGUgcG93 ZXJwbGF5IGhhcmR3YXJlIG1hbmFnZXIuCj4gLSovCj4gKyAqIHNtdTdfdm9sdGFnZV9jb250cm9s IC0gQ2hlY2tzIGlmIHdlIHdhbnQgdG8gc3VwcG9ydCB2b2x0YWdlIGNvbnRyb2wKPiArICoKPiAr ICogQGh3bWdyOiAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2Vy Lgo+ICsgKi8KPiAgc3RhdGljIGJvb2wgc211N192b2x0YWdlX2NvbnRyb2woY29uc3Qgc3RydWN0 IHBwX2h3bWdyICpod21ncikKPiAgewo+ICAgICAgICAgY29uc3Qgc3RydWN0IHNtdTdfaHdtZ3Ig KmRhdGEgPQo+IEBAIC0yNjgsMTEgKzI2OCwxMSBAQCBzdGF0aWMgYm9vbCBzbXU3X3ZvbHRhZ2Vf Y29udHJvbChjb25zdCBzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICB9Cj4KPiAgLyoqCj4gLSog RW5hYmxlIHZvbHRhZ2UgY29udHJvbAo+IC0qCj4gLSogQHBhcmFtICAgIGh3bWdyICB0aGUgYWRk cmVzcyBvZiB0aGUgcG93ZXJwbGF5IGhhcmR3YXJlIG1hbmFnZXIuCj4gLSogQHJldHVybiAgIGFs d2F5cyAwCj4gLSovCj4gKyAqIHNtdTdfZW5hYmxlX3ZvbHRhZ2VfY29udHJvbCAtIEVuYWJsZSB2 b2x0YWdlIGNvbnRyb2wKPiArICoKPiArICogQGh3bWdyOiAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBv d2VycGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+ICsgKiBSZXR1cm46ICAgYWx3YXlzIDAKPiArICov Cj4gIHN0YXRpYyBpbnQgc211N19lbmFibGVfdm9sdGFnZV9jb250cm9sKHN0cnVjdCBwcF9od21n ciAqaHdtZ3IpCj4gIHsKPiAgICAgICAgIC8qIGVuYWJsZSB2b2x0YWdlIGNvbnRyb2wgKi8KPiBA QCAtMzA2LDExICszMDYsMTEgQEAgc3RhdGljIGludCBwaG1fZ2V0X3N2aTJfdm9sdGFnZV90YWJs ZV92MChwcF9hdG9tY3RybF92b2x0YWdlX3RhYmxlICp2b2x0YWdlX3RhYmwKPgo+Cj4gIC8qKgo+ IC0qIENyZWF0ZSBWb2x0YWdlIFRhYmxlcy4KPiAtKgo+IC0qIEBwYXJhbSAgICBod21nciAgdGhl IGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+IC0qIEByZXR1cm4g ICBhbHdheXMgMAo+IC0qLwo+ICsgKiBzbXU3X2NvbnN0cnVjdF92b2x0YWdlX3RhYmxlcyAtIENy ZWF0ZSBWb2x0YWdlIFRhYmxlcy4KPiArICoKPiArICogQGh3bWdyOiAgdGhlIGFkZHJlc3Mgb2Yg dGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+ICsgKiBSZXR1cm46ICAgYWx3YXlzIDAK PiArICovCj4gIHN0YXRpYyBpbnQgc211N19jb25zdHJ1Y3Rfdm9sdGFnZV90YWJsZXMoc3RydWN0 IHBwX2h3bWdyICpod21ncikKPiAgewo+ICAgICAgICAgc3RydWN0IHNtdTdfaHdtZ3IgKmRhdGEg PSAoc3RydWN0IHNtdTdfaHdtZ3IgKikoaHdtZ3ItPmJhY2tlbmQpOwo+IEBAIC00MTgsMTEgKzQx OCwxMSBAQCBzdGF0aWMgaW50IHNtdTdfY29uc3RydWN0X3ZvbHRhZ2VfdGFibGVzKHN0cnVjdCBw cF9od21nciAqaHdtZ3IpCj4gIH0KPgo+ICAvKioKPiAtKiBQcm9ncmFtcyBzdGF0aWMgc2NyZWVk IGRldGVjdGlvbiBwYXJhbWV0ZXJzCj4gLSoKPiAtKiBAcGFyYW0gICAgaHdtZ3IgIHRoZSBhZGRy ZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFyZHdhcmUgbWFuYWdlci4KPiAtKiBAcmV0dXJuICAgYWx3 YXlzIDAKPiAtKi8KPiArICogc211N19wcm9ncmFtX3N0YXRpY19zY3JlZW5fdGhyZXNob2xkX3Bh cmFtZXRlcnMgLSBQcm9ncmFtcyBzdGF0aWMgc2NyZWVkIGRldGVjdGlvbiBwYXJhbWV0ZXJzCj4g KyAqCj4gKyAqIEBod21ncjogIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFyZHdhcmUg bWFuYWdlci4KPiArICogUmV0dXJuOiAgIGFsd2F5cyAwCj4gKyAqLwo+ICBzdGF0aWMgaW50IHNt dTdfcHJvZ3JhbV9zdGF0aWNfc2NyZWVuX3RocmVzaG9sZF9wYXJhbWV0ZXJzKAo+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBw X2h3bWdyICpod21ncikKPiAgewo+IEBAIC00NDEsMTEgKzQ0MSwxMSBAQCBzdGF0aWMgaW50IHNt dTdfcHJvZ3JhbV9zdGF0aWNfc2NyZWVuX3RocmVzaG9sZF9wYXJhbWV0ZXJzKAo+ICB9Cj4KPiAg LyoqCj4gLSogU2V0dXAgZGlzcGxheSBnYXAgZm9yIGdsaXRjaCBmcmVlIG1lbW9yeSBjbG9jayBz d2l0Y2hpbmcuCj4gLSoKPiAtKiBAcGFyYW0gICAgaHdtZ3IgIHRoZSBhZGRyZXNzIG9mIHRoZSBw b3dlcnBsYXkgaGFyZHdhcmUgbWFuYWdlci4KPiAtKiBAcmV0dXJuICAgYWx3YXlzICAwCj4gLSov Cj4gKyAqIHNtdTdfZW5hYmxlX2Rpc3BsYXlfZ2FwIC0gU2V0dXAgZGlzcGxheSBnYXAgZm9yIGds aXRjaCBmcmVlIG1lbW9yeSBjbG9jayBzd2l0Y2hpbmcuCj4gKyAqCj4gKyAqIEBod21ncjogIHRo ZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFyZHdhcmUgbWFuYWdlci4KPiArICogUmV0dXJu OiAgIGFsd2F5cyAgMAo+ICsgKi8KPiAgc3RhdGljIGludCBzbXU3X2VuYWJsZV9kaXNwbGF5X2dh cChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICB7Cj4gICAgICAgICB1aW50MzJfdCBkaXNwbGF5 X2dhcCA9Cj4gQEAgLTQ2NSwxMSArNDY1LDExIEBAIHN0YXRpYyBpbnQgc211N19lbmFibGVfZGlz cGxheV9nYXAoc3RydWN0IHBwX2h3bWdyICpod21ncikKPiAgfQo+Cj4gIC8qKgo+IC0qIFByb2dy YW1zIGFjdGl2aXR5IHN0YXRlIHRyYW5zaXRpb24gdm90aW5nIGNsaWVudHMKPiAtKgo+IC0qIEBw YXJhbSAgICBod21nciAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5h Z2VyLgo+IC0qIEByZXR1cm4gICBhbHdheXMgIDAKPiAtKi8KPiArICogc211N19wcm9ncmFtX3Zv dGluZ19jbGllbnRzIC0gUHJvZ3JhbXMgYWN0aXZpdHkgc3RhdGUgdHJhbnNpdGlvbiB2b3Rpbmcg Y2xpZW50cwo+ICsgKgo+ICsgKiBAaHdtZ3I6ICB0aGUgYWRkcmVzcyBvZiB0aGUgcG93ZXJwbGF5 IGhhcmR3YXJlIG1hbmFnZXIuCj4gKyAqIFJldHVybjogICBhbHdheXMgIDAKPiArICovCj4gIHN0 YXRpYyBpbnQgc211N19wcm9ncmFtX3ZvdGluZ19jbGllbnRzKHN0cnVjdCBwcF9od21nciAqaHdt Z3IpCj4gIHsKPiAgICAgICAgIHN0cnVjdCBzbXU3X2h3bWdyICpkYXRhID0gKHN0cnVjdCBzbXU3 X2h3bWdyICopKGh3bWdyLT5iYWNrZW5kKTsKPiBAQCAtNTYwLDEyICs1NjAsMTIgQEAgc3RhdGlj IGludCBzbXU3X3Jlc2V0X3RvX2RlZmF1bHQoc3RydWN0IHBwX2h3bWdyICpod21ncikKPiAgfQo+ Cj4gIC8qKgo+IC0qIEluaXRpYWwgc3dpdGNoIGZyb20gQVJCIEYwLT5GMQo+IC0qCj4gLSogQHBh cmFtICAgIGh3bWdyICB0aGUgYWRkcmVzcyBvZiB0aGUgcG93ZXJwbGF5IGhhcmR3YXJlIG1hbmFn ZXIuCj4gLSogQHJldHVybiAgIGFsd2F5cyAwCj4gLSogVGhpcyBmdW5jdGlvbiBpcyB0byBiZSBj YWxsZWQgZnJvbSB0aGUgU2V0UG93ZXJTdGF0ZSB0YWJsZS4KPiAtKi8KPiArICogc211N19pbml0 aWFsX3N3aXRjaF9mcm9tX2FyYmYwX3RvX2YxIC0gSW5pdGlhbCBzd2l0Y2ggZnJvbSBBUkIgRjAt PkYxCj4gKyAqCj4gKyAqIEBod21ncjogIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFy ZHdhcmUgbWFuYWdlci4KPiArICogUmV0dXJuOiAgIGFsd2F5cyAwCj4gKyAqIFRoaXMgZnVuY3Rp b24gaXMgdG8gYmUgY2FsbGVkIGZyb20gdGhlIFNldFBvd2VyU3RhdGUgdGFibGUuCj4gKyAqLwo+ ICBzdGF0aWMgaW50IHNtdTdfaW5pdGlhbF9zd2l0Y2hfZnJvbV9hcmJmMF90b19mMShzdHJ1Y3Qg cHBfaHdtZ3IgKmh3bWdyKQo+ICB7Cj4gICAgICAgICByZXR1cm4gc211N19jb3B5X2FuZF9zd2l0 Y2hfYXJiX3NldHMoaHdtZ3IsCj4gQEAgLTE5MTcsMTEgKzE5MTcsMTEgQEAgc3RhdGljIGludCBz bXU3X2NhbGN1bGF0ZV9yb19yYW5nZShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICB9Cj4KPiAg LyoqCj4gLSogR2V0IExlYWthZ2UgVkREQyBiYXNlZCBvbiBsZWFrYWdlIElELgo+IC0qCj4gLSog QHBhcmFtICAgIGh3bWdyICB0aGUgYWRkcmVzcyBvZiB0aGUgcG93ZXJwbGF5IGhhcmR3YXJlIG1h bmFnZXIuCj4gLSogQHJldHVybiAgIGFsd2F5cyAwCj4gLSovCj4gKyAqIHNtdTdfZ2V0X2V2dl92 b2x0YWdlcyAtIEdldCBMZWFrYWdlIFZEREMgYmFzZWQgb24gbGVha2FnZSBJRC4KPiArICoKPiAr ICogQGh3bWdyOiAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2Vy Lgo+ICsgKiBSZXR1cm46ICAgYWx3YXlzIDAKPiArICovCj4gIHN0YXRpYyBpbnQgc211N19nZXRf ZXZ2X3ZvbHRhZ2VzKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCj4gIHsKPiAgICAgICAgIHN0cnVj dCBzbXU3X2h3bWdyICpkYXRhID0gKHN0cnVjdCBzbXU3X2h3bWdyICopKGh3bWdyLT5iYWNrZW5k KTsKPiBAQCAtMjAxNywxMSArMjAxNywxMSBAQCBzdGF0aWMgaW50IHNtdTdfZ2V0X2V2dl92b2x0 YWdlcyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICB9Cj4KPiAgLyoqCj4gLSAqIENoYW5nZSB2 aXJ0dWFsIGxlYWthZ2Ugdm9sdGFnZSB0byBhY3R1YWwgdmFsdWUuCj4gKyAqIHNtdTdfcGF0Y2hf cHB0X3YxX3dpdGhfdmRkX2xlYWthZ2UgLSBDaGFuZ2UgdmlydHVhbCBsZWFrYWdlIHZvbHRhZ2Ug dG8gYWN0dWFsIHZhbHVlLgo+ICAgKgo+IC0gKiBAcGFyYW0gICAgIGh3bWdyICB0aGUgYWRkcmVz cyBvZiB0aGUgcG93ZXJwbGF5IGhhcmR3YXJlIG1hbmFnZXIuCj4gLSAqIEBwYXJhbSAgICAgcG9p bnRlciB0byBjaGFuZ2luZyB2b2x0YWdlCj4gLSAqIEBwYXJhbSAgICAgcG9pbnRlciB0byBsZWFr YWdlIHRhYmxlCj4gKyAqIEBod21ncjogIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFy ZHdhcmUgbWFuYWdlci4KPiArICogQHZvbHRhZ2U6IHBvaW50ZXIgdG8gY2hhbmdpbmcgdm9sdGFn ZQo+ICsgKiBAbGVha2FnZV90YWJsZTogcG9pbnRlciB0byBsZWFrYWdlIHRhYmxlCj4gICAqLwo+ ICBzdGF0aWMgdm9pZCBzbXU3X3BhdGNoX3BwdF92MV93aXRoX3ZkZF9sZWFrYWdlKHN0cnVjdCBw cF9od21nciAqaHdtZ3IsCj4gICAgICAgICAgICAgICAgIHVpbnQxNl90ICp2b2x0YWdlLCBzdHJ1 Y3Qgc211N19sZWFrYWdlX3ZvbHRhZ2UgKmxlYWthZ2VfdGFibGUpCj4gQEAgLTIwNDMsMTMgKzIw NDMsMTMgQEAgc3RhdGljIHZvaWQgc211N19wYXRjaF9wcHRfdjFfd2l0aF92ZGRfbGVha2FnZShz dHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAo+ICB9Cj4KPiAgLyoqCj4gLSogUGF0Y2ggdm9sdGFnZSBs b29rdXAgdGFibGUgYnkgRVZWIGxlYWthZ2VzLgo+IC0qCj4gLSogQHBhcmFtICAgICBod21nciAg dGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+IC0qIEBwYXJh bSAgICAgcG9pbnRlciB0byB2b2x0YWdlIGxvb2t1cCB0YWJsZQo+IC0qIEBwYXJhbSAgICAgcG9p bnRlciB0byBsZWFrYWdlIHRhYmxlCj4gLSogQHJldHVybiAgICAgYWx3YXlzIDAKPiAtKi8KPiAr ICogc211N19wYXRjaF9sb29rdXBfdGFibGVfd2l0aF9sZWFrYWdlIC0gUGF0Y2ggdm9sdGFnZSBs b29rdXAgdGFibGUgYnkgRVZWIGxlYWthZ2VzLgo+ICsgKgo+ICsgKiBAaHdtZ3I6ICB0aGUgYWRk cmVzcyBvZiB0aGUgcG93ZXJwbGF5IGhhcmR3YXJlIG1hbmFnZXIuCj4gKyAqIEBsb29rdXBfdGFi bGU6IHBvaW50ZXIgdG8gdm9sdGFnZSBsb29rdXAgdGFibGUKPiArICogQGxlYWthZ2VfdGFibGU6 IHBvaW50ZXIgdG8gbGVha2FnZSB0YWJsZQo+ICsgKiBSZXR1cm46ICAgICBhbHdheXMgMAo+ICsg Ki8KPiAgc3RhdGljIGludCBzbXU3X3BhdGNoX2xvb2t1cF90YWJsZV93aXRoX2xlYWthZ2Uoc3Ry dWN0IHBwX2h3bWdyICpod21nciwKPiAgICAgICAgICAgICAgICAgcGhtX3BwdF92MV92b2x0YWdl X2xvb2t1cF90YWJsZSAqbG9va3VwX3RhYmxlLAo+ICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc211 N19sZWFrYWdlX3ZvbHRhZ2UgKmxlYWthZ2VfdGFibGUpCj4gQEAgLTI1MDAsMTEgKzI1MDAsMTEg QEAgc3RhdGljIGludCBzbXU3X3RoZXJtYWxfcGFyYW1ldGVyX2luaXQoc3RydWN0IHBwX2h3bWdy ICpod21ncikKPiAgfQo+Cj4gIC8qKgo+IC0gKiBDaGFuZ2UgdmlydHVhbCBsZWFrYWdlIHZvbHRh Z2UgdG8gYWN0dWFsIHZhbHVlLgo+ICsgKiBzbXU3X3BhdGNoX3BwdF92MF93aXRoX3ZkZF9sZWFr YWdlIC0gQ2hhbmdlIHZpcnR1YWwgbGVha2FnZSB2b2x0YWdlIHRvIGFjdHVhbCB2YWx1ZS4KPiAg ICoKPiAtICogQHBhcmFtICAgICBod21nciAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBo YXJkd2FyZSBtYW5hZ2VyLgo+IC0gKiBAcGFyYW0gICAgIHBvaW50ZXIgdG8gY2hhbmdpbmcgdm9s dGFnZQo+IC0gKiBAcGFyYW0gICAgIHBvaW50ZXIgdG8gbGVha2FnZSB0YWJsZQo+ICsgKiBAaHdt Z3I6ICB0aGUgYWRkcmVzcyBvZiB0aGUgcG93ZXJwbGF5IGhhcmR3YXJlIG1hbmFnZXIuCj4gKyAq IEB2b2x0YWdlOiBwb2ludGVyIHRvIGNoYW5naW5nIHZvbHRhZ2UKPiArICogQGxlYWthZ2VfdGFi bGU6IHBvaW50ZXIgdG8gbGVha2FnZSB0YWJsZQo+ICAgKi8KPiAgc3RhdGljIHZvaWQgc211N19w YXRjaF9wcHRfdjBfd2l0aF92ZGRfbGVha2FnZShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAo+ICAg ICAgICAgICAgICAgICB1aW50MzJfdCAqdm9sdGFnZSwgc3RydWN0IHNtdTdfbGVha2FnZV92b2x0 YWdlICpsZWFrYWdlX3RhYmxlKQo+IEBAIC00NDQwLDExICs0NDQwLDExIEBAIHNtdTdfbm90aWZ5 X3NtY19kaXNwbGF5X2NvbmZpZ19hZnRlcl9wc19hZGp1c3RtZW50KHN0cnVjdCBwcF9od21nciAq aHdtZ3IpCj4gIH0KPgo+ICAvKioKPiAtKiBQcm9ncmFtcyB0aGUgZGlzcGxheSBnYXAKPiAtKgo+ IC0qIEBwYXJhbSAgICBod21nciAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2Fy ZSBtYW5hZ2VyLgo+IC0qIEByZXR1cm4gICBhbHdheXMgT0sKPiAtKi8KPiArICogc211N19wcm9n cmFtX2Rpc3BsYXlfZ2FwIC0gUHJvZ3JhbXMgdGhlIGRpc3BsYXkgZ2FwCj4gKyAqCj4gKyAqIEBo d21ncjogIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFyZHdhcmUgbWFuYWdlci4KPiAr ICogUmV0dXJuOiAgIGFsd2F5cyBPSwo+ICsgKi8KPiAgc3RhdGljIGludCBzbXU3X3Byb2dyYW1f ZGlzcGxheV9nYXAoc3RydWN0IHBwX2h3bWdyICpod21ncikKPiAgewo+ICAgICAgICAgc3RydWN0 IHNtdTdfaHdtZ3IgKmRhdGEgPSAoc3RydWN0IHNtdTdfaHdtZ3IgKikoaHdtZ3ItPmJhY2tlbmQp Owo+IEBAIC00NDk4LDEyICs0NDk4LDEyIEBAIHN0YXRpYyBpbnQgc211N19kaXNwbGF5X2NvbmZp Z3VyYXRpb25fY2hhbmdlZF90YXNrKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCj4gIH0KPgo+ICAv KioKPiAtKiAgU2V0IG1heGltdW0gdGFyZ2V0IG9wZXJhdGluZyBmYW4gb3V0cHV0IFJQTQo+IC0q Cj4gLSogQHBhcmFtICAgIGh3bWdyOiAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJk d2FyZSBtYW5hZ2VyLgo+IC0qIEBwYXJhbSAgICB1c01heEZhblJwbTogIG1heCBvcGVyYXRpbmcg ZmFuIFJQTSB2YWx1ZS4KPiAtKiBAcmV0dXJuICAgVGhlIHJlc3BvbnNlIHRoYXQgY2FtZSBmcm9t IHRoZSBTTUMuCj4gLSovCj4gKyAqIHNtdTdfc2V0X21heF9mYW5fcnBtX291dHB1dCAtIFNldCBt YXhpbXVtIHRhcmdldCBvcGVyYXRpbmcgZmFuIG91dHB1dCBSUE0KPiArICoKPiArICogQGh3bWdy OiAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+ICsgKiBA dXNNYXhGYW5ScG06ICBtYXggb3BlcmF0aW5nIGZhbiBSUE0gdmFsdWUuCj4gKyAqIFJldHVybjog ICBUaGUgcmVzcG9uc2UgdGhhdCBjYW1lIGZyb20gdGhlIFNNQy4KPiArICovCj4gIHN0YXRpYyBp bnQgc211N19zZXRfbWF4X2Zhbl9ycG1fb3V0cHV0KHN0cnVjdCBwcF9od21nciAqaHdtZ3IsIHVp bnQxNl90IHVzX21heF9mYW5fcnBtKQo+ICB7Cj4gICAgICAgICBod21nci0+dGhlcm1hbF9jb250 cm9sbGVyLgo+IEBAIC00Njk4LDEwICs0Njk4LDEwIEBAIHN0YXRpYyBpbnQgc211N19yZWFkX2Ns b2NrX3JlZ2lzdGVycyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICB9Cj4KPiAgLyoqCj4gLSAq IEZpbmQgb3V0IGlmIG1lbW9yeSBpcyBHRERSNS4KPiArICogc211N19nZXRfbWVtb3J5X3R5cGUg LSBGaW5kIG91dCBpZiBtZW1vcnkgaXMgR0REUjUuCj4gICAqCj4gLSAqIEBwYXJhbSAgICBod21n ciAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+IC0gKiBA cmV0dXJuICAgYWx3YXlzIDAKPiArICogQGh3bWdyOiAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2Vy cGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+ICsgKiBSZXR1cm46ICAgYWx3YXlzIDAKPiAgICovCj4g IHN0YXRpYyBpbnQgc211N19nZXRfbWVtb3J5X3R5cGUoc3RydWN0IHBwX2h3bWdyICpod21ncikK PiAgewo+IEBAIC00NzE0LDEwICs0NzE0LDEwIEBAIHN0YXRpYyBpbnQgc211N19nZXRfbWVtb3J5 X3R5cGUoc3RydWN0IHBwX2h3bWdyICpod21ncikKPiAgfQo+Cj4gIC8qKgo+IC0gKiBFbmFibGVz IER5bmFtaWMgUG93ZXIgTWFuYWdlbWVudCBieSBTTUMKPiArICogc211N19lbmFibGVfYWNwaV9w b3dlcl9tYW5hZ2VtZW50IC0gRW5hYmxlcyBEeW5hbWljIFBvd2VyIE1hbmFnZW1lbnQgYnkgU01D Cj4gICAqCj4gLSAqIEBwYXJhbSAgICBod21nciAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxh eSBoYXJkd2FyZSBtYW5hZ2VyLgo+IC0gKiBAcmV0dXJuICAgYWx3YXlzIDAKPiArICogQGh3bWdy OiAgdGhlIGFkZHJlc3Mgb2YgdGhlIHBvd2VycGxheSBoYXJkd2FyZSBtYW5hZ2VyLgo+ICsgKiBS ZXR1cm46ICAgYWx3YXlzIDAKPiAgICovCj4gIHN0YXRpYyBpbnQgc211N19lbmFibGVfYWNwaV9w b3dlcl9tYW5hZ2VtZW50KHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCj4gIHsKPiBAQCAtNDcyOCwx MCArNDcyOCwxMCBAQCBzdGF0aWMgaW50IHNtdTdfZW5hYmxlX2FjcGlfcG93ZXJfbWFuYWdlbWVu dChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQo+ICB9Cj4KPiAgLyoqCj4gLSAqIEluaXRpYWxpemUg UG93ZXJHYXRpbmcgU3RhdGVzIGZvciBkaWZmZXJlbnQgZW5naW5lcwo+ICsgKiBzbXU3X2luaXRf cG93ZXJfZ2F0ZV9zdGF0ZSAtIEluaXRpYWxpemUgUG93ZXJHYXRpbmcgU3RhdGVzIGZvciBkaWZm ZXJlbnQgZW5naW5lcwo+ICAgKgo+IC0gKiBAcGFyYW0gICAgaHdtZ3IgIHRoZSBhZGRyZXNzIG9m IHRoZSBwb3dlcnBsYXkgaGFyZHdhcmUgbWFuYWdlci4KPiAtICogQHJldHVybiAgIGFsd2F5cyAw Cj4gKyAqIEBod21ncjogIHRoZSBhZGRyZXNzIG9mIHRoZSBwb3dlcnBsYXkgaGFyZHdhcmUgbWFu YWdlci4KPiArICogUmV0dXJuOiAgIGFsd2F5cyAwCj4gICAqLwo+ICBzdGF0aWMgaW50IHNtdTdf aW5pdF9wb3dlcl9nYXRlX3N0YXRlKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCj4gIHsKPiAtLQo+ IDIuMjUuMQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFt ZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=