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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2C91C433EF for ; Wed, 27 Oct 2021 21:56:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BD643610CB for ; Wed, 27 Oct 2021 21:56:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229807AbhJ0V63 (ORCPT ); Wed, 27 Oct 2021 17:58:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34134 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229784AbhJ0V61 (ORCPT ); Wed, 27 Oct 2021 17:58:27 -0400 Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com [IPv6:2a00:1450:4864:20::134]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6F594C061570; Wed, 27 Oct 2021 14:56:01 -0700 (PDT) Received: by mail-lf1-x134.google.com with SMTP id u21so9122139lff.8; Wed, 27 Oct 2021 14:56:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9fQ+qAuU0GEnMNZofISer1TEhl6Hb2oIM6VVFmoCdrU=; b=ffzm7+R8Z8hTiCzw1KmJhoIE2nWK7+CfUoHwuk1epA//g6xU2Lc+obbiL5wdpvOnmc LEtT4d1gMZnhAH7DabCefDEGkKL7HW2nqXvrNqcVEVTV5W+thvVDqx7pVFIJUFN8HaQk AFnBXkFh8GxkxkmRp7N8R8LHmAa9PqB/857XoKVk4cnkGwc8iyk21GCcGZcauBf/ZoA2 q6Xx0kkQucaJ6PckCZc9Tngn6A/APp+zfmBqy5RH7HSoHTwFkffWOUG7S89MEj1pbd+U XqqaeGdyUtGXf0G55XeOPDS2ZryqaOst/5uzTSVmgRx7O5VSKXXl2dwf2mof4jZ+CKbV 0txw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9fQ+qAuU0GEnMNZofISer1TEhl6Hb2oIM6VVFmoCdrU=; b=5Eu97WCGDbHPPpPxQ97GmkryceYwXaa+fWgG2G/f3peDJZ4UIxr+P2aUwDlYAObfsD Rz0f3Aizi7cEyKCljLCHQT7Tn3kYeDftdPjCQDIvLcu005Fvk+RtO1bLNljYnH8w67Oj Wgm/KZTmoS1jAKJitrcenqNv8GSBxvXHg47/oZVcKNOA1VI72LFIL0REFRNsLYeZMmld WkahkaM0OahjP6QSNhVLYyeoYYadrWi+oCVfOkrX63f0DRZRycPH6Tg4psrQCP0vdqEc iWRWCLLQ5yP1cePqy8snIaNj5MMdiHd0zAQDLS/vuiBVFQRhuxeKtk/3JwrVuD23WHaY mCgw== X-Gm-Message-State: AOAM530mcYdjpmmWp5y5cwboED6sSMnAgryzRZUvAjbRziV7wsB4STnB 66iCpJppnH5EXiH8MTEcESY= X-Google-Smtp-Source: ABdhPJzPIqKjdKOhay+GyaYt1BFfe7s3iZsZR77fK7uXLMSq/MjqRPPT7xobC9q2QM9i+mAodZcr9Q== X-Received: by 2002:a05:6512:456:: with SMTP id y22mr271300lfk.554.1635371759789; Wed, 27 Oct 2021 14:55:59 -0700 (PDT) Received: from localhost.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id g35sm110207lfv.248.2021.10.27.14.55.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Oct 2021 14:55:59 -0700 (PDT) From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= To: Wim Van Sebroeck , Guenter Roeck , Rob Herring Cc: Florian Fainelli , Thomas Bogendoerfer , bcm-kernel-feedback-list@broadcom.com, linux-watchdog@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-mips@vger.kernel.org, =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Subject: [PATCH 2/3] watchdog: bcm63xx_wdt: support compiling with COMPILE_TEST Date: Wed, 27 Oct 2021 23:55:30 +0200 Message-Id: <20211027215531.9996-2-zajec5@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211027215531.9996-1-zajec5@gmail.com> References: <20211027215531.9996-1-zajec5@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-mips@vger.kernel.org From: Rafał Miłecki Most of this driver uses generic code and can be compile tested on any platform / arch. Move watchdog specific defines to a globally available header and check for BCM63XX for platform specific code. This helps maintaining kernel / driver and will allow adding support for other platforms later. Signed-off-by: Rafał Miłecki --- arch/mips/bcm63xx/prom.c | 1 + arch/mips/bcm63xx/setup.c | 1 + .../include/asm/mach-bcm63xx/bcm63xx_regs.h | 22 ------------ drivers/watchdog/Kconfig | 2 +- drivers/watchdog/bcm63xx_wdt.c | 35 +++++++++++++++---- include/linux/bcm63xx_wdt.h | 24 +++++++++++++ 6 files changed, 55 insertions(+), 30 deletions(-) create mode 100644 include/linux/bcm63xx_wdt.h diff --git a/arch/mips/bcm63xx/prom.c b/arch/mips/bcm63xx/prom.c index c3a2ea62c5c3..5e602a58a986 100644 --- a/arch/mips/bcm63xx/prom.c +++ b/arch/mips/bcm63xx/prom.c @@ -6,6 +6,7 @@ * Copyright (C) 2008 Maxime Bizon */ +#include #include #include #include diff --git a/arch/mips/bcm63xx/setup.c b/arch/mips/bcm63xx/setup.c index d811e3e03f81..86d4ad7dc8ba 100644 --- a/arch/mips/bcm63xx/setup.c +++ b/arch/mips/bcm63xx/setup.c @@ -6,6 +6,7 @@ * Copyright (C) 2008 Maxime Bizon */ +#include #include #include #include diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h index 9ceb5e72889f..fc0272e2dec2 100644 --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h @@ -441,28 +441,6 @@ #define TIMER_CTL_ENABLE_MASK (1 << 31) -/************************************************************************* - * _REG relative to RSET_WDT - *************************************************************************/ - -/* Watchdog default count register */ -#define WDT_DEFVAL_REG 0x0 - -/* Watchdog control register */ -#define WDT_CTL_REG 0x4 - -/* Watchdog control register constants */ -#define WDT_START_1 (0xff00) -#define WDT_START_2 (0x00ff) -#define WDT_STOP_1 (0xee00) -#define WDT_STOP_2 (0x00ee) - -/* Watchdog reset length register */ -#define WDT_RSTLEN_REG 0x8 - -/* Watchdog soft reset register (BCM6328 only) */ -#define WDT_SOFTRESET_REG 0xc - /************************************************************************* * _REG relative to RSET_GPIO *************************************************************************/ diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index bf59faeb3de1..913cde027e92 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig @@ -1711,7 +1711,7 @@ config OCTEON_WDT config BCM63XX_WDT tristate "Broadcom BCM63xx hardware watchdog" - depends on BCM63XX + depends on BCM63XX || COMPILE_TEST help Watchdog driver for the built in watchdog hardware in Broadcom BCM63xx SoC. diff --git a/drivers/watchdog/bcm63xx_wdt.c b/drivers/watchdog/bcm63xx_wdt.c index 56cc262571a5..1334e7fe77d8 100644 --- a/drivers/watchdog/bcm63xx_wdt.c +++ b/drivers/watchdog/bcm63xx_wdt.c @@ -9,6 +9,7 @@ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt +#include #include #include #include @@ -27,10 +28,10 @@ #include #include -#include +#ifdef BCM63XX #include -#include #include +#endif #define PFX KBUILD_MODNAME @@ -53,26 +54,40 @@ module_param(nowayout, bool, 0); MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=" __MODULE_STRING(WATCHDOG_NOWAYOUT) ")"); +static void bcm63xx_wdt_write_reg(u32 reg, u32 val) +{ + void __iomem *addr = bcm63xx_wdt_device.regs; + + addr += reg; +#ifdef BCM63XX + bcm_writel(val, addr); +#else + writel(val, addr); +#endif +} + /* HW functions */ static void bcm63xx_wdt_hw_start(void) { - bcm_writel(0xfffffffe, bcm63xx_wdt_device.regs + WDT_DEFVAL_REG); - bcm_writel(WDT_START_1, bcm63xx_wdt_device.regs + WDT_CTL_REG); - bcm_writel(WDT_START_2, bcm63xx_wdt_device.regs + WDT_CTL_REG); + bcm63xx_wdt_write_reg(WDT_DEFVAL_REG, 0xfffffffe); + bcm63xx_wdt_write_reg(WDT_CTL_REG, WDT_START_1); + bcm63xx_wdt_write_reg(WDT_CTL_REG, WDT_START_2); } static void bcm63xx_wdt_hw_stop(void) { - bcm_writel(WDT_STOP_1, bcm63xx_wdt_device.regs + WDT_CTL_REG); - bcm_writel(WDT_STOP_2, bcm63xx_wdt_device.regs + WDT_CTL_REG); + bcm63xx_wdt_write_reg(WDT_CTL_REG, WDT_STOP_1); + bcm63xx_wdt_write_reg(WDT_CTL_REG, WDT_STOP_2); } +#ifdef BCM63XX static void bcm63xx_wdt_isr(void *data) { struct pt_regs *regs = get_irq_regs(); die(PFX " fire", regs); } +#endif static void bcm63xx_timer_tick(struct timer_list *unused) { @@ -255,11 +270,13 @@ static int bcm63xx_wdt_probe(struct platform_device *pdev) return -ENXIO; } +#ifdef BCM63XX ret = bcm63xx_timer_register(TIMER_WDT_ID, bcm63xx_wdt_isr, NULL); if (ret < 0) { dev_err(&pdev->dev, "failed to register wdt timer isr\n"); return ret; } +#endif if (bcm63xx_wdt_settimeout(wdt_time)) { bcm63xx_wdt_settimeout(WDT_DEFAULT_TIME); @@ -280,7 +297,9 @@ static int bcm63xx_wdt_probe(struct platform_device *pdev) return 0; unregister_timer: +#ifdef BCM63XX bcm63xx_timer_unregister(TIMER_WDT_ID); +#endif return ret; } @@ -290,7 +309,9 @@ static int bcm63xx_wdt_remove(struct platform_device *pdev) bcm63xx_wdt_pause(); misc_deregister(&bcm63xx_wdt_miscdev); +#ifdef BCM63XX bcm63xx_timer_unregister(TIMER_WDT_ID); +#endif return 0; } diff --git a/include/linux/bcm63xx_wdt.h b/include/linux/bcm63xx_wdt.h new file mode 100644 index 000000000000..a33d23237b32 --- /dev/null +++ b/include/linux/bcm63xx_wdt.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#ifndef __BCM63XX_WDT_H +#define __BCM63XX_WDT_H + +/* Watchdog default count register */ +#define WDT_DEFVAL_REG 0x0 + +/* Watchdog control register */ +#define WDT_CTL_REG 0x4 + +/* Watchdog control register constants */ +#define WDT_START_1 (0xff00) +#define WDT_START_2 (0x00ff) +#define WDT_STOP_1 (0xee00) +#define WDT_STOP_2 (0x00ee) + +/* Watchdog reset length register */ +#define WDT_RSTLEN_REG 0x8 + +/* Watchdog soft reset register (BCM6328 only) */ +#define WDT_SOFTRESET_REG 0xc + +#endif /* __BCM63XX_WDT_H */ -- 2.31.1 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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A510EC433EF for ; Wed, 27 Oct 2021 21:57:22 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 7580160238 for ; Wed, 27 Oct 2021 21:57:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 7580160238 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=wj+9prVQJATfRdD1m742rA3DvXziW4TVEI4c7uldtyc=; b=vDf199vkdHyVrC 6RI2+uwZ7WwIVubACiE64HFdEibBcjnSAwFHFdnZYChhZJixg5vtLubbq254VPTwq40Um5RkPfNDO bvBfowubUca2hX2TNedZfVPsObVCbXTArHlwwswGeOBsTD1Mn0AyvmRBromHTzaZ/Pf9ht3Mrnjs5 hmuqYnXhw7E63jTxzTQ4VpJaTht6FfebA9Bx0fV3P7/wRVemdaEJwI4jzk0g0T7pylObIPNRDycaD pKS3Z26XfMjPZme5WMwVSXfa0wClc6hl8xyX80uEUWXXg7MWr0nUb+CWPVFi5Av9019lh+bnOAKYs AaX2qX9ToHEn1I+R2fwQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mfqu3-006LAU-3k; Wed, 27 Oct 2021 21:56:11 +0000 Received: from mail-lf1-x134.google.com ([2a00:1450:4864:20::134]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mfqtt-006L8j-7h for linux-arm-kernel@lists.infradead.org; Wed, 27 Oct 2021 21:56:02 +0000 Received: by mail-lf1-x134.google.com with SMTP id f3so972286lfu.12 for ; Wed, 27 Oct 2021 14:56:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9fQ+qAuU0GEnMNZofISer1TEhl6Hb2oIM6VVFmoCdrU=; b=ffzm7+R8Z8hTiCzw1KmJhoIE2nWK7+CfUoHwuk1epA//g6xU2Lc+obbiL5wdpvOnmc LEtT4d1gMZnhAH7DabCefDEGkKL7HW2nqXvrNqcVEVTV5W+thvVDqx7pVFIJUFN8HaQk AFnBXkFh8GxkxkmRp7N8R8LHmAa9PqB/857XoKVk4cnkGwc8iyk21GCcGZcauBf/ZoA2 q6Xx0kkQucaJ6PckCZc9Tngn6A/APp+zfmBqy5RH7HSoHTwFkffWOUG7S89MEj1pbd+U XqqaeGdyUtGXf0G55XeOPDS2ZryqaOst/5uzTSVmgRx7O5VSKXXl2dwf2mof4jZ+CKbV 0txw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9fQ+qAuU0GEnMNZofISer1TEhl6Hb2oIM6VVFmoCdrU=; b=SQMpPXNcPWc1bgrnQpvgebRtpMDaCf3BtYtCb8SKA4km0kmCdHPuDigHf0tRdVLO7A If4A6i+2ruUAcMYHPiEragzJDx0BgFKWQAgbxr4mt7OpT/809+tNEwA90PGempfSLUju TDWUUD3LXNM9+pj2DkF8HwIcVJJrW9uaMelXdzurhqfoppFENuYFa5CGMGCZiDc+qnjZ vFUMSNzQXetBsKMIHSl8eLNTmE3bBKksppe0r0lBygOZN6/4OmCbzDKLCzhhioHew+UW 5V3p65x+0xIXUsp7olvpOGcn4C6zqgtc0DC0jiNw0tjvyPszBIa8fhD0gVt7i2KdAJ5q eYXA== X-Gm-Message-State: AOAM533DqqovfWkA8ud93gmin/NeMKJ16LxcnBp68QPPoAShfnHL7g2S JDd0hxa45/g1mrlQVJVp/6k= X-Google-Smtp-Source: ABdhPJzPIqKjdKOhay+GyaYt1BFfe7s3iZsZR77fK7uXLMSq/MjqRPPT7xobC9q2QM9i+mAodZcr9Q== X-Received: by 2002:a05:6512:456:: with SMTP id y22mr271300lfk.554.1635371759789; Wed, 27 Oct 2021 14:55:59 -0700 (PDT) Received: from localhost.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id g35sm110207lfv.248.2021.10.27.14.55.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Oct 2021 14:55:59 -0700 (PDT) From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= To: Wim Van Sebroeck , Guenter Roeck , Rob Herring Cc: Florian Fainelli , Thomas Bogendoerfer , bcm-kernel-feedback-list@broadcom.com, linux-watchdog@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-mips@vger.kernel.org, =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Subject: [PATCH 2/3] watchdog: bcm63xx_wdt: support compiling with COMPILE_TEST Date: Wed, 27 Oct 2021 23:55:30 +0200 Message-Id: <20211027215531.9996-2-zajec5@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211027215531.9996-1-zajec5@gmail.com> References: <20211027215531.9996-1-zajec5@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211027_145601_315641_A936418A X-CRM114-Status: GOOD ( 26.05 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 RnJvbTogUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxlY2tpLnBsPgoKTW9zdCBvZiB0aGlzIGRy aXZlciB1c2VzIGdlbmVyaWMgY29kZSBhbmQgY2FuIGJlIGNvbXBpbGUgdGVzdGVkIG9uIGFueQpw bGF0Zm9ybSAvIGFyY2guIE1vdmUgd2F0Y2hkb2cgc3BlY2lmaWMgZGVmaW5lcyB0byBhIGdsb2Jh bGx5IGF2YWlsYWJsZQpoZWFkZXIgYW5kIGNoZWNrIGZvciBCQ002M1hYIGZvciBwbGF0Zm9ybSBz cGVjaWZpYyBjb2RlLgoKVGhpcyBoZWxwcyBtYWludGFpbmluZyBrZXJuZWwgLyBkcml2ZXIgYW5k IHdpbGwgYWxsb3cgYWRkaW5nIHN1cHBvcnQgZm9yCm90aGVyIHBsYXRmb3JtcyBsYXRlci4KClNp Z25lZC1vZmYtYnk6IFJhZmHFgiBNacWCZWNraSA8cmFmYWxAbWlsZWNraS5wbD4KLS0tCiBhcmNo L21pcHMvYmNtNjN4eC9wcm9tLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBhcmNoL21p cHMvYmNtNjN4eC9zZXR1cC5jICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiAuLi4vaW5jbHVk ZS9hc20vbWFjaC1iY202M3h4L2JjbTYzeHhfcmVncy5oICAgfCAyMiAtLS0tLS0tLS0tLS0KIGRy aXZlcnMvd2F0Y2hkb2cvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2 ZXJzL3dhdGNoZG9nL2JjbTYzeHhfd2R0LmMgICAgICAgICAgICAgICAgfCAzNSArKysrKysrKysr KysrKystLS0tCiBpbmNsdWRlL2xpbnV4L2JjbTYzeHhfd2R0LmggICAgICAgICAgICAgICAgICAg fCAyNCArKysrKysrKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKyksIDMw IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvbGludXgvYmNtNjN4eF93 ZHQuaAoKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9iY202M3h4L3Byb20uYyBiL2FyY2gvbWlwcy9i Y202M3h4L3Byb20uYwppbmRleCBjM2EyZWE2MmM1YzMuLjVlNjAyYTU4YTk4NiAxMDA2NDQKLS0t IGEvYXJjaC9taXBzL2JjbTYzeHgvcHJvbS5jCisrKyBiL2FyY2gvbWlwcy9iY202M3h4L3Byb20u YwpAQCAtNiw2ICs2LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwOCBNYXhpbWUgQml6b24gPG1i aXpvbkBmcmVlYm94LmZyPgogICovCiAKKyNpbmNsdWRlIDxsaW51eC9iY202M3h4X3dkdC5oPgog I2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9tZW1ibG9jay5oPgogI2lu Y2x1ZGUgPGxpbnV4L3NtcC5oPgpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL2JjbTYzeHgvc2V0dXAu YyBiL2FyY2gvbWlwcy9iY202M3h4L3NldHVwLmMKaW5kZXggZDgxMWUzZTAzZjgxLi44NmQ0YWQ3 ZGM4YmEgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9iY202M3h4L3NldHVwLmMKKysrIGIvYXJjaC9t aXBzL2JjbTYzeHgvc2V0dXAuYwpAQCAtNiw2ICs2LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAw OCBNYXhpbWUgQml6b24gPG1iaXpvbkBmcmVlYm94LmZyPgogICovCiAKKyNpbmNsdWRlIDxsaW51 eC9iY202M3h4X3dkdC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51 eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgpkaWZmIC0tZ2l0IGEvYXJjaC9t aXBzL2luY2x1ZGUvYXNtL21hY2gtYmNtNjN4eC9iY202M3h4X3JlZ3MuaCBiL2FyY2gvbWlwcy9p bmNsdWRlL2FzbS9tYWNoLWJjbTYzeHgvYmNtNjN4eF9yZWdzLmgKaW5kZXggOWNlYjVlNzI4ODlm Li5mYzAyNzJlMmRlYzIgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9pbmNsdWRlL2FzbS9tYWNoLWJj bTYzeHgvYmNtNjN4eF9yZWdzLmgKKysrIGIvYXJjaC9taXBzL2luY2x1ZGUvYXNtL21hY2gtYmNt NjN4eC9iY202M3h4X3JlZ3MuaApAQCAtNDQxLDI4ICs0NDEsNiBAQAogI2RlZmluZSBUSU1FUl9D VExfRU5BQkxFX01BU0sJCSgxIDw8IDMxKQogCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBfUkVH IHJlbGF0aXZlIHRvIFJTRVRfV0RUCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotLyogV2F0Y2hkb2cg ZGVmYXVsdCBjb3VudCByZWdpc3RlciAqLwotI2RlZmluZSBXRFRfREVGVkFMX1JFRwkJCTB4MAot Ci0vKiBXYXRjaGRvZyBjb250cm9sIHJlZ2lzdGVyICovCi0jZGVmaW5lIFdEVF9DVExfUkVHCQkJ MHg0Ci0KLS8qIFdhdGNoZG9nIGNvbnRyb2wgcmVnaXN0ZXIgY29uc3RhbnRzICovCi0jZGVmaW5l IFdEVF9TVEFSVF8xCQkJKDB4ZmYwMCkKLSNkZWZpbmUgV0RUX1NUQVJUXzIJCQkoMHgwMGZmKQot I2RlZmluZSBXRFRfU1RPUF8xCQkJKDB4ZWUwMCkKLSNkZWZpbmUgV0RUX1NUT1BfMgkJCSgweDAw ZWUpCi0KLS8qIFdhdGNoZG9nIHJlc2V0IGxlbmd0aCByZWdpc3RlciAqLwotI2RlZmluZSBXRFRf UlNUTEVOX1JFRwkJCTB4OAotCi0vKiBXYXRjaGRvZyBzb2Z0IHJlc2V0IHJlZ2lzdGVyIChCQ002 MzI4IG9ubHkpICovCi0jZGVmaW5lIFdEVF9TT0ZUUkVTRVRfUkVHCQkweGMKLQogLyoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKICAqIF9SRUcgcmVsYXRpdmUgdG8gUlNFVF9HUElPCiAgKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Ki8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvd2F0Y2hkb2cvS2NvbmZpZyBiL2RyaXZlcnMvd2F0Y2hk b2cvS2NvbmZpZwppbmRleCBiZjU5ZmFlYjNkZTEuLjkxM2NkZTAyN2U5MiAxMDA2NDQKLS0tIGEv ZHJpdmVycy93YXRjaGRvZy9LY29uZmlnCisrKyBiL2RyaXZlcnMvd2F0Y2hkb2cvS2NvbmZpZwpA QCAtMTcxMSw3ICsxNzExLDcgQEAgY29uZmlnIE9DVEVPTl9XRFQKIAogY29uZmlnIEJDTTYzWFhf V0RUCiAJdHJpc3RhdGUgIkJyb2FkY29tIEJDTTYzeHggaGFyZHdhcmUgd2F0Y2hkb2ciCi0JZGVw ZW5kcyBvbiBCQ002M1hYCisJZGVwZW5kcyBvbiBCQ002M1hYIHx8IENPTVBJTEVfVEVTVAogCWhl bHAKIAkgIFdhdGNoZG9nIGRyaXZlciBmb3IgdGhlIGJ1aWx0IGluIHdhdGNoZG9nIGhhcmR3YXJl IGluIEJyb2FkY29tCiAJICBCQ002M3h4IFNvQy4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvd2F0Y2hk b2cvYmNtNjN4eF93ZHQuYyBiL2RyaXZlcnMvd2F0Y2hkb2cvYmNtNjN4eF93ZHQuYwppbmRleCA1 NmNjMjYyNTcxYTUuLjEzMzRlN2ZlNzdkOCAxMDA2NDQKLS0tIGEvZHJpdmVycy93YXRjaGRvZy9i Y202M3h4X3dkdC5jCisrKyBiL2RyaXZlcnMvd2F0Y2hkb2cvYmNtNjN4eF93ZHQuYwpAQCAtOSw2 ICs5LDcgQEAKIAogI2RlZmluZSBwcl9mbXQoZm10KSBLQlVJTERfTU9ETkFNRSAiOiAiIGZtdAog CisjaW5jbHVkZSA8bGludXgvYmNtNjN4eF93ZHQuaD4KICNpbmNsdWRlIDxsaW51eC9iaXRvcHMu aD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CkBAIC0y NywxMCArMjgsMTAgQEAKICNpbmNsdWRlIDxsaW51eC9yZXNvdXJjZS5oPgogI2luY2x1ZGUgPGxp bnV4L3BsYXRmb3JtX2RldmljZS5oPgogCi0jaW5jbHVkZSA8YmNtNjN4eF9jcHUuaD4KKyNpZmRl ZiBCQ002M1hYCiAjaW5jbHVkZSA8YmNtNjN4eF9pby5oPgotI2luY2x1ZGUgPGJjbTYzeHhfcmVn cy5oPgogI2luY2x1ZGUgPGJjbTYzeHhfdGltZXIuaD4KKyNlbmRpZgogCiAjZGVmaW5lIFBGWCBL QlVJTERfTU9ETkFNRQogCkBAIC01MywyNiArNTQsNDAgQEAgbW9kdWxlX3BhcmFtKG5vd2F5b3V0 LCBib29sLCAwKTsKIE1PRFVMRV9QQVJNX0RFU0Mobm93YXlvdXQsICJXYXRjaGRvZyBjYW5ub3Qg YmUgc3RvcHBlZCBvbmNlIHN0YXJ0ZWQgKGRlZmF1bHQ9IgogCV9fTU9EVUxFX1NUUklORyhXQVRD SERPR19OT1dBWU9VVCkgIikiKTsKIAorc3RhdGljIHZvaWQgYmNtNjN4eF93ZHRfd3JpdGVfcmVn KHUzMiByZWcsIHUzMiB2YWwpCit7CisJdm9pZCBfX2lvbWVtICphZGRyID0gYmNtNjN4eF93ZHRf ZGV2aWNlLnJlZ3M7CisKKwlhZGRyICs9IHJlZzsKKyNpZmRlZiBCQ002M1hYCisJYmNtX3dyaXRl bCh2YWwsIGFkZHIpOworI2Vsc2UKKwl3cml0ZWwodmFsLCBhZGRyKTsKKyNlbmRpZgorfQorCiAv KiBIVyBmdW5jdGlvbnMgKi8KIHN0YXRpYyB2b2lkIGJjbTYzeHhfd2R0X2h3X3N0YXJ0KHZvaWQp CiB7Ci0JYmNtX3dyaXRlbCgweGZmZmZmZmZlLCBiY202M3h4X3dkdF9kZXZpY2UucmVncyArIFdE VF9ERUZWQUxfUkVHKTsKLQliY21fd3JpdGVsKFdEVF9TVEFSVF8xLCBiY202M3h4X3dkdF9kZXZp Y2UucmVncyArIFdEVF9DVExfUkVHKTsKLQliY21fd3JpdGVsKFdEVF9TVEFSVF8yLCBiY202M3h4 X3dkdF9kZXZpY2UucmVncyArIFdEVF9DVExfUkVHKTsKKwliY202M3h4X3dkdF93cml0ZV9yZWco V0RUX0RFRlZBTF9SRUcsIDB4ZmZmZmZmZmUpOworCWJjbTYzeHhfd2R0X3dyaXRlX3JlZyhXRFRf Q1RMX1JFRywgV0RUX1NUQVJUXzEpOworCWJjbTYzeHhfd2R0X3dyaXRlX3JlZyhXRFRfQ1RMX1JF RywgV0RUX1NUQVJUXzIpOwogfQogCiBzdGF0aWMgdm9pZCBiY202M3h4X3dkdF9od19zdG9wKHZv aWQpCiB7Ci0JYmNtX3dyaXRlbChXRFRfU1RPUF8xLCBiY202M3h4X3dkdF9kZXZpY2UucmVncyAr IFdEVF9DVExfUkVHKTsKLQliY21fd3JpdGVsKFdEVF9TVE9QXzIsIGJjbTYzeHhfd2R0X2Rldmlj ZS5yZWdzICsgV0RUX0NUTF9SRUcpOworCWJjbTYzeHhfd2R0X3dyaXRlX3JlZyhXRFRfQ1RMX1JF RywgV0RUX1NUT1BfMSk7CisJYmNtNjN4eF93ZHRfd3JpdGVfcmVnKFdEVF9DVExfUkVHLCBXRFRf U1RPUF8yKTsKIH0KIAorI2lmZGVmIEJDTTYzWFgKIHN0YXRpYyB2b2lkIGJjbTYzeHhfd2R0X2lz cih2b2lkICpkYXRhKQogewogCXN0cnVjdCBwdF9yZWdzICpyZWdzID0gZ2V0X2lycV9yZWdzKCk7 CiAKIAlkaWUoUEZYICIgZmlyZSIsIHJlZ3MpOwogfQorI2VuZGlmCiAKIHN0YXRpYyB2b2lkIGJj bTYzeHhfdGltZXJfdGljayhzdHJ1Y3QgdGltZXJfbGlzdCAqdW51c2VkKQogewpAQCAtMjU1LDEx ICsyNzAsMTMgQEAgc3RhdGljIGludCBiY202M3h4X3dkdF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQogCQlyZXR1cm4gLUVOWElPOwogCX0KIAorI2lmZGVmIEJDTTYzWFgKIAly ZXQgPSBiY202M3h4X3RpbWVyX3JlZ2lzdGVyKFRJTUVSX1dEVF9JRCwgYmNtNjN4eF93ZHRfaXNy LCBOVUxMKTsKIAlpZiAocmV0IDwgMCkgewogCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQg dG8gcmVnaXN0ZXIgd2R0IHRpbWVyIGlzclxuIik7CiAJCXJldHVybiByZXQ7CiAJfQorI2VuZGlm CiAKIAlpZiAoYmNtNjN4eF93ZHRfc2V0dGltZW91dCh3ZHRfdGltZSkpIHsKIAkJYmNtNjN4eF93 ZHRfc2V0dGltZW91dChXRFRfREVGQVVMVF9USU1FKTsKQEAgLTI4MCw3ICsyOTcsOSBAQCBzdGF0 aWMgaW50IGJjbTYzeHhfd2R0X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJ cmV0dXJuIDA7CiAKIHVucmVnaXN0ZXJfdGltZXI6CisjaWZkZWYgQkNNNjNYWAogCWJjbTYzeHhf dGltZXJfdW5yZWdpc3RlcihUSU1FUl9XRFRfSUQpOworI2VuZGlmCiAJcmV0dXJuIHJldDsKIH0K IApAQCAtMjkwLDcgKzMwOSw5IEBAIHN0YXRpYyBpbnQgYmNtNjN4eF93ZHRfcmVtb3ZlKHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCWJjbTYzeHhfd2R0X3BhdXNlKCk7CiAKIAltaXNj X2RlcmVnaXN0ZXIoJmJjbTYzeHhfd2R0X21pc2NkZXYpOworI2lmZGVmIEJDTTYzWFgKIAliY202 M3h4X3RpbWVyX3VucmVnaXN0ZXIoVElNRVJfV0RUX0lEKTsKKyNlbmRpZgogCXJldHVybiAwOwog fQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2JjbTYzeHhfd2R0LmggYi9pbmNsdWRlL2xp bnV4L2JjbTYzeHhfd2R0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li5hMzNkMjMyMzdiMzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L2JjbTYzeHhf d2R0LmgKQEAgLTAsMCArMSwyNCBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjAtb3ItbGF0ZXIgKi8KKworI2lmbmRlZiBfX0JDTTYzWFhfV0RUX0gKKyNkZWZpbmUgX19CQ002 M1hYX1dEVF9ICisKKy8qIFdhdGNoZG9nIGRlZmF1bHQgY291bnQgcmVnaXN0ZXIgKi8KKyNkZWZp bmUgV0RUX0RFRlZBTF9SRUcJCQkweDAKKworLyogV2F0Y2hkb2cgY29udHJvbCByZWdpc3RlciAq LworI2RlZmluZSBXRFRfQ1RMX1JFRwkJCTB4NAorCisvKiBXYXRjaGRvZyBjb250cm9sIHJlZ2lz dGVyIGNvbnN0YW50cyAqLworI2RlZmluZSBXRFRfU1RBUlRfMQkJCSgweGZmMDApCisjZGVmaW5l IFdEVF9TVEFSVF8yCQkJKDB4MDBmZikKKyNkZWZpbmUgV0RUX1NUT1BfMQkJCSgweGVlMDApCisj ZGVmaW5lIFdEVF9TVE9QXzIJCQkoMHgwMGVlKQorCisvKiBXYXRjaGRvZyByZXNldCBsZW5ndGgg cmVnaXN0ZXIgKi8KKyNkZWZpbmUgV0RUX1JTVExFTl9SRUcJCQkweDgKKworLyogV2F0Y2hkb2cg c29mdCByZXNldCByZWdpc3RlciAoQkNNNjMyOCBvbmx5KSAqLworI2RlZmluZSBXRFRfU09GVFJF U0VUX1JFRwkJMHhjCisKKyNlbmRpZiAvKiBfX0JDTTYzWFhfV0RUX0ggKi8KLS0gCjIuMzEuMQoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFy bS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9y ZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1r ZXJuZWwK