From patchwork Fri Jan 11 17:21:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760355 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E2AD91515 for ; Fri, 11 Jan 2019 17:22:11 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C045A2A267 for ; Fri, 11 Jan 2019 17:22:11 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BE4D72A241; Fri, 11 Jan 2019 17:22:11 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 74CBB2A226 for ; Fri, 11 Jan 2019 17:22:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=yztFoKjq/O75SwHtGWsdFQhWzOCBtIBRRMlEBJ8S9Wo=; b=l1OJqOdiWH6u/q GuB1jXpDlfkrb88A6WPFDkALyyAPkfs3+UMbOefPKKedenHPVhGv4k6NSm+5zmKnBUcxjmwtjnV0y +in28h/8kylBNCdGvRXHML4WwG3VHIPlKrhALkbI2ce9+LQlQ47m+x9iWuCnBfM817f9IjuOdXqHJ /Q7avirLMvP7Aqs5MCXC/LC1MVBQ5d4Fa7Hc1XMZpVy4wsHhTX8UFW3ta/HLwL8103PGPqlyEq2Bt 5y8DM8gLivBRF7W4fRCrfs1wX6PydO1HZOMzyTQhd6b/RLKICcYxqlTwpL5c/eDgxzODwE8TjglgK KECLPAw8SjEQxlT7Ez/A==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VU-0000Xn-B2; Fri, 11 Jan 2019 17:22:08 +0000 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VE-0000Ik-Rr for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:21:54 +0000 Received: by mail-wr1-x443.google.com with SMTP id r10so16001145wrs.10 for ; Fri, 11 Jan 2019 09:21:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=T5wxOOtRPEpRp3NqPU5OWIWIo8d5meG2Q4lKl/MEhWw=; b=e/66MXALy0oMKyfIZxENV25RBdYLzmeemileG5eHJQ0Zxt6IKjyFNlw3rXW1wK8Mfd 1YfMnZCl0lFm6Ihq1xIjSJv4r/YUb3sMrEEzapaIdkj948u1paqffsRNbAEz283z4zOy 9aureX7GhHrONT0IOycm8jSwTtsXOptc6IsmI5qP6/PClxhQZQ75q2xb8FurIY3WOj7y aAizECrqwqWyG8+JC3bBaVVKnrfYvoMRKIfX2tuZxU2sgDbPeXkBrBfwpzMEo1lm6ZXU 8MDAAwksDVH/vUAAa/khNm3Ya99SuyVow7iO4aDez2yXS/ccZg8zozY/k5Q/O3LkVThO 6VJg== 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=T5wxOOtRPEpRp3NqPU5OWIWIo8d5meG2Q4lKl/MEhWw=; b=LVrb8grE7oU6PTvuXWdZSsrFsZm56TfwkQzqBuRemV0vcAtjMdSquBqxHUw9/edzIh 2fY4kvf6gZNIkJxyo7JLvO7Itnzbxrh4JuO/sUeD0XbOM7AgNePlh++GorKuJf5NPALj pA5KcbaPsxYO5zDuI3qdf08zbbIJWCgQ46uUHRoGzckM7JQz4fMUVcMkZDtRZg1OAUYR q9H12AWYKqC+QyawhGkar9E2uuaCBBr7ZbkGowil9G64/ge4OknjICJ89+h7Pr4emzM2 2KG9WjV4qp/2wNNiE5EDJBfFYlLO4hxWcd/a/cjkBllpo71ZjrMy+XJwOOTka4UAHfVr 3cdw== X-Gm-Message-State: AJcUukcJtkVfFzYenKV1wQRdX8Lj7rcWEWylKqwzrNV5v83x84GAsR54 +iNPepWWVXtJQg6z3Du1MrZaIw== X-Google-Smtp-Source: ALg8bN6JrlHaHd9Kb9BKNe9ETCtms1Agm9rsGJqbpV4tR6ep3omWM3gClOtHRI3AhBHB/q/nB+jMrg== X-Received: by 2002:adf:f052:: with SMTP id t18mr15116950wro.112.1547227311159; Fri, 11 Jan 2019 09:21:51 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.21.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:21:50 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 01/17] ARM: dts: da850: fix interrupt numbers for clocksource Date: Fri, 11 Jan 2019 18:21:18 +0100 Message-Id: <20190111172134.30147-2-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092152_901189_FF57CC75 X-CRM114-Status: GOOD ( 14.25 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, stable@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski The timer interrupts specified in commit 3652e2741f42 ("ARM: dts: da850: Add clocks") are wrong but since the current timer code hard-codes them, the bug was never spotted. This patch must go into stable since, once we introduce a proper clocksource driver, devices with buggy device tree will stop booting. Fixes: 3652e2741f42 ("ARM: dts: da850: Add clocks") Cc: stable@vger.kernel.org Signed-off-by: Bartosz Golaszewski --- arch/arm/boot/dts/da850.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi index 47aa53ba6b92..559659b399d0 100644 --- a/arch/arm/boot/dts/da850.dtsi +++ b/arch/arm/boot/dts/da850.dtsi @@ -476,7 +476,7 @@ clocksource: timer@20000 { compatible = "ti,da830-timer"; reg = <0x20000 0x1000>; - interrupts = <12>, <13>; + interrupts = <21>, <22>; interrupt-names = "tint12", "tint34"; clocks = <&pll0_auxclk>; }; From patchwork Fri Jan 11 17:21:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760363 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7EB351515 for ; Fri, 11 Jan 2019 17:22:49 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5BA8B2A238 for ; Fri, 11 Jan 2019 17:22:49 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4F3D92A26B; Fri, 11 Jan 2019 17:22:49 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 301842A23B for ; Fri, 11 Jan 2019 17:22:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=Eqliu2I2OSspCwQNetCrn+/8CuHVIv1FSbkCLH7+Cp4=; b=Oo5ShfrjCL0j3p O6RT78Kg1WT6J3bCtLvdPjr5TMDYLf165KOlEd16iEFplvDD51o9jb0fOVnpuKDKF7akysKsK2uHV Utq3ru0jPEN5G9AlxBiQlulYIejKeU07ClPDDopNfqUH93eWsTkmreONeUYak5SUlip6T35Co6FzY 6mRKMI5otdjrGA7hjLOT9hdWn88M+ZkYbrEb/XCpYGQyneh8PJYLYmt97BkeCZP9QtU4uW0F5d35J IVP3RS+dVoWRjKY3ZRhPdSkKZVIHxhIA2VYSVl3Kq2dSrUJ2fQ60b1k+FBKEFXLSuy8qNQWCR61+8 lEsP7JxsJm/UZ4bfBR3Q==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0W4-0001CS-9Y; Fri, 11 Jan 2019 17:22:44 +0000 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VG-0000JC-Cn for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:21:56 +0000 Received: by mail-wm1-x341.google.com with SMTP id m1so3132614wml.2 for ; Fri, 11 Jan 2019 09:21:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QOlmAzT9VkWHBuMKcdHlAtoH6zcSrRq2fAobwtYxMi4=; b=uC6pgdPKBS8FYKKHHmyPtBc1aH1jyYY1+Nu+gOtJFIdu503PyiJskdXfAHdAtV+qj9 +KcNrX4FinszBYRnudC4LXtpOaZuM0TjQ9aqoB5M6Ns5DyECRnsmvEWLt8zhNISS5kah E29mzInzWElzgnn862DCEP6c/usmfmlfJ3R/7omuJ1pXwGBtfJUQ+2PiTGDKP+YejIIZ BF0ZYOyLlC40zlfRmJ0XS2CHeSoHRrHe+kX8JHzcMqHXIOeKgFvPQr+2RAD24DTc6HpU ZDrLYdNeJaymotUgA5m41X6q5vHbSHEM4vz+9ut07WPHSkTipCFxjnWlM7C9qZjtnW19 mdng== 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=QOlmAzT9VkWHBuMKcdHlAtoH6zcSrRq2fAobwtYxMi4=; b=ZdNeh6Nflijdmw0RQFz2v8xbBCDg5PjOa39ylOOTK9M+9aix2CPS8grRVMdRV3hhaC LSfezunPV5D9PYNSRPau6qZk8NC7FfwqfaYnKhIQj0rSIxC7LLsmMBIsv1NconcGRQET meX9h0a5XTZVJKH7ELbTNVnDtrt96472DehS5d20YXmxSC7Z4+fO9c8sxPNB0Rh1BxUN JuFIXVPqEadOYhiG4teo08BF3JN0ASsekpB8Di+VYxmjEc6O9oI4Z0eB18ItVMoOy/BT JiQeUeWucbkB62T1UGGr9RSJK/7Y781wZqdwqbZOlcHAQQ+F/CYXp8mHYy/dnRrKSc9r MdMw== X-Gm-Message-State: AJcUukdoaBBLhMtk91cn1rRtHpu5cRvwmvE8ksLkJFqW4TZxtp+UYUI9 h47BXPeZKa1nMh79Kiv1wjVIgw== X-Google-Smtp-Source: ALg8bN5shK6Q7cii91LOXXsN2kDWDOgE0CtGb7BnC7hPwceiD+ixRs1S9FaPqdxlykx7U8g1lXD1hw== X-Received: by 2002:a1c:578e:: with SMTP id l136mr2996733wmb.124.1547227312474; Fri, 11 Jan 2019 09:21:52 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.21.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:21:51 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 02/17] clocksource: davinci-timer: new driver Date: Fri, 11 Jan 2019 18:21:19 +0100 Message-Id: <20190111172134.30147-3-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092154_438938_D34A55AD X-CRM114-Status: GOOD ( 20.32 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski Currently the clocksource and clockevent support for davinci platforms lives in mach-davinci. It hard-codes many things, used global variables, implements functionalities unused by any platform and has code fragments scattered across many (often unrelated) files. Implement a new, modern and simplified timer driver and put it into drivers/clocksource. We still need to support legacy board files so export a config structure and a function that allows machine code to register the timer. We don't check the return values of regmap reads and writes since with mmio it's only likely to fail due to programmer's errors. We also don't bother freeing resources on errors in davinci_timer_register() as the system won't boot without a timer anyway. Signed-off-by: Bartosz Golaszewski --- drivers/clocksource/Kconfig | 5 + drivers/clocksource/Makefile | 1 + drivers/clocksource/timer-davinci.c | 415 ++++++++++++++++++++++++++++ include/clocksource/timer-davinci.h | 35 +++ 4 files changed, 456 insertions(+) create mode 100644 drivers/clocksource/timer-davinci.c create mode 100644 include/clocksource/timer-davinci.h diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig index a9e26f6a81a1..36d222c3fa4a 100644 --- a/drivers/clocksource/Kconfig +++ b/drivers/clocksource/Kconfig @@ -42,6 +42,11 @@ config BCM_KONA_TIMER help Enables the support for the BCM Kona mobile timer driver. +config DAVINCI_TIMER + bool "Texas Instruments DaVinci timer driver" + help + Enables the support for the TI DaVinci timer driver. + config DIGICOLOR_TIMER bool "Digicolor timer driver" if COMPILE_TEST select CLKSRC_MMIO diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile index cdd210ff89ea..1be97aa7a699 100644 --- a/drivers/clocksource/Makefile +++ b/drivers/clocksource/Makefile @@ -15,6 +15,7 @@ obj-$(CONFIG_SH_TIMER_TMU) += sh_tmu.o obj-$(CONFIG_EM_TIMER_STI) += em_sti.o obj-$(CONFIG_CLKBLD_I8253) += i8253.o obj-$(CONFIG_CLKSRC_MMIO) += mmio.o +obj-$(CONFIG_DAVINCI_TIMER) += timer-davinci.o obj-$(CONFIG_DIGICOLOR_TIMER) += timer-digicolor.o obj-$(CONFIG_OMAP_DM_TIMER) += timer-ti-dm.o obj-$(CONFIG_DW_APB_TIMER) += dw_apb_timer.o diff --git a/drivers/clocksource/timer-davinci.c b/drivers/clocksource/timer-davinci.c new file mode 100644 index 000000000000..7282a1fda80f --- /dev/null +++ b/drivers/clocksource/timer-davinci.c @@ -0,0 +1,415 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * TI DaVinci clocksource driver + * + * Copyright (C) 2019 Texas Instruments + * Author: Bartosz Golaszewski + * (with some parts adopted from code by Kevin Hilman ) + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#define DAVINCI_TIMER_REG_TIM12 0x10 +#define DAVINCI_TIMER_REG_TIM34 0x14 +#define DAVINCI_TIMER_REG_PRD12 0x18 +#define DAVINCI_TIMER_REG_PRD34 0x1c +#define DAVINCI_TIMER_REG_TCR 0x20 +#define DAVINCI_TIMER_REG_TGCR 0x24 + +#define DAVINCI_TIMER_TIMMODE_MASK 0x0000000c +#define DAVINCI_TIMER_RESET_MASK 0x00000003 +#define DAVINCI_TIMER_TIMMODE_32BIT_UNCHAINED 0x00000004 +#define DAVINCI_TIMER_UNRESET 0x00000003 + +/* Shift depends on timer. */ +#define DAVINCI_TIMER_ENAMODE_MASK 0x03 +#define DAVINCI_TIMER_ENAMODE_DISABLED 0x00 +#define DAVINCI_TIMER_ENAMODE_ONESHOT 0x01 +#define DAVINCI_TIMER_ENAMODE_PERIODIC 0x02 + +#define DAVINCI_TIMER_ENAMODE_SHIFT_TIM12 6 +#define DAVINCI_TIMER_ENAMODE_SHIFT_TIM34 22 + +#define DAVINCI_TIMER_MIN_DELTA 0x01 +#define DAVINCI_TIMER_MAX_DELTA 0xfffffffe + +#define DAVINCI_TIMER_CLKSRC_BITS 32 + +enum { + DAVINCI_TIMER_MODE_DISABLED = 0, + DAVINCI_TIMER_MODE_ONESHOT, + DAVINCI_TIMER_MODE_PERIODIC, +}; + +struct davinci_timer_data; + +typedef void (*davinci_timer_set_period_func)(struct davinci_timer_data *, + unsigned int period); + +struct davinci_timer_regs { + unsigned int tim_off; + unsigned int prd_off; + unsigned int enamode_shift; +}; + +struct davinci_timer_data { + const struct davinci_timer_regs *regs; + unsigned int mode; + struct regmap *map; + davinci_timer_set_period_func set_period; + unsigned int cmp_off; +}; + +struct davinci_timer_clockevent { + struct clock_event_device dev; + unsigned int tick_rate; + struct davinci_timer_data timer; +}; + +struct davinci_timer_clocksource { + struct clocksource dev; + struct davinci_timer_data timer; +}; + +static const struct regmap_config davinci_timer_regmap_config = { + .name = "timer-davinci", + .reg_bits = 32, + .reg_stride = 4, + .val_bits = 32, + .fast_io = true, +}; + +static const struct davinci_timer_regs davinci_timer_tim12_regs = { + .tim_off = DAVINCI_TIMER_REG_TIM12, + .prd_off = DAVINCI_TIMER_REG_PRD12, + .enamode_shift = DAVINCI_TIMER_ENAMODE_SHIFT_TIM12, +}; + +static const struct davinci_timer_regs davinci_timer_tim34_regs = { + .tim_off = DAVINCI_TIMER_REG_TIM34, + .prd_off = DAVINCI_TIMER_REG_PRD34, + .enamode_shift = DAVINCI_TIMER_ENAMODE_SHIFT_TIM34, +}; + +/* Must be global for davinci_timer_read_sched_clock(). */ +static struct davinci_timer_data *davinci_timer_clksrc_timer; + +static struct davinci_timer_clockevent * +to_davinci_timer_clockevent(struct clock_event_device *clockevent) +{ + return container_of(clockevent, struct davinci_timer_clockevent, dev); +} + +static struct davinci_timer_clocksource * +to_davinci_timer_clocksource(struct clocksource *clocksource) +{ + return container_of(clocksource, struct davinci_timer_clocksource, dev); +} + +static void davinci_timer_set_period(struct davinci_timer_data *timer, + unsigned int period) +{ + timer->set_period(timer, period); +} + +static void davinci_timer_set_period_std(struct davinci_timer_data *timer, + unsigned int period) +{ + const struct davinci_timer_regs *regs = timer->regs; + unsigned int enamode; + + regmap_read(timer->map, DAVINCI_TIMER_REG_TCR, &enamode); + + regmap_update_bits(timer->map, DAVINCI_TIMER_REG_TCR, + DAVINCI_TIMER_ENAMODE_MASK << regs->enamode_shift, + DAVINCI_TIMER_ENAMODE_DISABLED << regs->enamode_shift); + + regmap_write(timer->map, regs->tim_off, 0x0); + regmap_write(timer->map, regs->prd_off, period); + + if (timer->mode == DAVINCI_TIMER_MODE_ONESHOT) + enamode = DAVINCI_TIMER_ENAMODE_ONESHOT; + else if (timer->mode == DAVINCI_TIMER_MODE_PERIODIC) + enamode = DAVINCI_TIMER_ENAMODE_PERIODIC; + + regmap_update_bits(timer->map, DAVINCI_TIMER_REG_TCR, + DAVINCI_TIMER_ENAMODE_MASK << regs->enamode_shift, + enamode << regs->enamode_shift); +} + +static void davinci_timer_set_period_cmp(struct davinci_timer_data *timer, + unsigned int period) +{ + const struct davinci_timer_regs *regs = timer->regs; + unsigned int curr_time; + + regmap_read(timer->map, regs->tim_off, &curr_time); + regmap_write(timer->map, timer->cmp_off, curr_time + period); +} + +static irqreturn_t davinci_timer_irq_timer(int irq, void *data) +{ + struct davinci_timer_clockevent *clockevent = data; + + clockevent->dev.event_handler(&clockevent->dev); + + return IRQ_HANDLED; +} + +static irqreturn_t davinci_timer_irq_freerun(int irq, void *data) +{ + return IRQ_HANDLED; +} + +static u64 notrace davinci_timer_read_sched_clock(void) +{ + struct davinci_timer_data *timer; + unsigned int val; + + timer = davinci_timer_clksrc_timer; + regmap_read(timer->map, timer->regs->tim_off, &val); + + return val; +} + +static u64 davinci_timer_read(struct clocksource *dev) +{ + struct davinci_timer_clocksource *clocksource; + const struct davinci_timer_regs *regs; + unsigned int val; + + clocksource = to_davinci_timer_clocksource(dev); + regs = clocksource->timer.regs; + + regmap_read(clocksource->timer.map, regs->tim_off, &val); + + return val; +} + +static int davinci_timer_set_next_event(unsigned long cycles, + struct clock_event_device *dev) +{ + struct davinci_timer_clockevent *clockevent; + + clockevent = to_davinci_timer_clockevent(dev); + davinci_timer_set_period(&clockevent->timer, cycles); + + return 0; +} + +static int davinci_timer_set_state_shutdown(struct clock_event_device *dev) +{ + struct davinci_timer_clockevent *clockevent; + + clockevent = to_davinci_timer_clockevent(dev); + clockevent->timer.mode = DAVINCI_TIMER_MODE_DISABLED; + + return 0; +} + +static int davinci_timer_set_state_periodic(struct clock_event_device *dev) +{ + struct davinci_timer_clockevent *clockevent; + unsigned int period; + + clockevent = to_davinci_timer_clockevent(dev); + period = clockevent->tick_rate / HZ; + + clockevent->timer.mode = DAVINCI_TIMER_MODE_PERIODIC; + davinci_timer_set_period(&clockevent->timer, period); + + return 0; +} + +static int davinci_timer_set_state_oneshot(struct clock_event_device *dev) +{ + struct davinci_timer_clockevent *clockevent; + + clockevent = to_davinci_timer_clockevent(dev); + clockevent->timer.mode = DAVINCI_TIMER_MODE_ONESHOT; + + return 0; +} + +int __init davinci_timer_register(struct clk *clk, + const struct davinci_timer_cfg *timer_cfg) +{ + struct davinci_timer_clocksource *clocksource; + struct davinci_timer_clockevent *clockevent; + struct regmap *map; + int rv, clkev_irq; + void *base; + + rv = clk_prepare_enable(clk); + if (rv) { + pr_err("%s: Unable to prepare and enable the timer clock\n", + __func__); + return rv; + } + + base = ioremap(timer_cfg->reg.start, resource_size(&timer_cfg->reg)); + if (!base) { + pr_err("%s: Unable to map the register range", __func__); + return -ENOMEM; + } + + map = regmap_init_mmio(NULL, base, &davinci_timer_regmap_config); + if (IS_ERR(map)) { + pr_err("%s: Error initiating regmap\n", __func__); + return PTR_ERR(map); + } + + /* Global timer init. */ + + /* Set clock to internal mode and disable it. */ + regmap_write(map, DAVINCI_TIMER_REG_TCR, 0x0); + /* Reset both 32-bit timers, set no prescaler for timer 34. */ + regmap_write(map, DAVINCI_TIMER_REG_TGCR, 0x0); + /* Set the timer to dual 32-bit unchained mode. */ + regmap_update_bits(map, DAVINCI_TIMER_REG_TGCR, + DAVINCI_TIMER_TIMMODE_MASK, + DAVINCI_TIMER_TIMMODE_32BIT_UNCHAINED); + /* Unreset both 32-bit timers. */ + regmap_update_bits(map, DAVINCI_TIMER_REG_TGCR, + DAVINCI_TIMER_RESET_MASK, DAVINCI_TIMER_UNRESET); + /* Init both counters to zero. */ + regmap_write(map, DAVINCI_TIMER_REG_TIM12, 0x0); + regmap_write(map, DAVINCI_TIMER_REG_TIM34, 0x0); + + /* Setup clockevent. */ + + clockevent = kzalloc(sizeof(*clockevent), GFP_KERNEL); + if (!clockevent) { + pr_err("%s: Error allocating memory for clockevent data", + __func__); + return -ENOMEM; + } + + clockevent->dev.name = "timer0_0"; + clockevent->dev.features = CLOCK_EVT_FEAT_ONESHOT; + clockevent->dev.set_next_event = davinci_timer_set_next_event; + clockevent->dev.set_state_shutdown = davinci_timer_set_state_shutdown; + clockevent->dev.set_state_periodic = davinci_timer_set_state_periodic; + clockevent->dev.set_state_oneshot = davinci_timer_set_state_oneshot; + clockevent->dev.cpumask = cpumask_of(0); + clockevent->tick_rate = clk_get_rate(clk); + clockevent->timer.mode = DAVINCI_TIMER_MODE_DISABLED; + clockevent->timer.map = map; + clockevent->timer.regs = &davinci_timer_tim12_regs; + + if (timer_cfg->cmp.offset) { + clkev_irq = timer_cfg->cmp.irq.start; + clockevent->timer.cmp_off = timer_cfg->cmp.offset; + clockevent->timer.set_period = davinci_timer_set_period_cmp; + } else { + clkev_irq = timer_cfg->irq[DAVINCI_TIMER_TIM12_IRQ].start; + clockevent->dev.features |= CLOCK_EVT_FEAT_PERIODIC; + clockevent->timer.set_period = davinci_timer_set_period_std; + } + + rv = request_irq(clkev_irq, davinci_timer_irq_timer, + IRQF_TIMER, "clockevent", clockevent); + if (rv) { + pr_err("%s: Unable to request the clockevent interrupt\n", + __func__); + return rv; + } + + clockevents_config_and_register(&clockevent->dev, + clockevent->tick_rate, + DAVINCI_TIMER_MIN_DELTA, + DAVINCI_TIMER_MAX_DELTA); + + /* Setup clocksource */ + + clocksource = kzalloc(sizeof(*clocksource), GFP_KERNEL); + if (!clocksource) { + pr_err("%s: Error allocating memory for clocksource data", + __func__); + return -ENOMEM; + } + + clocksource->dev.name = timer_cfg->cmp.offset ? "timer0_0" : "timer0_1"; + clocksource->dev.rating = 300; + clocksource->dev.read = davinci_timer_read; + clocksource->dev.mask = CLOCKSOURCE_MASK(DAVINCI_TIMER_CLKSRC_BITS); + clocksource->dev.flags = CLOCK_SOURCE_IS_CONTINUOUS; + clocksource->timer.set_period = davinci_timer_set_period_std; + clocksource->timer.mode = DAVINCI_TIMER_MODE_PERIODIC; + clocksource->timer.map = map; + clocksource->timer.regs = &davinci_timer_tim34_regs; + + rv = request_irq(timer_cfg->irq[DAVINCI_TIMER_TIM34_IRQ].start, + davinci_timer_irq_freerun, IRQF_TIMER, + "free-run counter", clocksource); + if (rv) { + pr_err("%s: Unable to request the clocksource interrupt\n", + __func__); + return rv; + } + + rv = clocksource_register_hz(&clocksource->dev, clockevent->tick_rate); + if (rv) { + pr_err("%s: Unable to register clocksource\n", + __func__); + return rv; + } + + davinci_timer_clksrc_timer = &clocksource->timer; + + sched_clock_register(davinci_timer_read_sched_clock, + DAVINCI_TIMER_CLKSRC_BITS, + clockevent->tick_rate); + + davinci_timer_set_period(&clockevent->timer, + clockevent->tick_rate / HZ); + davinci_timer_set_period(&clocksource->timer, UINT_MAX); + + return 0; +} + +static int __init of_davinci_timer_register(struct device_node *np) +{ + struct davinci_timer_cfg timer_cfg = { }; + struct clk *clk; + int rv; + + rv = of_address_to_resource(np, 0, &timer_cfg.reg); + if (rv) { + pr_err("%s: Unable to get the register range for timer\n", + __func__); + return rv; + } + + rv = of_irq_to_resource_table(np, timer_cfg.irq, + DAVINCI_TIMER_NUM_IRQS); + if (rv != DAVINCI_TIMER_NUM_IRQS) { + pr_err("%s: Unable to get the interrupts for timer\n", + __func__); + return rv; + } + + clk = of_clk_get(np, 0); + if (IS_ERR(clk)) { + pr_err("%s: Unable to get the timer clock\n", __func__); + return PTR_ERR(clk); + } + + rv = davinci_timer_register(clk, &timer_cfg); + if (rv) + clk_put(clk); + + return rv; +} +TIMER_OF_DECLARE(davinci_timer, "ti,da830-timer", of_davinci_timer_register); diff --git a/include/clocksource/timer-davinci.h b/include/clocksource/timer-davinci.h new file mode 100644 index 000000000000..77a98cbd040b --- /dev/null +++ b/include/clocksource/timer-davinci.h @@ -0,0 +1,35 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * TI DaVinci clocksource driver + * + * Copyright (C) 2019 Texas Instruments + * Author: Bartosz Golaszewski + */ + +#ifndef __TIMER_DAVINCI_H__ +#define __TIMER_DAVINCI_H__ + +#include +#include + +enum { + DAVINCI_TIMER_TIM12_IRQ = 0, + DAVINCI_TIMER_TIM34_IRQ, + DAVINCI_TIMER_NUM_IRQS, +}; + +struct davinci_timer_cmp_cfg { + struct resource irq; + unsigned int offset; +}; + +struct davinci_timer_cfg { + struct resource reg; + struct resource irq[DAVINCI_TIMER_NUM_IRQS]; + struct davinci_timer_cmp_cfg cmp; +}; + +int __init davinci_timer_register(struct clk *clk, + const struct davinci_timer_cfg *data); + +#endif /* __TIMER_DAVINCI_H__ */ From patchwork Fri Jan 11 17:21:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760357 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3ABFA14E5 for ; Fri, 11 Jan 2019 17:22:34 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 172542A27C for ; Fri, 11 Jan 2019 17:22:34 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 151892A24A; Fri, 11 Jan 2019 17:22:34 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 9C67B2A26A for ; Fri, 11 Jan 2019 17:22:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=2yGKIL1n/LRGQ+TKLp89J5zIWQfk4np/rjyh9DQRttY=; b=VV1bqna9ddNiYM 7QNF8etgEZx9wThbJFfF+gTdJRLO/z2Y+bE10mZi4aLKDJzOSR174KPAKu9x8ffEoxqWpo61SAYH8 iNST8mHvtJoRUHJff6NSIviBFq7t99aF8o8AR3+TPdOVEYG2UHMSbWAFhYuvxnwmcTFfHJC3xZytd 8+aFsFIdhuC1b7TLE3JrIxMutwV8UZaH6rsWico1tmb2aT4eda0ijxaBegZJOnhWyqsBEqHTv4W5m 8rXKaUWQ1SdbWnuXANcbJUKUkkBjve4dJm/d+lqyRg8MmTEpclKdPgk40yBOCb5et2b+xPOWTh+8j ZWOkYjKHhjq7TWlL0wrQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0Vp-0000vt-Ev; Fri, 11 Jan 2019 17:22:29 +0000 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VH-0000JJ-FX for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:21:56 +0000 Received: by mail-wr1-x444.google.com with SMTP id t6so15958148wrr.12 for ; Fri, 11 Jan 2019 09:21:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2Gcim/fCIWXhuVX+s1fGkV+jOQ/IrIz2z47zga20lwo=; b=v0mpWBv6XnmUKe2KJf6RtmYvLh6zssMGo/7Ed3ozpbGOTYRh1yFOwAQChb078mvqPX OZaSfcTpR1T6yUy1cSjzISI40aI/EGfgn1eE+r4vs3mfScbfe22tG8J8bTdtOQn6xu0l WUw2ZmDgZuD7hLnWys90B/oxOBRqK9tMJMgO0Sg2kIZJ2/0AiwkIwa+qIYNyxQ9qtPy+ n8AJMtZT4yJA2EM/y8KkUqRUtd244OVFhORDzCbxt79Dw/NHcQjdsosyVjErxNLJwZdy Xa9F7CNTfxz2+8PnXYrK2UoyYMME+CAKl29gW7M8Sw2/yCPaPG7lJ6Q1zSx3UTHUbd7I fp9w== 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=2Gcim/fCIWXhuVX+s1fGkV+jOQ/IrIz2z47zga20lwo=; b=KV0uNhWbgrP+t8NcBP8Pm0mk5juIp60X3esw4mX/wcAsSM27qzQ8z0AQRrSbDphhp+ 23wcWEyUq5lIhEcLSUsbTecWiiZgee9anoHW0JJkxYAWB9NuqmSPiU62AzUcaE46KvRo QDMXEvY+XLz2QgqFT/fByi/OCMDE47NJ2a8z9CqZ1rkq7USn8P4YrLgGsb7noLrMlxhx O2Zwug0mrvVEEIA9Js50pSTJCE1M96/2JUmfjI6YW29LQmx3KRaRQzgB/8n9wA+rd5s6 TPb3wJ8QDf4MmdaMxCO6YdYekbVcVnYwf9zcf+ehI92jraK+rjxKmbqNSdQcgxJm9Tnk N7jQ== X-Gm-Message-State: AJcUukeGfZMCNwDvCPaxHLMrsze0toX53q+AxQey1qV6tHvqSKT3HmeX N6ByF0u43yo5hWNTK/D8AdSumA== X-Google-Smtp-Source: ALg8bN7+2jcKNRUdShkaj1KvtoUk8sph9ypjcGAX3tEGOZy2GuzEnYt1/hN+5muPJtVP0f2EK9Exlg== X-Received: by 2002:adf:ba05:: with SMTP id o5mr13869371wrg.325.1547227313793; Fri, 11 Jan 2019 09:21:53 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.21.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:21:53 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 03/17] ARM: davinci: enable the clocksource driver for DT mode Date: Fri, 11 Jan 2019 18:21:20 +0100 Message-Id: <20190111172134.30147-4-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092155_518292_65A46F33 X-CRM114-Status: GOOD ( 13.53 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski Switch all davinci boards using device tree to using the new clocksource driver: remove the previous OF_TIMER_DECLARE() from mach-davinci and select davinci-timer to be built for davinci_all_defconfig. Signed-off-by: Bartosz Golaszewski --- arch/arm/Kconfig | 1 + arch/arm/mach-davinci/time.c | 14 -------------- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 664e918e2624..8a09a0ab0ce2 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -586,6 +586,7 @@ config ARCH_DAVINCI select ARCH_HAS_HOLES_MEMORYMODEL select COMMON_CLK select CPU_ARM926T + select DAVINCI_TIMER select GENERIC_ALLOCATOR select GENERIC_CLOCKEVENTS select GENERIC_IRQ_CHIP diff --git a/arch/arm/mach-davinci/time.c b/arch/arm/mach-davinci/time.c index 5a6de5368ab0..740410a3bb6a 100644 --- a/arch/arm/mach-davinci/time.c +++ b/arch/arm/mach-davinci/time.c @@ -398,17 +398,3 @@ void __init davinci_timer_init(struct clk *timer_clk) for (i=0; i< ARRAY_SIZE(timers); i++) timer32_config(&timers[i]); } - -static int __init of_davinci_timer_init(struct device_node *np) -{ - struct clk *clk; - - clk = of_clk_get(np, 0); - if (IS_ERR(clk)) - return PTR_ERR(clk); - - davinci_timer_init(clk); - - return 0; -} -TIMER_OF_DECLARE(davinci_timer, "ti,da830-timer", of_davinci_timer_init); From patchwork Fri Jan 11 17:21:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760371 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 410561515 for ; Fri, 11 Jan 2019 17:23:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1FFBB2A253 for ; Fri, 11 Jan 2019 17:23:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1ED742A25F; Fri, 11 Jan 2019 17:23:06 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id DFC122A275 for ; Fri, 11 Jan 2019 17:23:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=H2JLbEj/zP4OYwJKQuvZhuZ3sD4ZNyZh4hCRTUdEgjw=; b=f77WN/LzAJ1yY2 MrPgXS/kKm8YBvPCyNfu5eTqy40jK6tqd4XX/xmaMXn+5j5d8/Uh3w2CJUVfeoDcDRQwgXqixKQgD IxYdGCdlByW098WU+nyW8R98nmXLosjl9tLCqw/6xpopflxv8xZYrJ/JLa697aqiX8GjuZ2MYcXf/ sWxFPxtN+yRRH2lpx1PXC6bv5vCGDA9KM66uWw6iyZ+Z11fSfzkBeihVW2fzCm4d4G4AoRYMblE13 9NS1CPqadb2ojhdjV/o4z3QnRs10H570cQzpWm/HCL9Pff9Jwoqeaq6i/54tjq7ipYAPlUcX+ORAQ +nMWW0VLFPbQcqYdaZsw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0WJ-0001SA-2V; Fri, 11 Jan 2019 17:22:59 +0000 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VI-0000Jd-Ku for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:22:00 +0000 Received: by mail-wm1-x344.google.com with SMTP id b11so3143683wmj.1 for ; Fri, 11 Jan 2019 09:21:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wdNPi9yYX+VeO7yfYl4QzOTwh2emyQNtF85luiFVb28=; b=uhGHaxmEJviZuGQmGmBjpOazE6+kQBgDedrWgSS8iT8szm3RUCgxV07K6lR7YqFae3 PykG/z5syFNlaT0+zHQfvyI2gkXAReMEmNrn2vCHXPDqsNo65KJmLCovjM8Z+1bXkfFG z2JMyiKbOao1JqKiKt9p7zki09GkScxag2UHps2pmRFUxSPPInK2G7K3na7jojaC9Vkl AH5eNZjcBrzOey0U0nCYzg2RNB7n+h9oALKQ8t8DVXcaf7T2yckvEf2nG/VeIZbG9Fwa kKk0L9UBPWeL9LneejzIo6byknAzktb8WVukq7YOBFTextXqJGbHPRkuZnx2lpgGS6s8 GPTw== 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=wdNPi9yYX+VeO7yfYl4QzOTwh2emyQNtF85luiFVb28=; b=TXBwojhX+EkV3VaCzZ60YLjl6QIN0Ig4uPtC1QEixlAjS7azwnRNzjM13ShXDuQyFL VtTrALtuMNbgpD1uMJ1723Vr6ILcGUGTuAmDWR3+7Kf2ISHZOOQh5iPAn0VlD0pIHBUy 7UXWguo6nVwqw0mPGUPcef4AbwfPLWG16J8+FvDPXjxW/m9S3yj91A/lCSQDKMJJNIjR /jAeYfMhGtXRhbrbvnZObx1WmFrFQO+waMtqV+UJbiybreIxBg2intAuX01YDpsrVQUB TFqd59w4P4Jne/Umz4lbKVJhNfLDk5QKE4ywGddgxTGFvLA44lvj3KQfr60xEKsqzw3w oRJA== X-Gm-Message-State: AJcUukeLyBKB0VbMtLtpTeD+O1ToNxSbQ7ApNHNy2Wmt8NxFs65fs/4I ZT1K/0zQ3aitOmdIekbB+DvGAQ== X-Google-Smtp-Source: ALg8bN51ES/LVNgyvdfRMCzv55KUPPAPMkaAEcAbJT82yMZmq+JTtiU37mTzcH08PmBePII1Rao3XA== X-Received: by 2002:a1c:6e01:: with SMTP id j1mr3015616wmc.103.1547227315042; Fri, 11 Jan 2019 09:21:55 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.21.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:21:54 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 04/17] ARM: davinci: da850: WARN() if clk_get() fails Date: Fri, 11 Jan 2019 18:21:21 +0100 Message-Id: <20190111172134.30147-5-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092156_842442_E9DDB5BA X-CRM114-Status: GOOD ( 12.75 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski Currently the timer code checks if the clock pointer passed to it is good (!IS_ERR(clk)). The new clocksource driver expects the clock to be functional and doesn't perform any checks so emit a warning if clk_get() fails. Signed-off-by: Bartosz Golaszewski --- arch/arm/mach-davinci/da850.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/mach-davinci/da850.c b/arch/arm/mach-davinci/da850.c index e7b78df2bfef..9ff377f26c4b 100644 --- a/arch/arm/mach-davinci/da850.c +++ b/arch/arm/mach-davinci/da850.c @@ -774,6 +774,7 @@ void __init da850_init_time(void) da850_pll0_init(NULL, pll0, cfgchip); clk = clk_get(NULL, "timer0"); + WARN(IS_ERR(clk), "Unable to get the timer clock\n"); davinci_timer_init(clk); } From patchwork Fri Jan 11 17:21:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760375 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2D56C14E5 for ; Fri, 11 Jan 2019 17:23:16 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0DC1E2A23B for ; Fri, 11 Jan 2019 17:23:16 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0BEEE2A26A; Fri, 11 Jan 2019 17:23:16 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id A0B4A2A23B for ; Fri, 11 Jan 2019 17:23:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=Xbcbh8VMXRvMSf6fu/DrAjjbv9AGrAmdR9GvFs/Q420=; b=AmQ2TrmT+1gikv WRrcDNiouX5kGo3khL3g6pQtvNpmjn/VxqWxWf3xVNFKA+ET+tB187M1g7KmjenYE5qUAUBVx2rxI +TXHKvuFMHCgpr0syreFkPHvm5VPnw4BQdIQ68p9bhLX7Ns/nKJu1jx0sA6cSjt57nJt0A7MSwH3Y 7wyYPWcJN9flRUboBYKyGgXQtvNl4rtnfAwWw6YASgmJbHUUlGxzO6KjCSPTidw7cNcpbjbL6cuQi 3e4Ck5lK2oyNpvhcTfMRcEwvQZSs5gFI1v8Ck+5rgCkbs+rwB9j3GrZ3Y4/si8eYHzHhMDzpmh+uO FtVljv9YegZ1mFmK3mQQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0WX-0001iU-DJ; Fri, 11 Jan 2019 17:23:13 +0000 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VJ-0000KS-Jl for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:22:01 +0000 Received: by mail-wm1-x341.google.com with SMTP id a62so3120747wmh.4 for ; Fri, 11 Jan 2019 09:21:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5eYRdbvgDdHfOnobAkn0se7ULIb/ZfwVvRXf2x91rcw=; b=hffmTclC/x8u+Wt1kuG5Wxtfm6YyV5cO0iMi6wL530U8HsPEkq2jYoL7b3WqwuOtNk pJF5S8qKGlpdEiHaJ6/glLMHv8dolGRBCLqxQJ3yVqNv/Ex5EoizPFGgj5hQW+1Yw6bq 1GOhkPHEfRACFJPJW6ygjfLI4qbsk8oq2GEZAPaWsl3cf052aQmnKrumxiuYvhERp7da GlYrESykyYFVlln/BA59FG4HQ9QLn6gC/D7ys4XosCrFf/9ssPJrd3QnjiRL79QOCP0e hs0S7kStYDI9SNs9BQC96nLGd3yR163GIsUaDGoJlmEIq8crLDiBKuEnZ62PmuCHqTNC l4/w== 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=5eYRdbvgDdHfOnobAkn0se7ULIb/ZfwVvRXf2x91rcw=; b=aKLdrYDUn2Z1+/wA2ilUMs5AnAqYGAq2+UXfQmyh4B+bWuyHvt7dqoAJwl85zoWNTr g/ErMaO/ZbtZ0FTjCkrJNIGvXvLlPbij0B+gxViHxsWzpZwhipUNbtIER0F1IRTvJnu7 LBCtd+CPN8HPeLAwb8rJ1q307ngU+QsyjT2hMyj5IMWEQUNcPiDtJDVc/rMhGWTnFY2n 803wJnO5MjPPaCyC3FX2ZRXlss8CpIFQuWk0hdEMtHWjzP7YcnppgBx4fuNK+m0AJTPg Ju1SXDYOe3GRFsAStKTd1zdvJ3EhvtCmrLuJZshu9tSH32mwbhP2d25Onkg+GLmSpzPh p9yA== X-Gm-Message-State: AJcUuke1fgiseeppOrB/5nEwELprklDQef9H7RC9aNU+HtDtD0ra7EF+ EQRphXwqjmSH+fuNZV58frtPoA== X-Google-Smtp-Source: ALg8bN6/vlQROYcPFMxZim6E1/hYDMGefiK5Z6JM9KdqjaHc9jDYPjMkBD3PcbjuASZry8S9lXjO1g== X-Received: by 2002:a1c:4346:: with SMTP id q67mr3257815wma.114.1547227316209; Fri, 11 Jan 2019 09:21:56 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.21.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:21:55 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 05/17] ARM: davinci: da830: WARN() if clk_get() fails Date: Fri, 11 Jan 2019 18:21:22 +0100 Message-Id: <20190111172134.30147-6-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092158_090664_0B36554B X-CRM114-Status: GOOD ( 12.76 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski Currently the timer code checks if the clock pointer passed to it is good (!IS_ERR(clk)). The new clocksource driver expects the clock to be functional and doesn't perform any checks so emit a warning if clk_get() fails. Signed-off-by: Bartosz Golaszewski --- arch/arm/mach-davinci/da830.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/mach-davinci/da830.c b/arch/arm/mach-davinci/da830.c index 2cc9fe4c3a91..ceb0417f10f6 100644 --- a/arch/arm/mach-davinci/da830.c +++ b/arch/arm/mach-davinci/da830.c @@ -834,6 +834,7 @@ void __init da830_init_time(void) da830_pll_init(NULL, pll, NULL); clk = clk_get(NULL, "timer0"); + WARN(IS_ERR(clk), "Unable to get the timer clock\n"); davinci_timer_init(clk); } From patchwork Fri Jan 11 17:21:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760391 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 07D5614E5 for ; Fri, 11 Jan 2019 17:25:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DA86E28DDD for ; Fri, 11 Jan 2019 17:25:47 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CEDC929BDD; Fri, 11 Jan 2019 17:25:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 88B0428DDD for ; Fri, 11 Jan 2019 17:25:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=hsXdlcFVW8VY90V9uHSbI5jDr+jc39y0kgLD+8jaS9M=; b=nJmQPvIw20qVal ToJdjGwaXR5wQR0A5ayVh4hdPRh5+jz2kW1m3+9KX/FE0RFqrPU9MAQthg0cnIOhk8VLwVttHUcIw oVBmUCxbORjnYEUD3PDltlbPA09uSjqLrBBRVi9oTtEA+kPxxNiis2nXaDS9ddJdCcxqdPt80uLQG CzhgRbaaOx+E07v/OLwoszcfFiLSbnCCdzyaoVxZ6WARWY5RaKshtNwA5bFu7B4SjLPOd3Rwt6JIk Qt8uI5yurAJY7FOpvHQ+CzyvyuJf+Sc6dvyLMxZZnrBz5zyF9U/58vd6ZV1FtKdBU/TmnpO48x2se qL7X5hW6Ry6AGW3gINrA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0Yz-0005DZ-LO; Fri, 11 Jan 2019 17:25:45 +0000 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VK-0000M2-O8 for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:22:05 +0000 Received: by mail-wr1-x444.google.com with SMTP id j2so16082560wrw.1 for ; Fri, 11 Jan 2019 09:21:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FVtO+nu/Gq60aTArb+P6QnW6Oh2zrZ3K6RvHVatJhiU=; b=lWLplKMF9uI3jzhYcYJFMJy6JUSIXtRhX/Cr8/whDeAozRjHgoQT7rtHAKX5qoWIFS YTgjaEpU4cvFVn6l8ONi6E4i3+K3GB+xDqqD1S4z7nE2oWTZ4jefhgmU6jabsjXlGNq7 Lce7YdYUQahMvJlHYLuy/PM6Y8e7frFMSwLw5u3qiQmYEyXYXDkzhTcVBs83P83SY7v1 0DuweP4DQ5M/x5Ml5eNuM8Zz76PjINa1m+PqGnaM9pgmpSEBQnVm2uG/IOMg82LG2RwM 95E2t5mjWHwzI44Ag0LVCtOjzP91bRi+std4EYEvIrFMF8IaJOmyODtWrVuFV+2ns8m4 XAjw== 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=FVtO+nu/Gq60aTArb+P6QnW6Oh2zrZ3K6RvHVatJhiU=; b=LeH7mTXqWypvqJb0FTk+e+BxQXWZaU537QtnUC5vd3QJ9JqERenZgUY2+kiJ0OBBg8 EpJdjoHqJgNj7jrQ6Qmt5dVDac85fGhFC3FuCg3Qy0TqNS7YHYyWzTXkAcLgqrijugej uRjbgnEKRvUfHIGt4/JlRkh29HR6XriUd/Dc1k6U1RJTxxVjVltUigwHa//zwr/SxY7A gwbOYJ/h6QcTziUwfwBGrysB1THlAlFIhnt5IMcpVJcIiQCBLIQ3cCImQGJBU30uHV33 aTSCFGwZbDui4rVrZOarElL//jhrU28gkpRFR/A4LUTe90Mgo4O1khIDxakwczJ7yg5q uQcA== X-Gm-Message-State: AJcUukdVQ+Ehy5VDKkAleRy7KswxpDgHE8gLC6xW4kooNh2S76JJaKZs UWsQ8Uct2sZpkjC6L7BFvNYunQkFAVo02A== X-Google-Smtp-Source: ALg8bN41MhWv/0vAb1r3Fk+hc1+GCFAZZSQtxdUrX4tGf0TJuEk3MPrz84xgLcB20x1ylnnQC/TTNw== X-Received: by 2002:adf:97d1:: with SMTP id t17mr14424684wrb.283.1547227317462; Fri, 11 Jan 2019 09:21:57 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.21.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:21:56 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 06/17] ARM: davinci: dm355: WARN() if clk_get() fails Date: Fri, 11 Jan 2019 18:21:23 +0100 Message-Id: <20190111172134.30147-7-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092159_320601_3E9E5820 X-CRM114-Status: GOOD ( 12.76 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski Currently the timer code checks if the clock pointer passed to it is good (!IS_ERR(clk)). The new clocksource driver expects the clock to be functional and doesn't perform any checks so emit a warning if clk_get() fails. Signed-off-by: Bartosz Golaszewski --- arch/arm/mach-davinci/dm355.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/mach-davinci/dm355.c b/arch/arm/mach-davinci/dm355.c index 4c6e0bef4509..07ad9d6c9cae 100644 --- a/arch/arm/mach-davinci/dm355.c +++ b/arch/arm/mach-davinci/dm355.c @@ -745,6 +745,7 @@ void __init dm355_init_time(void) dm355_psc_init(NULL, psc); clk = clk_get(NULL, "timer0"); + WARN(IS_ERR(clk), "Unable to get the timer clock\n"); davinci_timer_init(clk); } From patchwork Fri Jan 11 17:21:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760387 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 675EE14E5 for ; Fri, 11 Jan 2019 17:25:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 472E92A256 for ; Fri, 11 Jan 2019 17:25:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 457572A264; Fri, 11 Jan 2019 17:25:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id E74C32A2A7 for ; Fri, 11 Jan 2019 17:25:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=lQP2L/1+kCoe61Qh5byihABq+9v/poTXeKGIhe3xed8=; b=SE+ZPRYwqNgYUM ftp7qXFUqoySO8FtM5MYeqfhaEYXyKrN4b+lWyGwTgW8lbpqzJ9y23eoXdyVxvqi9oPcWc5yPX7I8 Htq9IwviOIzyhNl6Ueo7+AidIW7sAZ4OfuiZRTwtafd37ox97MfAGeyyU9IoF3KCNMhMAhkp+0BpG HzKefZkiPi0eA3i9MCp6ctTTBfNTp9AZqdA+eeHZCB1KmTyq3Mj8k3033TnZgg36j96K1j+kAUDYT Lmxack5lWbBiH8bK3dgKdOssV/PYboBOoJiGCerqLea9M0o4RPCOmI0OLjNsG+dpYObSAehbTFugB dDkM7AzleazCrxHDrCKw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0YS-00040Q-1T; Fri, 11 Jan 2019 17:25:12 +0000 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VM-0000NV-C1 for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:22:05 +0000 Received: by mail-wm1-x343.google.com with SMTP id y8so3097329wmi.4 for ; Fri, 11 Jan 2019 09:22:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xBD70HL2qWO03paRwQIDmAlJlPVaPEi3eVQDU8YVxoo=; b=KRWLRY0F0rlnDv+yevaEtVPd9HPVrX+LTdoU6A+ijvu7ZMOPU4qM7ax6P/rvDVMsGs 23AY5Oh/ZZrxMP9xaUabObPNgCxtJlkBfMzFeYZuZGnFmEMgEqd+Ulj3BppJ6QiXl4OH kXrRre/lBt9z/FJYMTecJf/o2+VpnV4B1mAkZVnMhKLhVmUClQ70Z5Qw+VlW1lxzZ/yP c0LX4YhDgojAKNy8JPPer8EbpOXz3LnrCGJoI9eA5MR6z5uJGzj4UG/8OI1ahP1Wdo38 Li5O6vdrBaG8A/wPmcqtjscRh/iddp3UxmSfWFMhgIKoLZU3aTrjhs4Es0RMXB38I+4+ SrFg== 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=xBD70HL2qWO03paRwQIDmAlJlPVaPEi3eVQDU8YVxoo=; b=HApadd4Uc3lRicz68rJAFQqrxIW5wDM1uJE9UmutRT1X7NkXoj3z/qu+Wr8VmYVmSu lbX3FiFsUDCE7TYlVqT6Vr891yR5JGWBG1cc5NUgPe2kyHcz3eWanHd22nRS6mgboYPk mrMzlxk5uQQDrP8zqkqWtwKwvCFErdkzRqfys1/mv+PvHgG60LLECGfSyLz9FDQqxser xbFeXj/2dGskiFe1c/ormBDCit/FnifHec/M+kPFsXLCak8fIbUIj6Kckt8ONEeiPtkM PhGaS7JI5yjUD8fKbnSZB9ZkY6Y8mDlGsuvV1nojldveEaACBNnVkZzYz0SZY5GVlTcI b//g== X-Gm-Message-State: AJcUukfO1jQSvQPgjEAarzdNKG7fmn9QrkLDGwz0zNAF08z9YACwxdDw p9QLvg1ome9JWEfNUuc7FGLJBA== X-Google-Smtp-Source: ALg8bN45wANz3c7rgmiuLR9X1ICgjFWDGdCeblsSLFC0KdscQ3VOCvOjBhNQluWu800clWt35Ce+DA== X-Received: by 2002:a1c:7616:: with SMTP id r22mr3084741wmc.35.1547227318742; Fri, 11 Jan 2019 09:21:58 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.21.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:21:58 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 07/17] ARM: davinci: dm365: WARN() if clk_get() fails Date: Fri, 11 Jan 2019 18:21:24 +0100 Message-Id: <20190111172134.30147-8-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092200_944970_E06A74E9 X-CRM114-Status: GOOD ( 12.76 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski Currently the timer code checks if the clock pointer passed to it is good (!IS_ERR(clk)). The new clocksource driver expects the clock to be functional and doesn't perform any checks so emit a warning if clk_get() fails. Signed-off-by: Bartosz Golaszewski --- arch/arm/mach-davinci/dm365.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/mach-davinci/dm365.c b/arch/arm/mach-davinci/dm365.c index 01fb2b0c82de..842b7e706ba1 100644 --- a/arch/arm/mach-davinci/dm365.c +++ b/arch/arm/mach-davinci/dm365.c @@ -786,6 +786,7 @@ void __init dm365_init_time(void) dm365_psc_init(NULL, psc); clk = clk_get(NULL, "timer0"); + WARN(IS_ERR(clk), "Unable to get the timer clock\n"); davinci_timer_init(clk); } From patchwork Fri Jan 11 17:21:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760389 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 993F41515 for ; Fri, 11 Jan 2019 17:25:29 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 78EE32A299 for ; Fri, 11 Jan 2019 17:25:29 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6D22A2A2A2; Fri, 11 Jan 2019 17:25:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 246F42A2A3 for ; Fri, 11 Jan 2019 17:25:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=3XtVgDEptuOZWzBZw+LrKoxEyZZlzxhIoEkhZwIS7Cg=; b=Df6mISCz5StA1Y EOGZSlmlsPWVa8IPpqTY1rkeupgf8oMvqRKM7u1uKOtWqgfKLGxWhVh/9akscR4+9KbNuxtUhAuM0 19CiGebw+MpJ3k2RoDc+MbKCI2Tp+05ZJlDxCNtWU7HRf9roanP7eKMDq/canQmsqOMn2robn/qIe tTgljyQgvga/wDHkYaMbvhRox++/yUvKj6mZ0kNOexMQaChZExY/t3UYhsFKfk/DZbjVPmv7Korig tdA5WTAiqXSWhQVZyCKHrB/wu95jnd1A+myXxWMro+o8xoMWqDJw/lYGXcW8aCBGbnDKdV8S/MK5h JuBNUEirdLFpb+bar9gw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0Yg-0004xC-5r; Fri, 11 Jan 2019 17:25:26 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VN-0000Pp-En for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:22:05 +0000 Received: by mail-wr1-x441.google.com with SMTP id j2so16082689wrw.1 for ; Fri, 11 Jan 2019 09:22:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZCWTPLj1wbSsS1IA9/4GHyR1fEd02J/mQnVEGIGX0jg=; b=ltbdWbyDi0jBWv2fbbnv1XubGMt4cHhglnamBW9t0GJo1n1uv6QcU3yKXXjRILz478 xndStFoLPYdJWGYWDzDnw33Ro+p/6OErGCtePhwLvb4PkESMpluH2f5Whrg/I/X/Q28L 5a8d2/UjTc7qe3ec/kPkwnBWHklnZgKLm7nNCT16ZkXZEdOsSrIrhXHzdcZV9PHFeSms gB8bKxPJkRldTxu6LKo0rnDH7RZFrEF8kEKQm1n62ggdjeDMizcMVYNb+D5jTw6OLREi LwMe4sqEqQ/ylf36pIosNZP5A+rFBq6gkPimybEzRnArKVwQSRFBX03mgCkpimb0Moin yWvw== 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=ZCWTPLj1wbSsS1IA9/4GHyR1fEd02J/mQnVEGIGX0jg=; b=PMASFadRJafGhgNI372ETokYwj0qktlj6b0fpPEhghmw8iDoM5CNHOXRLRAGVhhZFe +e+FAW5SGw+MooD6ghI6l4HIX8GYrKYeNTdTpdpAyvfdQkQPGel9WqJr8JzbIR5Uli1M vm1rY2K3g2FO0rXcCskUeNng2mnsM+xLnYdvD0yCGGiEBxsQapEOhmpRGDQyIT1sfEhC JUugBydk1X/OxDG52JbBlTMncVJgRi6v8qARWls11neI/4qo4Lp74k0tlePOL8zzB9xv Mzko86BAGXcsyLSBCPeCEDdXGKvLQxwktDHJqlh1It72seMCZ+8ljfU8ke7yMzj8e/0b Ok6A== X-Gm-Message-State: AJcUukeYeZ0L4MHPQLil/CT7omkH5OgChl8gk6bOZq+kybuGvu5TwhuZ exNLGa7cjhqCtKJhzViFGNmtug== X-Google-Smtp-Source: ALg8bN4CbRi2RRXk862TNhcRJmqfRrGD5w/qHOZK8fNsp+aOcWTFAbyHJd6NmsUQGtkQLZJqaZv/8g== X-Received: by 2002:adf:8b83:: with SMTP id o3mr14965839wra.81.1547227320100; Fri, 11 Jan 2019 09:22:00 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.21.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:21:59 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 08/17] ARM: davinci: dm644x: WARN() if clk_get() fails Date: Fri, 11 Jan 2019 18:21:25 +0100 Message-Id: <20190111172134.30147-9-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092202_155332_024DB0DF X-CRM114-Status: GOOD ( 12.84 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski Currently the timer code checks if the clock pointer passed to it is good (!IS_ERR(clk)). The new clocksource driver expects the clock to be functional and doesn't perform any checks so emit a warning if clk_get() fails. Signed-off-by: Bartosz Golaszewski --- arch/arm/mach-davinci/dm644x.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c index 38f92b7d413e..85d69ac1bd70 100644 --- a/arch/arm/mach-davinci/dm644x.c +++ b/arch/arm/mach-davinci/dm644x.c @@ -681,6 +681,7 @@ void __init dm644x_init_time(void) dm644x_psc_init(NULL, psc); clk = clk_get(NULL, "timer0"); + WARN(IS_ERR(clk), "Unable to get the timer clock\n"); davinci_timer_init(clk); } From patchwork Fri Jan 11 17:21:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760379 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0CC061515 for ; Fri, 11 Jan 2019 17:23:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E056A2A1FD for ; Fri, 11 Jan 2019 17:23:54 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DE0EB2A283; Fri, 11 Jan 2019 17:23:54 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 8A3CD2A255 for ; Fri, 11 Jan 2019 17:23:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=j4ZbnlQzCFgkyev2IlkI2Cs/MS8Z5g3InvNvIyo+gag=; b=PPduX77yM9k3Aj nihD1gZagzqosDE3zZ4HM9Hz4O9UuDM+G+p7Rov9DpzlsJbkA+jF4Y+ODTLphaweue+pVHwkIO8Pg VTg4QolLP2D/6FlSEM1RLApPhePL9oHYTrDwIzyhsrX+mKl69yjS329XaOajv8g1kYbNwJ0aAnBYu j0pi6p7pVUHaHohzsWha+Xbx9fAj3+Ge87dWku5Dgu5n13WVWX9zfJhhCfM/k8F69BpKfVesYYYqu DXKwZzbjTr8x1AziMQZw1cbXEkyoMcNWyV8hHZlB2UnAlNeSlKqdI0woY/3u1bbMcwwM+tzDd4TXW pClvDB1GSqJFokA+qMSA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0X9-0002Le-Oo; Fri, 11 Jan 2019 17:23:51 +0000 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VO-0000RO-JW for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:22:09 +0000 Received: by mail-wm1-x341.google.com with SMTP id g67so3116799wmd.2 for ; Fri, 11 Jan 2019 09:22:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5d4Pl0ken6pXZX1p6S5lDG8psK/cN8ZLaLkv7xqp5gU=; b=ZjcIYX6z+7gmHH48U+8QqXnpq9exWw1Chs3QOusA6jXqa85nGYJ+rsv5dOKU1vNGCV N4ftQcJBzzie8M5aCMMuX6zgSSnI6ggk0Udd8EZFbSojt6fcJWySo99EfCj+14wsmg3A 60ucsqxz/E0Ai6Hkomdk2vrbkOtKoSnob/RtsSgIrVyQxHDOsEot11iEk8xTvh3J9K1r 9KfS3QQQkbq2ZocV5LVT0pAt/KbwFEbGUvE7eb0aqcncvwRsQ6CmNQnLWbQezxJygkMA Txu8keeDpH4IoE2oEKPUeBEENeTDIjsXKgfRNKoD4Fc0X5oQF1BZPZWm2bfud2RVNW1Z Dbsg== 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=5d4Pl0ken6pXZX1p6S5lDG8psK/cN8ZLaLkv7xqp5gU=; b=Kt5MHkbJ0zv1b6RouSLxn8v9ffVclU2NUGt/E5ha9CYvRX/bEzKI1jfHmmY/3tVpMr DoGL9DTIsGpVP6jNAiKz85iZuS7K034OXlpHr/RM5PslFZQ1bxNaUPO/M0SX8ckiBji/ JSs9UMMyHBYJ/IIax1wJCPlkrsRsuCdJkkpxpd8OgAlY6z/4Tu8kwdPjDbLaxIuobsTb 4YXGytg9H+T0pXU1nyZbQtsVndXiUiskqCZriW7dVFJpSjSEYhZEcpTgRe0uM/qEUmyj X9PXKxNF1b9jsHolekTxja1mhi6/jax0/9nKGqTDQh9D47AWMVtX5ciak13oryEvimqC MEoA== X-Gm-Message-State: AJcUukdoyD8uHFDsszZhjRqzEPBv2dtdq4KE2+HsMLhuwc0tx4rY1l3i fcoTG4tIclKH6gonM5kWij5Gt15mZGlhwA== X-Google-Smtp-Source: ALg8bN6kScczA65jwRPm8nMMtox2hVlUgH8vKdEggfvhVcOqMebYDC+oQ+YD0/pGrVRZKQH6CrEpQQ== X-Received: by 2002:a1c:d082:: with SMTP id h124mr2914717wmg.21.1547227321283; Fri, 11 Jan 2019 09:22:01 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.22.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:22:00 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 09/17] ARM: davinci: dm646x: WARN() if clk_get() fails Date: Fri, 11 Jan 2019 18:21:26 +0100 Message-Id: <20190111172134.30147-10-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092203_432651_F0063767 X-CRM114-Status: GOOD ( 12.76 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski Currently the timer code checks if the clock pointer passed to it is good (!IS_ERR(clk)). The new clocksource driver expects the clock to be functional and doesn't perform any checks so emit a warning if clk_get() fails. Signed-off-by: Bartosz Golaszewski --- arch/arm/mach-davinci/dm646x.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/mach-davinci/dm646x.c b/arch/arm/mach-davinci/dm646x.c index 7dc54b2a610f..018315fa9aa9 100644 --- a/arch/arm/mach-davinci/dm646x.c +++ b/arch/arm/mach-davinci/dm646x.c @@ -665,6 +665,7 @@ void __init dm646x_init_time(unsigned long ref_clk_rate, dm646x_psc_init(NULL, psc); clk = clk_get(NULL, "timer0"); + WARN(IS_ERR(clk), "Unable to get the timer clock\n"); davinci_timer_init(clk); } From patchwork Fri Jan 11 17:21:27 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760377 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9BCC91515 for ; Fri, 11 Jan 2019 17:23:36 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 79F932A298 for ; Fri, 11 Jan 2019 17:23:36 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6B8CB2A291; Fri, 11 Jan 2019 17:23:36 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id ECF972A272 for ; Fri, 11 Jan 2019 17:23:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=/4P4yprnKSHZg+NPqPHQ83RrRBhn/bYyzwzIcdbxg0c=; b=ZXaLhLdLOf7L67 Z8QiPgIh5SY6EpQU4mt2foqIqqKEb+Q8hsQ7HN+OFRf1xYK4jsVOkyl1FjZEEHi4mMBSsPFzfa07/ PDzjfkqbnjavjZIL/Del/FsMzYhp/ivPFx2Kl733rVDHBXNcHpvuYciT5W/vvFioz6BvN/rRr1H1M j0n5zKkwUU374P3nYKRBbJuEm8pCPOVLhKI1gqrdB4u7FONNt8qxOc1f/3ac48gCKpntwWgG6wQBm 9iZyReWmM4TrqE9lTTJbsehVPaSLxSwVAVRctZDyAfBkBLpfP9pPRPgvlaEMMeQr9drtTi0IVzpbZ +HXetea5mCv45Aq+Izmw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0Wq-00022M-Mc; Fri, 11 Jan 2019 17:23:32 +0000 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VQ-0000Ss-Bx for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:22:10 +0000 Received: by mail-wm1-x342.google.com with SMTP id p6so3118092wmc.1 for ; Fri, 11 Jan 2019 09:22:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=lKz95RPwvt2A/xPxVUtkplb+bX/m8U+Ej4ZHCejgW/g=; b=bR3HvUbw1A9FSWsGkazEtBy0Z/4OV/WnUOmskjXcGhacgJPbOXAzo+lxNsrDFmU8px sOf60AWKlYUTfwbZ37YkbObGUXXg2IPOkO5PgXjZaZLfuKC8FWNGa91F2nDbPJponva0 ptcADkszquHBZCOGlDZlHh4ih/I6DGmDC93fYv9Y9T4+HVn7OS/i1VjjfuuERhycpZrs 3A1FaD8KW8W9j4yZKH3E8xWAhZKBEspRGTfV97+I1H9VkgZ7R+UzAjqqHKkDUwOT6s8l gO1znEOQGpZbPb4xxUbPPlG3oK4AKA2kIwwEM4a+VU2J+nsYyWoWPFWaBRwNWqjcMEDe z16A== 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=lKz95RPwvt2A/xPxVUtkplb+bX/m8U+Ej4ZHCejgW/g=; b=DbwmLu9DpqyEb/WpOa5klxA99Wfq4Jg3UqSFwgqTnVnf3gU6wU/+htBh6Ssl4qdU7z uyWezrEeSvS5wZEeIHcPZ8dY+MZSwU0k7v+DRCUl2KWE0xMehZONXhMC3wqKXtQF6fM8 lrXKlRfX18ikfnXQEpZH+ZgMP06OWAnT1BCF/Ri3PGKScFzR7pCf8nAK6f6E9E6rXP5Y 2y4AaK1fNsCM8P+KjgIzVq/za6VQSplfmQWcBUnXORz+iPdBSbA1NT1FIxjWWPJG4zjP vmjseA0uEs/fGmgYEwAKxi05pIHDU3zHD7C5KBwh2eRUvbSuSvCV4qZtESqCp6y7YAM2 0dig== X-Gm-Message-State: AJcUukf/0FGnYXXgbk0Mu5rAp1Ca1TMeARYhH2L28JFnLM24Ztxoo7v5 xkVlEBYQ8IRGBsrK+3RxbCkA9A== X-Google-Smtp-Source: ALg8bN5YHnef8R1zm0Hvr114J04J+D9r9t7XMpRiqcgwILuZ6dplkgz147VYMi7k29o6nyK9G4go4A== X-Received: by 2002:a1c:f605:: with SMTP id w5mr3206561wmc.116.1547227322452; Fri, 11 Jan 2019 09:22:02 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.22.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:22:01 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 10/17] ARM: davinci: da850: switch to using the clocksource driver Date: Fri, 11 Jan 2019 18:21:27 +0100 Message-Id: <20190111172134.30147-11-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092205_201701_563B231D X-CRM114-Status: GOOD ( 14.61 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski We now have a proper clocksource driver for davinci. Switch the platform to using it. Signed-off-by: Bartosz Golaszewski --- arch/arm/mach-davinci/da850.c | 56 ++++++++++++++--------------------- 1 file changed, 22 insertions(+), 34 deletions(-) diff --git a/arch/arm/mach-davinci/da850.c b/arch/arm/mach-davinci/da850.c index 9ff377f26c4b..e5b855103193 100644 --- a/arch/arm/mach-davinci/da850.c +++ b/arch/arm/mach-davinci/da850.c @@ -34,7 +34,8 @@ #include #include #include -#include + +#include #include "mux.h" @@ -436,38 +437,24 @@ static struct davinci_id da850_ids[] = { }, }; -static struct davinci_timer_instance da850_timer_instance[4] = { - { - .base = DA8XX_TIMER64P0_BASE, - .bottom_irq = IRQ_DA8XX_TINT12_0, - .top_irq = IRQ_DA8XX_TINT34_0, - }, - { - .base = DA8XX_TIMER64P1_BASE, - .bottom_irq = IRQ_DA8XX_TINT12_1, - .top_irq = IRQ_DA8XX_TINT34_1, - }, - { - .base = DA850_TIMER64P2_BASE, - .bottom_irq = IRQ_DA850_TINT12_2, - .top_irq = IRQ_DA850_TINT34_2, - }, - { - .base = DA850_TIMER64P3_BASE, - .bottom_irq = IRQ_DA850_TINT12_3, - .top_irq = IRQ_DA850_TINT34_3, +static const struct davinci_timer_cfg da850_timer_cfg = { + .reg = { + .start = DA8XX_TIMER64P0_BASE, + .end = DA8XX_TIMER64P0_BASE + SZ_4K, + .flags = IORESOURCE_MEM, }, -}; - -/* - * T0_BOT: Timer 0, bottom : Used for clock_event - * T0_TOP: Timer 0, top : Used for clocksource - * T1_BOT, T1_TOP: Timer 1, bottom & top: Used for watchdog timer - */ -static struct davinci_timer_info da850_timer_info = { - .timers = da850_timer_instance, - .clockevent_id = T0_BOT, - .clocksource_id = T0_TOP, + .irq = { + { + .start = IRQ_DA8XX_TINT12_0, + .end = IRQ_DA8XX_TINT12_0, + .flags = IORESOURCE_IRQ, + }, + { + .start = IRQ_DA8XX_TINT34_0, + .end = IRQ_DA8XX_TINT34_0, + .flags = IORESOURCE_IRQ, + } + } }; #ifdef CONFIG_CPU_FREQ @@ -742,7 +729,6 @@ static const struct davinci_soc_info davinci_soc_info_da850 = { .intc_type = DAVINCI_INTC_TYPE_CP_INTC, .intc_irq_prios = da850_default_priorities, .intc_irq_num = DA850_N_CP_INTC_IRQ, - .timer_info = &da850_timer_info, .emac_pdata = &da8xx_emac_pdata, .sram_dma = DA8XX_SHARED_RAM_BASE, .sram_len = SZ_128K, @@ -765,6 +751,7 @@ void __init da850_init_time(void) void __iomem *pll0; struct regmap *cfgchip; struct clk *clk; + int rv; clk_register_fixed_rate(NULL, "ref_clk", NULL, 0, DA850_REF_FREQ); @@ -776,7 +763,8 @@ void __init da850_init_time(void) clk = clk_get(NULL, "timer0"); WARN(IS_ERR(clk), "Unable to get the timer clock\n"); - davinci_timer_init(clk); + rv = davinci_timer_register(clk, &da850_timer_cfg); + WARN(rv, "Unable to register the timer: %d\n", rv); } static struct resource da850_pll1_resources[] = { From patchwork Fri Jan 11 17:21:28 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760381 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id CC01914E5 for ; Fri, 11 Jan 2019 17:24:10 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AA8E12A221 for ; Fri, 11 Jan 2019 17:24:10 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9E69D2A291; Fri, 11 Jan 2019 17:24:10 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 36B2B2A221 for ; Fri, 11 Jan 2019 17:24:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=QgYwMjf0AI2eMDJgW19Di6G8uLSDhh2tkyeh2W56A5c=; b=D+pZet4yDy0gGN cgAodx2JM0UFXdtp6PhKqNUf5kx6eepT+ObWAXc/+LqlKdqJ5jhBQRVWd62NfavNv8P5kRd1JfSaa s3Z3Zw9EGeHk6sDuHWW2SYRppZYMCa9TA+JmXTacjagSaPoihtLS0hOeuTnQ3rZKG8537T7VihIiW 15Jr2Wyul4JUzFTIQ5xg80ToNTJfZKpD3Lpk51ySNm/VZUvfCOK0vlRoQolmAF1241kyuH+jkpe8T rEk7nfRwVCgvIa/N1V2qql1YRbNNi4tKMEJLjz2VPdBgKiK9/uwPr5iA36U+dhot2kARUCZcoyl/E YWdd6RQoQVWNhUODrrKA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0XO-0002aF-Eb; Fri, 11 Jan 2019 17:24:06 +0000 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VR-0000UU-5p for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:22:11 +0000 Received: by mail-wm1-x344.google.com with SMTP id n190so3142030wmd.0 for ; Fri, 11 Jan 2019 09:22:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hZYvMu846/Z0QmqxG01Wn3LSRT0rTSPDCgRe4LniEGE=; b=BtzkJ6/3A0SwgnbjCDhZ3G4MwbbOWQv6JowuXcDm5hO4UFAKWGed2bXqBxeEi9sIRf 8eAnM0syaKXM/9ZhjU6IrR6RRHDcYndV6VXrGcbPQC0taQqlu3grD3OZdgfKtpFKDYp9 bzUcup8bnppVjRHu5ysIZCXHVVf8lkawCSAm5MNetfFG1m0CpB/Cq1titbNNTmQGxaYm rlG/W0jb40s1Ycu9G8upS8rN02B+l47aN6E1X3LhKRdw4/qW7tvOvTiJ5eph04UjKBrE Y6iE1Ou+kLgGf37c+RPtAXNLLCiY55X6RrM92maDg3hhNMddQMt5uwtpngrPfb5gufk0 FheA== 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=hZYvMu846/Z0QmqxG01Wn3LSRT0rTSPDCgRe4LniEGE=; b=XCjxBpcgFtXqxsuXzjyRJAphHKJa2QXJjLYTt2DRJ4pWQ5KL5d8yxDdKpu5Dr0314C cJci/gIRiF1yy2+eKLDULf5/+1fAavJpY8htNipd6T2e+tTISqs8EEXdeWIpZgZkUGdF qFOYPH33tF4k/9nq1GHh9gEM/JW1yg3yEwei9PILdsR1TTizdXhYHoSyutovU0SPTBby ia1tKdpVrxGucjg8DcUdMFwQWO3NDRSi3yGyUt9EgfVQoo1bHG3M3fRaBXHRgeRpOJpy YXr6eKJqMKzzUuYPOkaknrNKQGVGdLULZQj98vs9j9KXCfc4qLOv0sbnjXsUsQiCwzax OxQQ== X-Gm-Message-State: AJcUukf5iaXzHb1hasaTwHX/kgasvj+b+hVVtVFJ4l6KguRdUqFf5rV1 kAnIDsrildv2XjRWgmQJS28OqA== X-Google-Smtp-Source: ALg8bN6amoytBObZvtBC50bXhCBvxij4ANwDjVqO5hxeMFk9O+OrNCd3yeoLA4M/NqLtD+iliNzO4g== X-Received: by 2002:a1c:e1d5:: with SMTP id y204mr3058300wmg.65.1547227323828; Fri, 11 Jan 2019 09:22:03 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.22.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:22:03 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 11/17] ARM: davinci: da830: switch to using the clocksource driver Date: Fri, 11 Jan 2019 18:21:28 +0100 Message-Id: <20190111172134.30147-12-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092205_706144_8A1C6437 X-CRM114-Status: GOOD ( 15.25 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski We now have a proper clocksource driver for davinci. Switch the platform to using it. Signed-off-by: Bartosz Golaszewski --- arch/arm/mach-davinci/da830.c | 56 ++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/arch/arm/mach-davinci/da830.c b/arch/arm/mach-davinci/da830.c index ceb0417f10f6..0d81a8fdd9e6 100644 --- a/arch/arm/mach-davinci/da830.c +++ b/arch/arm/mach-davinci/da830.c @@ -20,7 +20,8 @@ #include #include #include -#include + +#include #include "mux.h" @@ -769,32 +770,32 @@ int __init da830_register_gpio(void) return da8xx_register_gpio(&da830_gpio_platform_data); } -static struct davinci_timer_instance da830_timer_instance[2] = { - { - .base = DA8XX_TIMER64P0_BASE, - .bottom_irq = IRQ_DA8XX_TINT12_0, - .top_irq = IRQ_DA8XX_TINT34_0, - .cmp_off = DA830_CMP12_0, - .cmp_irq = IRQ_DA830_T12CMPINT0_0, +static const struct davinci_timer_cfg da830_timer_cfg = { + .reg = { + .start = DA8XX_TIMER64P0_BASE, + .end = DA8XX_TIMER64P0_BASE + SZ_4K, + .flags = IORESOURCE_MEM, }, - { - .base = DA8XX_TIMER64P1_BASE, - .bottom_irq = IRQ_DA8XX_TINT12_1, - .top_irq = IRQ_DA8XX_TINT34_1, - .cmp_off = DA830_CMP12_0, - .cmp_irq = IRQ_DA830_T12CMPINT0_1, + .irq = { + { + .start = IRQ_DA8XX_TINT12_0, + .end = IRQ_DA8XX_TINT12_0, + .flags = IORESOURCE_IRQ, + }, + { + .start = IRQ_DA8XX_TINT34_0, + .end = IRQ_DA8XX_TINT34_0, + .flags = IORESOURCE_IRQ, + }, }, -}; - -/* - * T0_BOT: Timer 0, bottom : Used for clock_event & clocksource - * T0_TOP: Timer 0, top : Used by DSP - * T1_BOT, T1_TOP: Timer 1, bottom & top: Used for watchdog timer - */ -static struct davinci_timer_info da830_timer_info = { - .timers = da830_timer_instance, - .clockevent_id = T0_BOT, - .clocksource_id = T0_BOT, + .cmp = { + .irq = { + .start = IRQ_DA830_T12CMPINT0_0, + .end = IRQ_DA830_T12CMPINT0_0, + .flags = IORESOURCE_IRQ, + }, + .offset = DA830_CMP12_0, + } }; static const struct davinci_soc_info davinci_soc_info_da830 = { @@ -810,7 +811,6 @@ static const struct davinci_soc_info davinci_soc_info_da830 = { .intc_type = DAVINCI_INTC_TYPE_CP_INTC, .intc_irq_prios = da830_default_priorities, .intc_irq_num = DA830_N_CP_INTC_IRQ, - .timer_info = &da830_timer_info, .emac_pdata = &da8xx_emac_pdata, }; @@ -826,6 +826,7 @@ void __init da830_init_time(void) { void __iomem *pll; struct clk *clk; + int rv; clk_register_fixed_rate(NULL, "ref_clk", NULL, 0, DA830_REF_FREQ); @@ -836,7 +837,8 @@ void __init da830_init_time(void) clk = clk_get(NULL, "timer0"); WARN(IS_ERR(clk), "Unable to get the timer clock\n"); - davinci_timer_init(clk); + rv = davinci_timer_register(clk, &da830_timer_cfg); + WARN(rv, "Unable to register the timer: %d\n", rv); } static struct resource da830_psc0_resources[] = { From patchwork Fri Jan 11 17:21:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760399 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DBEE91515 for ; Fri, 11 Jan 2019 17:27:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BC81729B13 for ; Fri, 11 Jan 2019 17:27:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id AFC2C29C60; Fri, 11 Jan 2019 17:27:02 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 5723929B13 for ; Fri, 11 Jan 2019 17:27:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=X9P6omKMmqWejRaVUFfPlYzcivRgWK4m4wncfwkr2Kc=; b=u8YZ6F8kCmiXXw h2klHK/DSVztTWKwMe0TjgRte+6BHXfyoDivG0JQeTvzo/sPHDNEIfKPty3BPzd5PWl4yJKM/Dbdd w/BAksZPnRSiep8A6N7UfqrxD9xW1fYm4J8L2+aWfNGKav/umIZcpQDHxeqx9UDKhsj+DnlrA7O5k QoZmiQnOUNxf9QGKkVy7+IJm/mqCi0L37qo3+Dd7kdNxbO0TzaJ2Xpr+SIVlASdpiqJ5AyRfEByMr h5vkUEnF2IiNQJHm+Y1H+ibj1y96KKpwnFx5o5OEvstgU2UDTWCa5EZy9n4DIGqdGTOkCWDyXb9rY qu3prtRrMc4Y6tb84nKA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0aA-0006IU-5d; Fri, 11 Jan 2019 17:26:58 +0000 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VS-0000W9-C8 for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:22:11 +0000 Received: by mail-wm1-x342.google.com with SMTP id y139so3099583wmc.5 for ; Fri, 11 Jan 2019 09:22:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=n0bVZLgHbmzlF03gwgM80KrrXfKmVICzK0GHI6qGu7k=; b=P4Zaqs3dsRMJPeYeCFa7pQy39C0RU5Nxi1+EcHbOFpAvPiWdHx5IuJl0TqhOKz4BEZ 43n1l1P+Jzb7d9PSwCXTajQ5YVhlCDZJ/wVeIKJ25obXdtjn4x7PiuPLl0faHKyDevgg +kb7Uyo2vtNGi+emB8APf8bpuuGzpcY/ZAPtdqOlksIkUza0pHwvGifUt0deIJNf+OxJ OUjJ8H26si9xpxrFBIesEGQfEfp03dlGQFyGVO75+P4HV8tmjfz6xGMW6DvcPtkXUKXH JQVJobCw6GubRj8ElpNLlKosPYRC/T9wUm86JxGGyNHufj1L3b6JfJBUlJBp5PWAiJ0a o1Xg== 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=n0bVZLgHbmzlF03gwgM80KrrXfKmVICzK0GHI6qGu7k=; b=KDNjmRtbDQVuTxjOt8wpKcaaMb051yrT41P5cNSEWMPCVLfsxdKw9bLrdHUufZIyrB 9Pz3sVXEF7v+H1asUOtIGrEAI7nj0+Tv+cApJnk/f11N88lCiaEnVPrO07kw4pETw+MD +trYhHKXh2k7hqnIVlmrVDeeVuzwaF1Dd6Sa6aDePQfl9kiJK737p8EP65laebqgaKh2 txeiaKkDaVw1YXNF8sP74pWa103U2J/8U0OG55JuGfXQRo14MYYxspN+m9oD6Y5Qs8of KA63/pnYSvJ4S/7enqM01kc6KtN0Qqn+Sgkb0JZUEa5vJrLQwhKBdsBXMM/0MaUoIpdf 47gw== X-Gm-Message-State: AJcUukfOFSwxFz7ct/DgZ/rlH6ezreGeaF/RtcSzQ59rDrJ8cO78b7xo 5t5ZjSq3fdrHmpUV/BBoyJMTNg== X-Google-Smtp-Source: ALg8bN5J+hjbdWKxB7wzxjnbO+WQR5qkiW3Or0dYV5k+JRvpiMPQ8kb9bkUExWE9fXq7QNWC8PRwqQ== X-Received: by 2002:a1c:85d2:: with SMTP id h201mr2933588wmd.151.1547227325088; Fri, 11 Jan 2019 09:22:05 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.22.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:22:04 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 12/17] ARM: davinci: move timer definitions to davinci.h Date: Fri, 11 Jan 2019 18:21:29 +0100 Message-Id: <20190111172134.30147-13-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092206_936478_ADA4E0F2 X-CRM114-Status: GOOD ( 12.79 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski Boards from the dm* family rely on register offset definitions from arch/arm/mach-davinci/include/mach/time.h. We'll be removing this file soon, so move the required defines to davinci.h where the rest of such constants live. Signed-off-by: Bartosz Golaszewski --- arch/arm/mach-davinci/davinci.h | 3 +++ arch/arm/mach-davinci/include/mach/time.h | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-davinci/davinci.h b/arch/arm/mach-davinci/davinci.h index db4c95ef4d5c..dfd1b1ab7b59 100644 --- a/arch/arm/mach-davinci/davinci.h +++ b/arch/arm/mach-davinci/davinci.h @@ -60,6 +60,9 @@ void davinci_map_sysmod(void); #define DAVINCI_GPIO_BASE 0x01C67000 int davinci_gpio_register(struct resource *res, int size, void *pdata); +#define DAVINCI_TIMER0_BASE (IO_PHYS + 0x21400) +#define DAVINCI_WDOG_BASE (IO_PHYS + 0x21C00) + /* DM355 base addresses */ #define DM355_ASYNC_EMIF_CONTROL_BASE 0x01e10000 #define DM355_ASYNC_EMIF_DATA_CE0_BASE 0x02000000 diff --git a/arch/arm/mach-davinci/include/mach/time.h b/arch/arm/mach-davinci/include/mach/time.h index 1c971d8d8ba8..ba913736990f 100644 --- a/arch/arm/mach-davinci/include/mach/time.h +++ b/arch/arm/mach-davinci/include/mach/time.h @@ -11,9 +11,7 @@ #ifndef __ARCH_ARM_MACH_DAVINCI_TIME_H #define __ARCH_ARM_MACH_DAVINCI_TIME_H -#define DAVINCI_TIMER0_BASE (IO_PHYS + 0x21400) #define DAVINCI_TIMER1_BASE (IO_PHYS + 0x21800) -#define DAVINCI_WDOG_BASE (IO_PHYS + 0x21C00) enum { T0_BOT, From patchwork Fri Jan 11 17:21:30 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760383 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 558D51515 for ; Fri, 11 Jan 2019 17:24:39 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3246F2A28B for ; Fri, 11 Jan 2019 17:24:39 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 26A632A28F; Fri, 11 Jan 2019 17:24:39 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 1045C2A272 for ; Fri, 11 Jan 2019 17:24:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=UuJQ6k1OV80Eip3rIhcfVnw+IRDgW7XjifVrU3u7kPI=; b=HeFOJyeHYpBX4O +BwngtasrjIxttFLbzj+GY3Ro4cuML3wGm8LaUUjF6KqCvS0Vfpou+aVioInR9tpW+n17CJezzniC Fq6+46NnoNUoorfll3ByujQG3qUWNX8lAD1O3xVceramT9cnbh4s1pSlp+YLsuOMdgRin/cqfZTNR GKVUcJpgIcbhODlm3FqY252cL+ICfDXFr4Q3oYya6KHUKsR/86ItEpotfBOr3NfUbc8P0ZZahIDsF 7oXeDUf7LitxexfsdOexF9F8vBEvdJlo5I8mRtGuv5cW09OR3KeKZu3IhYbd8lXl9+cKtAt1O/tAU 5Dg3xcpKI3mVfWy4pZsQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0Xq-0002ug-79; Fri, 11 Jan 2019 17:24:34 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VT-0000Y0-LO for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:22:16 +0000 Received: by mail-wr1-x441.google.com with SMTP id z5so15982365wrt.11 for ; Fri, 11 Jan 2019 09:22:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hfk3et7otLUxOjDItpbWy429zVa4HyUJDtZ/8CbR6Hc=; b=TegxTHJJI1X+1ffw9Ii0XYA3eoFOA4jPpjkQqX8Dx62H8alN7PomzfVaNMj/nZOJb6 7yG/Nsco2tNE5UShk+929HPiIJ66AcS54hdYEk3eWFVZC2DtjIZWhkMlIJUTMCi0SDva OS1RJWntdvhyn277ihGVezT2c0epLzw6KjQMQMBD4q058CyCn7GhRZZiUT7ZqadYgWfW mk+DFDs6a269kM9HIcNa27XExT5hrs3NmPI/CzpiRXlJhnQUHYUmAA5DfeUeJ/k8uhtA HHZFGg1SUuh1mIlGiL79F4CbPt99CTWrjSw1r12Ry/LFiJA77pHpOBPW+TmiVDxcVfs9 LYzQ== 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=hfk3et7otLUxOjDItpbWy429zVa4HyUJDtZ/8CbR6Hc=; b=Ux7f8C5T53ZNyMNDdbuc3YbkOGCeFFQtmSHSZa9Iwbx8c+GGewA1J2BymA9FT/5wgt SauLqGQVppuN0+gLitLaYhxWAiFk2vY2vo4MlclucPJOEYMqRGtQUHtM5zZOLnr27uCY nEHSzWhAy+N2HIv6qdKmGAWKIePPhiTNvuHzokMfeqskewQHZW3/DVFn5C0yWi5TUgqk cRE66Da0qqgXggkkoM3hk8DG08ojndUDbitlr9PSntUTpnnxt20ymFL2SKfSFVN5/T+n krXMZHkAm1wu7pwyWmgKosuvKTKN0AnMNd5pkO1gRK4bqCe0rMsyGQO/AdUiB/2/KU97 WA9g== X-Gm-Message-State: AJcUukcq//xDo+8fRI4E01L/QiT+bnxIValGssXLgjDeIhIDMl3YWD+E EfKM1Z2tmWxOMP+YsePprejpYQ== X-Google-Smtp-Source: ALg8bN7ldJGoTP7K8GnOoSfkJScx5WGi/6liRkczax7q8ZHiAlb1NeBhfS0UyuGP05DMy3DwgmHk5w== X-Received: by 2002:a5d:5351:: with SMTP id t17mr14250045wrv.288.1547227326340; Fri, 11 Jan 2019 09:22:06 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.22.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:22:05 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 13/17] ARM: davinci: dm355: switch to using the clocksource driver Date: Fri, 11 Jan 2019 18:21:30 +0100 Message-Id: <20190111172134.30147-14-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092208_232911_6B70CDBF X-CRM114-Status: GOOD ( 15.14 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski We now have a proper clocksource driver for davinci. Switch the platform to using it. Signed-off-by: Bartosz Golaszewski --- arch/arm/mach-davinci/dm355.c | 36 ++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/arch/arm/mach-davinci/dm355.c b/arch/arm/mach-davinci/dm355.c index 07ad9d6c9cae..2fd1186ceef6 100644 --- a/arch/arm/mach-davinci/dm355.c +++ b/arch/arm/mach-davinci/dm355.c @@ -29,7 +29,8 @@ #include #include #include -#include + +#include #include "asp.h" #include "davinci.h" @@ -617,16 +618,24 @@ static struct davinci_id dm355_ids[] = { }, }; -/* - * T0_BOT: Timer 0, bottom: clockevent source for hrtimers - * T0_TOP: Timer 0, top : clocksource for generic timekeeping - * T1_BOT: Timer 1, bottom: (used by DSP in TI DSPLink code) - * T1_TOP: Timer 1, top : - */ -static struct davinci_timer_info dm355_timer_info = { - .timers = davinci_timer_instance, - .clockevent_id = T0_BOT, - .clocksource_id = T0_TOP, +static const struct davinci_timer_cfg dm355_timer_cfg = { + .reg = { + .start = DAVINCI_TIMER0_BASE, + .end = DAVINCI_TIMER0_BASE + SZ_4K, + .flags = IORESOURCE_MEM, + }, + .irq = { + { + .start = IRQ_TINT0_TINT12, + .end = IRQ_TINT0_TINT12, + .flags = IORESOURCE_IRQ, + }, + { + .start = IRQ_TINT0_TINT34, + .end = IRQ_TINT0_TINT34, + .flags = IORESOURCE_IRQ, + } + } }; static struct plat_serial8250_port dm355_serial0_platform_data[] = { @@ -708,7 +717,6 @@ static const struct davinci_soc_info davinci_soc_info_dm355 = { .intc_type = DAVINCI_INTC_TYPE_AINTC, .intc_irq_prios = dm355_default_priorities, .intc_irq_num = DAVINCI_N_AINTC_IRQ, - .timer_info = &dm355_timer_info, .sram_dma = 0x00010000, .sram_len = SZ_32K, }; @@ -735,6 +743,7 @@ void __init dm355_init_time(void) { void __iomem *pll1, *psc; struct clk *clk; + int rv; clk_register_fixed_rate(NULL, "ref_clk", NULL, 0, DM355_REF_FREQ); @@ -747,7 +756,8 @@ void __init dm355_init_time(void) clk = clk_get(NULL, "timer0"); WARN(IS_ERR(clk), "Unable to get the timer clock\n"); - davinci_timer_init(clk); + rv = davinci_timer_register(clk, &dm355_timer_cfg); + WARN(rv, "Unable to register the timer: %d\n", rv); } static struct resource dm355_pll2_resources[] = { From patchwork Fri Jan 11 17:21:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760385 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B56D61515 for ; Fri, 11 Jan 2019 17:24:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 93F5A29F82 for ; Fri, 11 Jan 2019 17:24:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 879632A2B1; Fri, 11 Jan 2019 17:24:48 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 2F23629F82 for ; Fri, 11 Jan 2019 17:24:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=jm1ojf2Q9/RYTwDufICZe16QSn/WaVwQbmkcA3fnphk=; b=Kst1knbrNzUEcr xP53zLxR7ffy4oPVZX4YRtugSY+Uvf/sQKOlq5Cvx8/AWNEKHfRJpONFvvAlRMRxHJRVTDfKIOU1t 5U2xh2T6W5NUctvKTm9V2qW1gmat4rHaRk7LxbDsafwHp6x5N68ilhX1vxScDoJUxg+0lr0tLNoEd G5Ape4ZSyE6Tr+C07VF4PzVABoemv2Rnyfk5qkgJ5Yy5wpZgEv9QpRHnjwh9f/bE2yRkYM37BtiVH Ik1DSFMzfud7DWF3EF0yEl5HMe/KDVQFLXpmx3xp9vkcBluWgYO2G5bviasMGf/MTHbvL9//QFuzV qi4pol0PPzMBjqm8jRtQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0Y2-00039k-AK; Fri, 11 Jan 2019 17:24:46 +0000 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VU-0000Zh-TK for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:22:17 +0000 Received: by mail-wr1-x444.google.com with SMTP id v13so16018947wrw.5 for ; Fri, 11 Jan 2019 09:22:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8uDRh+zfzHIczZUkwUu8zWkfC3Ym8OxzyS3iE5hQDh0=; b=lqIK8IKEc/qe+wnZ/U5o2f3zXE8BjI42VkuuKyTUkrN0Oq5RwKeqQiErfurC7yp6Id XuW2as02N7M3q34vFDl5FtHkQER1jAkXXcnvkCfTLJkmml412cxmFqwFB/jgLtAjotmY AYjNpANfTwNfNIFgxTdgshbpx8MDkIPyspNnIXc8ZOytHc1Bh8N7rbgAV61/3quR9we6 MJA4lkdu6c3OWVSEmFSY20f0IbCiVJyPwaNLqNRBJlSoiEP3EhmuTHzfA6R3+hTJ/Iuq zZfC1qRlULIsI+YPdZ/O+w/OBO4LgtDbPzy6uieNXOzhfEmgCX57So3uK1tQ4n+Ou/We bkdQ== 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=8uDRh+zfzHIczZUkwUu8zWkfC3Ym8OxzyS3iE5hQDh0=; b=YGufyGsOYrl92yTYvcU7pl+U5Rgu9zMgjp0nKLO9kaFAm4B2EbRMSLfg3MzoiOU5l5 cDrwtFonC5dfB3XOtKLCxQ+x+Sh2mrO39QkMHMHpRFbJqsqEgXYDysV048ylrIJWO8WX /EpJz545BsnHHqv+jIlFkUXffqRXt7DEz8T7r3TvcKTcHxXsXGusc3yPHl7LI099nIXD Z0NCKd6Qlpx/+pJFlAMNRQg7NrUd6hM23ErubCqod+XHhQkjm6gK5hUQBsAqobHOXT5P //LvaJyI3XgMc7xxritezEtsUrgEsqz6INKOTFM4C1kHHVSVfDYEYbE2Mq0iqftgKI96 IKSw== X-Gm-Message-State: AJcUukcu4aGMZosoYuIoTfJGRFJC+ExLWzTJzlB2kw1pvWwwIk9rrE/5 pjm6W4efvozbVeIYJ0kHVPmYGQ== X-Google-Smtp-Source: ALg8bN61524V+BNotDYTCh1j/dBf3aS0mwzUaWax/dfKlCzaQ1M5ahcNhRYrC9JW1oeJhFD7T5E4TA== X-Received: by 2002:adf:f3c6:: with SMTP id g6mr14201248wrp.111.1547227327498; Fri, 11 Jan 2019 09:22:07 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.22.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:22:06 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 14/17] ARM: davinci: dm365: switch to using the clocksource driver Date: Fri, 11 Jan 2019 18:21:31 +0100 Message-Id: <20190111172134.30147-15-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092209_509715_21562A3D X-CRM114-Status: GOOD ( 14.62 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski We now have a proper clocksource driver for davinci. Switch the platform to using it. Signed-off-by: Bartosz Golaszewski --- arch/arm/mach-davinci/dm365.c | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/arch/arm/mach-davinci/dm365.c b/arch/arm/mach-davinci/dm365.c index 842b7e706ba1..ff7754ce2bbe 100644 --- a/arch/arm/mach-davinci/dm365.c +++ b/arch/arm/mach-davinci/dm365.c @@ -34,7 +34,8 @@ #include #include #include -#include + +#include #include "asp.h" #include "davinci.h" @@ -658,10 +659,24 @@ static struct davinci_id dm365_ids[] = { }, }; -static struct davinci_timer_info dm365_timer_info = { - .timers = davinci_timer_instance, - .clockevent_id = T0_BOT, - .clocksource_id = T0_TOP, +static const struct davinci_timer_cfg dm365_timer_cfg = { + .reg = { + .start = DAVINCI_TIMER0_BASE, + .end = DAVINCI_TIMER0_BASE + SZ_4K, + .flags = IORESOURCE_MEM, + }, + .irq = { + { + .start = IRQ_TINT0_TINT12, + .end = IRQ_TINT0_TINT12, + .flags = IORESOURCE_IRQ, + }, + { + .start = IRQ_TINT0_TINT34, + .end = IRQ_TINT0_TINT34, + .flags = IORESOURCE_IRQ, + } + } }; #define DM365_UART1_BASE (IO_PHYS + 0x106000) @@ -725,7 +740,6 @@ static const struct davinci_soc_info davinci_soc_info_dm365 = { .intc_type = DAVINCI_INTC_TYPE_AINTC, .intc_irq_prios = dm365_default_priorities, .intc_irq_num = DAVINCI_N_AINTC_IRQ, - .timer_info = &dm365_timer_info, .emac_pdata = &dm365_emac_pdata, .sram_dma = 0x00010000, .sram_len = SZ_32K, @@ -773,6 +787,7 @@ void __init dm365_init_time(void) { void __iomem *pll1, *pll2, *psc; struct clk *clk; + int rv; clk_register_fixed_rate(NULL, "ref_clk", NULL, 0, DM365_REF_FREQ); @@ -788,7 +803,8 @@ void __init dm365_init_time(void) clk = clk_get(NULL, "timer0"); WARN(IS_ERR(clk), "Unable to get the timer clock\n"); - davinci_timer_init(clk); + rv = davinci_timer_register(clk, &dm365_timer_cfg); + WARN(rv, "Unable to register the timer: %d\n", rv); } void __init dm365_register_clocks(void) From patchwork Fri Jan 11 17:21:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760393 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 50F1E14E5 for ; Fri, 11 Jan 2019 17:26:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2E98928DDD for ; Fri, 11 Jan 2019 17:26:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2172F29BDD; Fri, 11 Jan 2019 17:26:06 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id AEDCF28DDD for ; Fri, 11 Jan 2019 17:26:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=BvyyNTyX9RJMxwc+HMjb+p2nm5P89J+E8jY6IFU/kQg=; b=nkAwVKQAbWYs3h dKvO7KUgqAGPB3h0Vcicgf78Bubm7G7M+7BU++01Sek7fPztcE3hEQm4NOSTxG6EYALNcYunLpPbi gRZn2tja+DgZDPWx8m8UHskeFLqrq5ER20o4VFNyjh1ztIdY41A0g1LYl+vsLowtorEO/BX3Ghstt VMd9uHNelMawS8ed5/RYA6SSGcDddOSHWNW0zrCGX2kHufaYW2Sos4LFqZUWGFbDRXyVeruMYsYeN ZE7zUY7oOWu/ZH/HBixprWcZjO36X+LrV6Ik3HM63CJ5iMiSXGnCqnJeDvmORrmilOQebdYvIem35 DfwzVvP3w+ZUKYltGIaQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0ZG-0005Pt-0a; Fri, 11 Jan 2019 17:26:02 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VW-0000bO-3c for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:22:18 +0000 Received: by mail-wr1-x441.google.com with SMTP id v13so16019011wrw.5 for ; Fri, 11 Jan 2019 09:22:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xONpeqOZllu4lUrmjTAaVSXxrn2MUyb6d2vzr8hXNI4=; b=MXc5ELZhvYYlr2tqznZ2MXg3jugFD12iMsi4b+wou+JPyWns8XxQzyDQuSODLpqrfj 9uPI67Dil0VkwPmDr52be1ru6yiYKAkrbD9PQFtIXdJ/0hLcbQ6TbJpK5naYp6PRuq2J aRnt44TEHTdwYBjweX1Xfo9Kaev5BB365S6oxHKF+8Kwf/zD04mi4+nyslc5fNn8Ee0h T39y/DH4emHPOmLgF4BlHxN2pqK+BxIDSz4F7YfVTvQOQ6tMg+M7tDVey3Wc3UiyGxPc H5u8qsYPce/yDQPsHVvX7bvEV6095HVTSMpWu5Cly3Bc1G3y/1W0L5y8Xzpj8kIKquPn 2jFQ== 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=xONpeqOZllu4lUrmjTAaVSXxrn2MUyb6d2vzr8hXNI4=; b=dZ17hAm5hW2zwc09hDhyS1/P/r84pI6jSAk8ibmodOW9pYdNLep5JRvRwi8Jew+j4D QROy65wnfOigfKD+WiGTYs06MD4etwXuxtM5877Iv/Oi+mQMd5/uUpd15ngUYtB0rEbW TlOInZlHXyVSgkX0kSYqdcKu/m+qTeDYqYEKHp98vK+iwfZ4Jv2zzap/xm24xThcbpdV vIVkj9TnljXhn0AEEl2ztSnLt7pnPXX9Fcl8v+nK+Zr3uU9Yc5fmEDI5JVId0N2A2NkA 6d/N5gqtEiax8tpKAyStB+VHHib7gD4i8L2PdmjWKjh0ztmkqQPuoEZv68CYSmFsFtL1 qdkA== X-Gm-Message-State: AJcUukfB9VDlodT9DARO+oKEHFbSenGjRoXcZS4emCW8eQO2pzKdpC5g GbA8nLZ4VA5hwQ2bXV3zb3LZ8A== X-Google-Smtp-Source: ALg8bN7Ubi/V2Kzm4Hg5H3ZW87JrSek0YbUnwMrl3V93xTA254vXrWQLBfOyR3Z7Yd/IKK8I/txzxA== X-Received: by 2002:adf:ba05:: with SMTP id o5mr13870231wrg.325.1547227328725; Fri, 11 Jan 2019 09:22:08 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.22.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:22:08 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 15/17] ARM: davinci: dm644x: switch to using the clocksource driver Date: Fri, 11 Jan 2019 18:21:32 +0100 Message-Id: <20190111172134.30147-16-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092210_601496_2B5E41F9 X-CRM114-Status: GOOD ( 14.95 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski We now have a proper clocksource driver for davinci. Switch the platform to using it. Signed-off-by: Bartosz Golaszewski --- arch/arm/mach-davinci/dm644x.c | 36 ++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c index 85d69ac1bd70..adbcdefadee8 100644 --- a/arch/arm/mach-davinci/dm644x.c +++ b/arch/arm/mach-davinci/dm644x.c @@ -26,7 +26,8 @@ #include #include #include -#include + +#include #include "asp.h" #include "davinci.h" @@ -558,16 +559,24 @@ static struct davinci_id dm644x_ids[] = { }, }; -/* - * T0_BOT: Timer 0, bottom: clockevent source for hrtimers - * T0_TOP: Timer 0, top : clocksource for generic timekeeping - * T1_BOT: Timer 1, bottom: (used by DSP in TI DSPLink code) - * T1_TOP: Timer 1, top : - */ -static struct davinci_timer_info dm644x_timer_info = { - .timers = davinci_timer_instance, - .clockevent_id = T0_BOT, - .clocksource_id = T0_TOP, +static const struct davinci_timer_cfg dm644x_timer_cfg = { + .reg = { + .start = DAVINCI_TIMER0_BASE, + .end = DAVINCI_TIMER0_BASE + SZ_4K, + .flags = IORESOURCE_MEM, + }, + .irq = { + { + .start = IRQ_TINT0_TINT12, + .end = IRQ_TINT0_TINT12, + .flags = IORESOURCE_IRQ, + }, + { + .start = IRQ_TINT0_TINT34, + .end = IRQ_TINT0_TINT34, + .flags = IORESOURCE_IRQ, + } + } }; static struct plat_serial8250_port dm644x_serial0_platform_data[] = { @@ -649,7 +658,6 @@ static const struct davinci_soc_info davinci_soc_info_dm644x = { .intc_type = DAVINCI_INTC_TYPE_AINTC, .intc_irq_prios = dm644x_default_priorities, .intc_irq_num = DAVINCI_N_AINTC_IRQ, - .timer_info = &dm644x_timer_info, .emac_pdata = &dm644x_emac_pdata, .sram_dma = 0x00008000, .sram_len = SZ_16K, @@ -671,6 +679,7 @@ void __init dm644x_init_time(void) { void __iomem *pll1, *psc; struct clk *clk; + int rv; clk_register_fixed_rate(NULL, "ref_clk", NULL, 0, DM644X_REF_FREQ); @@ -683,7 +692,8 @@ void __init dm644x_init_time(void) clk = clk_get(NULL, "timer0"); WARN(IS_ERR(clk), "Unable to get the timer clock\n"); - davinci_timer_init(clk); + rv = davinci_timer_register(clk, &dm644x_timer_cfg); + WARN(rv, "Unable to register the timer: %d\n", rv); } static struct resource dm644x_pll2_resources[] = { From patchwork Fri Jan 11 17:21:33 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760395 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AA3F414E5 for ; Fri, 11 Jan 2019 17:26:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 84DF629B13 for ; Fri, 11 Jan 2019 17:26:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7611B28DDD; Fri, 11 Jan 2019 17:26:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 1B68A28DDD for ; Fri, 11 Jan 2019 17:26:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=HGiHXqEDkVbhTiRGb0BUBFHmUCeAtQ7UTOE+OoHiUJY=; b=Adly4e1p5SxZIb S5EyUfa4vcKGgDEVtT+eIpj+34cS5GDikWw0hLu20olsiaTl7ILvCNWPY5wHO1RBeMLXMV/Th+Yd7 4v+1wRmHU+oudjJeXdcShvpwA7y3uE0n1JZ8xCEHMn2q58BB6kSYWXQuhAsAMprEnrAvRbP/+twC+ Moxt2njvTp1rj2N4qX/ZAvZduQamiuuo5Jwm/TxzWcxqupd0JI8lLJ08JyluWXTb9m2ap0h9fSpnz LAWowGX6+jO81Lc1eJYpE4r66aG90hzYtVqVuFNYLXpU2KYbAnGWNN8Zr1uygOYZZV/S1oC61RfIT xjUPXk0RWWH0d4QHg0zg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0ZY-0005jO-66; Fri, 11 Jan 2019 17:26:20 +0000 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VX-0000d6-9b for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:22:20 +0000 Received: by mail-wr1-x444.google.com with SMTP id j2so16083207wrw.1 for ; Fri, 11 Jan 2019 09:22:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JGCXdQbXQo6tBzBdWymV0+bJ83eVX08S8XI886KP7NQ=; b=zOAjB/wBMRgd7EDZtd47dht0yzVZBvQL9/GNV9wdO8oZFySafi2AHyLNcRC1aztdGA gG99aUituxdWmo0XA/VZ/KFJ87UL2PQfAXNA4s5WBBe6gH6kYFTK+cEEbOK4alCR/niA yOrsLtn9DXmGvHvtWOj5+J11pKhSujg2lXnt/KLTaiO7KQv+RPpzjiclOzR98kZhXaHt 80JDC4KugKB9J6ftTIUo5kucvmHN+G6cY3BwWUDuuWFvMCaFdrg+LSNPcSUhRsaKwrmI Po6PdHYxOlvtdXow69UE1cBI1+/hM0caYqxrw4EPN6VdwhIYuPRGQJTHuqvEkZYcoOpr vkTw== 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=JGCXdQbXQo6tBzBdWymV0+bJ83eVX08S8XI886KP7NQ=; b=bxAzuHOhAtpueFerTo99Ze9AOCQZR0qCZvm9e/dT5/aYaVMsHtw/KBro2+zP3NEzvq iucxTNLBx3saY0Y8GYJjLN8l/9EdxlvAUCUcJfjkajmxj6hqrXHC7O7Np3ibH6R9Kfr/ hYVzHnZs9lMl0CcqI4h7i8sRQTajiM1jcqrY9bg2Kd5CqdGd1JSWOqrFCedRXHDHXtB6 h1Ec/ChJSWOJEvK9n8pou4U6T2MuuUaHaCPytyoidrqdSmsoVDSU++wkCGiDLgmdcvey uFIssaQQyVYxyopGXhV22FB2rk/Caa00ub7V8+bj/R/GHeNaLG3fVjRODNB4c9VR3T8Y XSug== X-Gm-Message-State: AJcUukep8aI4tQG4+2ojICj+Yp3KSERZGUckd4H+4tB1HkR2JHm4B2p0 li/mR/n5UXSUBKBC9PMEF2KJaQ== X-Google-Smtp-Source: ALg8bN4gtkI8QXFfIK0wr9LWfM3C/9/3Xy01+BZz8ZntqCPIkASRP0gdkz8suSUkugkgNfwOROssuQ== X-Received: by 2002:adf:f149:: with SMTP id y9mr15412531wro.284.1547227329955; Fri, 11 Jan 2019 09:22:09 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.22.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:22:09 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 16/17] ARM: davinci: dm646x: switch to using the clocksource driver Date: Fri, 11 Jan 2019 18:21:33 +0100 Message-Id: <20190111172134.30147-17-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092211_918369_E4E93005 X-CRM114-Status: GOOD ( 14.76 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski We now have a proper clocksource driver for davinci. Switch the platform to using it. Signed-off-by: Bartosz Golaszewski --- arch/arm/mach-davinci/dm646x.c | 36 ++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/arch/arm/mach-davinci/dm646x.c b/arch/arm/mach-davinci/dm646x.c index 018315fa9aa9..b3412920da0a 100644 --- a/arch/arm/mach-davinci/dm646x.c +++ b/arch/arm/mach-davinci/dm646x.c @@ -27,7 +27,8 @@ #include #include #include -#include + +#include #include "asp.h" #include "davinci.h" @@ -498,16 +499,24 @@ static struct davinci_id dm646x_ids[] = { }, }; -/* - * T0_BOT: Timer 0, bottom: clockevent source for hrtimers - * T0_TOP: Timer 0, top : clocksource for generic timekeeping - * T1_BOT: Timer 1, bottom: (used by DSP in TI DSPLink code) - * T1_TOP: Timer 1, top : - */ -static struct davinci_timer_info dm646x_timer_info = { - .timers = davinci_timer_instance, - .clockevent_id = T0_BOT, - .clocksource_id = T0_TOP, +static const struct davinci_timer_cfg dm646x_timer_cfg = { + .reg = { + .start = DAVINCI_TIMER0_BASE, + .end = DAVINCI_TIMER0_BASE + SZ_4K, + .flags = IORESOURCE_MEM, + }, + .irq = { + { + .start = IRQ_TINT0_TINT12, + .end = IRQ_TINT0_TINT12, + .flags = IORESOURCE_IRQ, + }, + { + .start = IRQ_TINT0_TINT34, + .end = IRQ_TINT0_TINT34, + .flags = IORESOURCE_IRQ, + } + } }; static struct plat_serial8250_port dm646x_serial0_platform_data[] = { @@ -589,7 +598,6 @@ static const struct davinci_soc_info davinci_soc_info_dm646x = { .intc_type = DAVINCI_INTC_TYPE_AINTC, .intc_irq_prios = dm646x_default_priorities, .intc_irq_num = DAVINCI_N_AINTC_IRQ, - .timer_info = &dm646x_timer_info, .emac_pdata = &dm646x_emac_pdata, .sram_dma = 0x10010000, .sram_len = SZ_32K, @@ -654,6 +662,7 @@ void __init dm646x_init_time(unsigned long ref_clk_rate, { void __iomem *pll1, *psc; struct clk *clk; + int rv; clk_register_fixed_rate(NULL, "ref_clk", NULL, 0, ref_clk_rate); clk_register_fixed_rate(NULL, "aux_clkin", NULL, 0, aux_clkin_rate); @@ -667,7 +676,8 @@ void __init dm646x_init_time(unsigned long ref_clk_rate, clk = clk_get(NULL, "timer0"); WARN(IS_ERR(clk), "Unable to get the timer clock\n"); - davinci_timer_init(clk); + rv = davinci_timer_register(clk, &dm646x_timer_cfg); + WARN(rv, "Unable to register the timer: %d\n", rv); } static struct resource dm646x_pll2_resources[] = { From patchwork Fri Jan 11 17:21:34 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10760397 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 814781515 for ; Fri, 11 Jan 2019 17:26:49 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5C91829B13 for ; Fri, 11 Jan 2019 17:26:49 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4E9A629C60; Fri, 11 Jan 2019 17:26:49 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 0D86329B13 for ; Fri, 11 Jan 2019 17:26:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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=d9uybSz7qBB5oG4h2sExMQbxR7tgG6mG6vzmrAGLyUM=; b=qdxWbwxYG9p3m5 Cid9FyGfUMclYd33EssZYiKyptFs0FVQqhhhn11YhXwDd9JKOhzer0ndfVQn5O8UhFcP/Hiw88I1u NTRVCM2ZmHTi7tFStfskvnT3r/8tRvpE7rCu560boMeGNv7zG+9TLo+zl3l0lAbQGirDrAZe7IJlv 62CLhKkhjV/VGex67h/zRgMvdyHbJP4ke16AW3LICYvol7M4YGwF6ewQbaSYWgffTx8/SxPUU3Aed iuzKjGDcD9Forh+4/sT5vQE0nZiE+F/nLrF7kjMRyRaktGPPXyCJ6SCxLNj3N/wkb0G3nnotEdXGE KAFldr1lPRapPFcHCqHQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0Zq-00060c-HI; Fri, 11 Jan 2019 17:26:38 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gi0VY-0000ev-M5 for linux-arm-kernel@lists.infradead.org; Fri, 11 Jan 2019 17:22:38 +0000 Received: by mail-wr1-x441.google.com with SMTP id z5so15982637wrt.11 for ; Fri, 11 Jan 2019 09:22:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SGgtslo+Rv3YESN8yMjGSg4dMzSf36W8zkjPQZV1pDg=; b=TE5B8EL4N4ON8DRNiSxu0FFzvUo/CnH8g1jg/gnMFmhq71ZuQ0XpzUT1ohyqWsLa8P LNk4Q+vvm8F6XWFTDRBO4s9p8AmhsG08EqoSgI6jwP5KnnIl7FQDPudlnyiX2+BNk5k3 VpZum27peYaaUz8cSd9CpsxX2yrFz3UMJz6a4Am0VHaf8X20Zp9bcRrrifd0WIuE8C3l Zhn/AR106Lhm3TryM5h7B3x51MRRLJmkRVZO0BQ4ytfyq/excwku/lc5XMEBX1c9WWxP MJMSh7BPDwR3mYvvSGCAvoNIFvtiKk9DmPaH2PYw7VzHW9FVL+Us7NV69nbsxMUPXiB5 VSBQ== 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=SGgtslo+Rv3YESN8yMjGSg4dMzSf36W8zkjPQZV1pDg=; b=MTcMYV6JMAtPixBbfSrtTrOfxW9vBa2Yax2Bf+DCkGTUA+uUlwTZWUaYhdGaEsxCPR qCHVopATLMFM91SuV9WhbGgschs6caeOm3/jrNtMb7fFhA9uAoH4gdQa8EG1yOdIwv5H FRrGQIfqbYPUXVtieF1fW77EAu68cXu8Cwrv7KDTLmDJsD5eqWExIJa4KDeNzpenSbcC LfHy+Q7IoJjAPECGH++brnCjaZpOjzmlDRMpVyEHYJ6TW9wx1hSXPoehzKcLt0wlRzfO LvyeSygHPytf9fWGC0batBNoheDKIE/Wb5SvhSNolz4q84zzb50GRCe4FG7TTeb1OGUO KtQw== X-Gm-Message-State: AJcUukeXHkOVecGZt+HaOD18TGeJNk1x+8xcagIh8kX2ofuZ7ybOi5RU RjeBc98ZiKXjZ/+HDWijPrZNbA== X-Google-Smtp-Source: ALg8bN6bxIIpKOvAtykGF+K8FBB4l+S7wHgPMrEUQ/gDufLXUnKi/hM61op+lfbiw67WGIZIckZiCA== X-Received: by 2002:a5d:5443:: with SMTP id w3mr13438282wrv.4.1547227331181; Fri, 11 Jan 2019 09:22:11 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id o16sm78534408wrn.11.2019.01.11.09.22.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 09:22:10 -0800 (PST) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , Daniel Lezcano , Rob Herring , Mark Rutland , Thomas Gleixner Subject: [PATCH 17/17] ARM: davinci: remove legacy timer support Date: Fri, 11 Jan 2019 18:21:34 +0100 Message-Id: <20190111172134.30147-18-brgl@bgdev.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190111172134.30147-1-brgl@bgdev.pl> References: <20190111172134.30147-1-brgl@bgdev.pl> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190111_092213_346137_8F81CAA4 X-CRM114-Status: GOOD ( 20.81 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski All platforms have now been switched to the new clocksource driver. Remove the old code and various no longer needed bits and pieces. Signed-off-by: Bartosz Golaszewski --- arch/arm/mach-davinci/Makefile | 3 +- arch/arm/mach-davinci/devices-da8xx.c | 1 - arch/arm/mach-davinci/devices.c | 19 - arch/arm/mach-davinci/include/mach/common.h | 17 - arch/arm/mach-davinci/include/mach/time.h | 33 -- arch/arm/mach-davinci/time.c | 400 -------------------- 6 files changed, 1 insertion(+), 472 deletions(-) delete mode 100644 arch/arm/mach-davinci/include/mach/time.h delete mode 100644 arch/arm/mach-davinci/time.c diff --git a/arch/arm/mach-davinci/Makefile b/arch/arm/mach-davinci/Makefile index 93d271b4d84b..fa8e66a223b6 100644 --- a/arch/arm/mach-davinci/Makefile +++ b/arch/arm/mach-davinci/Makefile @@ -5,8 +5,7 @@ # # Common objects -obj-y := time.o serial.o usb.o \ - common.o sram.o +obj-y := serial.o usb.o common.o sram.o obj-$(CONFIG_DAVINCI_MUX) += mux.o diff --git a/arch/arm/mach-davinci/devices-da8xx.c b/arch/arm/mach-davinci/devices-da8xx.c index cf78da5ab054..0e6047f0189a 100644 --- a/arch/arm/mach-davinci/devices-da8xx.c +++ b/arch/arm/mach-davinci/devices-da8xx.c @@ -24,7 +24,6 @@ #include #include #include -#include #include "asp.h" #include "cpuidle.h" diff --git a/arch/arm/mach-davinci/devices.c b/arch/arm/mach-davinci/devices.c index e8dbbb7479ab..584b4fa14a82 100644 --- a/arch/arm/mach-davinci/devices.c +++ b/arch/arm/mach-davinci/devices.c @@ -21,7 +21,6 @@ #include #include #include -#include #include @@ -305,21 +304,3 @@ int davinci_gpio_register(struct resource *res, int size, void *pdata) davinci_gpio_device.dev.platform_data = pdata; return platform_device_register(&davinci_gpio_device); } - -/*-------------------------------------------------------------------------*/ - -/*-------------------------------------------------------------------------*/ - -struct davinci_timer_instance davinci_timer_instance[2] = { - { - .base = DAVINCI_TIMER0_BASE, - .bottom_irq = IRQ_TINT0_TINT12, - .top_irq = IRQ_TINT0_TINT34, - }, - { - .base = DAVINCI_TIMER1_BASE, - .bottom_irq = IRQ_TINT1_TINT12, - .top_irq = IRQ_TINT1_TINT34, - }, -}; - diff --git a/arch/arm/mach-davinci/include/mach/common.h b/arch/arm/mach-davinci/include/mach/common.h index b577e13a9c23..ec721c1842ae 100644 --- a/arch/arm/mach-davinci/include/mach/common.h +++ b/arch/arm/mach-davinci/include/mach/common.h @@ -17,26 +17,10 @@ #include #include -void davinci_timer_init(struct clk *clk); - extern void davinci_irq_init(void); extern void __iomem *davinci_intc_base; extern int davinci_intc_type; -struct davinci_timer_instance { - u32 base; - u32 bottom_irq; - u32 top_irq; - unsigned long cmp_off; - unsigned int cmp_irq; -}; - -struct davinci_timer_info { - struct davinci_timer_instance *timers; - unsigned int clockevent_id; - unsigned int clocksource_id; -}; - struct davinci_gpio_controller; /* @@ -62,7 +46,6 @@ struct davinci_soc_info { u8 *intc_irq_prios; unsigned long intc_irq_num; u32 *intc_host_map; - struct davinci_timer_info *timer_info; int gpio_type; u32 gpio_base; unsigned gpio_num; diff --git a/arch/arm/mach-davinci/include/mach/time.h b/arch/arm/mach-davinci/include/mach/time.h deleted file mode 100644 index ba913736990f..000000000000 --- a/arch/arm/mach-davinci/include/mach/time.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Local header file for DaVinci time code. - * - * Author: Kevin Hilman, MontaVista Software, Inc. - * - * 2007 (c) MontaVista Software, Inc. This file is licensed under - * the terms of the GNU General Public License version 2. This program - * is licensed "as is" without any warranty of any kind, whether express - * or implied. - */ -#ifndef __ARCH_ARM_MACH_DAVINCI_TIME_H -#define __ARCH_ARM_MACH_DAVINCI_TIME_H - -#define DAVINCI_TIMER1_BASE (IO_PHYS + 0x21800) - -enum { - T0_BOT, - T0_TOP, - T1_BOT, - T1_TOP, - NUM_TIMERS -}; - -#define IS_TIMER1(id) (id & 0x2) -#define IS_TIMER0(id) (!IS_TIMER1(id)) -#define IS_TIMER_TOP(id) ((id & 0x1)) -#define IS_TIMER_BOT(id) (!IS_TIMER_TOP(id)) - -#define ID_TO_TIMER(id) (IS_TIMER1(id) != 0) - -extern struct davinci_timer_instance davinci_timer_instance[]; - -#endif /* __ARCH_ARM_MACH_DAVINCI_TIME_H */ diff --git a/arch/arm/mach-davinci/time.c b/arch/arm/mach-davinci/time.c deleted file mode 100644 index 740410a3bb6a..000000000000 --- a/arch/arm/mach-davinci/time.c +++ /dev/null @@ -1,400 +0,0 @@ -/* - * DaVinci timer subsystem - * - * Author: Kevin Hilman, MontaVista Software, Inc. - * - * 2007 (c) MontaVista Software, Inc. This file is licensed under - * the terms of the GNU General Public License version 2. This program - * is licensed "as is" without any warranty of any kind, whether express - * or implied. - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include - -static struct clock_event_device clockevent_davinci; -static unsigned int davinci_clock_tick_rate; - -/* - * This driver configures the 2 64-bit count-up timers as 4 independent - * 32-bit count-up timers used as follows: - */ - -enum { - TID_CLOCKEVENT, - TID_CLOCKSOURCE, -}; - -/* Timer register offsets */ -#define PID12 0x0 -#define TIM12 0x10 -#define TIM34 0x14 -#define PRD12 0x18 -#define PRD34 0x1c -#define TCR 0x20 -#define TGCR 0x24 -#define WDTCR 0x28 - -/* Offsets of the 8 compare registers */ -#define CMP12_0 0x60 -#define CMP12_1 0x64 -#define CMP12_2 0x68 -#define CMP12_3 0x6c -#define CMP12_4 0x70 -#define CMP12_5 0x74 -#define CMP12_6 0x78 -#define CMP12_7 0x7c - -/* Timer register bitfields */ -#define TCR_ENAMODE_DISABLE 0x0 -#define TCR_ENAMODE_ONESHOT 0x1 -#define TCR_ENAMODE_PERIODIC 0x2 -#define TCR_ENAMODE_MASK 0x3 - -#define TGCR_TIMMODE_SHIFT 2 -#define TGCR_TIMMODE_64BIT_GP 0x0 -#define TGCR_TIMMODE_32BIT_UNCHAINED 0x1 -#define TGCR_TIMMODE_64BIT_WDOG 0x2 -#define TGCR_TIMMODE_32BIT_CHAINED 0x3 - -#define TGCR_TIM12RS_SHIFT 0 -#define TGCR_TIM34RS_SHIFT 1 -#define TGCR_RESET 0x0 -#define TGCR_UNRESET 0x1 -#define TGCR_RESET_MASK 0x3 - -struct timer_s { - char *name; - unsigned int id; - unsigned long period; - unsigned long opts; - unsigned long flags; - void __iomem *base; - unsigned long tim_off; - unsigned long prd_off; - unsigned long enamode_shift; - struct irqaction irqaction; -}; -static struct timer_s timers[]; - -/* values for 'opts' field of struct timer_s */ -#define TIMER_OPTS_DISABLED 0x01 -#define TIMER_OPTS_ONESHOT 0x02 -#define TIMER_OPTS_PERIODIC 0x04 -#define TIMER_OPTS_STATE_MASK 0x07 - -#define TIMER_OPTS_USE_COMPARE 0x80000000 -#define USING_COMPARE(t) ((t)->opts & TIMER_OPTS_USE_COMPARE) - -static char *id_to_name[] = { - [T0_BOT] = "timer0_0", - [T0_TOP] = "timer0_1", - [T1_BOT] = "timer1_0", - [T1_TOP] = "timer1_1", -}; - -static int timer32_config(struct timer_s *t) -{ - u32 tcr; - struct davinci_soc_info *soc_info = &davinci_soc_info; - - if (USING_COMPARE(t)) { - struct davinci_timer_instance *dtip = - soc_info->timer_info->timers; - int event_timer = ID_TO_TIMER(timers[TID_CLOCKEVENT].id); - - /* - * Next interrupt should be the current time reg value plus - * the new period (using 32-bit unsigned addition/wrapping - * to 0 on overflow). This assumes that the clocksource - * is setup to count to 2^32-1 before wrapping around to 0. - */ - __raw_writel(__raw_readl(t->base + t->tim_off) + t->period, - t->base + dtip[event_timer].cmp_off); - } else { - tcr = __raw_readl(t->base + TCR); - - /* disable timer */ - tcr &= ~(TCR_ENAMODE_MASK << t->enamode_shift); - __raw_writel(tcr, t->base + TCR); - - /* reset counter to zero, set new period */ - __raw_writel(0, t->base + t->tim_off); - __raw_writel(t->period, t->base + t->prd_off); - - /* Set enable mode */ - if (t->opts & TIMER_OPTS_ONESHOT) - tcr |= TCR_ENAMODE_ONESHOT << t->enamode_shift; - else if (t->opts & TIMER_OPTS_PERIODIC) - tcr |= TCR_ENAMODE_PERIODIC << t->enamode_shift; - - __raw_writel(tcr, t->base + TCR); - } - return 0; -} - -static inline u32 timer32_read(struct timer_s *t) -{ - return __raw_readl(t->base + t->tim_off); -} - -static irqreturn_t timer_interrupt(int irq, void *dev_id) -{ - struct clock_event_device *evt = &clockevent_davinci; - - evt->event_handler(evt); - return IRQ_HANDLED; -} - -/* called when 32-bit counter wraps */ -static irqreturn_t freerun_interrupt(int irq, void *dev_id) -{ - return IRQ_HANDLED; -} - -static struct timer_s timers[] = { - [TID_CLOCKEVENT] = { - .name = "clockevent", - .opts = TIMER_OPTS_DISABLED, - .irqaction = { - .flags = IRQF_TIMER, - .handler = timer_interrupt, - } - }, - [TID_CLOCKSOURCE] = { - .name = "free-run counter", - .period = ~0, - .opts = TIMER_OPTS_PERIODIC, - .irqaction = { - .flags = IRQF_TIMER, - .handler = freerun_interrupt, - } - }, -}; - -static void __init timer_init(void) -{ - struct davinci_soc_info *soc_info = &davinci_soc_info; - struct davinci_timer_instance *dtip = soc_info->timer_info->timers; - void __iomem *base[2]; - int i; - - /* Global init of each 64-bit timer as a whole */ - for(i=0; i<2; i++) { - u32 tgcr; - - base[i] = ioremap(dtip[i].base, SZ_4K); - if (WARN_ON(!base[i])) - continue; - - /* Disabled, Internal clock source */ - __raw_writel(0, base[i] + TCR); - - /* reset both timers, no pre-scaler for timer34 */ - tgcr = 0; - __raw_writel(tgcr, base[i] + TGCR); - - /* Set both timers to unchained 32-bit */ - tgcr = TGCR_TIMMODE_32BIT_UNCHAINED << TGCR_TIMMODE_SHIFT; - __raw_writel(tgcr, base[i] + TGCR); - - /* Unreset timers */ - tgcr |= (TGCR_UNRESET << TGCR_TIM12RS_SHIFT) | - (TGCR_UNRESET << TGCR_TIM34RS_SHIFT); - __raw_writel(tgcr, base[i] + TGCR); - - /* Init both counters to zero */ - __raw_writel(0, base[i] + TIM12); - __raw_writel(0, base[i] + TIM34); - } - - /* Init of each timer as a 32-bit timer */ - for (i=0; i< ARRAY_SIZE(timers); i++) { - struct timer_s *t = &timers[i]; - int timer = ID_TO_TIMER(t->id); - u32 irq; - - t->base = base[timer]; - if (!t->base) - continue; - - if (IS_TIMER_BOT(t->id)) { - t->enamode_shift = 6; - t->tim_off = TIM12; - t->prd_off = PRD12; - irq = dtip[timer].bottom_irq; - } else { - t->enamode_shift = 22; - t->tim_off = TIM34; - t->prd_off = PRD34; - irq = dtip[timer].top_irq; - } - - /* Register interrupt */ - t->irqaction.name = t->name; - t->irqaction.dev_id = (void *)t; - - if (t->irqaction.handler != NULL) { - irq = USING_COMPARE(t) ? dtip[i].cmp_irq : irq; - setup_irq(irq, &t->irqaction); - } - } -} - -/* - * clocksource - */ -static u64 read_cycles(struct clocksource *cs) -{ - struct timer_s *t = &timers[TID_CLOCKSOURCE]; - - return (cycles_t)timer32_read(t); -} - -static struct clocksource clocksource_davinci = { - .rating = 300, - .read = read_cycles, - .mask = CLOCKSOURCE_MASK(32), - .flags = CLOCK_SOURCE_IS_CONTINUOUS, -}; - -/* - * Overwrite weak default sched_clock with something more precise - */ -static u64 notrace davinci_read_sched_clock(void) -{ - return timer32_read(&timers[TID_CLOCKSOURCE]); -} - -/* - * clockevent - */ -static int davinci_set_next_event(unsigned long cycles, - struct clock_event_device *evt) -{ - struct timer_s *t = &timers[TID_CLOCKEVENT]; - - t->period = cycles; - timer32_config(t); - return 0; -} - -static int davinci_shutdown(struct clock_event_device *evt) -{ - struct timer_s *t = &timers[TID_CLOCKEVENT]; - - t->opts &= ~TIMER_OPTS_STATE_MASK; - t->opts |= TIMER_OPTS_DISABLED; - return 0; -} - -static int davinci_set_oneshot(struct clock_event_device *evt) -{ - struct timer_s *t = &timers[TID_CLOCKEVENT]; - - t->opts &= ~TIMER_OPTS_STATE_MASK; - t->opts |= TIMER_OPTS_ONESHOT; - return 0; -} - -static int davinci_set_periodic(struct clock_event_device *evt) -{ - struct timer_s *t = &timers[TID_CLOCKEVENT]; - - t->period = davinci_clock_tick_rate / (HZ); - t->opts &= ~TIMER_OPTS_STATE_MASK; - t->opts |= TIMER_OPTS_PERIODIC; - timer32_config(t); - return 0; -} - -static struct clock_event_device clockevent_davinci = { - .features = CLOCK_EVT_FEAT_PERIODIC | - CLOCK_EVT_FEAT_ONESHOT, - .set_next_event = davinci_set_next_event, - .set_state_shutdown = davinci_shutdown, - .set_state_periodic = davinci_set_periodic, - .set_state_oneshot = davinci_set_oneshot, -}; - -void __init davinci_timer_init(struct clk *timer_clk) -{ - struct davinci_soc_info *soc_info = &davinci_soc_info; - unsigned int clockevent_id; - unsigned int clocksource_id; - int i; - - clockevent_id = soc_info->timer_info->clockevent_id; - clocksource_id = soc_info->timer_info->clocksource_id; - - timers[TID_CLOCKEVENT].id = clockevent_id; - timers[TID_CLOCKSOURCE].id = clocksource_id; - - /* - * If using same timer for both clock events & clocksource, - * a compare register must be used to generate an event interrupt. - * This is equivalent to a oneshot timer only (not periodic). - */ - if (clockevent_id == clocksource_id) { - struct davinci_timer_instance *dtip = - soc_info->timer_info->timers; - int event_timer = ID_TO_TIMER(clockevent_id); - - /* Only bottom timers can use compare regs */ - if (IS_TIMER_TOP(clockevent_id)) - pr_warn("%s: Invalid use of system timers. Results unpredictable.\n", - __func__); - else if ((dtip[event_timer].cmp_off == 0) - || (dtip[event_timer].cmp_irq == 0)) - pr_warn("%s: Invalid timer instance setup. Results unpredictable.\n", - __func__); - else { - timers[TID_CLOCKEVENT].opts |= TIMER_OPTS_USE_COMPARE; - clockevent_davinci.features = CLOCK_EVT_FEAT_ONESHOT; - } - } - - BUG_ON(IS_ERR(timer_clk)); - clk_prepare_enable(timer_clk); - - /* init timer hw */ - timer_init(); - - davinci_clock_tick_rate = clk_get_rate(timer_clk); - - /* setup clocksource */ - clocksource_davinci.name = id_to_name[clocksource_id]; - if (clocksource_register_hz(&clocksource_davinci, - davinci_clock_tick_rate)) - pr_err("%s: can't register clocksource!\n", - clocksource_davinci.name); - - sched_clock_register(davinci_read_sched_clock, 32, - davinci_clock_tick_rate); - - /* setup clockevent */ - clockevent_davinci.name = id_to_name[timers[TID_CLOCKEVENT].id]; - - clockevent_davinci.cpumask = cpumask_of(0); - clockevents_config_and_register(&clockevent_davinci, - davinci_clock_tick_rate, 1, 0xfffffffe); - - for (i=0; i< ARRAY_SIZE(timers); i++) - timer32_config(&timers[i]); -}