[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <32a92895-d724-c1bf-4eab-15c971625cf0@canonical.com>
Date: Fri, 21 Jan 2022 09:35:11 +0100
From: Krzysztof Kozlowski <krzysztof.kozlowski@...onical.com>
To: Sam Protsenko <semen.protsenko@...aro.org>,
Joerg Roedel <joro@...tes.org>, Will Deacon <will@...nel.org>
Cc: Sumit Semwal <sumit.semwal@...aro.org>,
Rob Herring <robh+dt@...nel.org>,
Catalin Marinas <catalin.marinas@....com>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Cho KyongHo <pullip.cho@...sung.com>,
Hyesoo Yu <hyesoo.yu@...sung.com>,
Janghyuck Kim <janghyuck.kim@...sung.com>,
Jinkyu Yang <jinkyu1.yang@...sung.com>,
Alex <acnwigwe@...gle.com>, Carlos Llamas <cmllamas@...gle.com>,
Daniel Mentz <danielmentz@...gle.com>,
Erick Reyes <erickreyes@...gle.com>,
"J . Avila" <elavila@...gle.com>, Jonglin Lee <jonglin@...gle.com>,
Mark Salyzyn <salyzyn@...gle.com>,
Thierry Strudel <tstrudel@...gle.com>,
Will McVicker <willmcvicker@...gle.com>,
Shawn Guo <shawnguo@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
linux-samsung-soc@...r.kernel.org,
iommu@...ts.linux-foundation.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [RFC 0/3] iommu/samsung: Introduce Exynos sysmmu-v8 driver
On 20/01/2022 21:19, Sam Protsenko wrote:
> This is a draft of a new IOMMU driver used in modern Exynos SoCs (like
> Exynos850) and Google's GS101 SoC (used in Pixel 6 phone). Most of its
> code were taken from GS101 downstream kernel [1], with some extra
> patches on top (fixes from Exynos850 downstream kernel and some porting
> changes to adapt it to the mainline kernel). All development history can
> be found at [2].
>
> Similarities with existing exynos-iommu.c is minimal. I did some
> analysis using similarity-tester tool:
>
> 8<-------------------------------------------------------------------->8
> $ sim_c -peu -S exynos-iommu.c "|" samsung-*
>
> exynos-iommu.c consists for 15 % of samsung-iommu.c material
> exynos-iommu.c consists for 1 % of samsung-iommu-fault.c material
> exynos-iommu.c consists for 3 % of samsung-iommu.h material
> 8<-------------------------------------------------------------------->8
>
> So the similarity is very low, most of that code is some boilerplate
> that shouldn't be extracted to common code (like allocating the memory
> and requesting clocks/interrupts in probe function).
This is not a prove of lack of similarities. The vendor drivers have
proven track of poor quality and a lot of code not compatible with Linux
kernel style.
Therefore comparing mainline driver, reviewed and well tested, with a
vendor out-of-tree driver is wrong. You will almost always have 0% of
similarities, because vendor kernel drivers are mostly developed from
scratch instead of re-using existing drivers.
Recently Samsung admitted it - if I extend existing driver, I will have
to test old and new platform, so it is easier for me to write a new driver.
No, this is not that approach we use it in mainline.
Linaro should know it much better.
>
> It was tested on v5.4 Android kernel on Exynos850 (E850-96 board) with
> DPU use-case (displaying some graphics to the screen). Also it
> apparently works fine on v5.10 GS101 kernel (on Pixel 6). On mainline
> kernel I managed to build, match and bind the driver. No real world test
> was done, but the changes from v5.10 (where it works fine) are minimal
> (see [2] for details). So I'm pretty sure the driver is functional.
No, we do not take untested code or code for different out-of-tree
kernels, not for mainline.
I am pretty sure drivers is poor or not working.
>
> For this patch series I'd like to receive some high-level review for
> driver's design and architecture. Coding style and API issues I can fix
> later, when sending real (not RFC) series. Particularly I'd like to hear
> some opinions about:
> - namings: Kconfig option, file names, module name, compatible, etc
> - modularity: should this driver be a different platform driver (like
> in this series), or should it be integrated into existing
> exynos-iommu.c driver somehow
> - dt-bindings: does it look ok as it is, or some interface changes are
> needed
You sent bindings in TXT with dead code inside, and you ask if it is ok.
I consider this approach that you sent whatever junk to us hoping that
we will point all the issues instead of finding them by yourself.
I am pretty sure you have several folks in Linaro who can perform first
review and bring the code closer to mainline style.
Best regards,
Krzysztof
Powered by blists - more mailing lists