Linux Samsung SOC development
 help / color / mirror / Atom feed
* [PATCH] ARM: dts: exynos: Increase minimal ACLK400_DISP1 frequency on Exynos542x
       [not found] <CGME20190319132608eucas1p2aad43f53df1cadf3a4c5ab48752644be@eucas1p2.samsung.com>
@ 2019-03-19 13:26 ` Marek Szyprowski
  2019-04-24 17:24   ` Krzysztof Kozlowski
  0 siblings, 1 reply; 2+ messages in thread
From: Marek Szyprowski @ 2019-03-19 13:26 UTC (permalink / raw)
  To: dri-devel, linux-samsung-soc
  Cc: Chanwoo Choi, Bartlomiej Zolnierkiewicz, Seung-Woo Kim,
	Marian Mihailescu, Marek Szyprowski

ACLK400_DISP1 bus feeds some internal buses of the display subsystem, some
of which are also related to TV/Mixer hardware modules. When that bus
is set to 120MHz, Exynos Mixer is not able to properly handle two XRGB
display planes at FullHD-60MHz. DMA underrun happens, which in turn might
result in reading data out of the configured buffer, what causes IOMMU
page fault and kernel panic.

This change fixes the following IOMMU fault, observed, when 2 Mixer planes
were enabled:

exynos-sysmmu 14650000.sysmmu: 14450000.mixer: PAGE FAULT occurred at 0x20fe9000
------------[ cut here ]------------
kernel BUG at ../drivers/iommu/exynos-iommu.c:450!
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 5 PID: 0 Comm: swapper/5 Not tainted 5.0.0-00003-g1b03088168ea #149
Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
PC is at exynos_sysmmu_irq+0x1c0/0x264
LR is at lock_is_held_type+0x44/0x64
...

Reported-by: Marian Mihailescu <mihailescu2m@gmail.com>
Fixes: 5d99cc59a3c6 ("ARM: dts: exynos: Move Exynos5250 and Exynos5420 nodes under soc")
Fixes: b04a62d3ade3 ("ARM: dts: exynos: Add bus nodes using VDD_INT for Exynos542x SoC")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
 arch/arm/boot/dts/exynos5420.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
index aaff15880761..250f4d7182e0 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -1294,7 +1294,7 @@
 			compatible = "operating-points-v2";
 
 			opp00 {
-				opp-hz = /bits/ 64 <120000000>;
+				opp-hz = /bits/ 64 <150000000>;
 			};
 			opp01 {
 				opp-hz = /bits/ 64 <200000000>;
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH] ARM: dts: exynos: Increase minimal ACLK400_DISP1 frequency on Exynos542x
  2019-03-19 13:26 ` [PATCH] ARM: dts: exynos: Increase minimal ACLK400_DISP1 frequency on Exynos542x Marek Szyprowski
@ 2019-04-24 17:24   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 2+ messages in thread
From: Krzysztof Kozlowski @ 2019-04-24 17:24 UTC (permalink / raw)
  To: Marek Szyprowski
  Cc: linux-samsung-soc, Chanwoo Choi, Bartlomiej Zolnierkiewicz,
	Seung-Woo Kim, dri-devel, Marian Mihailescu

On Tue, Mar 19, 2019 at 02:26:01PM +0100, Marek Szyprowski wrote:
> ACLK400_DISP1 bus feeds some internal buses of the display subsystem, some
> of which are also related to TV/Mixer hardware modules. When that bus
> is set to 120MHz, Exynos Mixer is not able to properly handle two XRGB
> display planes at FullHD-60MHz. DMA underrun happens, which in turn might
> result in reading data out of the configured buffer, what causes IOMMU
> page fault and kernel panic.
> 
> This change fixes the following IOMMU fault, observed, when 2 Mixer planes
> were enabled:
> 
> exynos-sysmmu 14650000.sysmmu: 14450000.mixer: PAGE FAULT occurred at 0x20fe9000
> ------------[ cut here ]------------
> kernel BUG at ../drivers/iommu/exynos-iommu.c:450!
> Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
> Modules linked in:
> CPU: 5 PID: 0 Comm: swapper/5 Not tainted 5.0.0-00003-g1b03088168ea #149
> Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> PC is at exynos_sysmmu_irq+0x1c0/0x264
> LR is at lock_is_held_type+0x44/0x64
> ...
> 
> Reported-by: Marian Mihailescu <mihailescu2m@gmail.com>
> Fixes: 5d99cc59a3c6 ("ARM: dts: exynos: Move Exynos5250 and Exynos5420 nodes under soc")
> Fixes: b04a62d3ade3 ("ARM: dts: exynos: Add bus nodes using VDD_INT for Exynos542x SoC")
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>  arch/arm/boot/dts/exynos5420.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
> index aaff15880761..250f4d7182e0 100644
> --- a/arch/arm/boot/dts/exynos5420.dtsi
> +++ b/arch/arm/boot/dts/exynos5420.dtsi
> @@ -1294,7 +1294,7 @@
>  			compatible = "operating-points-v2";
>  
>  			opp00 {
> -				opp-hz = /bits/ 64 <120000000>;
> +				opp-hz = /bits/ 64 <150000000>;

Some time ago we talked about all these changes on IRC. I understand
that implementing proper QoS (or fix devfreq/PPMU events to properly
indicate busy mixer) might be a big task so let's go with this
workaround. However how about adding a TODO comment about reason of
bumping the frequency?

Best regards,
Krzysztof

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

end of thread, other threads:[~2019-04-24 17:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CGME20190319132608eucas1p2aad43f53df1cadf3a4c5ab48752644be@eucas1p2.samsung.com>
2019-03-19 13:26 ` [PATCH] ARM: dts: exynos: Increase minimal ACLK400_DISP1 frequency on Exynos542x Marek Szyprowski
2019-04-24 17:24   ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox