linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] ARM: qcom: drop 32-bit machine Kconfig entries
@ 2023-12-16 16:26 Dmitry Baryshkov
  2023-12-16 16:26 ` [PATCH v2 1/3] iommu/msm-iommu: don't limit the driver too much Dmitry Baryshkov
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2023-12-16 16:26 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Joerg Roedel, Will Deacon,
	Robin Murphy
  Cc: linux-arm-kernel, linux-arm-msm, iommu, Russell King

The Kconfig for 32-bit Qualcomm arch predates DT and multi-machine
support. It still defines ARCH_MSM* types for some (but not all) 32-bit
Qualcomm machines. The MSM_IOMMU driver has a strict dependency on one
of such kinds.

With the DT support in place, this has become obsolete quite a while
ago. Replace all 32-bit Qualcomm ARCH kinds with the single Kconfig
entry for the workaround required to be enabled for some of those 32-bit
platforms.

Changes since v1:
- Renamed ARCH_QCOM_SMEM to ARCH_QCOM_RESERVE_SMEM (Bjorn)

Dmitry Baryshkov (3):
  iommu/msm-iommu: don't limit the driver too much
  ARM: qcom: drop most of 32-bit ARCH_QCOM subtypes
  ARM: qcom: merge remaining subplatforms into sensible Kconfig entry

 arch/arm/Makefile          |  4 +---
 arch/arm/mach-qcom/Kconfig | 41 ++++++++------------------------------
 drivers/iommu/Kconfig      |  2 +-
 3 files changed, 10 insertions(+), 37 deletions(-)

-- 
2.39.2


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v2 1/3] iommu/msm-iommu: don't limit the driver too much
  2023-12-16 16:26 [PATCH v2 0/3] ARM: qcom: drop 32-bit machine Kconfig entries Dmitry Baryshkov
@ 2023-12-16 16:26 ` Dmitry Baryshkov
  2023-12-16 18:39   ` Konrad Dybcio
  2023-12-31  0:48   ` Dmitry Baryshkov
  2023-12-16 16:26 ` [PATCH v2 2/3] ARM: qcom: drop most of 32-bit ARCH_QCOM subtypes Dmitry Baryshkov
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2023-12-16 16:26 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Joerg Roedel, Will Deacon,
	Robin Murphy
  Cc: linux-arm-kernel, linux-arm-msm, iommu, Russell King,
	Joerg Roedel

In preparation of dropping most of ARCH_QCOM subtypes, stop limiting the
driver just to those machines. Allow it to be built for any 32-bit
Qualcomm platform (ARCH_QCOM).

Acked-by: Robin Murphy <robin.murphy@arm.com>
Acked-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/iommu/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
index 9a29d742617e..0d6095290b6a 100644
--- a/drivers/iommu/Kconfig
+++ b/drivers/iommu/Kconfig
@@ -179,7 +179,7 @@ config FSL_PAMU
 config MSM_IOMMU
 	bool "MSM IOMMU Support"
 	depends on ARM
-	depends on ARCH_MSM8X60 || ARCH_MSM8960 || COMPILE_TEST
+	depends on ARCH_QCOM || COMPILE_TEST
 	select IOMMU_API
 	select IOMMU_IO_PGTABLE_ARMV7S
 	help
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 2/3] ARM: qcom: drop most of 32-bit ARCH_QCOM subtypes
  2023-12-16 16:26 [PATCH v2 0/3] ARM: qcom: drop 32-bit machine Kconfig entries Dmitry Baryshkov
  2023-12-16 16:26 ` [PATCH v2 1/3] iommu/msm-iommu: don't limit the driver too much Dmitry Baryshkov
@ 2023-12-16 16:26 ` Dmitry Baryshkov
  2023-12-20  0:40   ` Konrad Dybcio
  2023-12-16 16:27 ` [PATCH v2 3/3] ARM: qcom: merge remaining subplatforms into sensible Kconfig entry Dmitry Baryshkov
  2024-02-07  4:46 ` [PATCH v2 0/3] ARM: qcom: drop 32-bit machine Kconfig entries Bjorn Andersson
  3 siblings, 1 reply; 8+ messages in thread
From: Dmitry Baryshkov @ 2023-12-16 16:26 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Joerg Roedel, Will Deacon,
	Robin Murphy
  Cc: linux-arm-kernel, linux-arm-msm, iommu, Russell King

Historically we had several subtypes of 32-bit Qualcomm platforms.
Nowadays they became just useless symbols in Kconfig. Drop them and pull
corresponding clocksource entries towards top-level ARCH_QCOM entry.

Note, I've left ARCH_IPQ40XX, ARCH_MSM8x60 and ARCH_MSM8960 in place,
since they have special TEXT_OFFSET handling, which can be sorted out
separately.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 arch/arm/mach-qcom/Kconfig | 30 ++++--------------------------
 1 file changed, 4 insertions(+), 26 deletions(-)

diff --git a/arch/arm/mach-qcom/Kconfig b/arch/arm/mach-qcom/Kconfig
index 12a812e61c16..27d5ca0043be 100644
--- a/arch/arm/mach-qcom/Kconfig
+++ b/arch/arm/mach-qcom/Kconfig
@@ -4,46 +4,24 @@ menuconfig ARCH_QCOM
 	depends on ARCH_MULTI_V7
 	select ARM_GIC
 	select ARM_AMBA
+	select CLKSRC_QCOM
+	select HAVE_ARM_ARCH_TIMER
 	select PINCTRL
 	select QCOM_SCM if SMP
 	help
 	  Support for Qualcomm's devicetree based systems.
+	  This includes support for a few devices with ARM64 SoC, that have
+	  ARM32 signed firmware that does not allow booting ARM64 kernels.
 
 if ARCH_QCOM
 
 config ARCH_IPQ40XX
 	bool "Enable support for IPQ40XX"
-	select CLKSRC_QCOM
-	select HAVE_ARM_ARCH_TIMER
 
 config ARCH_MSM8X60
 	bool "Enable support for MSM8X60"
-	select CLKSRC_QCOM
-
-config ARCH_MSM8909
-	bool "Enable support for MSM8909"
-	select HAVE_ARM_ARCH_TIMER
-
-config ARCH_MSM8916
-	bool "Enable support for MSM8916"
-	select HAVE_ARM_ARCH_TIMER
-	help
-	  Enable support for the Qualcomm Snapdragon 410 (MSM8916/APQ8016).
-
-	  Note that ARM64 is the main supported architecture for MSM8916.
-	  The ARM32 option is intended for a few devices with signed firmware
-	  that does not allow booting ARM64 kernels.
 
 config ARCH_MSM8960
 	bool "Enable support for MSM8960"
-	select CLKSRC_QCOM
-
-config ARCH_MSM8974
-	bool "Enable support for MSM8974"
-	select HAVE_ARM_ARCH_TIMER
-
-config ARCH_MDM9615
-	bool "Enable support for MDM9615"
-	select CLKSRC_QCOM
 
 endif
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 3/3] ARM: qcom: merge remaining subplatforms into sensible Kconfig entry
  2023-12-16 16:26 [PATCH v2 0/3] ARM: qcom: drop 32-bit machine Kconfig entries Dmitry Baryshkov
  2023-12-16 16:26 ` [PATCH v2 1/3] iommu/msm-iommu: don't limit the driver too much Dmitry Baryshkov
  2023-12-16 16:26 ` [PATCH v2 2/3] ARM: qcom: drop most of 32-bit ARCH_QCOM subtypes Dmitry Baryshkov
@ 2023-12-16 16:27 ` Dmitry Baryshkov
  2024-02-07  4:46 ` [PATCH v2 0/3] ARM: qcom: drop 32-bit machine Kconfig entries Bjorn Andersson
  3 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2023-12-16 16:27 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Joerg Roedel, Will Deacon,
	Robin Murphy
  Cc: linux-arm-kernel, linux-arm-msm, iommu, Russell King

Three remaining Qualcomm platforms have special handling of the
TEXT_OFFSET to reserve the memory at the beginnig of the system RAM, see
the commit 9e775ad19f52 ("ARM: 7012/1: Set proper TEXT_OFFSET for newer
MSMs"). This is required for older platforms like IPQ40xx, MSM8x60,
MSM8960 and APQ8064 and is compatible with other 32-bit Qualcomm
platforms.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 arch/arm/Makefile          |  4 +---
 arch/arm/mach-qcom/Kconfig | 13 +++++--------
 2 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 5ba42f69f8ce..95216a508d80 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -158,9 +158,7 @@ textofs-$(CONFIG_ARCH_REALTEK)  := 0x00108000
 ifeq ($(CONFIG_ARCH_SA1100),y)
 textofs-$(CONFIG_SA1111) := 0x00208000
 endif
-textofs-$(CONFIG_ARCH_IPQ40XX) := 0x00208000
-textofs-$(CONFIG_ARCH_MSM8X60) := 0x00208000
-textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
+textofs-$(CONFIG_ARCH_QCOM_RESERVE_SMEM) := 0x00208000
 textofs-$(CONFIG_ARCH_MESON) := 0x00208000
 textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000
 
diff --git a/arch/arm/mach-qcom/Kconfig b/arch/arm/mach-qcom/Kconfig
index 27d5ca0043be..f4765be1b2a0 100644
--- a/arch/arm/mach-qcom/Kconfig
+++ b/arch/arm/mach-qcom/Kconfig
@@ -15,13 +15,10 @@ menuconfig ARCH_QCOM
 
 if ARCH_QCOM
 
-config ARCH_IPQ40XX
-	bool "Enable support for IPQ40XX"
-
-config ARCH_MSM8X60
-	bool "Enable support for MSM8X60"
-
-config ARCH_MSM8960
-	bool "Enable support for MSM8960"
+config ARCH_QCOM_RESERVE_SMEM
+	bool "Reserve SMEM at the beginning of RAM"
+	help
+	  Reserve 2MB at the beginning of the System RAM for shared mem.
+	  This is required on IPQ40xx, MSM8x60 and MSM8960 platforms.
 
 endif
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/3] iommu/msm-iommu: don't limit the driver too much
  2023-12-16 16:26 ` [PATCH v2 1/3] iommu/msm-iommu: don't limit the driver too much Dmitry Baryshkov
@ 2023-12-16 18:39   ` Konrad Dybcio
  2023-12-31  0:48   ` Dmitry Baryshkov
  1 sibling, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2023-12-16 18:39 UTC (permalink / raw)
  To: Dmitry Baryshkov, Bjorn Andersson, Joerg Roedel, Will Deacon,
	Robin Murphy
  Cc: linux-arm-kernel, linux-arm-msm, iommu, Russell King,
	Joerg Roedel

On 16.12.2023 17:26, Dmitry Baryshkov wrote:
> In preparation of dropping most of ARCH_QCOM subtypes, stop limiting the
> driver just to those machines. Allow it to be built for any 32-bit
> Qualcomm platform (ARCH_QCOM).
> 
> Acked-by: Robin Murphy <robin.murphy@arm.com>
> Acked-by: Joerg Roedel <jroedel@suse.de>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>

Konrad

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 2/3] ARM: qcom: drop most of 32-bit ARCH_QCOM subtypes
  2023-12-16 16:26 ` [PATCH v2 2/3] ARM: qcom: drop most of 32-bit ARCH_QCOM subtypes Dmitry Baryshkov
@ 2023-12-20  0:40   ` Konrad Dybcio
  0 siblings, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2023-12-20  0:40 UTC (permalink / raw)
  To: Dmitry Baryshkov, Bjorn Andersson, Joerg Roedel, Will Deacon,
	Robin Murphy
  Cc: linux-arm-kernel, linux-arm-msm, iommu, Russell King

On 16.12.2023 17:26, Dmitry Baryshkov wrote:
> Historically we had several subtypes of 32-bit Qualcomm platforms.
> Nowadays they became just useless symbols in Kconfig. Drop them and pull
> corresponding clocksource entries towards top-level ARCH_QCOM entry.
> 
> Note, I've left ARCH_IPQ40XX, ARCH_MSM8x60 and ARCH_MSM8960 in place,
> since they have special TEXT_OFFSET handling, which can be sorted out
> separately.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org>

Konrad

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/3] iommu/msm-iommu: don't limit the driver too much
  2023-12-16 16:26 ` [PATCH v2 1/3] iommu/msm-iommu: don't limit the driver too much Dmitry Baryshkov
  2023-12-16 18:39   ` Konrad Dybcio
@ 2023-12-31  0:48   ` Dmitry Baryshkov
  1 sibling, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2023-12-31  0:48 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Joerg Roedel, Will Deacon,
	Robin Murphy
  Cc: linux-arm-kernel, linux-arm-msm, iommu, Russell King,
	Joerg Roedel

On 16/12/2023 18:26, Dmitry Baryshkov wrote:
> In preparation of dropping most of ARCH_QCOM subtypes, stop limiting the
> driver just to those machines. Allow it to be built for any 32-bit
> Qualcomm platform (ARCH_QCOM).
> 
> Acked-by: Robin Murphy <robin.murphy@arm.com>
> Acked-by: Joerg Roedel <jroedel@suse.de>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

Robin, Joerg, Will, is there any chance this can be picked up into 6.8? 
We will proceed with merging the rest through qocm tree into 6.9.

> ---
>   drivers/iommu/Kconfig | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
> index 9a29d742617e..0d6095290b6a 100644
> --- a/drivers/iommu/Kconfig
> +++ b/drivers/iommu/Kconfig
> @@ -179,7 +179,7 @@ config FSL_PAMU
>   config MSM_IOMMU
>   	bool "MSM IOMMU Support"
>   	depends on ARM
> -	depends on ARCH_MSM8X60 || ARCH_MSM8960 || COMPILE_TEST
> +	depends on ARCH_QCOM || COMPILE_TEST
>   	select IOMMU_API
>   	select IOMMU_IO_PGTABLE_ARMV7S
>   	help

-- 
With best wishes
Dmitry


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 0/3] ARM: qcom: drop 32-bit machine Kconfig entries
  2023-12-16 16:26 [PATCH v2 0/3] ARM: qcom: drop 32-bit machine Kconfig entries Dmitry Baryshkov
                   ` (2 preceding siblings ...)
  2023-12-16 16:27 ` [PATCH v2 3/3] ARM: qcom: merge remaining subplatforms into sensible Kconfig entry Dmitry Baryshkov
@ 2024-02-07  4:46 ` Bjorn Andersson
  3 siblings, 0 replies; 8+ messages in thread
From: Bjorn Andersson @ 2024-02-07  4:46 UTC (permalink / raw)
  To: Konrad Dybcio, Joerg Roedel, Will Deacon, Robin Murphy,
	Dmitry Baryshkov
  Cc: linux-arm-kernel, linux-arm-msm, iommu, Russell King


On Sat, 16 Dec 2023 18:26:57 +0200, Dmitry Baryshkov wrote:
> The Kconfig for 32-bit Qualcomm arch predates DT and multi-machine
> support. It still defines ARCH_MSM* types for some (but not all) 32-bit
> Qualcomm machines. The MSM_IOMMU driver has a strict dependency on one
> of such kinds.
> 
> With the DT support in place, this has become obsolete quite a while
> ago. Replace all 32-bit Qualcomm ARCH kinds with the single Kconfig
> entry for the workaround required to be enabled for some of those 32-bit
> platforms.
> 
> [...]

Applied, thanks!

[1/3] iommu/msm-iommu: don't limit the driver too much
      commit: 18368ee25d881981971fde430c7f33cbc27359d1
[2/3] ARM: qcom: drop most of 32-bit ARCH_QCOM subtypes
      commit: 85148df36835d6bbdb2e4d06a3322629e4bb12c6
[3/3] ARM: qcom: merge remaining subplatforms into sensible Kconfig entry
      commit: 99497df59427a11222571034afebf2f0f7f9a3e2

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-02-07  4:46 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-16 16:26 [PATCH v2 0/3] ARM: qcom: drop 32-bit machine Kconfig entries Dmitry Baryshkov
2023-12-16 16:26 ` [PATCH v2 1/3] iommu/msm-iommu: don't limit the driver too much Dmitry Baryshkov
2023-12-16 18:39   ` Konrad Dybcio
2023-12-31  0:48   ` Dmitry Baryshkov
2023-12-16 16:26 ` [PATCH v2 2/3] ARM: qcom: drop most of 32-bit ARCH_QCOM subtypes Dmitry Baryshkov
2023-12-20  0:40   ` Konrad Dybcio
2023-12-16 16:27 ` [PATCH v2 3/3] ARM: qcom: merge remaining subplatforms into sensible Kconfig entry Dmitry Baryshkov
2024-02-07  4:46 ` [PATCH v2 0/3] ARM: qcom: drop 32-bit machine Kconfig entries Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).