Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp1712074imm; Thu, 18 Oct 2018 02:58:46 -0700 (PDT) X-Google-Smtp-Source: ACcGV61COwvOVovgtLjsqnVTJOSKlvxewJw1rNuOnMofy75UzOd9nlkktKWAL20cqmDXbZGS1vKq X-Received: by 2002:a62:1655:: with SMTP id 82-v6mr29528464pfw.11.1539856725994; Thu, 18 Oct 2018 02:58:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539856725; cv=none; d=google.com; s=arc-20160816; b=JBsuxRAkfa/efBQm1WPybZKfwvtbd19EJZ6zQDSPCzGYJcNQNnmt1oV/4Wj5ihVyM1 wiEiNZrqngA85IuKpAtdeQECOQhe+TuS/7nMmOkz4zHJI9y7e/aBNhZXA1Lll2wVj31o NzPy+6Dcc5rqIU4/UcqqLfmuqM/FoR0kMH7bVq7GCGqGpRfvmu69GIDOnkMZCFvXGYA/ lPAgHlCaVFkT7T6Q00O84sfyQALVX525Qlciet1y2BWurOzKiLl1MlKDYQbDo43HlniH Q1FzCtV4jq+cnmaimRqa42m8CRMUU+C4FysTt419lUpKfK6nXzUFAbc2mRyUnk0NRXO7 TcFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:cms-type:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:dkim-filter; bh=7RzFxofNGfgWBQtiHbTFe9TEVqpCi1g2karnmb1X59I=; b=fwF66HkT2TcSDVoG5Bgg9QPDZ0dbVM9ZTXOr7XuRT4QgRFhREfA18gk9sR6LWt9lkK TPTZ5cL9tud+stBRDb3lsd29RQHIMx1DqrS7QwRuFC50VzQQP2CiWW93/8UwcWAqstWT XPalk0rwLlsKGKCygq5xkHThorH/IIoy+7GsQJp53w4AzPDbqgN8pGCtn79gFGSTCQlQ Zc61dK9YviMC7hv0umbtxXg8yZUswptBQvH+nHuek+D/6d/ezp/1DDvgVhuu4Dy8C6pG ajlmu71ZN2T9nHKfx0wA0BXEDMRlLHLrWBQGm/4a3jATbu97tDjxX0OngszYJpRYsmzx 206Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=krfirxAz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v5-v6si19993881plo.417.2018.10.18.02.58.30; Thu, 18 Oct 2018 02:58:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=krfirxAz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728129AbeJRR6B (ORCPT + 99 others); Thu, 18 Oct 2018 13:58:01 -0400 Received: from mailout1.w1.samsung.com ([210.118.77.11]:53145 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727877AbeJRR5e (ORCPT ); Thu, 18 Oct 2018 13:57:34 -0400 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20181018095719euoutp011b840002f9645bdc3babcb8f38f7bdc4~eq3R1SW150108101081euoutp01U; Thu, 18 Oct 2018 09:57:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20181018095719euoutp011b840002f9645bdc3babcb8f38f7bdc4~eq3R1SW150108101081euoutp01U DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1539856639; bh=7RzFxofNGfgWBQtiHbTFe9TEVqpCi1g2karnmb1X59I=; h=From:To:Cc:Subject:Date:In-reply-to:References:From; b=krfirxAzO7Qq5s/ssVN+WwSU3qIg0R/JW2QqcVPuuVdbjb6OZgXY+JXsg/etwYgza spT2ReJCudf3/zRXmgQNZCwri4td8ZebkrQIx0Au62PDD5jkGVu8LLuph2IggccQlW VjMWdDmrMWh0V8+B8+BeD3DoXHRuPBgadnre/9GU= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20181018095718eucas1p195d0397d91b2620e70fb24d070d38f04~eq3RR8IuI2351723517eucas1p1L; Thu, 18 Oct 2018 09:57:18 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id A3.B1.04806.EF858CB5; Thu, 18 Oct 2018 10:57:18 +0100 (BST) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20181018095717eucas1p20a7d2d2b1b18ae60a4893a8e3d8c19f9~eq3Qh5W422119521195eucas1p2U; Thu, 18 Oct 2018 09:57:17 +0000 (GMT) X-AuditID: cbfec7f5-34dff700000012c6-b4-5bc858fe9a3d Received: from eusync3.samsung.com ( [203.254.199.213]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id EC.C2.04128.DF858CB5; Thu, 18 Oct 2018 10:57:17 +0100 (BST) Received: from AMDC2765.digital.local ([106.116.147.25]) by eusync3.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0PGS00GLZGZA2H50@eusync3.samsung.com>; Thu, 18 Oct 2018 10:57:17 +0100 (BST) From: Marek Szyprowski To: linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Marek Szyprowski , Will Deacon , Catalin Marinas , Marc Zyngier , Thomas Gleixner , Daniel Lezcano , Krzysztof Kozlowski , Chanwoo Choi , Bartlomiej Zolnierkiewicz , Inki Dae , Mark Rutland Subject: [PATCH v4 4/6] clocksource: exynos_mct: Add arch_timer cooperation mode for ARM64 Date: Thu, 18 Oct 2018 11:57:06 +0200 Message-id: <20181018095708.1527-5-m.szyprowski@samsung.com> X-Mailer: git-send-email 2.17.1 In-reply-to: <20181018095708.1527-1-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrMIsWRmVeSWpSXmKPExsWy7djPc7r/Ik5EG9w6IGaxccZ6Vov3y3oY La5/ec5qMe+zrMWk+xNYLM6f38BusenxNVaLy7vmsFnMOL+PyWLtkbvsFn/v/GOzWHr9IpPF 5k1TmS1efjzB4sDnsWbeGkaPTas62TzuXNvD5vHu3Dl2j81L6j36tqxi9Pi8SS6APYrLJiU1 J7MstUjfLoEro3lVcMFC7opt1/cxNjCu5Oxi5OCQEDCR2LU/v4uRi0NIYAWjxJ9nB1ggnM+M ErMvzGLuYuQEK1o/8w1UYhmjxNulC6GcBiaJna2PWUCq2AQMJbredrGB2CIC2RKdjx8wghQx C5xklvh3cxM7yD5hgRiJN/tjQGpYBFQlVr2fxAwS5hWwkZjf5gOxTF5i9YYDYIs5BWwlzsx/ B7ZLQuAEm8SJZRdZIIpcJOa8/gp1nbDEq+Nb2CFsGYnLk7uhGpoZJdpnzGKHcHoYJbbO2cEG UWUtcfj4RVYQm1mAT2LStunMkMDglehoE4Io8ZCYeHkJI8SXExglzt1YwTSBUXIBI8MqRvHU 0uLc9NRi47zUcr3ixNzi0rx0veT83E2MwKg+/e/41x2M+/4kHWIU4GBU4uF9kHo8Wog1say4 MvcQowQHs5IIb7XZiWgh3pTEyqrUovz4otKc1OJDjNIcLErivMvmbYwWEkhPLEnNTk0tSC2C yTJxcEo1MCYE8N0If+Fw4W1yoO0Ox2vcsi8XNovtqw5nyqzxdZ+ekll6W+yosMHCv/KvzL5F Nizmv3fD5YT1y86FwSGqD2eLrHD0+GIZf/xqxqlVCp8cLgXc/dI++dpWYZGf2o1nDl1+VrPh 17vef+Y7T/vrTLR7c0DrwrUJGoXv278eP+414YeGZ+q/i6eUWIozEg21mIuKEwELsIgY5gIA AA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrALMWRmVeSWpSXmKPExsVy+t/xq7p/I05EGxz/YGKxccZ6Vov3y3oY La5/ec5qMe+zrMWk+xNYLM6f38BusenxNVaLy7vmsFnMOL+PyWLtkbvsFn/v/GOzWHr9IpPF 5k1TmS1efjzB4sDnsWbeGkaPTas62TzuXNvD5vHu3Dl2j81L6j36tqxi9Pi8SS6APYrLJiU1 J7MstUjfLoEro3lVcMFC7opt1/cxNjCu5Oxi5OSQEDCRWD/zDUsXIxeHkMASRokpb3czQjhN TBJX3qxlB6liEzCU6HrbxQZiiwhkS8zf280OUsQscJJZ4tLjd0DtHBzCAjESb/bHgNSwCKhK rHo/iRkkzCtgIzG/zQdimbzE6g0HmEFsTgFbiTPzQTo5gXbZSHT/Wc8+gZFnASPDKkaR1NLi 3PTcYiO94sTc4tK8dL3k/NxNjMBw3Hbs55YdjF3vgg8xCnAwKvHwPkg9Hi3EmlhWXJl7iFGC g1lJhLfa7ES0EG9KYmVValF+fFFpTmrxIUZpDhYlcd7zBpVRQgLpiSWp2ampBalFMFkmDk6p Bkb3bVcfTa+Zu+WtUOMefcEJOj9uTDpg6nNZXTs+4jj7wcP/9qS926Dk7P5E9Puchh72m5es +H7u8OqUkGj7Wa/Ump90s7riQMirQ1VPGUubHXe5mN4+/O5idjvjl6OZihEVUyWO2517V2l5 rObTAtmyNXW+qTpfa+0C9vXN2eHT/3DFg2sNub5KLMUZiYZazEXFiQC2MYxoQwIAAA== X-CMS-MailID: 20181018095717eucas1p20a7d2d2b1b18ae60a4893a8e3d8c19f9 X-Msg-Generator: CA CMS-TYPE: 201P X-CMS-RootMailID: 20181018095717eucas1p20a7d2d2b1b18ae60a4893a8e3d8c19f9 References: <20181018095708.1527-1-m.szyprowski@samsung.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org To get ARM Architected Timers working on Samsung Exynos SoCs, one has to first configure and enable Exynos Multi-Core Timer, because they both share some common hardware blocks (global system counter). This patch adds a mode of cooperation with arch_timer driver, so kernel can use CP15 based timer interface via arch_timer driver, which is mandatory on ARM64. In such mode MCT driver only enables its clocks and starts global timer. Everything else will be handled by arch_timer driver. Signed-off-by: Marek Szyprowski Reviewed-by: Chanwoo Choi Tested-by: Chanwoo Choi --- drivers/clocksource/exynos_mct.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c index 4c886ff2941a..1f5249fb25fd 100644 --- a/drivers/clocksource/exynos_mct.c +++ b/drivers/clocksource/exynos_mct.c @@ -606,6 +606,16 @@ static int __init mct_init_dt(struct device_node *np, unsigned int int_type) if (ret) return ret; + if (IS_ENABLED(CONFIG_ARM64) && IS_ENABLED(CONFIG_ARM_ARCH_TIMER)) { + struct device_node *np = of_find_compatible_node(NULL, NULL, + "arm,armv8-timer"); + if (np) { + of_node_put(np); + exynos4_mct_frc_start(); + return 0; + } + } + ret = exynos4_timer_interrupts(np, int_type); if (ret) return ret; -- 2.17.1