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=-13.7 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT 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 43F3DC433DB for ; Wed, 17 Feb 2021 11:09:04 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 D1A8B64D73 for ; Wed, 17 Feb 2021 11:09:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D1A8B64D73 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=A2aH8uV33ZkBqmnzZwsJPor61bUHJDeXEuAc+vosb8Q=; b=qZIFwFrQLUAAw909j5R60pnoF 4aKgsrpIFd/R7jbzXRlDB41GjNBahn9UX/gq0qslgRWFEfLdCv4/n/0UVHJoHdWCH2ACDM8TFd8jV w4WeFQgEIGvKZj90KO0h11DxTyHRbiWJtywzCOITjKZJOSNmiwAa0sW49Z7hxnaS27iZAeC85Jgvu OUBiczFnvevPS6C8bfDl9qSqkNE4vRbV7lRWqLD4iblvcH+JXYXbqrZzh/BiunFkKt+iQxTpHaJ4U apN82La0gZfwFCoHCDZtd9azBVlm7qYELRFsS51AqxiHl/cYP1yVUdfk3d6TbCQ3zTgJZsmx2qqPx 7ENFSHkLg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCKg5-0007wM-2C; Wed, 17 Feb 2021 11:07:29 +0000 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCKft-0007si-Ee for linux-arm-kernel@lists.infradead.org; Wed, 17 Feb 2021 11:07:18 +0000 Received: by mail-wm1-x333.google.com with SMTP id o24so3237361wmh.5 for ; Wed, 17 Feb 2021 03:07:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=cVPq1afpL+Nx1c4ld2fK0O1zMPM373avRcTwFbh6f9A=; b=DLpwgcPJvpyXjVOz5J2+lCjBNHYb8JiW6WMSzqH1F0mfxmC41rBToK9eH8FskVdACa 2izvgeyuyYLtM0trv4A/gFBCFYyPBGjeUYro56HaMm0Djo1dOcIttyJTUdEA+gz4CNQ/ 7qroTVKHptgk89iULLx2mgXkoKABixQupgUu3jgpiBiAM4h4TNT9zzUDOeP6LathOr/D wbQJ9h4mQFzYJ+nXTJmBfYjL/gugeHSj2ysGp8+ri7OrlxLnQxEDqqeXGRMJz7oKhsu+ TwOI3JMlVu2USZI4b7eMamp9wmlW+bhBwbBIo2pbmdi3URehUWaa7t/4ZtG7i7Hu9o9Y 1qjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=cVPq1afpL+Nx1c4ld2fK0O1zMPM373avRcTwFbh6f9A=; b=DWbNuBA4vlTIWm2fHDMwy0P6ejdk13vxqbNR0eAS168juNUJ7ymA8OpA3xVvMSydZR Xbu0v5GVCN8ZfBRkQo0gqdS1u9yJxqs1tQierZ7OPZRKdZd0gBZvU3jc5jEss1J9QBpZ BMvVQlwZrnoS48rjP/7mm/HftJW2P1wLVhBnWEfgJETaH36WXtE5q6dGvVtYWmvnhrLI 9Gg0/plWUFZxmEZD2CJGJH87ePsCpHfExKD68VclHA4hDsbxIZKdWUxSCp1Bgt88AEWp SLiIDdv8B02guPdILiX745QfJsIZaDAehWkhaiEi8TMUz0pLX0G+BXWWL1kVLW37fYEX CcZg== X-Gm-Message-State: AOAM530Ms8s1wUHP+hhRalGsqYB0LktpLaMWYzjq574Lf3ClLDVP3+7Z C7QzgjI5Aq4GcMuAyGTEsQc= X-Google-Smtp-Source: ABdhPJxaFGN9NIiQNq09M/wNJHpqcdsYBQzvntl9MFrwItO+uQTHYkbdV9zUbcc7HTmWK9QMjFLw7Q== X-Received: by 2002:a1c:6308:: with SMTP id x8mr6765384wmb.78.1613560034767; Wed, 17 Feb 2021 03:07:14 -0800 (PST) Received: from poker.lan (static.2-229-210-222.ip198.fastwebnet.it. [2.229.210.222]) by smtp.gmail.com with ESMTPSA id y1sm3594073wrr.41.2021.02.17.03.07.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Feb 2021 03:07:14 -0800 (PST) From: Andrea Merello To: tglx@linutronix.de, daniel.lezcano@linaro.org Subject: [PATCH 1/2] clocksource: arm_global_timer: implement rate compensation whenever source clock changes Date: Wed, 17 Feb 2021 12:07:08 +0100 Message-Id: <20210217110709.17250-2-andrea.merello@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210217110709.17250-1-andrea.merello@gmail.com> References: <20210217110709.17250-1-andrea.merello@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210217_060717_575654_95785A45 X-CRM114-Status: GOOD ( 30.52 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrea Merello , linux-kernel@vger.kernel.org, Michal Simek , Patrice Chotard , linux-arm-kernel@lists.infradead.org, =?UTF-8?q?S=C3=B6ren=20Brinkmann?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org VGhpcyBwYXRjaCBhZGRzIHJhdGUgY2hhbmdlIG5vdGlmaWNhdGlvbiBzdXBwb3J0IGZvciB0aGUg cGFyZW50IGNsb2NrOwpzaG91bGQgdGhhdCBjbG9jayBjaGFuZ2UsIHRoZW4gd2UgdHJ5IHRvIGFk anVzdCB0aGUgb3VyIHByZXNjYWxlciBpbiBvcmRlcgp0byBjb21wZW5zYXRlIChpLmUuIHdlIGFk anVzdCB0byBzdGlsbCBnZXQgdGhlIHNhbWUgdGltZXIgZnJlcXVlbmN5KS4KClRoaXMgaXMgbG9v c2VseSBiYXNlZCBvbiB3aGF0IGl0J3MgZG9uZSBpbiB0aW1lci1jYWRlbmNlLXR0Yy4gdGltZXIt c3VuNTEsCm1pcHMtZ2ljLXRpbWVyIGFuZCBzbXBfdHdkLmMgYWxzbyBzZWVtIHRvIGxvb2sgYXQg dGhlaXIgcGFyZW50IGNsb2NrIHJhdGUKYW5kIHRvIHBlcmZvcm0gc29tZSBraW5kIG9mIGFkanVz dG1lbnQgd2hlbmV2ZXIgbmVlZGVkLgoKSW4gdGhpcyBwYXJ0aWN1bGFyIGNhc2Ugd2UgaGF2ZSBv bmx5IG9uZSBzaW5nbGUgY291bnRlciBhbmQgcHJlc2NhbGVyIGZvcgphbGwgY2xvY2tzb3VyY2Us IGNsb2NrZXZlbnQgYW5kIHRpbWVyX2RlbGF5LCBhbmQgd2UganVzdCB1cGRhdGUgaXQgZm9yIGFs bAooaS5lLiB3ZSBkb24ndCBsZXQgaXQgZ28gYW5kIGNhbGwgY2xvY2tldmVudHNfdXBkYXRlX2Zy ZXEoKSB0byBub3RpZnkgdG8KdGhlIGtlcm5lbCB0aGF0IG91ciByYXRlIGhhcyBjaGFuZ2VkKS4K Ck5vdGUgdGhhdCwgdGhlcmUgaXMgYXBwYXJlbnRseSBubyBvdGhlciB3YXkgdG8gZml4dXAgdGhp bmdzLCBiZWNhdXNlIG9uY2UKd2UgY2FsbCByZWdpc3Rlcl9jdXJyZW50X3RpbWVyX2RlbGF5KCks IHNwZWNpZnlpbmcgdGhlIHRpbWVyIHJhdGUsIGl0IHNlZW1zCnRoYXQgdGhhdCByYXRlIGlzIG5v dCBzdXBwb3NlZCB0byBjaGFuZ2UgZXZlci4KCkluIG9yZGVyIGZvciB0aGlzIG1lY2hhbmlzbSB0 byB3b3JrLCB3ZSBoYXZlIHRvIG1ha2UgYXNzdW1wdGlvbnMgYWJvdXQgaG93Cm11Y2ggdGhlIGlu aXRpYWwgY2xvY2sgaXMgc3VwcG9zZWQgdG8gZXZlbnR1YWxseSBkZWNyZWFzZSBmcm9tIHRoZSBp bml0aWFsCm9uZSwgYW5kIHNldCBvdXIgaW5pdGlhbCBwcmVzY2FsZXIgdG8gYSB2YWx1ZSB0aGF0 IHdlIGNhbiBldmVudHVhbGx5CmRlY3JlYXNlIGVub3VnaCB0byBjb21wZW5zYXRlLiBXZSBwcm92 aWRlIGFuIG9wdGlvbiBpbiBLQ29uZmlnIGZvciB0aGlzLgoKSW4gY2FzZSB3ZSBlbmQgdXAgaW4g YSBzaXR1YXRpb24gaW4gd2hpY2ggd2UgYXJlIG5vdCBhYmxlIHRvIGNvbXBlbnNhdGUgdGhlCnBh cmVudCBjbG9jayBjaGFuZ2UsIHdlIGZhaWwgcmV0dXJuaW5nIE5PVElGWV9CQUQuCgpUaGlzIGZp eGVzIGEgcmVhbC13b3JsZCBwcm9ibGVtIHdpdGggWnlucSBhcmNoIG5vdCBiZWluZyBhYmxlIHRv IHVzZSB0aGlzCmRyaXZlciBhbmQgQ1BVX0ZSRVEgYXQgdGhlIHNhbWUgdGltZSAoYmVjYXVzZSBB Uk0gZ2xvYmFsIHRpbWVyIGlzIGZlZCBieQp0aGUgQ1BVIGNsb2NrLCB3aGljaCBtYXkga2VlcCBj aGFuZ2luZyB3aGVuIENQVV9GUkVRIGlzIGVuYWJsZWQpLgoKU2lnbmVkLW9mZi1ieTogQW5kcmVh IE1lcmVsbG8gPGFuZHJlYS5tZXJlbGxvQGdtYWlsLmNvbT4KQ2M6IFBhdHJpY2UgQ2hvdGFyZCA8 cGF0cmljZS5jaG90YXJkQHN0LmNvbT4KQ2M6IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcK Q2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpDYzogTWljaGFsIFNpbWVr IDxtaWNoYWwuc2ltZWtAeGlsaW54LmNvbT4KQ2M6IFPDtnJlbiBCcmlua21hbm4gPHNvcmVuLmJy aW5rbWFubkB4aWxpbnguY29tPgotLS0KIGRyaXZlcnMvY2xvY2tzb3VyY2UvS2NvbmZpZyAgICAg ICAgICAgIHwgIDEzICsrKwogZHJpdmVycy9jbG9ja3NvdXJjZS9hcm1fZ2xvYmFsX3RpbWVyLmMg fCAxMjIgKysrKysrKysrKysrKysrKysrKysrKystLQogMiBmaWxlcyBjaGFuZ2VkLCAxMjUgaW5z ZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbG9ja3Nv dXJjZS9LY29uZmlnIGIvZHJpdmVycy9jbG9ja3NvdXJjZS9LY29uZmlnCmluZGV4IDE0YzdjNDcx MjQ3OC4uMGYxYzYyNTI3NWEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Nsb2Nrc291cmNlL0tjb25m aWcKKysrIGIvZHJpdmVycy9jbG9ja3NvdXJjZS9LY29uZmlnCkBAIC0zODUsNiArMzg1LDE5IEBA IGNvbmZpZyBBUk1fR0xPQkFMX1RJTUVSCiAJaGVscAogCSAgVGhpcyBvcHRpb24gZW5hYmxlcyBz dXBwb3J0IGZvciB0aGUgQVJNIGdsb2JhbCB0aW1lciB1bml0LgogCitjb25maWcgQVJNX0dUX0lO SVRJQUxfUFJFU0NBTEVSX1ZBTAorCWludCAiQVJNIGdsb2JhbCB0aW1lciBpbml0aWFsIHByZXNj YWxlciB2YWx1ZSIKKwlkZWZhdWx0IDEKKwlkZXBlbmRzIG9uIEFSTV9HTE9CQUxfVElNRVIKKwlo ZWxwCisJICBXaGVuIHRoZSBBUk0gZ2xvYmFsIHRpbWVyIGluaXRpYWxpemVzLCBpdHMgY3VycmVu dCByYXRlIGlzIGRlY2xhcmVkCisJICB0byB0aGUga2VybmVsIGFuZCBtYWludGFpbmVkIGZvcmV2 ZXIuIFNob3VsZCBpdCdzIHBhcmVudCBjbG9jaworCSAgY2hhbmdlLCB0aGUgZHJpdmVyIHRyaWVz IHRvIGZpeCB0aGUgdGltZXIncyBpbnRlcm5hbCBwcmVzY2FsZXIuCisJICBPbiBzb21lIG1hY2hz IChpLmUuIFp5bnEpIHRoZSBpbml0aWFsIHByZXNjYWxlciB2YWx1ZSB0aHVzIHBvc2VzCisJICBi b3VuZHMgYWJvdXQgaG93IG11Y2ggdGhlIHBhcmVudCBjbG9jayBpcyBhbGxvd2VkIHRvIGRlY3Jl YXNlIG9yCisJICBpbmNyZWFzZSB3cnQgdGhlIGluaXRpYWwgY2xvY2sgdmFsdWUuCisJICBUaGlz IGFmZmVjdHMgQ1BVX0ZSRVEgbWF4IGRlbHRhIGZyb20gdGhlIGluaXRpYWwgZnJlcXVlbmN5Lgor CiBjb25maWcgQVJNX1RJTUVSX1NQODA0CiAJYm9vbCAiU3VwcG9ydCBmb3IgRHVhbCBUaW1lciBT UDgwNCBtb2R1bGUiIGlmIENPTVBJTEVfVEVTVAogCWRlcGVuZHMgb24gR0VORVJJQ19TQ0hFRF9D TE9DSyAmJiBDTEtERVZfTE9PS1VQCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsb2Nrc291cmNlL2Fy bV9nbG9iYWxfdGltZXIuYyBiL2RyaXZlcnMvY2xvY2tzb3VyY2UvYXJtX2dsb2JhbF90aW1lci5j CmluZGV4IDg4YjJkMzhhN2E2MS4uNjBhODA0N2ZkMzJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Ns b2Nrc291cmNlL2FybV9nbG9iYWxfdGltZXIuYworKysgYi9kcml2ZXJzL2Nsb2Nrc291cmNlL2Fy bV9nbG9iYWxfdGltZXIuYwpAQCAtMzEsNiArMzEsMTAgQEAKICNkZWZpbmUgR1RfQ09OVFJPTF9D T01QX0VOQUJMRQkJQklUKDEpCS8qIGJhbmtlZCAqLwogI2RlZmluZSBHVF9DT05UUk9MX0lSUV9F TkFCTEUJCUJJVCgyKQkvKiBiYW5rZWQgKi8KICNkZWZpbmUgR1RfQ09OVFJPTF9BVVRPX0lOQwkJ QklUKDMpCS8qIGJhbmtlZCAqLworI2RlZmluZSBHVF9DT05UUk9MX1BSRVNDQUxFUl9TSElGVCAg ICAgIDgKKyNkZWZpbmUgR1RfQ09OVFJPTF9QUkVTQ0FMRVJfTUFYICAgICAgICAweEYKKyNkZWZp bmUgR1RfQ09OVFJPTF9QUkVTQ0FMRVJfTUFTSyAgICAgICAoR1RfQ09OVFJPTF9QUkVTQ0FMRVJf TUFYIDw8IFwKKwkJCQkJIEdUX0NPTlRST0xfUFJFU0NBTEVSX1NISUZUKQogCiAjZGVmaW5lIEdU X0lOVF9TVEFUVVMJMHgwYwogI2RlZmluZSBHVF9JTlRfU1RBVFVTX0VWRU5UX0ZMQUcJQklUKDAp CkBAIC0zOSw2ICs0Myw3IEBACiAjZGVmaW5lIEdUX0NPTVAxCTB4MTQKICNkZWZpbmUgR1RfQVVU T19JTkMJMHgxOAogCisjZGVmaW5lIE1BWF9GX0VSUiA1MAogLyoKICAqIFdlIGFyZSBleHBlY3Rp bmcgdG8gYmUgY2xvY2tlZCBieSB0aGUgQVJNIHBlcmlwaGVyYWwgY2xvY2suCiAgKgpAQCAtNDYs NyArNTEsOCBAQAogICogdGhlIHVuaXRzIGZvciBhbGwgb3BlcmF0aW9ucy4KICAqLwogc3RhdGlj IHZvaWQgX19pb21lbSAqZ3RfYmFzZTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGd0X2Nsa19yYXRl Oworc3RydWN0IG5vdGlmaWVyX2Jsb2NrIGd0X2Nsa19yYXRlX2NoYW5nZV9uYjsKK3N0YXRpYyB1 MzIgZ3RfcHN2X25ldywgZ3RfcHN2X2JjaywgZ3RfdGFyZ2V0X3JhdGU7CiBzdGF0aWMgaW50IGd0 X3BwaTsKIHN0YXRpYyBzdHJ1Y3QgY2xvY2tfZXZlbnRfZGV2aWNlIF9fcGVyY3B1ICpndF9ldnQ7 CiAKQEAgLTk2LDcgKzEwMiwxMCBAQCBzdGF0aWMgdm9pZCBndF9jb21wYXJlX3NldCh1bnNpZ25l ZCBsb25nIGRlbHRhLCBpbnQgcGVyaW9kaWMpCiAJdW5zaWduZWQgbG9uZyBjdHJsOwogCiAJY291 bnRlciArPSBkZWx0YTsKLQljdHJsID0gR1RfQ09OVFJPTF9USU1FUl9FTkFCTEU7CisJY3RybCA9 IHJlYWRsKGd0X2Jhc2UgKyBHVF9DT05UUk9MKTsKKwljdHJsICY9IH4oR1RfQ09OVFJPTF9DT01Q X0VOQUJMRSB8IEdUX0NPTlRST0xfSVJRX0VOQUJMRSB8CisJCSAgR1RfQ09OVFJPTF9BVVRPX0lO QyB8IEdUX0NPTlRST0xfQVVUT19JTkMpOworCWN0cmwgfD0gR1RfQ09OVFJPTF9USU1FUl9FTkFC TEU7CiAJd3JpdGVsX3JlbGF4ZWQoY3RybCwgZ3RfYmFzZSArIEdUX0NPTlRST0wpOwogCXdyaXRl bF9yZWxheGVkKGxvd2VyXzMyX2JpdHMoY291bnRlciksIGd0X2Jhc2UgKyBHVF9DT01QMCk7CiAJ d3JpdGVsX3JlbGF4ZWQodXBwZXJfMzJfYml0cyhjb3VudGVyKSwgZ3RfYmFzZSArIEdUX0NPTVAx KTsKQEAgLTEyMyw3ICsxMzIsNyBAQCBzdGF0aWMgaW50IGd0X2Nsb2NrZXZlbnRfc2h1dGRvd24o c3RydWN0IGNsb2NrX2V2ZW50X2RldmljZSAqZXZ0KQogCiBzdGF0aWMgaW50IGd0X2Nsb2NrZXZl bnRfc2V0X3BlcmlvZGljKHN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgKmV2dCkKIHsKLQlndF9j b21wYXJlX3NldChESVZfUk9VTkRfQ0xPU0VTVChndF9jbGtfcmF0ZSwgSFopLCAxKTsKKwlndF9j b21wYXJlX3NldChESVZfUk9VTkRfQ0xPU0VTVChndF90YXJnZXRfcmF0ZSwgSFopLCAxKTsKIAly ZXR1cm4gMDsKIH0KIApAQCAtMTc3LDcgKzE4Niw3IEBAIHN0YXRpYyBpbnQgZ3Rfc3RhcnRpbmdf Y3B1KHVuc2lnbmVkIGludCBjcHUpCiAJY2xrLT5jcHVtYXNrID0gY3B1bWFza19vZihjcHUpOwog CWNsay0+cmF0aW5nID0gMzAwOwogCWNsay0+aXJxID0gZ3RfcHBpOwotCWNsb2NrZXZlbnRzX2Nv bmZpZ19hbmRfcmVnaXN0ZXIoY2xrLCBndF9jbGtfcmF0ZSwKKwljbG9ja2V2ZW50c19jb25maWdf YW5kX3JlZ2lzdGVyKGNsaywgZ3RfdGFyZ2V0X3JhdGUsCiAJCQkJCTEsIDB4ZmZmZmZmZmYpOwog CWVuYWJsZV9wZXJjcHVfaXJxKGNsay0+aXJxLCBJUlFfVFlQRV9OT05FKTsKIAlyZXR1cm4gMDsK QEAgLTIzMiw5ICsyNDEsMjggQEAgc3RhdGljIHN0cnVjdCBkZWxheV90aW1lciBndF9kZWxheV90 aW1lciA9IHsKIAkucmVhZF9jdXJyZW50X3RpbWVyID0gZ3RfcmVhZF9sb25nLAogfTsKIAorc3Rh dGljIHZvaWQgZ3Rfd3JpdGVfcHJlc2ModTMyIHBzdikKK3sKKwl1MzIgcmVnOworCisJcmVnID0g cmVhZGwoZ3RfYmFzZSArIEdUX0NPTlRST0wpOworCXJlZyAmPSB+R1RfQ09OVFJPTF9QUkVTQ0FM RVJfTUFTSzsKKwlyZWcgfD0gcHN2IDw8IEdUX0NPTlRST0xfUFJFU0NBTEVSX1NISUZUOworCXdy aXRlbChyZWcsIGd0X2Jhc2UgKyBHVF9DT05UUk9MKTsKK30KKworc3RhdGljIHUzMiBndF9yZWFk X3ByZXNjKHZvaWQpCit7CisJdTMyIHJlZzsKKworCXJlZyA9IHJlYWRsKGd0X2Jhc2UgKyBHVF9D T05UUk9MKTsKKwlyZWcgJj0gR1RfQ09OVFJPTF9QUkVTQ0FMRVJfTUFTSzsKKwlyZXR1cm4gcmVn ID4+IEdUX0NPTlRST0xfUFJFU0NBTEVSX1NISUZUOworfQorCiBzdGF0aWMgdm9pZCBfX2luaXQg Z3RfZGVsYXlfdGltZXJfaW5pdCh2b2lkKQogewotCWd0X2RlbGF5X3RpbWVyLmZyZXEgPSBndF9j bGtfcmF0ZTsKKwlndF9kZWxheV90aW1lci5mcmVxID0gZ3RfdGFyZ2V0X3JhdGU7CiAJcmVnaXN0 ZXJfY3VycmVudF90aW1lcl9kZWxheSgmZ3RfZGVsYXlfdGltZXIpOwogfQogCkBAIC0yNDMsMTgg KzI3MSw4MSBAQCBzdGF0aWMgaW50IF9faW5pdCBndF9jbG9ja3NvdXJjZV9pbml0KHZvaWQpCiAJ d3JpdGVsKDAsIGd0X2Jhc2UgKyBHVF9DT05UUk9MKTsKIAl3cml0ZWwoMCwgZ3RfYmFzZSArIEdU X0NPVU5URVIwKTsKIAl3cml0ZWwoMCwgZ3RfYmFzZSArIEdUX0NPVU5URVIxKTsKLQkvKiBlbmFi bGVzIHRpbWVyIG9uIGFsbCB0aGUgY29yZXMgKi8KLQl3cml0ZWwoR1RfQ09OVFJPTF9USU1FUl9F TkFCTEUsIGd0X2Jhc2UgKyBHVF9DT05UUk9MKTsKKwkvKiBzZXQgcHJlc2NhbGVyIGFuZCBlbmFi bGUgdGltZXIgb24gYWxsIHRoZSBjb3JlcyAqLworCXdyaXRlbCgoKENPTkZJR19BUk1fR1RfSU5J VElBTF9QUkVTQ0FMRVJfVkFMIC0gMSkgPDwKKwkJR1RfQ09OVFJPTF9QUkVTQ0FMRVJfU0hJRlQp CisJICAgICAgIHwgR1RfQ09OVFJPTF9USU1FUl9FTkFCTEUsIGd0X2Jhc2UgKyBHVF9DT05UUk9M KTsKIAogI2lmZGVmIENPTkZJR19DTEtTUkNfQVJNX0dMT0JBTF9USU1FUl9TQ0hFRF9DTE9DSwot CXNjaGVkX2Nsb2NrX3JlZ2lzdGVyKGd0X3NjaGVkX2Nsb2NrX3JlYWQsIDY0LCBndF9jbGtfcmF0 ZSk7CisJc2NoZWRfY2xvY2tfcmVnaXN0ZXIoZ3Rfc2NoZWRfY2xvY2tfcmVhZCwgNjQsIGd0X3Rh cmdldF9yYXRlKTsKICNlbmRpZgotCXJldHVybiBjbG9ja3NvdXJjZV9yZWdpc3Rlcl9oeigmZ3Rf Y2xvY2tzb3VyY2UsIGd0X2Nsa19yYXRlKTsKKwlyZXR1cm4gY2xvY2tzb3VyY2VfcmVnaXN0ZXJf aHooJmd0X2Nsb2Nrc291cmNlLCBndF90YXJnZXRfcmF0ZSk7Cit9CisKK3N0YXRpYyBpbnQgZ3Rf Y2xrX3JhdGVfY2hhbmdlX2NiKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsCisJCQkJIHVuc2ln bmVkIGxvbmcgZXZlbnQsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGNsa19ub3RpZmllcl9kYXRh ICpuZGF0YSA9IGRhdGE7CisKKwlzd2l0Y2ggKGV2ZW50KSB7CisJY2FzZSBQUkVfUkFURV9DSEFO R0U6CisJeworCQlpbnQgcHN2OworCisJCXBzdiA9IERJVl9ST1VORF9DTE9TRVNUKG5kYXRhLT5u ZXdfcmF0ZSwKKwkJCQkJZ3RfdGFyZ2V0X3JhdGUpOworCisJCWlmIChhYnMoZ3RfdGFyZ2V0X3Jh dGUgLSAobmRhdGEtPm5ld19yYXRlIC8gcHN2KSkgPiBNQVhfRl9FUlIpCisJCQlyZXR1cm4gTk9U SUZZX0JBRDsKKworCQlwc3YtLTsKKworCQkvKiBwcmVzY2FsZXIgd2l0aGluIGxlZ2FsIHJhbmdl PyAqLworCQlpZiAocHN2IDwgMCB8fCBwc3YgPiBHVF9DT05UUk9MX1BSRVNDQUxFUl9NQVgpCisJ CQlyZXR1cm4gTk9USUZZX0JBRDsKKworCQkvKgorCQkgKiBzdG9yZSB0aW1lciBjbG9jayBjdHJs IHJlZ2lzdGVyIHNvIHdlIGNhbiByZXN0b3JlIGl0IGluIGNhc2UKKwkJICogb2YgYW4gYWJvcnQu CisJCSAqLworCQlndF9wc3ZfYmNrID0gZ3RfcmVhZF9wcmVzYygpOworCQlndF9wc3ZfbmV3ID0g cHN2OworCQkvKiBzY2FsZSBkb3duOiBhZGp1c3QgZGl2aWRlciBpbiBwb3N0LWNoYW5nZSBub3Rp ZmljYXRpb24gKi8KKwkJaWYgKG5kYXRhLT5uZXdfcmF0ZSA8IG5kYXRhLT5vbGRfcmF0ZSkKKwkJ CXJldHVybiBOT1RJRllfRE9ORTsKKworCQkvKiBzY2FsZSB1cDogYWRqdXN0IGRpdmlkZXIgbm93 IC0gYmVmb3JlIGZyZXF1ZW5jeSBjaGFuZ2UgKi8KKwkJZ3Rfd3JpdGVfcHJlc2MocHN2KTsKKwkJ YnJlYWs7CisJfQorCWNhc2UgUE9TVF9SQVRFX0NIQU5HRToKKwkJLyogc2NhbGUgdXA6IHByZS1j aGFuZ2Ugbm90aWZpY2F0aW9uIGRpZCB0aGUgYWRqdXN0bWVudCAqLworCQlpZiAobmRhdGEtPm5l d19yYXRlID4gbmRhdGEtPm9sZF9yYXRlKQorCQkJcmV0dXJuIE5PVElGWV9PSzsKKworCQkvKiBz Y2FsZSBkb3duOiBhZGp1c3QgZGl2aWRlciBub3cgLSBhZnRlciBmcmVxdWVuY3kgY2hhbmdlICov CisJCWd0X3dyaXRlX3ByZXNjKGd0X3Bzdl9uZXcpOworCQlicmVhazsKKworCWNhc2UgQUJPUlRf UkFURV9DSEFOR0U6CisJCS8qIHdlIGhhdmUgdG8gdW5kbyB0aGUgYWRqdXN0bWVudCBpbiBjYXNl IHdlIHNjYWxlIHVwICovCisJCWlmIChuZGF0YS0+bmV3X3JhdGUgPCBuZGF0YS0+b2xkX3JhdGUp CisJCQlyZXR1cm4gTk9USUZZX09LOworCisJCS8qIHJlc3RvcmUgb3JpZ2luYWwgcmVnaXN0ZXIg dmFsdWUgKi8KKwkJZ3Rfd3JpdGVfcHJlc2MoZ3RfcHN2X2Jjayk7CisJCWJyZWFrOworCWRlZmF1 bHQ6CisJCXJldHVybiBOT1RJRllfRE9ORTsKKwl9CisKKwlyZXR1cm4gTk9USUZZX0RPTkU7CiB9 CiAKIHN0YXRpYyBpbnQgX19pbml0IGdsb2JhbF90aW1lcl9vZl9yZWdpc3RlcihzdHJ1Y3QgZGV2 aWNlX25vZGUgKm5wKQogewogCXN0cnVjdCBjbGsgKmd0X2NsazsKKwlzdGF0aWMgdW5zaWduZWQg bG9uZyBndF9jbGtfcmF0ZTsKIAlpbnQgZXJyID0gMDsKIAogCS8qCkBAIC0yOTIsMTEgKzM4Mywy MCBAQCBzdGF0aWMgaW50IF9faW5pdCBnbG9iYWxfdGltZXJfb2ZfcmVnaXN0ZXIoc3RydWN0IGRl dmljZV9ub2RlICpucCkKIAl9CiAKIAlndF9jbGtfcmF0ZSA9IGNsa19nZXRfcmF0ZShndF9jbGsp OworCWd0X3RhcmdldF9yYXRlID0gZ3RfY2xrX3JhdGUgLyBDT05GSUdfQVJNX0dUX0lOSVRJQUxf UFJFU0NBTEVSX1ZBTDsKKwlndF9jbGtfcmF0ZV9jaGFuZ2VfbmIubm90aWZpZXJfY2FsbCA9CisJ CWd0X2Nsa19yYXRlX2NoYW5nZV9jYjsKKwllcnIgPSBjbGtfbm90aWZpZXJfcmVnaXN0ZXIoZ3Rf Y2xrLCAmZ3RfY2xrX3JhdGVfY2hhbmdlX25iKTsKKwlpZiAoZXJyKSB7CisJCXByX3dhcm4oIlVu YWJsZSB0byByZWdpc3RlciBjbG9jayBub3RpZmllclxuIik7CisJCWdvdG8gb3V0X2NsazsKKwl9 CisKIAlndF9ldnQgPSBhbGxvY19wZXJjcHUoc3RydWN0IGNsb2NrX2V2ZW50X2RldmljZSk7CiAJ aWYgKCFndF9ldnQpIHsKIAkJcHJfd2FybigiZ2xvYmFsLXRpbWVyOiBjYW4ndCBhbGxvY2F0ZSBt ZW1vcnlcbiIpOwogCQllcnIgPSAtRU5PTUVNOwotCQlnb3RvIG91dF9jbGs7CisJCWdvdG8gb3V0 X2Nsa19uYjsKIAl9CiAKIAllcnIgPSByZXF1ZXN0X3BlcmNwdV9pcnEoZ3RfcHBpLCBndF9jbG9j a2V2ZW50X2ludGVycnVwdCwKQEAgLTMyNiw2ICs0MjYsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBn bG9iYWxfdGltZXJfb2ZfcmVnaXN0ZXIoc3RydWN0IGRldmljZV9ub2RlICpucCkKIAlmcmVlX3Bl cmNwdV9pcnEoZ3RfcHBpLCBndF9ldnQpOwogb3V0X2ZyZWU6CiAJZnJlZV9wZXJjcHUoZ3RfZXZ0 KTsKK291dF9jbGtfbmI6CisJY2xrX25vdGlmaWVyX3VucmVnaXN0ZXIoZ3RfY2xrLCAmZ3RfY2xr X3JhdGVfY2hhbmdlX25iKTsKIG91dF9jbGs6CiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGd0X2Ns ayk7CiBvdXRfdW5tYXA6Ci0tIAoyLjE3LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==