Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp298880rwb; Tue, 4 Oct 2022 04:21:38 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7xIbVB+mSeBsiMil6MM8209t4qNLIXT2z/4V9zYb5EuHe6P4N+PwG4B/2iu87Aad2zcVYk X-Received: by 2002:a17:907:2cf3:b0:77d:89da:499c with SMTP id hz19-20020a1709072cf300b0077d89da499cmr18123404ejc.694.1664882498086; Tue, 04 Oct 2022 04:21:38 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1664882498; cv=pass; d=google.com; s=arc-20160816; b=aeiZllMGVrlZqGEe+ta1lCc8w9z7/e8QmK7be/F1MIoZjbn8PRBaxylhVx194BNsE7 XsqsZDfIWuykuEoKlsJQrauc+USz+VqGbeXzb+3MIHSRufYeVhOxLUIMdXgqbXTHmTHc iafkaPgR9EmDEVS9hrfgPnYwdAGonQDu5N0S2QIX5xyYlakWuB8rgjXMuBWMplQaT1rC xb9rG//CtpIf37avOBgv4KR4sBJYhip/fTrNan/OnH2Yf7wjuinzFJ3E3EbhgQph7mW7 FbA3fxLBWgjDRIGraYAwPZrTbV3Kexa6V8cZg00QDPoF+8L5a6b+aQWCnftWgBMm3mZ0 6G0w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=RclafjPNZrOz7LgbsDfvYjiIA6GzKjfy+6bszJ1k94w=; b=b+LLARSCtbBJdizWJjKIcDm3hlgshP0fud/2rkdNGovb5QXqQu2CNOstgtRfgwutTo hDoLsaRlrvku2ksjmeSuVr430KUb2bm6vmOo8z8NcYeNxDBBwcukDDHKYqRsSQwImJMq Si6ibttxzeJjm2+YLcclkwfJtdN2a3Wz3WxJWjJ6qDw+OuMXYaPEJhl4hTGV5mZ9aDtS iN0BBXOkaEXKIBlhf8jrNwD8DisCiU5904XTjov9wGK3yO9xdv3clU1hP4uICAFW4P7g gULSVPwmOUS6bgZtw6mPxmtULYtaqTvzYkr2e6+G/1XlT+c/9KLV51tnlYbI0aUnK5wE f4dw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=cCSavNxp; arc=pass (i=1 spf=pass spfdomain=quicinc.com dkim=pass dkdomain=quicinc.com dmarc=pass fromdomain=quicinc.com); spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id sd42-20020a1709076e2a00b007804b5a2c48si10978853ejc.521.2022.10.04.04.21.21; Tue, 04 Oct 2022 04:21:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=cCSavNxp; arc=pass (i=1 spf=pass spfdomain=quicinc.com dkim=pass dkdomain=quicinc.com dmarc=pass fromdomain=quicinc.com); spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229577AbiJDLUc (ORCPT + 60 others); Tue, 4 Oct 2022 07:20:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51020 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229576AbiJDLUa (ORCPT ); Tue, 4 Oct 2022 07:20:30 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0D34C1EADE for ; Tue, 4 Oct 2022 04:20:29 -0700 (PDT) Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 294AAb3D001337; Tue, 4 Oct 2022 11:20:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=qcppdkim1; bh=RclafjPNZrOz7LgbsDfvYjiIA6GzKjfy+6bszJ1k94w=; b=cCSavNxpMNA3ZTKuuKsu0Baol786j8Piu93pcruXUOmgo6x7xhlBZ4to2eaKrkKI/lU+ U1+xYYFAG5NSF7sRm/L1RudpC7Fzy0q7yAJowMguCDYBjdBES0p2e8TNZvYBSfaSSibI Hx6SOfw1iWH+VBzSiUPPrBfFrYtyWYrv5gcYhDw2gZ4JHHyGOE2gppmGX5TWG0ZdsZme zOhs7sbPWqCZxuZzAyFZDVZVFyYolAx1+qRlQYJtAdoghHKnmUImTBB9hQcl3lCuKEiq innw6Z3MlVBRsUA0vWsPgg9337GrN9wNPge2TdhmxjCNEbFvj+I1w7TAgL8MReVI05YR Mw== Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2047.outbound.protection.outlook.com [104.47.66.47]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3k0hxpr6dn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 04 Oct 2022 11:20:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Pggw2AhWCZUjr7Jm3hva8Swkhfvm/0dFPwVI225rbNA9FvKNQzPp5U34tbW27kQDz5DxfGdcrOkhF46dZFMXMLtXFLUFrBYIibnGDlq4qsqmu6p/XLcP3ukb3HiEOogp5jyB6bC3xukAI668wnJ5RZEQ0N1Dw62FVP8yVF6K/Ynsv/UsnpNeIoUihc6NSQbzpRd9j/aTfy7T8dtUn0hFiTzZ2bRBC2rU28ZU7eaU795jGJwnt8QLDfC4cIKYlKLiEsEw5BCmYNoDa+Ub0DLXhnbnB4H7Q/67IMe/sLqHJReksB8kOMmVlbDBLgRadAjJ2vAfoO+u1znyi8owDRRH5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=RclafjPNZrOz7LgbsDfvYjiIA6GzKjfy+6bszJ1k94w=; b=JZJy/KFk4EP04RDoaIPLZnlsFE+ewkQny9GsyvDtfTmiaRcDHA2JBwlGfbxFa6qNgrwF03iz28tmWu5QhOWPtui7f1GToa3dYmANAfSI3OEG4s0SVgD+19+4l2HeolZHQCXduS23EFjFCO40JTYK/QO+GdRpTbdWMt6UyT5KgTGn2ZHKgSXaaXsDbvCmayYi1KWPe0PzIq+1ttTvFLH+O1rqO7KaYOYfA/yjVHUIfBWePTY7zTSYhBtYjoTiNgPS4Z4Ea3I9DguUDcZuL0bTlUMy5oByGExBED/Yxkm3lhWKUauNiwu04r7dXS2bcYHvJKAnTqztkCWyX/LfriTOwQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=quicinc.com; dmarc=pass action=none header.from=quicinc.com; dkim=pass header.d=quicinc.com; arc=none Received: from CH0PR02MB8212.namprd02.prod.outlook.com (2603:10b6:610:eb::20) by BY5PR02MB6626.namprd02.prod.outlook.com (2603:10b6:a03:20e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.28; Tue, 4 Oct 2022 11:20:20 +0000 Received: from CH0PR02MB8212.namprd02.prod.outlook.com ([fe80::a2aa:7ce8:a34:fdb1]) by CH0PR02MB8212.namprd02.prod.outlook.com ([fe80::a2aa:7ce8:a34:fdb1%6]) with mapi id 15.20.5676.031; Tue, 4 Oct 2022 11:20:19 +0000 From: "Karthikeyan Periyasamy (QUIC)" To: "Jeff Johnson (QUIC)" , Kalle Valo , "linux-wireless@vger.kernel.org" CC: "ath12k@lists.infradead.org" Subject: RE: [PATCH 24/50] wifi: ath12k: add hal_tx.c Thread-Topic: [PATCH 24/50] wifi: ath12k: add hal_tx.c Thread-Index: AQHYrmYa8kklSHWo402I5xBYr4DwZ6208QOAgEl3kGA= Date: Tue, 4 Oct 2022 11:20:19 +0000 Message-ID: References: <20220812161003.27279-1-kvalo@kernel.org> <20220812161003.27279-25-kvalo@kernel.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH0PR02MB8212:EE_|BY5PR02MB6626:EE_ x-ms-office365-filtering-correlation-id: ebeab960-116c-4fb0-dd7c-08daa5fa6bfd x-ld-processed: 98e9ba89-e1a1-4e38-9007-8bdabc25de1d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: CDi8GOPUct/ehRYVDxmamG0wGSNqWo3j6GM4dKdomM76DLDIBAYdFFz1m1YuLsXbri8eqcT3ZAwt8M0IQnTCl2rw23Rln+TVRkOiS2SyN57nByiRK7/355OpiehsHcXkQ5wEoDVKJQPCH/Zk/TCoH/nwimyqLBpN1yhfRZI+EuaBrgQih49lpuZZd8SoKertDAm2HHfWW3IOjEagV2lgy5qxneix8wTwxnVWL2uXINFQwh6et5UUI53NBbHygxSF+MQZBwzURQNcNbgleDDLSJB2M46idwvu0piU3I7Kc5+l43zT3xqxN6w5NcJSOrAcdOEst6yRmqx9t8QElS6Df4bnIJclyr2sCHvkRhc9BY8E77z/0ej/IXA2ngy56vX4L+MIXKaxB/wF+a0+BWNwXEdJyUapH2jFS0oxJ+fZc16sd4UJzsj97QjekjKEdbYdyNbL+c3pdRIyN4u+W7oeEvgsH3Ra8hRz0wwNHqtn9JzJUR5sksyM1yzkQwMqvsa5P7+xu7x9ojdlGyRw9gfPUjxHEkRcT13YcP2RKgOr2Rxaq7Q7LH0JuiU9PwqoFtroYrHmoes8rttXNDw55XKkATIh6qDsVCQ1XCubckzSg50VKN0FdeVf/qbmZSBFwwk0AyGeOvTTvGGRlk55OVtSNnOeEfLTotBX3NxwcQueS9SPBbS+9pEtyWwFaRZFqSRr3HgJRV5oKM6V7Q9zUsmHZ/a9R5ojhBy8ju2tc83zgfILA8THlcE3qa3yj7syP2fwC47wKqAB/Fc33mK8Sf3x0w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR02MB8212.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(39860400002)(396003)(346002)(366004)(136003)(451199015)(122000001)(38100700002)(8936002)(7696005)(9686003)(6506007)(2906002)(186003)(5660300002)(55016003)(52536014)(110136005)(316002)(86362001)(41300700001)(33656002)(71200400001)(53546011)(478600001)(66476007)(26005)(66556008)(8676002)(83380400001)(66946007)(38070700005)(4326008)(76116006)(66446008)(64756008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TE41bTVEM1FuZFJyWi9wbzlOMzF6YUdzUkdCMDkzc052clk4YmdzUDVSQ3Ay?= =?utf-8?B?Q1RzLzN4MEYvazJtM25rV3dhY1dXdTBkbDFVMDRHY0JMcjJ2N1k0ZytTYm9J?= =?utf-8?B?NzIrZ2hpTXhESWdVTDJOOHlpbW1NQjdjSGpKeGh1L3VTc2dSem9ybU0reTlO?= =?utf-8?B?c090QndzeHl5ai8xR013TFZqZlFRK0JIUU5samltc0JHNEdwNTdmbWpveXBQ?= =?utf-8?B?aTU1TFh5bmxOZURjUFhLMEpFRGlvV3I4b2c5d1E3QUI2Y2M4ck5xZEluMlQr?= =?utf-8?B?NWdVY1I4bUMrd1VJVkpacEg0QVR6LzVYYTAzS3dRbDd0SXZVR3ZJUHVYMkVX?= =?utf-8?B?RHVVRFIwTkQ0ZGNsYzlZTEc3KzhDa3RBbVhBVGJObEFlU0M1YiswR1UzcWVG?= =?utf-8?B?Y0ZNYlNMaVpRQUdmT0JPbHhQOGNFNEZ5Y3FRcnZESnlnTGJ2OVNNbDMxR2dv?= =?utf-8?B?RlpHd2c5V0ROck96UDlCaUM0L1JLZ1FyV2k3SGZMQ3hHTHBEUWF4d0tTOFhh?= =?utf-8?B?d0V4bzhFajFMMWZrYmUrY0hKcHUxMXJkbjd3ZXg0V2VaUW9CcE9sZzBUL2VJ?= =?utf-8?B?U01nZ3pIWlh3M1pUaXg3OHpZUDhuQUx0dTR2MXBLQ3FIRk1sQitPVnpaRWh0?= =?utf-8?B?cGE0SWpreXF4Yjh0U0xrdkR4SDlQT0lvV2FhS1NTd2E4ell6TW1FYjFuY3N6?= =?utf-8?B?NG0xODlCWjU4WTR4cjdFTFBNYkxLNVViS0MwRFl1alFiYlZYeWs2TUJYVFp3?= =?utf-8?B?MER3bDJDdnZJNjZ6VVZMcFB1SklDWG03QVdxbjVrVHliMFZDalJLbmZHYmNn?= =?utf-8?B?VHpvdXVYZ3hhVUZXVDVQa1h6V0NKazVTWU03cWI1WWt3SC9qeDg3Z0lhZ05s?= =?utf-8?B?UVZNdHNMTDBETlZJQmVzUUJpZXlGQlY3OXo1a1ZRTkZIZWpRc2c0ODhzZG92?= =?utf-8?B?UDg3M3JjSE9hK1pnRExQREhydXhzd2JGNEhaU0lBVUhvNXlTc2hRZmIrQUJn?= =?utf-8?B?Mmhsc1BhWlFqWmlrR3V3VEdQMXcvRS9YbkE1bUlsWHZaUHpOWmtNK2t0UDhE?= =?utf-8?B?c2Q0SnRmWjNFa2UwRG91WTFCb2ZkUHhCWHJPQnVkSWQzc0cxM2FucEI5ZkFv?= =?utf-8?B?OC9qK0dUbXJPN1NCVDNlajJEQUZ1MDZIYXVCT1I3S1pBSDh2QWpzd2xsWEpY?= =?utf-8?B?c1R6UTl2SEtmdWFtUENrRC9yTmRScThUU0sraGphcC9YWTRnekNZZVVkL29L?= =?utf-8?B?c0xlZ2xVTFd0NHNUVkJ2RE5SWkc2c0M5K3ZoYWRLL0VPR2kwNUF3V3FuMFQ5?= =?utf-8?B?L1c0Z0MwWUFJU3VJdEY3RXM5Z211OTdqWXRLN3NWeXFTQ1NLR0ZxdVJiWnlC?= =?utf-8?B?NUJPQ2pxMlZGWEFvckQ2cndHOC9lZlVOYnphd1l5cEJVTHJZeUZRSkNtN2ox?= =?utf-8?B?SUJtc00rVDlvYzczMjM4bVRZNUFBeVVEV3o2SEl0S0duU2xlVSszcUhJYUp4?= =?utf-8?B?d1o5bTRUYzdaNWJDWlBIcEtFcXI0M09heHlJMWNZQnlpMTdpazdtSUVWazQ4?= =?utf-8?B?UGliZzJJakJIamNZaHI1U3ZOaXhFOFZrQ0pXYVpCME5HeW1RSnhnUnlyUFdl?= =?utf-8?B?VWhZbUk3QzRLbnM1bkF6ODFiQkxsai9EUDFFN2FwRG54cTlsWGttUktES2tT?= =?utf-8?B?WHF3cnZ5SUNESUhSSEYveWwxbkttVXFvT2hGSVg5Zk1zcWx1QTErVjV5M1Av?= =?utf-8?B?cjRpc3UvK2JHOVQ3TTdZWExNSm1aeW4wcUZZcW1jUEY4VUNKaDlBWCtzdTZ4?= =?utf-8?B?ZU45WjlwSjlCYlBJbUk3L3ZDejhkVGQ2dUlzZUpLT3BBY1JENndDeTFZckFW?= =?utf-8?B?MnU1UmZpZkZzQUtOcmVHeGhNZDFnb3FBUm5PQVZtbFk0Um1COVBjUGZtRTlI?= =?utf-8?B?aVNHUHZsb29MdnNwSU1XMloycHVMMWtMM0QvekZNYVFIbThlZFFCSXJOQmdE?= =?utf-8?B?QTRTcjdVVDlLUUE3NDcvV3pCd3BrcG5ZNHFjcEVIMVg5cnRXVWJSYXprb1lP?= =?utf-8?B?L3BmanVZMDNIS3I3T3pjaXdUWklhSTZqdGZCWjJZQTlVV3JIZTF5b0dDbFhJ?= =?utf-8?Q?6TSQ+ulemEfjFHbw3gbcrohdh?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: quicinc.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH0PR02MB8212.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ebeab960-116c-4fb0-dd7c-08daa5fa6bfd X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Oct 2022 11:20:19.8240 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 98e9ba89-e1a1-4e38-9007-8bdabc25de1d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: MN8dF4E5H8lRJajOq/tXcAO+97Khxh1UfSx0DFDJUw4QMAU5BhhwuKVpRpJ0sCgQhNlBcgCaokj8qxk9rbHTSj3y4hMbPSPxQI24R8PBjS4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR02MB6626 X-Proofpoint-GUID: LOWjrH6wdbIlYHZ7ldOSX-zgIn8cRmkw X-Proofpoint-ORIG-GUID: LOWjrH6wdbIlYHZ7ldOSX-zgIn8cRmkw X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-04_04,2022-09-29_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 spamscore=0 mlxlogscore=813 lowpriorityscore=0 mlxscore=0 malwarescore=0 suspectscore=0 bulkscore=0 clxscore=1015 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210040073 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEplZmYgSm9obnNvbiA8cXVp Y19qam9obnNvbkBxdWljaW5jLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIEF1Z3VzdCAxOCwgMjAy MiAxMDo1MSBQTQ0KPiBUbzogS2FsbGUgVmFsbyA8a3ZhbG9Aa2VybmVsLm9yZz47IGxpbnV4LXdp cmVsZXNzQHZnZXIua2VybmVsLm9yZw0KPiBDYzogYXRoMTJrQGxpc3RzLmluZnJhZGVhZC5vcmcN Cj4gU3ViamVjdDogUmU6IFtQQVRDSCAyNC81MF0gd2lmaTogYXRoMTJrOiBhZGQgaGFsX3R4LmMN Cj4gDQo+IFdBUk5JTkc6IFRoaXMgZW1haWwgb3JpZ2luYXRlZCBmcm9tIG91dHNpZGUgb2YgUXVh bGNvbW0uIFBsZWFzZSBiZSB3YXJ5DQo+IG9mIGFueSBsaW5rcyBvciBhdHRhY2htZW50cywgYW5k IGRvIG5vdCBlbmFibGUgbWFjcm9zLg0KPiANCj4gT24gOC8xMi8yMDIyIDk6MDkgQU0sIEthbGxl IFZhbG8gd3JvdGU6DQo+ID4gRnJvbTogS2FsbGUgVmFsbyA8cXVpY19rdmFsb0BxdWljaW5jLmNv bT4NCj4gPg0KPiA+IChQYXRjaGVzIHNwbGl0IGludG8gb25lIHBhdGNoIHBlciBmaWxlIGZvciBl YXNpZXIgcmV2aWV3LCBidXQgdGhlDQo+ID4gZmluYWwgY29tbWl0IHdpbGwgYmUgb25lIGJpZyBw YXRjaC4gU2VlIHRoZSBjb3ZlciBsZXR0ZXIgZm9yIG1vcmUNCj4gPiBpbmZvLikNCj4gPg0KPiA+ IFNpZ25lZC1vZmYtYnk6IEthbGxlIFZhbG8gPHF1aWNfa3ZhbG9AcXVpY2luYy5jb20+DQo+ID4g LS0tDQo+ID4gICBkcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoMTJrL2hhbF90eC5jIHwgMTM3 DQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgIDEgZmlsZSBjaGFuZ2Vk LCAxMzcgaW5zZXJ0aW9ucygrKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dp cmVsZXNzL2F0aC9hdGgxMmsvaGFsX3R4LmMNCj4gPiBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0 aC9hdGgxMmsvaGFsX3R4LmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAw MDAwMDAwMDAwMC4uYWM2ZjgzZWMwNmMyDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2Ry aXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGgxMmsvaGFsX3R4LmMNCj4gPiBAQCAtMCwwICsxLDEz NyBAQA0KPiA+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlLUNsZWFy DQo+ID4gKy8qDQo+ID4gKyAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIxIFRoZSBMaW51eCBGb3Vu ZGF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiA+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjEt MjAyMiBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBBbGwgcmlnaHRzDQo+IHJlc2Vy dmVkLg0KPiA+ICsgKi8NCj4gPiArDQo+ID4gKyNpbmNsdWRlICJoYWxfZGVzYy5oIg0KPiA+ICsj aW5jbHVkZSAiaGFsLmgiDQo+ID4gKyNpbmNsdWRlICJoYWxfdHguaCINCj4gPiArI2luY2x1ZGUg ImhpZi5oIg0KPiA+ICsNCj4gPiArI2RlZmluZSBEU0NQX1RJRF9NQVBfVEJMX0VOVFJZX1NJWkUg NjQNCj4gPiArDQo+ID4gKy8qIGRzY3BfdGlkX21hcCAtIERlZmF1bHQgRFNDUC1USUQgbWFwcGlu Zw0KPiA+ICsgKg0KPiA+ICsgKiBEU0NQICAgICAgICBUSUQNCj4gPiArICogMDAwMDAwICAgICAg MA0KPiANCj4gdGhpcyBjb21tZW50IGNvbmZ1c2VkIG1lIG1vcmUgdGhhbiBpdCBoZWxwZWQgbWUg SU1PIHRoaXMgd291bGQgYmUgYQ0KPiBtdWNoIGJldHRlciBjb21tZW50IGxpa2U6DQo+ICAgKiAw MDB4eHggICAgICAwDQo+IA0KDQpTdXJlIHdpbGwgYWRkcmVzcyB0aGlzIGNvbW1lbnQgaW4gdGhl IG5leHQgdmVyc2lvbiBvZiB0aGUgcGF0Y2gNCg0KPiA+ICsgKiAwMDEwMDAgICAgICAxDQo+ID4g KyAqIDAxMDAwMCAgICAgIDINCj4gPiArICogMDExMDAwICAgICAgMw0KPiA+ICsgKiAxMDAwMDAg ICAgICA0DQo+ID4gKyAqIDEwMTAwMCAgICAgIDUNCj4gPiArICogMTEwMDAwICAgICAgNg0KPiA+ ICsgKiAxMTEwMDAgICAgICA3DQo+ID4gKyAqLw0KPiA+ICtzdGF0aWMgY29uc3QgdTggZHNjcF90 aWRfbWFwW0RTQ1BfVElEX01BUF9UQkxfRU5UUllfU0laRV0gPSB7DQo+ID4gKyAgICAgMCwgMCwg MCwgMCwgMCwgMCwgMCwgMCwNCj4gPiArICAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLA0KPiA+ ICsgICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsDQo+ID4gKyAgICAgMywgMywgMywgMywgMywg MywgMywgMywNCj4gPiArICAgICA0LCA0LCA0LCA0LCA0LCA0LCA0LCA0LA0KPiA+ICsgICAgIDUs IDUsIDUsIDUsIDUsIDUsIDUsIDUsDQo+ID4gKyAgICAgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwN Cj4gPiArICAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LA0KPiA+ICt9Ow0KPiANCj4gaXMgYSBs b29rdXAgdGFibGUgImJldHRlciIgdGhhbiBhIHNpbXBsZToNCj4gc3RhdGljIGlubGluZSB1OCBk c2NwMnRpZCh1OCBkc2NwKQ0KPiB7DQo+ICAgICAgICAgcmV0dXJuIGRzY3AgPj4gMzsNCj4gfQ0K PiANCg0KU3VyZSB3aWxsIGFkZHJlc3MgdGhpcyBjb21tZW50IGluIHRoZSBuZXh0IHZlcnNpb24g b2YgdGhlIHBhdGNoDQoNCj4gPiArDQo+ID4gK3ZvaWQgYXRoMTJrX2hhbF90eF9jbWRfZGVzY19z ZXR1cChzdHJ1Y3QgYXRoMTJrX2Jhc2UgKmFiLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IGhhbF90Y2xfZGF0YV9jbWQgKnRjbF9jbWQsDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaGFsX3R4X2luZm8gKnRpKSB7DQo+ID4gKyAg ICAgdGNsX2NtZC0+YnVmX2FkZHJfaW5mby5pbmZvMCA9DQo+ID4gKyAgICAgICAgICAgICBsZTMy X2VuY29kZV9iaXRzKHRpLT5wYWRkciwgQlVGRkVSX0FERFJfSU5GTzBfQUREUik7DQo+ID4gKyAg ICAgdGNsX2NtZC0+YnVmX2FkZHJfaW5mby5pbmZvMSA9DQo+ID4gKyAgICAgICAgICAgICBsZTMy X2VuY29kZV9iaXRzKCgodWludDY0X3QpdGktPnBhZGRyID4+DQo+IEhBTF9BRERSX01TQl9SRUdf U0hJRlQpLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCVUZGRVJfQUREUl9J TkZPMV9BRERSKTsNCj4gPiArICAgICB0Y2xfY21kLT5idWZfYWRkcl9pbmZvLmluZm8xIHw9DQo+ ID4gKyAgICAgICAgICAgICBsZTMyX2VuY29kZV9iaXRzKCh0aS0+cmJtX2lkKSwNCj4gQlVGRkVS X0FERFJfSU5GTzFfUkVUX0JVRl9NR1IpIHwNCj4gPiArICAgICAgICAgICAgIGxlMzJfZW5jb2Rl X2JpdHModGktPmRlc2NfaWQsDQo+ID4gK0JVRkZFUl9BRERSX0lORk8xX1NXX0NPT0tJRSk7DQo+ ID4gKw0KPiA+ICsgICAgIHRjbF9jbWQtPmluZm8wID0NCj4gPiArICAgICAgICAgICAgIGxlMzJf ZW5jb2RlX2JpdHModGktPnR5cGUsDQo+IEhBTF9UQ0xfREFUQV9DTURfSU5GTzBfREVTQ19UWVBF KSB8DQo+ID4gKyAgICAgICAgICAgICBsZTMyX2VuY29kZV9iaXRzKHRpLT5iYW5rX2lkLA0KPiA+ ICsgSEFMX1RDTF9EQVRBX0NNRF9JTkZPMF9CQU5LX0lEKTsNCj4gPiArDQo+ID4gKyAgICAgdGNs X2NtZC0+aW5mbzEgPQ0KPiA+ICsgICAgICAgICAgICAgbGUzMl9lbmNvZGVfYml0cyh0aS0+bWV0 YV9kYXRhX2ZsYWdzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVENM X0RBVEFfQ01EX0lORk8xX0NNRF9OVU0pOw0KPiA+ICsNCj4gPiArICAgICB0Y2xfY21kLT5pbmZv MiA9IGNwdV90b19sZTMyKHRpLT5mbGFnczApIHwNCj4gPiArICAgICAgICAgICAgIGxlMzJfZW5j b2RlX2JpdHModGktPmRhdGFfbGVuLA0KPiBIQUxfVENMX0RBVEFfQ01EX0lORk8yX0RBVEFfTEVO KSB8DQo+ID4gKyAgICAgICAgICAgICBsZTMyX2VuY29kZV9iaXRzKHRpLT5wa3Rfb2Zmc2V0LA0K PiA+ICsgSEFMX1RDTF9EQVRBX0NNRF9JTkZPMl9QS1RfT0ZGU0VUKTsNCj4gPiArDQo+ID4gKyAg ICAgdGNsX2NtZC0+aW5mbzMgPSBjcHVfdG9fbGUzMih0aS0+ZmxhZ3MxKSB8DQo+ID4gKyAgICAg ICAgICAgICBsZTMyX2VuY29kZV9iaXRzKHRpLT50aWQsIEhBTF9UQ0xfREFUQV9DTURfSU5GTzNf VElEKSB8DQo+ID4gKyAgICAgICAgICAgICBsZTMyX2VuY29kZV9iaXRzKHRpLT5sbWFjX2lkLA0K PiBIQUxfVENMX0RBVEFfQ01EX0lORk8zX1BNQUNfSUQpIHwNCj4gPiArICAgICAgICAgICAgIGxl MzJfZW5jb2RlX2JpdHModGktPnZkZXZfaWQsDQo+ID4gKyBIQUxfVENMX0RBVEFfQ01EX0lORk8z X1ZERVZfSUQpOw0KPiA+ICsNCj4gPiArICAgICB0Y2xfY21kLT5pbmZvNCA9IGxlMzJfZW5jb2Rl X2JpdHModGktPmJzc19hc3RfaWR4LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBIQUxfVENMX0RBVEFfQ01EX0lORk80X1NFQVJDSF9JTkRFWCkgfA0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgbGUzMl9lbmNvZGVfYml0cyh0aS0+YnNzX2FzdF9oYXNoLA0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVENMX0RBVEFf Q01EX0lORk80X0NBQ0hFX1NFVF9OVU0pOw0KPiA+ICsgICAgIHRjbF9jbWQtPmluZm81ID0gMDsN Cj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZCBhdGgxMmtfaGFsX3R4X3NldF9kc2NwX3RpZF9tYXAo c3RydWN0IGF0aDEya19iYXNlICphYiwgaW50IGlkKSB7DQo+ID4gKyAgICAgdTMyIGN0cmxfcmVn X3ZhbDsNCj4gPiArICAgICB1MzIgYWRkcjsNCj4gPiArICAgICB1OCBod19tYXBfdmFsW0hBTF9E U0NQX1RJRF9UQkxfU0laRV07DQo+ID4gKyAgICAgaW50IGk7DQo+ID4gKyAgICAgdTMyIHZhbHVl Ow0KPiA+ICsgICAgIGludCBjbnQgPSAwOw0KPiA+ICsNCj4gPiArICAgICBjdHJsX3JlZ192YWwg PSBhdGgxMmtfaGlmX3JlYWQzMihhYiwNCj4gSEFMX1NFUV9XQ1NTX1VNQUNfVENMX1JFRyArDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1RDTDFfUklOR19D TU5fQ1RSTF9SRUcpOw0KPiA+ICsgICAgIC8qIEVuYWJsZSByZWFkL3dyaXRlIGFjY2VzcyAqLw0K PiA+ICsgICAgIGN0cmxfcmVnX3ZhbCB8PQ0KPiBIQUxfVENMMV9SSU5HX0NNTl9DVFJMX0RTQ1Bf VElEX01BUF9QUk9HX0VOOw0KPiA+ICsgICAgIGF0aDEya19oaWZfd3JpdGUzMihhYiwgSEFMX1NF UV9XQ1NTX1VNQUNfVENMX1JFRyArDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9U Q0wxX1JJTkdfQ01OX0NUUkxfUkVHLCBjdHJsX3JlZ192YWwpOw0KPiA+ICsNCj4gPiArICAgICBh ZGRyID0gSEFMX1NFUV9XQ1NTX1VNQUNfVENMX1JFRyArDQo+IEhBTF9UQ0wxX1JJTkdfRFNDUF9U SURfTUFQICsNCj4gPiArICAgICAgICAgICAgKDQgKiBpZCAqIChIQUxfRFNDUF9USURfVEJMX1NJ WkUgLyA0KSk7DQo+ID4gKw0KPiA+ICsgICAgIC8qIENvbmZpZ3VyZSBlYWNoIERTQ1AtVElEIG1h cHBpbmcgaW4gdGhyZWUgYml0cyB0aGVyZSBieSBjb25maWd1cmUNCj4gPiArICAgICAgKiB0aHJl ZSBieXRlcyBpbiBhbiBpdGVyYXRpb24uDQo+ID4gKyAgICAgICovDQo+ID4gKyAgICAgZm9yIChp ID0gMDsgaSA8IERTQ1BfVElEX01BUF9UQkxfRU5UUllfU0laRTsgaSArPSA4KSB7DQo+ID4gKyAg ICAgICAgICAgICB2YWx1ZSA9IHUzMl9lbmNvZGVfYml0cyhkc2NwX3RpZF9tYXBbaV0sDQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVENMMV9SSU5HX0ZJRUxE X0RTQ1BfVElEX01BUDApIHwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgdTMyX2VuY29kZV9i aXRzKGRzY3BfdGlkX21hcFtpICsgMV0sDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBIQUxfVENMMV9SSU5HX0ZJRUxEX0RTQ1BfVElEX01BUDEpIHwNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgdTMyX2VuY29kZV9iaXRzKGRzY3BfdGlkX21hcFtpICsgMl0sDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVENMMV9SSU5HX0ZJ RUxEX0RTQ1BfVElEX01BUDIpIHwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgdTMyX2VuY29k ZV9iaXRzKGRzY3BfdGlkX21hcFtpICsgM10sDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBIQUxfVENMMV9SSU5HX0ZJRUxEX0RTQ1BfVElEX01BUDMpIHwNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgdTMyX2VuY29kZV9iaXRzKGRzY3BfdGlkX21hcFtpICsgNF0s DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVENMMV9SSU5H X0ZJRUxEX0RTQ1BfVElEX01BUDQpIHwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgdTMyX2Vu Y29kZV9iaXRzKGRzY3BfdGlkX21hcFtpICsgNV0sDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBIQUxfVENMMV9SSU5HX0ZJRUxEX0RTQ1BfVElEX01BUDUpIHwNCj4g PiArICAgICAgICAgICAgICAgICAgICAgdTMyX2VuY29kZV9iaXRzKGRzY3BfdGlkX21hcFtpICsg Nl0sDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVENMMV9S SU5HX0ZJRUxEX0RTQ1BfVElEX01BUDYpIHwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgdTMy X2VuY29kZV9iaXRzKGRzY3BfdGlkX21hcFtpICsgN10sDQo+ID4gKw0KPiA+ICsgSEFMX1RDTDFf UklOR19GSUVMRF9EU0NQX1RJRF9NQVA3KTsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICBtZW1j cHkoJmh3X21hcF92YWxbY250XSwgJnZhbHVlLCAzKTsNCj4gPiArICAgICAgICAgICAgIGNudCAr PSAzOw0KPiA+ICsgICAgIH0NCj4gDQo+IHNpbmNlIGV2ZXJ5dGhpbmcgdXNlZCB0byBjcmVhdGUg aHdfbWFwX3ZhbFtdIGlzIGludmFyaWFudCwgd2h5IG5vdCBqdXN0IGhhdmUNCj4gYSBzdGF0aWMg Y29uc3QgYXJyYXkgb2YgdGhlIGZpbmFsIHZhbHVlcyBhbmQgZ2V0IHJpZCBvZiB0aGUgbG9vcCBh Ym92ZT8NCj4gDQoNCkluc3RlYWQgb2YgaGF2ZSBmaW5hbCB2YWx1ZXMgc3RhdGljIHdlIGNhbiBo YXZlIHRoZSBEU0NQIChEaWZmZXJlbnRpYXRlZCBTZXJ2aWNlcyBGaWVsZCBDb2RlcG9pbnRzKSB0 byBUSUQgbWFwcGluZyBhcyBzdGF0aWMuDQpBbmQgdGhlIGZpbmFsIHZhbHVlIGlzIGRlcml2YXRl IGJhc2VkIG9uIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb24sIHNvIGl0cyBub3Qgc2NhbGFibGUgaW4g ZnV0dXJlIGlmIHNvbWUgY2hhbmdlIG5lZWRzLg0KDQo+ID4gKw0KPiA+ICsgICAgIGZvciAoaSA9 IDA7IGkgPCBIQUxfRFNDUF9USURfVEJMX1NJWkU7IGkgKz0gNCkgew0KPiA+ICsgICAgICAgICAg ICAgYXRoMTJrX2hpZl93cml0ZTMyKGFiLCBhZGRyLCAqKHUzMiAqKSZod19tYXBfdmFsW2ldKTsN Cj4gPiArICAgICAgICAgICAgIGFkZHIgKz0gNDsNCj4gPiArICAgICB9DQo+ID4gKw0KPiA+ICsg ICAgIC8qIERpc2FibGUgcmVhZC93cml0ZSBhY2Nlc3MgKi8NCj4gPiArICAgICBjdHJsX3JlZ192 YWwgPSBhdGgxMmtfaGlmX3JlYWQzMihhYiwNCj4gSEFMX1NFUV9XQ1NTX1VNQUNfVENMX1JFRyAr DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1RDTDFfUklO R19DTU5fQ1RSTF9SRUcpOw0KPiA+ICsgICAgIGN0cmxfcmVnX3ZhbCAmPQ0KPiB+SEFMX1RDTDFf UklOR19DTU5fQ1RSTF9EU0NQX1RJRF9NQVBfUFJPR19FTjsNCj4gPiArICAgICBhdGgxMmtfaGlm X3dyaXRlMzIoYWIsIEhBTF9TRVFfV0NTU19VTUFDX1RDTF9SRUcgKw0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICBIQUxfVENMMV9SSU5HX0NNTl9DVFJMX1JFRywNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgY3RybF9yZWdfdmFsKTsgfQ0KPiA+ICsNCj4gPiArdm9pZCBhdGgxMmtf aGFsX3R4X2NvbmZpZ3VyZV9iYW5rX3JlZ2lzdGVyKHN0cnVjdCBhdGgxMmtfYmFzZSAqYWIsIHUz Mg0KPiBiYW5rX2NvbmZpZywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHU4IGJhbmtfaWQpIHsNCj4gPiArICAgICBhdGgxMmtfaGlmX3dyaXRlMzIoYWIsIEhB TF9UQ0xfU1dfQ09ORklHX0JBTktfQUREUiArIDQgKg0KPiBiYW5rX2lkLA0KPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICBiYW5rX2NvbmZpZyk7IH0NCj4gPg0KDQpUaGFua3MNCkthcnRoaWtl eWFuDQo=