From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752247AbdCNOeY (ORCPT ); Tue, 14 Mar 2017 10:34:24 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:44196 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751474AbdCNOdd (ORCPT ); Tue, 14 Mar 2017 10:33:33 -0400 X-AuditID: b6c32a59-f79736d000001328-2b-58c7ff3af09b Subject: Re: [2/3] soc: samsung: Do not build ARMv7 PMU drivers on ARMv8 To: Krzysztof Kozlowski Cc: Catalin Marinas , Will Deacon , Kukjin Kim , Javier Martinez Canillas , Arnd Bergmann , Kevin Hilman , Olof Johansson , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org From: Alim Akhtar Message-id: <23e4a364-cf4d-4bc4-0b04-7b0915f29cdb@samsung.com> Date: Tue, 14 Mar 2017 20:00:09 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-version: 1.0 In-reply-to: Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrPKsWRmVeSWpSXmKPExsWy7bCmuq7V/+MRBh86zC3+TjrGbvF+WQ+j xZu3a5gs+h+/Zrb42b6FyeL8+Q3sFpseX2O1uLxrDpvFjPP7mCxOXf/MZvHy4wkWB26PNfPW MHr8/jWJ0eP9jVZ2j02rOtk8Ni+p97hyoonVY0v/XXaPz5vkAjiiuGxSUnMyy1KL9O0SuDL6 +vpYCo4pVjxbsJuxgbFHuouRk0NCwETi+7tn7BC2mMSFe+vZQGwhgaWMEjMWSHUxcgHZnxgl XnxYxAznXFg2gRWm+++uS4wQiZ2MEtPe3YJy3jJKLHu4D2guB4ewgIfE20YTkAYRAU2J63+/ s4LUMAv8YJJYvOgZI0iCTUBb4u70LUwgNq+AncSBj1dZQHpZBFQlJlwD6xUViJDYcaOHDaJE UOLkzCcsIDanQKDEq8NPwV5gFpCX2P52DtilEgLd7BIPLzQzQVzqInFt82moP4UlXh3fAmVL SXx+t5cNoqGdUeLehHesEM4MRonOtW+huu0lDlyZA3YRM9AL63fpQ4RtJVbfn8YEEpYQ4JO4 8VYQ4gg+id7fT6A6VSWa30H8IiHAK9HRJgQR9pC4dukZywRGpVlI3pmF5IVZCLsWMDKvYhRL LSjOTU8tNi0w1StOzC0uzUvXS87P3cQITlZakTsYr8wMOsQowMGoxMO74dPxCCHWxLLiytxD jBIczEoivJe/AoV4UxIrq1KL8uOLSnNSiw8xSnOwKInzRhlMjBASSE8sSc1OTS1ILYLJMnFw SjUw2nb0rjztm7Vv4rGLHjs3fd9ZJy29a59b2Nzaw7dFONzcfztxft1l/6ZG5m9lcuZa9ewX h6s5lxpU8Z1MCS8+vODQ9oQ/kzvV7Dolzqu/Wb3uTG3RWdmuuSzr1NauD4wI0s1g33GGJ6zM f7PT9XXu2zMP746ITVO5GDHXuFLKsX/Z4jd+MoLnlViKMxINtZiLihMB4rxWV1IDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprGIsWRmVeSWpSXmKPExsWy7bCSvO6vf8cjDBbuk7H4O+kYu8X7ZT2M Fm/ermGy6H/8mtniZ/sWJovz5zewW2x6fI3V4vKuOWwWM87vY7I4df0zm8XLjydYHLg91sxb w+jx+9ckRo/3N1rZPTat6mTz2Lyk3uPKiSZWjy39d9k9Pm+SC+CI4rJJSc3JLEst0rdL4Mro 6+tjKTimWPFswW7GBsYe6S5GTg4JAROJv7suMULYYhIX7q1n62Lk4hAS2M4oMen+PCaIhLrE 3Ouv2CBsYYmV/56zQxS9ZpR4t2AlUDcHh7CAh8TbRhOQGhEBTYnrf7+zQtQ0MEvcunyAGcRh FvjBJLH9+EawSWwC2hJ3p28B28ArYCdx4ONVFpBBLAKqEhOugQ0SFYiQmP90FVSJoMTJmU9Y QGxOgUCJV4efsoPYzAJmEvM2P2SGsOUltr+dwzyBUWgWkpZZSMpmISlbwMi8ilE0taA4Nz23 uMBIrzgxt7g0L10vOT93EyM4trSSdjBumhF+iFGAg1GJhzcDGHNCrIllxZW5hxglOJiVRHgv fwUK8aYkVlalFuXHF5XmpBYfYpTmYFES591evSFCSCA9sSQ1OzW1ILUIJsvEwSnVwJi6aqNT ys+v4qcVJ2dVpSm9NZ2ke0Km8uHaumXbjj7QjbIyuMuQ8UAlR3pulE6XVfvi5p5Fj++ea33F 9f3vru27XPfX6/+vqrYvnr/q9/7d+sunL315Z/6t6C+Jp9gYP+Y5Zr7TazDaNDOAW/Pkq1a9 toeLNVTSIswvxS5mWscf9zNZbMmtit1KLMUZiYZazEXFiQDZ2EENqQIAAA== X-CMS-MailID: 20170314143330epcas5p1cb341f8da128b67bf4b1f03e82cadbb8 X-Msg-Generator: CA X-Sender-IP: 182.195.40.14 X-Local-Sender: =?UTF-8?B?7JWM66a8G1NTSVItVHVybiBLZXkgU29sdXRpb25zG+yCvA==?= =?UTF-8?B?7ISx7KCE7J6QGy4vU2VuaW9yIENoaWVmIEVuZ2luZWVy?= X-Global-Sender: =?UTF-8?B?QUxJTSBBS0hUQVIbU1NJUi1UdXJuIEtleSBTb2x1dGlvbnMb?= =?UTF-8?B?U2Ftc3VuZyBFbGVjdHJvbmljcxsuL1NlbmlvciBDaGllZiBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG1NXQUhRG0MxMElEMDdJRDAxMDk5Nw==?= Content-type: text/plain; charset=utf-8 X-MTR: 20170314143330epcas5p1cb341f8da128b67bf4b1f03e82cadbb8 X-EPHeader: CA CMS-TYPE: 105P X-Auth-Email: alim.akhtar@samsung.com X-HopCount: 7 X-CMS-RootMailID: 20170314075427epcas5p19d137fbcc390e937172a17ae99f11a0c X-RootMTR: 20170314075427epcas5p19d137fbcc390e937172a17ae99f11a0c References: <20170311213856.21701-3-krzk@kernel.org> <2da8c346-dae9-6754-8349-df0946c89ae2@samsung.com> <0ae4c538-a3af-a1b7-418d-4bccbf09faf4@samsung.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03/14/2017 02:44 PM, Krzysztof Kozlowski wrote: > On Tue, Mar 14, 2017 at 10:40 AM, Alim Akhtar wrote: >> >> >> On 03/14/2017 01:32 PM, Krzysztof Kozlowski wrote: >>> On Tue, Mar 14, 2017 at 9:51 AM, Alim Akhtar wrote: >>>> Hi Krzysztof, >>>> >>>> On 03/12/2017 03:08 AM, Krzysztof Kozlowski wrote: >>>>> The Exynos Power Management Unit (PMU) drivers contain quite large >>>>> static arrays of register values necessary for given Exynos SoC to enter >>>>> low power mode. All this data is useless for ARMv8 SoC like >>>>> Exynos5433, because the image will not be shared between ARMv7 and >>>>> ARMv8. >>>>> >>>>> Add additional Kconfig symbol for selecting the SoC-specific driver >>>>> addons thus skipping the useless data in the final image (this is >>>>> similar approach to chosen for Exynos clock controller drivers): >>>>> - exynos-pmu driver will be compiled on both architectures ARMv7 >>>>> and ARMv8, >>>>> - additional driver_data for ARMv7 SoCs will not be built on ARMv8 >>>>> and a macro will return NULL for them in of_device_id - this should >>>>> be safe as these compatibles cannot match on ARMv7 and driver >>>>> anyway handles NULL driver_data, >>>>> - on ARMv8 compile only exynos-pmu driver which exposes the >>>>> syscon-regmap for PMU address space. >>>>> >>>>> Signed-off-by: Krzysztof Kozlowski >>>>> --- >>>>> drivers/soc/samsung/Kconfig | 8 +++++++- >>>>> drivers/soc/samsung/Makefile | 4 +++- >>>>> drivers/soc/samsung/exynos-pmu.c | 22 ++++++++++++++++------ >>>>> drivers/soc/samsung/exynos-pmu.h | 3 +++ >>>>> 4 files changed, 29 insertions(+), 8 deletions(-) >>>>> >>>>> diff --git a/drivers/soc/samsung/Kconfig b/drivers/soc/samsung/Kconfig >>>>> index 245533907d1b..8b25bd55e648 100644 >>>>> --- a/drivers/soc/samsung/Kconfig >>>>> +++ b/drivers/soc/samsung/Kconfig >>>>> @@ -8,7 +8,13 @@ if SOC_SAMSUNG >>>>> >>>>> config EXYNOS_PMU >>>>> bool "Exynos PMU controller driver" if COMPILE_TEST >>>>> - depends on (ARM && ARCH_EXYNOS) || ((ARM || ARM64) && COMPILE_TEST) >>>>> + depends on ARCH_EXYNOS || ((ARM || ARM64) && COMPILE_TEST) >>>>> + select EXYNOS_PMU_ARM_DRIVERS if ARM && ARCH_EXYNOS >>>>> + >>>> >>>> In general this patch look ok, but I was think we should make these >>>> configs configurable via _menuconfig_. Currently these are visible only >>>> if COMPILE_TEST is enabled. >>>> Recently I was working on adding PMU support for Exynos7 and I face >>>> issues when I want to disable this option and re-enable it for testing >>>> purpose. >>> >>> These drivers are not available in menuconfig on purpose - these are >>> essential parts of SoC. Without them usually something will not work >>> so user should not be able to disable them. For all of such drivers, >>> we use the SELECT from mach approach. >>> >> Well, what you are saying is very subjective. In past I have face issues >> where to isolate or narrow down some issue, we do need to play with PMU >> and power domains. So, having a configurable option won't hurt here. >> Anyway if you (or anyone else) strongly feel we should be following >> "SELECT from MACH approach" then lets follow it. > > For ARMv7, in the past you could not do this. It behaved (almost) > always the same as it is now. The PMU driver was being compiled in if > ARCH_EXYNOS is selected. > > On ARMv8 - Exynos7 - there was no PMU driver so indeed this behavior > changes. However PMU driver now is necessary for pinctrl (and actually > for some others referring by syscon) so really you cannot disable it > and expect things to work. Menuconfig serves such purpose - user > (distro config developer) can choose what he wants but he wants to > boot the kernel. People in general and people setting up configs for > distro usually do not know all the subtle SoC submodule relations for > all of the SoCs. That is our responsibility to provide them something > which is usable. > > On the other hand, for debugging we always had to change some things. > That's debugging. > Ok, got it. Feel free to add Reviewed-by: Alim Akhtar > Best regards, > Krzysztof > > >