From nobody Sat Feb 7 21:15:24 2026 Received: from mail-pf1-f202.google.com (mail-pf1-f202.google.com [209.85.210.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4EF6D1F5822 for ; Wed, 2 Apr 2025 23:34:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743636883; cv=none; b=oGrwruaXjUwPJMJTVLW0xIokI+dpBDmtT/ivMsvFgkEid8lLHxxT2lW3fNEtuaHybe6W7zoUGE5RBZiPpNI3YFDe0CTHj3udXaUdJ/DnsxDoWjiN7GBBUj+1fosThzIV7VUnnlGJxzxq5FEOyPExsMmtnvfi7PgI0Shg9r9U70o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743636883; c=relaxed/simple; bh=JuJg3RWFLu45pm77OOaGXe9n2ejYZstIDW/7RArcbeY=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=tc++DlmWGnDgMcNkjR67ruNzC8QDspZnMiN5fN+B8Il216xhBpNgr6yMTaRpmhPpJNfTrGUdZmeNioQReAPLLzSJmazvccU42UAOGIaXGwHf72hwTOZzXVtkXSKyVpFre88y1mSGpIb0GBBvwICd4eOBS3Jtv/HR93Z2y/g5ZZY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=Oe7OE2Lv; arc=none smtp.client-ip=209.85.210.202 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="Oe7OE2Lv" Received: by mail-pf1-f202.google.com with SMTP id d2e1a72fcca58-7395095a505so231185b3a.1 for ; Wed, 02 Apr 2025 16:34:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743636882; x=1744241682; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=5xi5mLFbZUHgD9CBrYI3yiaxvs0vxI4kX9JEPJJ2pFk=; b=Oe7OE2LvcWTeDfs3Imd8tDUrhPyqV23tYaIJQDpjZiw7YrBIb1Ra9w5+DgAYpUMVao m7ry4nrp8aBSVVfA1dmQyMIo8MF9b3mMa9qarOgJmlO6Hi4hkH/3LnyQxgTogV8BQmp4 qaeJgcyK3hCn/AhmrjFRPKze0GQaCPBJMYyNcdYa6pTKZHHYQSOhWrdQlIqzsIEQu4Rb vJw48FLbHDe+eE7vxMJ3g8wEngLXHmh5nTyz7J0C719yfEjBfTOtinBYOYY+NzkOpIbP QI7x3kyobXmumBuM6bU8spy7jr2eVpZm/t+cfXDSK+6YvT6NkNnnPuISo0FW/T1IJeuS c9Nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743636882; x=1744241682; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=5xi5mLFbZUHgD9CBrYI3yiaxvs0vxI4kX9JEPJJ2pFk=; b=Xdlg8Nj1LIjsxpLZUvFxBltIpmMAi6DTaqaYFjRKJvKyQssN9LSVGvbUA6TbGnSlWf MBMDI3E/KKfJREiQPSamrTxcXSvI1HCaXLHFMuDo5L3GHc4wpqfAiEgKk7TG3ZR5Pmhw SNEkdYVl8/PcTShsOu4Lrxqrohg+MGkuqliIafgwBYR2UvvIYrpowOQnuQVJ7s38gB0/ VLkIes0jzy5U4cIQx6AIthXuRdXfK/25PItJ/QQqyq6Z+jllt+U5cCGxDtHVFvziauLj JcdYGRU1aJ2JlH69P6/f4rNDUCSJttbFZymMU9neZweWP4ooTaM2zj7qp1n+bhYEHzuB zG3Q== X-Forwarded-Encrypted: i=1; AJvYcCX0WAjXsmU9cEID0KBMDcb9J9x9ia63C6CmALDtd+yx9dxsNpo6qS49SYKRQnzC6Lu6qJzXUqlIy87PQ28=@vger.kernel.org X-Gm-Message-State: AOJu0YwPg3SoNSVXsVDp4+51Rj7lykFF/pimG3sbM6QptIqqQKGMUgEJ znh5AJ5jYDqD7D05pA8XbouMMh5//5QclhOgDALhX/cDoqqpuHYH6WGY9DkSPlsnW9q8vkip0I6 9F/QSaqurt/YRDk8ZsOtiH7oLqA== X-Google-Smtp-Source: AGHT+IGTNM1wxMMNBBsjkTvh/Xn764ju971ydcAgLFhQFJR70t7PGAxvgV/oZ/gvmmS2Z14LxOex+r7v9TwTloj7VDM= X-Received: from pfbfa18.prod.google.com ([2002:a05:6a00:2d12:b0:736:aaee:120e]) (user=willmcvicker job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:a02:b0:736:62a8:e52d with SMTP id d2e1a72fcca58-739d85573d8mr639945b3a.12.1743636881683; Wed, 02 Apr 2025 16:34:41 -0700 (PDT) Date: Wed, 2 Apr 2025 16:33:52 -0700 In-Reply-To: <20250402233407.2452429-1-willmcvicker@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250402233407.2452429-1-willmcvicker@google.com> X-Mailer: git-send-email 2.49.0.472.ge94155a9ec-goog Message-ID: <20250402233407.2452429-2-willmcvicker@google.com> Subject: [PATCH v2 1/7] of/irq: Export of_irq_count for modules From: Will McVicker To: Catalin Marinas , Will Deacon , Peter Griffin , "=?UTF-8?q?Andr=C3=A9=20Draszik?=" , Tudor Ambarus , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alim Akhtar , Daniel Lezcano , Thomas Gleixner , Saravana Kannan Cc: Will McVicker , Donghoon Yu , Hosung Kim , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Youngmin Nam , Krzysztof Kozlowski , linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Need to export `of_irq_count` in preparation for modularizing the Exynos MCT driver which uses this API for setting up the timer IRQs. Signed-off-by: Will McVicker Acked-by: Rob Herring (Arm) Reviewed-by: Youngmin Nam Tested-by: Youngmin Nam --- drivers/of/irq.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/of/irq.c b/drivers/of/irq.c index f8ad79b9b1c9..5adda1dac3cf 100644 --- a/drivers/of/irq.c +++ b/drivers/of/irq.c @@ -519,6 +519,7 @@ int of_irq_count(struct device_node *dev) =20 return nr; } +EXPORT_SYMBOL_GPL(of_irq_count); =20 /** * of_irq_to_resource_table - Fill in resource table with node's IRQ info --=20 2.49.0.472.ge94155a9ec-goog From nobody Sat Feb 7 21:15:24 2026 Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9C6211F8697 for ; Wed, 2 Apr 2025 23:34:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743636889; cv=none; b=JZts9T8bZUhSfNq62/QVROS/99QV/om1pCbwgFEG4A7AsjuCCMdITFAkGzWSWZ+rGTSzapf1xmUmDEh6DkSdDTNDAki5QorRbnWyeM4yGq6tHYQ6yldMLc0nCP2wFnpUI3x+ie4ne2IXoBDaCpMosf9285j0yqgPTLfRgTCno9c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743636889; c=relaxed/simple; bh=ueaYVRAKsehc2srS373efDZ/O4VukJoPLwDJHqA71FQ=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=X5B8y5DF2Qs9dpSRwcREoN4zTxMSFfYkYzfYYWtJalnb3Q5u2oTlHAJpU0nmDw1gZ4OkNNPp6KyjdwtuZXIVgbvc6rjJDmquCZa+wLH8P3MHJgo7aWkLa4mH3m6jsW5ef+UoXaCWe06dsZy1RzT+tMm6dAyPKautxw3AKDJXyIA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=1sxlpa0H; arc=none smtp.client-ip=209.85.216.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="1sxlpa0H" Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-2ff55176edcso248173a91.1 for ; Wed, 02 Apr 2025 16:34:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743636887; x=1744241687; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=cVr3hb8iK4op+4MgIQ86kZFXoHl/MtKw2J/QRgo4taw=; b=1sxlpa0H1JF8BrH7hggp6Na6klo3Gkj8cXo/wjXBmDLkIG5lpj9IA2IGXXdIk3fowQ TCYeblyVJHBH+/sycbO06EdbqQwgdj8qdk0ap08vgjtmSjIAsUoBxrfmCdwOCaYS2MQC +WwRfrWl9mTl0lRWZ1rIvj4W/cjXdGxUm+Tppdc2ogCXDf6zfir+nS2+9FR+T9nzVyEJ A3mVrALbefXiE2ZVqsleh86D7OX3tdaCREAeguPQoKVGkDI82UzwytEr8/Sgl07aRjoI GJIuY5sPCdrs1tQ93XhOqePWKN9aHicUas8UV13vUf+s/HF9rGRlslWyjfdFVTijzNpq UKuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743636887; x=1744241687; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=cVr3hb8iK4op+4MgIQ86kZFXoHl/MtKw2J/QRgo4taw=; b=qoU18BgC0o6rtAEFZDG4eVoDJGgSf/HgHpEqWadUlaMLsuwit4QrIJLuvYGNkmcafO X+hjTysa6/KdssKZyFwxyhrp8AXxLL+49JOlhntfz8qmjN7iRX42sYbaCbhGyEIwsHzW XQqk2813FQFJkV4NDBOIiReJEsN6PN4HXN9v4j4yqHsbpv0pEPfQqRFkENoFr3wFM4Bi obZcjJesLxVRjV1CzSIERdj+ly36V9wqNtnLE0ZZP/c6G96UntMKUg7QBVvx443ZH5bo vYj4HDw9qwKkZmbdTkodQSmqCc5RvCxY1U5/Jh//S49AMuKzVevIOHlz48NWpbtDKyBF /9qA== X-Forwarded-Encrypted: i=1; AJvYcCXY5EVWKewqW5eXzj34eluJZKj/tM+i+ubzgyXTVRCwoFWEnkYoHS9CkHvit/7WB5mFFf9bSke7rNRdcOo=@vger.kernel.org X-Gm-Message-State: AOJu0Yz8CIe3SE2H3AMM/0IxgvJkMZdOtIwhG6NeFJjgTn+Wx39UPwx7 qerjOYwFGVKgyrDTsr/HJFDSf/KooYuku13w7TcO10/apxsaBHl07uVghCdOEJXtwlzkySh2kbl zq2lQ4UrILsIlBGT572Tt74Yi4g== X-Google-Smtp-Source: AGHT+IGFOOhmWr3Z6viGq+ulkQ92nT2eBCuYGsXtiOmRX4Ho8ivQC5UMWY8LfRMuamRE7HQJon2Mz8MvCxGpPT2O6fQ= X-Received: from pjbee12.prod.google.com ([2002:a17:90a:fc4c:b0:2ff:4be0:c675]) (user=willmcvicker job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:3b50:b0:2fe:a0ac:5fcc with SMTP id 98e67ed59e1d1-3053215c05cmr20698254a91.34.1743636886898; Wed, 02 Apr 2025 16:34:46 -0700 (PDT) Date: Wed, 2 Apr 2025 16:33:53 -0700 In-Reply-To: <20250402233407.2452429-1-willmcvicker@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250402233407.2452429-1-willmcvicker@google.com> X-Mailer: git-send-email 2.49.0.472.ge94155a9ec-goog Message-ID: <20250402233407.2452429-3-willmcvicker@google.com> Subject: [PATCH v2 2/7] clocksource/drivers/exynos_mct: Don't register as a sched_clock on arm64 From: Will McVicker To: Catalin Marinas , Will Deacon , Peter Griffin , "=?UTF-8?q?Andr=C3=A9=20Draszik?=" , Tudor Ambarus , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alim Akhtar , Daniel Lezcano , Thomas Gleixner , Saravana Kannan , Krzysztof Kozlowski Cc: Will McVicker , Donghoon Yu , Hosung Kim , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Youngmin Nam , linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" To use the MCT as a sched_clock, the timer value has to be accessed vi an MCT register which is extremely slow. To improve performance on Arm64 SoCs, use the Arm architected timer as the default clocksource. Note, we can't completely disable the MCT on Arm64 since it needs to be used as the wakeup source for the arch_timer to exit the "c2" idle state. Since ARM SoCs don't have an architectured timer, the MCT will continue to be the default clocksource. Detailed discussion on this topic can be found at [1]. [1] https://lore.kernel.org/linux-samsung-soc/1400188079-21832-1-git-send-e= mail-chirantan@chromium.org/ Signed-off-by: Donghoon Yu Signed-off-by: Youngmin Nam [Original commit from https://android.googlesource.com/kernel/gs/+/630817f7= 080e92c5e0216095ff52f6eb8dd00727 Signed-off-by: Will McVicker Reviewed-by: Youngmin Nam Acked-by: John Stultz Tested-by: Youngmin Nam --- drivers/clocksource/exynos_mct.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_= mct.c index da09f467a6bb..96361d5dc57d 100644 --- a/drivers/clocksource/exynos_mct.c +++ b/drivers/clocksource/exynos_mct.c @@ -219,12 +219,18 @@ static struct clocksource mct_frc =3D { .resume =3D exynos4_frc_resume, }; =20 +/* + * Since ARM devices do not have an architected timer, they need to contin= ue + * using the MCT as the main clocksource for timekeeping, sched_clock, and= the + * delay timer. For AARCH64 SoCs, the architected timer is the preferred + * clocksource due to it's superior performance. + */ +#if defined(CONFIG_ARM) static u64 notrace exynos4_read_sched_clock(void) { return exynos4_read_count_32(); } =20 -#if defined(CONFIG_ARM) static struct delay_timer exynos4_delay_timer; =20 static cycles_t exynos4_read_current_timer(void) @@ -250,12 +256,13 @@ static int __init exynos4_clocksource_init(bool frc_s= hared) exynos4_delay_timer.read_current_timer =3D &exynos4_read_current_timer; exynos4_delay_timer.freq =3D clk_rate; register_current_timer_delay(&exynos4_delay_timer); + + sched_clock_register(exynos4_read_sched_clock, 32, clk_rate); #endif =20 if (clocksource_register_hz(&mct_frc, clk_rate)) panic("%s: can't register clocksource\n", mct_frc.name); =20 - sched_clock_register(exynos4_read_sched_clock, 32, clk_rate); =20 return 0; } --=20 2.49.0.472.ge94155a9ec-goog From nobody Sat Feb 7 21:15:24 2026 Received: from mail-pf1-f202.google.com (mail-pf1-f202.google.com [209.85.210.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A29F61F7098 for ; Wed, 2 Apr 2025 23:34:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743636891; cv=none; b=MnxL7tN2KT/mAqC0Pw4ueSTNu9uJQZO9sWvVRhJp5LYqph+MMTpxihMgw7cZHb06vd4/KW0glL4bKXZNLbIb4aWphKfpe+L2AT02+vmxwn9W7sn5J4WFdT/frSV07sAy3PY91jvnRISIX36lT8BsZTJBUoSRtboHDWFQn/c4V1I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743636891; c=relaxed/simple; bh=ybEIMl+QUKadqWELK4Gmy+9k+si2Cgc18MkjtCiGmP8=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=ZuWFF9udR2fD04mkLTHA/Hfz5qw14zR++ehtT0vgBhMnuL6Br6t5tGMBT8KytvtnjB4iXH+ll1s+YH+vBWG222TlEnwDrWMqzt1saATxZCRak7fo5hWrjFOvwXnFOTGheC28ahOnoMfsyHvHeI1XkH7wQretIO7+1+q0fSqn4I0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=21th/tS6; arc=none smtp.client-ip=209.85.210.202 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="21th/tS6" Received: by mail-pf1-f202.google.com with SMTP id d2e1a72fcca58-7377139d8b1so234398b3a.0 for ; Wed, 02 Apr 2025 16:34:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743636889; x=1744241689; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=igB5EzbZ4UddujnhN5pTR462QEE2CggaY13KiAdG+kI=; b=21th/tS644a9Q/tsOdV+XBf+z2xo87d+KHLOe0IYRo9GJdjZSDQHdPNKM6A6MWddgY ITpdDLu9Sey5x4Oy4/AXyg1X+CY5fwGKvbEEZwY6BVjBgHw0ohNvRZ7aNyeN3qWM0p4g FeGW7yuo/h4k/uSGBS0aM4lcs/SvewZvLyHRxHjWPZxnV4qP6zJKgUDEetN9X5Ldb74E +lvsqOWQgW1U+Hnk4wp3Hrz7bJ+EKNurT1o6gQk/ZXXwNwCR9XQ4jw5Vp6gWNaEvXLzo idj8gEIRDEqLio2twqU+mntQzFwDusnBkerT/WsAaKkRkdENnr8Zlcx8YioaeyNX51yO RUIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743636889; x=1744241689; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=igB5EzbZ4UddujnhN5pTR462QEE2CggaY13KiAdG+kI=; b=uqbf9txtNrs4qqoQ6RwSnQ1faB1T2eqdSyKB3Q5sOAj1lSKrxGoxG7EN54jiIBYxLM maV5lSQHKGkFgdXGk/5UJYOE0wzjPUbIPE+Twj9SZ2LPw7fTyJN+GJRN2qSzYYvXBXaD t9DZ+BKloGc/PosjeyGVa/RVSDYkgt9p++RX9q/3CyJkQ9kEypJVNXOyRxGvgzwzwaPC opI3w65TELRHblBRj9h6BNi37R+lG0hVm4lw+RYqjDkNUvoY+gAGx02ctWyJHQmGG6KN avj+XvXsWyrmUUy21HG8Ghh4dPtKqpsM/GUBlHbYP1wSqFhXM2TDCd5/yzeqCV7kkxN2 QZKA== X-Forwarded-Encrypted: i=1; AJvYcCUFwQlXZurEjMwPLyTkhAnA6PdqRo67vA8U8cTd5Aq2pBNFe8Fa04PRSLmfbxKE4wmf7+pGT+6jVujNH0A=@vger.kernel.org X-Gm-Message-State: AOJu0YzlfOmJZuvG1lNG22enN2oLCYqH4h9tRuvU+LJPbTEkatU5rQYx cnk3EkdTVGiFSeOFYHTTxdiAWSPwFoaf9iZMrqXlhF00LG1hsLfgfuvfVGjyAqegF7KGNwzyo1P T/Efgj8hg4/bjTKur5b9mqaLJAQ== X-Google-Smtp-Source: AGHT+IHliF72RhoVlooK9L+c1Y4iuJGgr9wHIupvklzWWd4gEqQfjkuZNyDHtoJev6b5CUsHoC8Btppiv9aU79bLH+M= X-Received: from pggj2.prod.google.com ([2002:a63:cf02:0:b0:af2:3436:98b5]) (user=willmcvicker job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a20:2d28:b0:1f5:93b1:6a58 with SMTP id adf61e73a8af0-2009f5b912cmr30610075637.8.1743636888966; Wed, 02 Apr 2025 16:34:48 -0700 (PDT) Date: Wed, 2 Apr 2025 16:33:54 -0700 In-Reply-To: <20250402233407.2452429-1-willmcvicker@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250402233407.2452429-1-willmcvicker@google.com> X-Mailer: git-send-email 2.49.0.472.ge94155a9ec-goog Message-ID: <20250402233407.2452429-4-willmcvicker@google.com> Subject: [PATCH v2 3/7] clocksource/drivers/exynos_mct: Set local timer interrupts as percpu From: Will McVicker To: Catalin Marinas , Will Deacon , Peter Griffin , "=?UTF-8?q?Andr=C3=A9=20Draszik?=" , Tudor Ambarus , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alim Akhtar , Daniel Lezcano , Thomas Gleixner , Saravana Kannan , Krzysztof Kozlowski Cc: Will McVicker , Donghoon Yu , Hosung Kim , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Youngmin Nam , linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Hosung Kim To allow the CPU to handle it's own clock events, we need to set the IRQF_PERCPU flag. This prevents the local timer interrupts from migrating to other CPUs. Signed-off-by: Hosung Kim [Original commit from https://android.googlesource.com/kernel/gs/+/03267fad= 19f093bac979ca78309483e9eb3a8d16] Signed-off-by: Will McVicker Reviewed-by: Peter Griffin Reviewed-by: Youngmin Nam Tested-by: Youngmin Nam --- drivers/clocksource/exynos_mct.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_= mct.c index 96361d5dc57d..a5ef7d64b1c2 100644 --- a/drivers/clocksource/exynos_mct.c +++ b/drivers/clocksource/exynos_mct.c @@ -596,7 +596,8 @@ static int __init exynos4_timer_interrupts(struct devic= e_node *np, irq_set_status_flags(mct_irq, IRQ_NOAUTOEN); if (request_irq(mct_irq, exynos4_mct_tick_isr, - IRQF_TIMER | IRQF_NOBALANCING, + IRQF_TIMER | IRQF_NOBALANCING | + IRQF_PERCPU, pcpu_mevt->name, pcpu_mevt)) { pr_err("exynos-mct: cannot register IRQ (cpu%d)\n", cpu); --=20 2.49.0.472.ge94155a9ec-goog From nobody Sat Feb 7 21:15:24 2026 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9ED011F8921 for ; Wed, 2 Apr 2025 23:34:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743636893; cv=none; b=qmt+90wbPHoDP0Pb9aK7zNtKdfvoSGyinD2ra4aZ8uhX88ynd/cNU9FcWZTh7vRBK+XAOmJ4KHCCSIN58yIYwzyRrmDpOPRjaTiQP8hvWEooQKhnn/Q/hR5UtcIHbx2ab2RYG08SHy2ootz1NEtoOHEfWqB9Sz+zencmXZzJE8M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743636893; c=relaxed/simple; bh=KGOLMUoqhgT8o6lRGzM2BT8QYWSv9CekKOeXvgxXs90=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=JIUwF9TjzMf1DlyCkfaOnFoxKriEIaE9gSU+lljeNwxDW274WQYjkp6zrQfDzzONUlC1kCMq9tgo1ppN+27FRq40X69so7rZUF/mryQg9ikFjXRefdUqusM8V9pHuABUBcJBVRLEQGESHSIVL/0sA+QwIrG8pXFC40dM+O1CGVY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=qZj/5GnI; arc=none smtp.client-ip=209.85.216.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="qZj/5GnI" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-3032f4eca83so242917a91.3 for ; Wed, 02 Apr 2025 16:34:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743636891; x=1744241691; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=5wAloBg1GSJoUoSs1Fe6e5szwOsXLtBgN31oDTUHQ8I=; b=qZj/5GnInh0GgTNYDlKb2m0KK7/rDqyB+1B/5hXyaPLCb/ZDJ/QK5v2gotsKijJTv0 s9qub8gB7K7vWPkMG6PZ66PB37ZOnMIhOiWzbdYSOZGF/JNqoz53uMmQXgHQnyXGd/AH RFczcp228DqsEYLQ5xOqRw1Aa+sQLzyc0Mo4IZ7gge01nwlEgwenSP4T16Uwj6GLaRJ8 7C2QA9d4CXWyWwugh2xNfuJHtHOCfzIRoRdurQMxHmBsSP5gXcY3QHs6G5mCQGzPR9aK OA8em3la9dbRgxyfXS8DCOxxcfmoxH6EYY6w2NMpsd8S6x7KgzKFopgL53wLsVQ1cLxb Sj9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743636891; x=1744241691; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=5wAloBg1GSJoUoSs1Fe6e5szwOsXLtBgN31oDTUHQ8I=; b=YS1EyWX1rlGVqqC8Q2NbONtS978+9WB/g6JN9beEpzOb4zHw/mhmPdGFJkNKWHJR5O RoIfOzuKL0Mm+PQygsezcdYTKzzHnHVW/kJ6iGkgIo4R0whOjnGhpITZTyklAOBg4thv Wa10OMqJQXiZSVxc9qKRQby7cdVeyFSyzh+K00A6gAkdBSOYcPnRDRWL5jUlVF9YF3ND UFU+SZUVp5zfKC0rnH8cwALnMCndEqnTy+T1mkpwsFhpX/goBjbwP8wmNL2nsn046FjM bs9uSJif/golvukHYS3Xiqtk3UdksdJgQxbb7GDwAXdp3L8ytnWipdVpNdKGtZ4LqqSv MHow== X-Forwarded-Encrypted: i=1; AJvYcCWl4JzuRKm3JTSjvcAbkvCrFFL75BptXp7RK2MkfF7lvlfyeeAT2ze+YKLaOurZb9/DXQDlxjr+nofmLzs=@vger.kernel.org X-Gm-Message-State: AOJu0Yxrala/91styS8zjrhECJ02T+I04Xu9xtLfRq9D1CFCiQf5Q4uo Kj52bGQRR28jT10739wQun6a5Xoc2z5oHrSEnZPoxYgKJ/G5qwr4Mq0nc53xG78HYC+h+Iedc8v YHpL31dUssO+FCXLieMpae3iLJg== X-Google-Smtp-Source: AGHT+IEiKn3CQVmPMTLKprEJLyfSe5jv8B99g5wOxhodbCJvNHuufgRdp4KFjo2AWb/3XvYfkZ3bTBmaSOWf4m+NNUs= X-Received: from pjbqn7.prod.google.com ([2002:a17:90b:3d47:b0:2e9:38ea:ca0f]) (user=willmcvicker job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:2dcd:b0:2f6:d266:f45e with SMTP id 98e67ed59e1d1-3057cbcf16amr864128a91.2.1743636891016; Wed, 02 Apr 2025 16:34:51 -0700 (PDT) Date: Wed, 2 Apr 2025 16:33:55 -0700 In-Reply-To: <20250402233407.2452429-1-willmcvicker@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250402233407.2452429-1-willmcvicker@google.com> X-Mailer: git-send-email 2.49.0.472.ge94155a9ec-goog Message-ID: <20250402233407.2452429-5-willmcvicker@google.com> Subject: [PATCH v2 4/7] arm64: dts: exynos: gs101: Add 'local-timer-stop' to cpuidle nodes From: Will McVicker To: Catalin Marinas , Will Deacon , Peter Griffin , "=?UTF-8?q?Andr=C3=A9=20Draszik?=" , Tudor Ambarus , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alim Akhtar , Daniel Lezcano , Thomas Gleixner , Saravana Kannan Cc: Will McVicker , Donghoon Yu , Hosung Kim , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Youngmin Nam , Krzysztof Kozlowski , linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, Will Deacon Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Will Deacon In preparation for switching to the architected timer as the primary clockevents device, mark the cpuidle nodes with the 'local-timer-stop' property to indicate that an alternative clockevents device must be used for waking up from the "c2" idle state. Signed-off-by: Will Deacon [Original commit from https://android.googlesource.com/kernel/gs/+/a896fd98= 638047989513d05556faebd28a62b27c] Signed-off-by: Will McVicker Reviewed-by: Peter Griffin Reviewed-by: Youngmin Nam Tested-by: Peter Griffin Tested-by: Youngmin Nam --- arch/arm64/boot/dts/exynos/google/gs101.dtsi | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot= /dts/exynos/google/gs101.dtsi index 3de3a758f113..fd0badf24e6f 100644 --- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi +++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi @@ -155,6 +155,7 @@ ananke_cpu_sleep: cpu-ananke-sleep { idle-state-name =3D "c2"; compatible =3D "arm,idle-state"; arm,psci-suspend-param =3D <0x0010000>; + local-timer-stop; entry-latency-us =3D <70>; exit-latency-us =3D <160>; min-residency-us =3D <2000>; @@ -164,6 +165,7 @@ enyo_cpu_sleep: cpu-enyo-sleep { idle-state-name =3D "c2"; compatible =3D "arm,idle-state"; arm,psci-suspend-param =3D <0x0010000>; + local-timer-stop; entry-latency-us =3D <150>; exit-latency-us =3D <190>; min-residency-us =3D <2500>; @@ -173,6 +175,7 @@ hera_cpu_sleep: cpu-hera-sleep { idle-state-name =3D "c2"; compatible =3D "arm,idle-state"; arm,psci-suspend-param =3D <0x0010000>; + local-timer-stop; entry-latency-us =3D <235>; exit-latency-us =3D <220>; min-residency-us =3D <3500>; --=20 2.49.0.472.ge94155a9ec-goog From nobody Sat Feb 7 21:15:24 2026 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F20A41F8EEF for ; Wed, 2 Apr 2025 23:34:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743636895; cv=none; b=EE/hvLb7mwV97jqu9eGWVr4kcb6QKXiAXwePJCTAoey+Qipej/N/86/di8oKee1UJxTQbWO/KxkqIzrk91DO1+uUFKzszF2xI5/2VUR++8qJiL75M0lpZMhb72YK8Z6bP+/zeKWp4IurOKEhHHB1Gs/v6eYS/dALoqLsvMEos3g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743636895; c=relaxed/simple; bh=OAknLtJvsu5Z8il1CGx/QAgW0sT8q2LX/C14tT3L9I4=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=Ul224rQKxJnnSwo/UhEEiV9GrFRpzGPHHL75hQkzGZk7gzwR6KVp/dDU6Xv/ECsGnfYMY4uqW4om44bxMuAicNtrY8JQPrPhLFPegItdJyo7ze06xToCfZa+gOOPBMzZlkObO1d+7biQLwOyLvVuSsUF27iGPzQ6fo5nVHkYQIA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=bZPnea8z; arc=none smtp.client-ip=209.85.214.202 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="bZPnea8z" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-2240a7aceeaso3598785ad.0 for ; Wed, 02 Apr 2025 16:34:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743636893; x=1744241693; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=Z3woyidQeaVM0OgW9Tejczk+jE7A6Ip+4MgT+pOFZpA=; b=bZPnea8zr75mLFe+j9B/womVxTLhEW9DKjHxo6Ekq2cIR20A6Hu8p86FU4ZLCkb5Hm Qze9JTkvO7Vvgo8p/5t/1XkN7cesYwXtAzyK4YHiyDI/qH9+7EUeQ81Tqw1HS125kbxy eIo55nqEgek57o1FpPrLpKC8iNKMAkKy5UsugoFVJt3mJDVCh+ZBLWVP7JngFotgKbMC JC43EuWN4TPc3IQuTxpBzAlb9RLnSu5tUV7+9PV7wHbSrUysV6UtRLsMqZ/vI7UHrvkD 4Ylv2h5C2lQflDw4Um0/d1yviGlxoAqRPjmeWReOSsvVOSE01Tl2u/uYhXYTFRyFvVqE JyRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743636893; x=1744241693; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Z3woyidQeaVM0OgW9Tejczk+jE7A6Ip+4MgT+pOFZpA=; b=sLx2rZwCwhzZ+XLzvAVA3SSD2Mu9ntR5EMKUGIwiHeDRsIVCq7U+zcGls5qMehkwBm UXkKTtfa1Bq3+mvwsdVYjCz84ADbjmEjKb93nKm50Y/FY9zFnuevka6500DjmRg9RIFx hwutihLkX8Hgvy1guDFPJMQUudXsskuUUZdyDQHBHa6kiZldTIL8lFgUYOnEjCjQ+MFL ayASHiGCKkbqhE96WAG1Xwh+S5cs5f7wj0lm1ZBit1m1cWy8lGdqMF9uOaIm2dveJG4W IXotRVDrmo2c+o12B1wkN23wousEWbXLgjQ7SKLHIl4XBV5ObkkKNCPI+xWnZQ3rIDpp UZkQ== X-Forwarded-Encrypted: i=1; AJvYcCVEB5E6wUev8xAEs+Qx7iSHcS0JPH9XFfzaiJi1z30G++RJhfsvce6MD3KgOMV6rfKHQhz/kogXTgU8yHQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yx+t67cQ+R4aOh6XWLDGkTejaY4YJTc8DDWRXxXHgHS9g/hc9E6 m8nhB1XRdFT8dQUbbSbj4C3exArTLp3tKDd77o5xz3qB9b5TYJxezbceO8KRAIDIrNMidh3kn7q m7631zjOkMYEiShLSILo/M5ZMyg== X-Google-Smtp-Source: AGHT+IGiCVuhnR8Hm4ls6yhYVA+bAhMO7b7R8+FdaaPf0Sw6oW8BjVfyrFlY1Hg1Xa0Er5xFqEgThNby8zWx1wNh1Eo= X-Received: from pfjd22.prod.google.com ([2002:a05:6a00:2456:b0:736:9c55:9272]) (user=willmcvicker job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:cf0f:b0:220:fe51:1aab with SMTP id d9443c01a7336-22977e0fa71mr9553365ad.38.1743636893194; Wed, 02 Apr 2025 16:34:53 -0700 (PDT) Date: Wed, 2 Apr 2025 16:33:56 -0700 In-Reply-To: <20250402233407.2452429-1-willmcvicker@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250402233407.2452429-1-willmcvicker@google.com> X-Mailer: git-send-email 2.49.0.472.ge94155a9ec-goog Message-ID: <20250402233407.2452429-6-willmcvicker@google.com> Subject: [PATCH v2 5/7] clocksource/drivers/exynos_mct: Fix uninitialized irq name warning From: Will McVicker To: Catalin Marinas , Will Deacon , Peter Griffin , "=?UTF-8?q?Andr=C3=A9=20Draszik?=" , Tudor Ambarus , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alim Akhtar , Daniel Lezcano , Thomas Gleixner , Saravana Kannan , Krzysztof Kozlowski Cc: Will McVicker , Donghoon Yu , Hosung Kim , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Youngmin Nam , linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The Exynos MCT driver doesn't set the clocksource name until the CPU hotplug state is setup which happens after the IRQs are requested. This results in an empty IRQ name which leads to the below warning at proc_create() time. When this happens, the userdata partition fails to mount and the device gets stuck in an endless loop printing the error: root '/dev/disk/by-partlabel/userdata' doesn't exist or does not contain = a /dev. To fix this, we just need to initialize the name before requesting the IRQs. Warning from Pixel 6 kernel log: [ T430] name len 0 [ T430] WARNING: CPU: 6 PID: 430 at fs/proc/generic.c:407 __proc_create+0x= 258/0x2b4 [ T430] Modules linked in: dwc3_exynos(E+) [ T430] ufs_exynos(E+) phy_exynos_ufs(E) [ T430] phy_exynos5_usbdrd(E) exynos_usi(E+) exynos_mct(E+) s3c2410_wdt(E) [ T430] arm_dsu_pmu(E) simplefb(E) [ T430] CPU: 6 UID: 0 PID: 430 Comm: (udev-worker) Tainted: ... 6.14.0-next-20250331-4k-00008-g59adf909e40e #1 ... [ T430] Tainted: [W]=3DWARN, [E]=3DUNSIGNED_MODULE [ T430] Hardware name: Raven (DT) [...] [ T430] Call trace: [ T430] __proc_create+0x258/0x2b4 (P) [ T430] proc_mkdir+0x40/0xa0 [ T430] register_handler_proc+0x118/0x140 [ T430] __setup_irq+0x460/0x6d0 [ T430] request_threaded_irq+0xcc/0x1b0 [ T430] mct_init_dt+0x244/0x604 [exynos_mct ...] [ T430] mct_init_spi+0x18/0x34 [exynos_mct ...] [ T430] exynos4_mct_probe+0x30/0x4c [exynos_mct ...] [ T430] platform_probe+0x6c/0xe4 [ T430] really_probe+0xf4/0x38c [...] [ T430] driver_register+0x6c/0x140 [ T430] __platform_driver_register+0x28/0x38 [ T430] exynos4_mct_driver_init+0x24/0xfe8 [exynos_mct ...] [ T430] do_one_initcall+0x84/0x3c0 [ T430] do_init_module+0x58/0x208 [ T430] load_module+0x1de0/0x2500 [ T430] init_module_from_file+0x8c/0xdc Signed-off-by: Will McVicker Reviewed-by: Peter Griffin Reviewed-by: Youngmin Nam Tested-by: Youngmin Nam --- drivers/clocksource/exynos_mct.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_= mct.c index a5ef7d64b1c2..62febeb4e1de 100644 --- a/drivers/clocksource/exynos_mct.c +++ b/drivers/clocksource/exynos_mct.c @@ -465,8 +465,6 @@ static int exynos4_mct_starting_cpu(unsigned int cpu) per_cpu_ptr(&percpu_mct_tick, cpu); struct clock_event_device *evt =3D &mevt->evt; =20 - snprintf(mevt->name, sizeof(mevt->name), "mct_tick%d", cpu); - evt->name =3D mevt->name; evt->cpumask =3D cpumask_of(cpu); evt->set_next_event =3D exynos4_tick_set_next_event; @@ -567,6 +565,14 @@ static int __init exynos4_timer_interrupts(struct devi= ce_node *np, for (i =3D MCT_L0_IRQ; i < nr_irqs; i++) mct_irqs[i] =3D irq_of_parse_and_map(np, i); =20 + for_each_possible_cpu(cpu) { + struct mct_clock_event_device *mevt =3D + per_cpu_ptr(&percpu_mct_tick, cpu); + + snprintf(mevt->name, sizeof(mevt->name), "mct_tick%d", + cpu); + } + if (mct_int_type =3D=3D MCT_INT_PPI) { =20 err =3D request_percpu_irq(mct_irqs[MCT_L0_IRQ], --=20 2.49.0.472.ge94155a9ec-goog From nobody Sat Feb 7 21:15:24 2026 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EE61C1F868F for ; Wed, 2 Apr 2025 23:34:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743636898; cv=none; b=CLA8bYlbnbVU220Ncf+rX9VQCtmtEU53BXAh1XYAO2fUK1/1kEtmCy9CWNvkMnMu3ET6joi93l+yvXbvsWiAFChGGCb9PFWMgvb5jPYQWVuwO3tPWPIXtD7KhvDy5EyTelUlIPH2HneO6s3SVKCCtdffXKnuIUHuJAEw5GNRiP4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743636898; c=relaxed/simple; bh=qAYEYh13xb1QG7YK8KWZYMX04aS1UtrvsKb32eVZ+XA=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=DwUibm/l2XaT0T1KZEPo1eTW98EkTxazt5KN47TjL5TV8vBf4TgbmnBozClcfcnPX9RerJeHhuvSxeSvYeBPyEeuQ1KQwjVG0kqnJ0iKAUe3mZF97lZaxXEEaAcCJCYbMSeC3hC/x4nmQhQ8GUNN1LEiC1IPnGdHGjA61bGqo2g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=mWwL3sBe; arc=none smtp.client-ip=209.85.216.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="mWwL3sBe" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-2ff82dd6de0so241469a91.0 for ; Wed, 02 Apr 2025 16:34:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743636895; x=1744241695; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=hT8+V7ZuQjQdgRqgqrLtrWk6gURFJ9+tH19teOBSnwg=; b=mWwL3sBejdnf9rKa6ytoTL/Fba3jwTzCEjj/EYOQtxPmMgyotEFlSldxpXdCbS+Pnd 2mi3/pF7DrN4PkfpG3wE3PrmTL3Q/8KwTaoP2tAAr3wS+bF07ipKvaJUis0/tQooqT4j qH04YbssOb0SuVZV4a6brgWbC+spln2DAost4cOQAKZV3LUAr0cKWntKk2s/ju5PPn7b zNPv0o00VWu1TPdyrUmQfHVyquy0Iyd16l8c39KQ2TfrghFhv0Hqf6vM6jJHNbAgJLPb CwnuHI+Bx+1nNZWVdqOtqjIalCZiVaOCbcmcc7oe4vlqrkhmQZHFJbulN8ZVmvQCwfee XdyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743636895; x=1744241695; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=hT8+V7ZuQjQdgRqgqrLtrWk6gURFJ9+tH19teOBSnwg=; b=O91Mo4qgQncIm9SfNOf0wSvEb+Av+n6WRysmHGeI9368OTr8vIl1Cet8jawqJwF/L1 17pmq6G5awfJQTLBt8QahYdkpfLiNAZvywHFBxkoXxdKzQZrgnLTgKx+UCfG4TZheZXx BPGeKUS/IorIXxTHipdro04bZjNeyiBYO+iXDGuJCRbv+7IJBJClLoxkOmsOBeMFrl09 CuWDoXZnAP980tKCXGIZ5mgBWn+WoQnQekhrJV37A/zLG0id8WTjuMtprC0ng2YuqsCr cjMgGCjhCCVHsfCuFtbyj4vBSRCUuqx57YK+8wEOxlVQ3HzFmivQfhh+mZdwQ6voofLk n66A== X-Forwarded-Encrypted: i=1; AJvYcCU3PzdWKxp4fJLUJVpCPLNAa6/ZCXN3/AAWqg9HO4DD/MNRi7A5nO7/ib4FBtX9ZEfu0pTbZ0n2dXXtqkI=@vger.kernel.org X-Gm-Message-State: AOJu0YzElvdd1toMiQzN0yBUginQoexh2p2foH4XYAU8Neg564Gk9lg1 Hr60sRk6fQ/ystoPj8A/hKzcB85wnU6AYCcH+sttm4qHOX+qKvZTP4VA4kIzlCHpGbjvL6bYLJO l84fMnOMCnrLM3qJU28j+4G9Dhg== X-Google-Smtp-Source: AGHT+IHFsyWkhTZjY/X3yM1NCzR6YFj3tfba3cqV3Fzaa0HY9aOCS7UhQUkmVnrZeo30hR6EANqHIIllbdzJIevDeHw= X-Received: from pji12.prod.google.com ([2002:a17:90b:3fcc:b0:301:4260:4d23]) (user=willmcvicker job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:5247:b0:2fa:1f1b:3db2 with SMTP id 98e67ed59e1d1-3057cc00681mr852399a91.25.1743636895371; Wed, 02 Apr 2025 16:34:55 -0700 (PDT) Date: Wed, 2 Apr 2025 16:33:57 -0700 In-Reply-To: <20250402233407.2452429-1-willmcvicker@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250402233407.2452429-1-willmcvicker@google.com> X-Mailer: git-send-email 2.49.0.472.ge94155a9ec-goog Message-ID: <20250402233407.2452429-7-willmcvicker@google.com> Subject: [PATCH v2 6/7] clocksource/drivers/exynos_mct: Add module support From: Will McVicker To: Catalin Marinas , Will Deacon , Peter Griffin , "=?UTF-8?q?Andr=C3=A9=20Draszik?=" , Tudor Ambarus , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alim Akhtar , Daniel Lezcano , Thomas Gleixner , Saravana Kannan , Krzysztof Kozlowski Cc: Will McVicker , Donghoon Yu , Hosung Kim , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Youngmin Nam , linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Donghoon Yu On Arm64 platforms the Exynos MCT driver can be built as a module. On boot (and even after boot) the arch_timer is used as the clocksource and tick timer. Once the MCT driver is loaded, it can be used as the wakeup source for the arch_timer. Signed-off-by: Donghoon Yu Signed-off-by: Youngmin Nam [original commit from https://android.googlesource.com/kernel/gs/+/8a52a828= 8ec7d88ff78f0b37480dbb0e9c65bbfd] Signed-off-by: Will McVicker Reviewed-by: Youngmin Nam Tested-by: Youngmin Nam --- drivers/clocksource/Kconfig | 3 +- drivers/clocksource/exynos_mct.c | 49 +++++++++++++++++++++++++++----- 2 files changed, 44 insertions(+), 8 deletions(-) diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig index 487c85259967..e89373827c3a 100644 --- a/drivers/clocksource/Kconfig +++ b/drivers/clocksource/Kconfig @@ -443,7 +443,8 @@ config ATMEL_TCB_CLKSRC Support for Timer Counter Blocks on Atmel SoCs. =20 config CLKSRC_EXYNOS_MCT - bool "Exynos multi core timer driver" if COMPILE_TEST + tristate "Exynos multi core timer driver" if ARM64 + default y if ARCH_EXYNOS || COMPILE_TEST depends on ARM || ARM64 depends on ARCH_ARTPEC || ARCH_EXYNOS || COMPILE_TEST help diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_= mct.c index 62febeb4e1de..8943274378be 100644 --- a/drivers/clocksource/exynos_mct.c +++ b/drivers/clocksource/exynos_mct.c @@ -15,9 +15,11 @@ #include #include #include +#include #include #include #include +#include #include #include =20 @@ -241,7 +243,7 @@ static cycles_t exynos4_read_current_timer(void) } #endif =20 -static int __init exynos4_clocksource_init(bool frc_shared) +static int exynos4_clocksource_init(bool frc_shared) { /* * When the frc is shared, the main processor should have already @@ -511,7 +513,7 @@ static int exynos4_mct_dying_cpu(unsigned int cpu) return 0; } =20 -static int __init exynos4_timer_resources(struct device_node *np) +static int exynos4_timer_resources(struct device_node *np) { struct clk *mct_clk, *tick_clk; =20 @@ -539,7 +541,7 @@ static int __init exynos4_timer_resources(struct device= _node *np) * @local_idx: array mapping CPU numbers to local timer indices * @nr_local: size of @local_idx array */ -static int __init exynos4_timer_interrupts(struct device_node *np, +static int exynos4_timer_interrupts(struct device_node *np, unsigned int int_type, const u32 *local_idx, size_t nr_local) @@ -652,7 +654,7 @@ static int __init exynos4_timer_interrupts(struct devic= e_node *np, return err; } =20 -static int __init mct_init_dt(struct device_node *np, unsigned int int_typ= e) +static int mct_init_dt(struct device_node *np, unsigned int int_type) { bool frc_shared =3D of_property_read_bool(np, "samsung,frc-shared"); u32 local_idx[MCT_NR_LOCAL] =3D {0}; @@ -700,15 +702,48 @@ static int __init mct_init_dt(struct device_node *np,= unsigned int int_type) return exynos4_clockevent_init(); } =20 - -static int __init mct_init_spi(struct device_node *np) +static int mct_init_spi(struct device_node *np) { return mct_init_dt(np, MCT_INT_SPI); } =20 -static int __init mct_init_ppi(struct device_node *np) +static int mct_init_ppi(struct device_node *np) { return mct_init_dt(np, MCT_INT_PPI); } + +#ifdef MODULE +static int exynos4_mct_probe(struct platform_device *pdev) +{ + struct device *dev =3D &pdev->dev; + int (*mct_init)(struct device_node *np); + + mct_init =3D of_device_get_match_data(dev); + if (!mct_init) + return -EINVAL; + + return mct_init(dev->of_node); +} + +static const struct of_device_id exynos4_mct_match_table[] =3D { + { .compatible =3D "samsung,exynos4210-mct", .data =3D &mct_init_spi, }, + { .compatible =3D "samsung,exynos4412-mct", .data =3D &mct_init_ppi, }, + {} +}; +MODULE_DEVICE_TABLE(of, exynos4_mct_match_table); + +static struct platform_driver exynos4_mct_driver =3D { + .probe =3D exynos4_mct_probe, + .driver =3D { + .name =3D "exynos-mct", + .of_match_table =3D exynos4_mct_match_table, + }, +}; +module_platform_driver(exynos4_mct_driver); +#else TIMER_OF_DECLARE(exynos4210, "samsung,exynos4210-mct", mct_init_spi); TIMER_OF_DECLARE(exynos4412, "samsung,exynos4412-mct", mct_init_ppi); +#endif + +MODULE_DESCRIPTION("Exynos Multi Core Timer Driver"); +MODULE_LICENSE("GPL"); --=20 2.49.0.472.ge94155a9ec-goog From nobody Sat Feb 7 21:15:24 2026 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E60AB1FAC48 for ; Wed, 2 Apr 2025 23:34:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743636899; cv=none; b=QelUks9HqXfwBEak2uj6PZ2VpnLQITwpMI/3jwbb9PtQTJwjAlvjTLVz0bAPOwwKvXdZ+9xe2Lp5w1mdr0CJwqEV0aULDmLlCEg0i6xxw7sx9PEX5SxOC/4JULXaa0YroPQAIPnHdqqhHvxRMlqO4AcM6AxjrWS1GMs7GwJ/krg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743636899; c=relaxed/simple; bh=BHqjnEz8Bqub0+5tOgaodvHpe7VxxoEtAWRFbgVwkX4=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=vAdrBXkNc+Bo8PUYjK6xCqu2D+fNYYmxT49u6KMhgh9P2yApr2NBWdwzQ4AY/aj9BGzs3HNfP56Hi97K0G8dBRMBNQGZsuJiJRnYBj7/qzcWiyetaJjW9wB9rBPFXnp3gwVubd4pnWZAvauqVGCejRrG4p/1aT1SlwMCGslVwJo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=4UcdrfyL; arc=none smtp.client-ip=209.85.216.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="4UcdrfyL" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-2ff5296726fso443439a91.0 for ; Wed, 02 Apr 2025 16:34:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743636897; x=1744241697; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=vqQfU5MFNX+M9dMbS6b209zYYBr6gV4W0L8ERj/h45U=; b=4UcdrfyLO6lyFuhkBTdxNC/z2Ht8B3bBMZbqD6KyAw4B1bq6oTv7wfO511EFtNDsbd hoVRsXO3arf56YP1+FJXcQyfjNEnZp/YBf09fhujfaSFtCZfCD3IwoAr1TP49x6Ij17X j+bdC/YYZ8zBGk6eJHdHt7AVYQFZoMRc8HrJxNl9QO9UDS0l4EeRE0IyAZqRFzhbXoba FdoTbDaGtHVoSvIBnHqRzFz1YT2T82vLwWYu/sKXQWHyM+eLZTkxFuGWIk0b1Jl8Nw9O JMQd+vkNDTUlIv75JujMs9+MDHLO9mwAdr/bkBisr/7jVOa8aiDdOcKwSNbr1E9L/kvy cjXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743636897; x=1744241697; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=vqQfU5MFNX+M9dMbS6b209zYYBr6gV4W0L8ERj/h45U=; b=Xl5S2J1LAcOk2R3sUYe4EtpSiEa4Qkndnj8QgqGZsKZ8zzTqlD2QuqkvOq6HmjY8Pr Rps/Snobr2mxJ47bKZtTSl+bH3hlStCLtL2L6h5Sci9nEjoeXWHABB0AQa4lBSIp8+HM sWnLzv17M2RGNY1Uy1M2N3b3xgNW27XZNPJRn2DUAjKv6Jv2KYxsPykH1QYJmB/UIjHw zDqSGVm9jNM1+Q1g/N8gJS1n5nJ8D0TU5PgLpEFCCc1fqYyWJLuchq1W32yrBSsYjoNc dTF8fbPOr5yM6FAqkSG0e4x23ztJZo1Z92PyQ7zs/DA0N2xk7AjoayM9t7uzz6OKP4bL 1OYA== X-Forwarded-Encrypted: i=1; AJvYcCVTQwfq9DLhgEXezL6+ZW1B8eAGiZW61QdS7KOkXNH9b8ZgWEqMwCb5JKZtch+1Y7pgPHpxFxMqx/Iq+5g=@vger.kernel.org X-Gm-Message-State: AOJu0YzHSJhEx2ww7QTevX0ig1IezTJeapXxJTS+YKAgl6CSZYYP8P1a G0dx6M9Cm/8T+nJn+mgOmYjgt22biJ8tGgmvyMD8+jomFgB0wMWb6DFRRL9vYXcdEmIpKb0Oo+U cnmpjVTkLgChJ+j3znX/CyPKFsw== X-Google-Smtp-Source: AGHT+IHNjNoLSXpuoWq8MvyOWd0aQH4vReKV9zSqeimLC//wD66A6paRAKR65MmP1wxkBUjus4xLZlsJIhNOroJPqoE= X-Received: from pjbov3.prod.google.com ([2002:a17:90b:2583:b0:2f7:d453:e587]) (user=willmcvicker job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:56cf:b0:2f9:c56b:6ec8 with SMTP id 98e67ed59e1d1-3056ee3608dmr6316456a91.10.1743636897333; Wed, 02 Apr 2025 16:34:57 -0700 (PDT) Date: Wed, 2 Apr 2025 16:33:58 -0700 In-Reply-To: <20250402233407.2452429-1-willmcvicker@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250402233407.2452429-1-willmcvicker@google.com> X-Mailer: git-send-email 2.49.0.472.ge94155a9ec-goog Message-ID: <20250402233407.2452429-8-willmcvicker@google.com> Subject: [PATCH v2 7/7] arm64: exynos: Drop select CLKSRC_EXYNOS_MCT From: Will McVicker To: Catalin Marinas , Will Deacon , Peter Griffin , "=?UTF-8?q?Andr=C3=A9=20Draszik?=" , Tudor Ambarus , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alim Akhtar , Daniel Lezcano , Thomas Gleixner , Saravana Kannan Cc: Will McVicker , Donghoon Yu , Hosung Kim , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Youngmin Nam , Krzysztof Kozlowski , linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Since the Exynos MCT driver can be built as a module for some Arm64 SoCs like gs101, drop force-selecting it as a built-in driver by ARCH_EXYNOS and instead depend on `default y if ARCH_EXYNOS` to select it automatically. This allows platforms like Android to build the driver as a module if desired. Signed-off-by: Will McVicker Reviewed-by: Youngmin Nam Tested-by: Youngmin Nam --- arch/arm64/Kconfig.platforms | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms index 8b76821f190f..325279193e2c 100644 --- a/arch/arm64/Kconfig.platforms +++ b/arch/arm64/Kconfig.platforms @@ -109,7 +109,6 @@ config ARCH_BLAIZE config ARCH_EXYNOS bool "Samsung Exynos SoC family" select COMMON_CLK_SAMSUNG - select CLKSRC_EXYNOS_MCT select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS select EXYNOS_PMU select PINCTRL --=20 2.49.0.472.ge94155a9ec-goog