From: Alex Bounine <alex.bou9@gmail.com>
To: Russell King - ARM Linux <linux@armlinux.org.uk>,
Alexei Colin <acolin@isi.edu>
Cc: Andrew Morton <akpm@linux-foundation.org>,
John Paul Walters <jwalters@isi.edu>,
Catalin Marinas <catalin.marinas@arm.com>,
Arnd Bergmann <arnd@arndb.de>, Will Deacon <will.deacon@arm.com>,
Ralf Baechle <ralf@linux-mips.org>,
Paul Burton <paul.burton@mips.com>,
Alexander Sverdlin <alexander.sverdlin@nokia.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Thomas Gleixner <tglx@linutronix.de>, Peter Anvin <hpa@zytor.com>,
Matt Porter <mporter@kernel.crashing.org>,
x86@kernel.org, linuxppc-dev@lists.ozlabs.org,
linux-mips@linux-mips.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [RESEND PATCH 0/6] rapidio: move Kconfig menu definition to subsystem
Date: Tue, 31 Jul 2018 14:21:57 -0400 [thread overview]
Message-ID: <1f427e4c-3fb8-769a-efb6-db64afd4617a@gmail.com> (raw)
In-Reply-To: <20180731155909.GO17271@n2100.armlinux.org.uk>
On 2018-07-31 11:59 AM, Russell King - ARM Linux wrote:
> For the thread associated with this patch set, a review of a previous
> patch for ARM posted last Tuesday on this subject asked a series of
> questions about the PCI-nature of this. The review has not been
> responded to.
We are dealing with this now. More appropriate to do it this time than
before having reworked set.
> If it is inappropriate to offer RapidIO for any architecture that
> happens to has PCI, then it is inappropriate to offer it for any
> ARM machine that happens to have PCI.
It is completely appropriate to use RapidIO on any architecture that has
PCI/PCIe using existing PCIe-to-SRIO host bridges. Works well with
Marvell and NVIDIA boards.
Confusion here is caused by the fact that there are ARM and non-ARM
devices that offer on-chip RapidIO host controllers as well as PCIe.
E.g. TI Keystone/KeystoneII, FSL 85xx/86xx, Xilinx and Altera FPGAs with
ARM cores, Cavium on MIPS. In most cases external buses are configurable
and we have to address possible combinations.
I already posted some explanation in response to your earlier comment.
> In light of the lack of explanation on this point so far, I'm naking
> the ARM part of this series for now.
>
Explanations posted.
> I also think that the HAS_RAPIDIO thing is misleading and needs
> sorting out (as I've mentioned in other emails, including the one
> I refer to above) before rapidio becomes available more widely.
>
Highly likely it is used right now in a base station of mobile operator
near you :)
> On Tue, Jul 31, 2018 at 10:29:48AM -0400, Alexei Colin wrote:
>> Resending the patchset from prior submission:
>> https://lkml.org/lkml/2018/7/30/911
>>
>> The only change are the Cc tags in all patches now include the mailing
>> lists for all affected architectures, and patch 1/6 (which adds the menu
>> item to RapdidIO subsystem Kconfig) is CCed to all maintainers who are
>> getting this cover letter. The cover letter has been updated with
>> explanations to points raised in the feedback.
>>
>>
>>
>> The top-level Kconfig entry for RapidIO subsystem is currently
>> duplicated in several architecture-specific Kconfig files. This set of
>> patches does two things:
>>
>> 1. Move the Kconfig menu definition into the RapidIO subsystem and
>> remove the duplicate definitions from arch Kconfig files.
>>
>> 2. Enable RapidIO Kconfig menu entry for arm and arm64 architectures,
>> where it was not enabled before. I tested that subsystem and drivers
>> build successfully for both architectures, and tested that the modules
>> load on a custom arm64 Qemu model.
>>
>> For all architectures, RapidIO menu should be offered when either:
>> (1) The platform has a PCI bus (which host a RapidIO module on the bus).
>> (2) The platform has a RapidIO IP block (connected to a system bus, e.g.
>> AXI on ARM). In this case, 'select HAS_RAPIDIO' should be added to the
>> 'config ARCH_*' menu entry for the SoCs that offer the IP block.
>>
>> Prior to this patchset, different architectures used different criteria:
>> * powerpc: (1) and (2)
>> * mips: (1) and (2) after recent commit into next that added (2):
>> https://www.linux-mips.org/archives/linux-mips/2018-07/msg00596.html
>> fc5d988878942e9b42a4de5204bdd452f3f1ce47
>> 491ec1553e0075f345fbe476a93775eabcbc40b6
>> * x86: (1)
>> * arm,arm64: none (RapidIO menus never offered)
>>
>> This set of architectures are the ones that implement support for
>> RapidIO as system bus. On some platforms RapidIO can be the only system
>> bus available replacing PCI/PCIe. As it is done now, RapidIO is
>> configured in "Bus Options" (x86/PPC) or "Bus Support" (ARMs) sub-menu
>> and from system configuration option it should be kept this way.
>> Current location of RAPIDIO configuration option is familiar to users of
>> PowerPC and x86 platforms, and is similarly available in some ARM
>> manufacturers kernel code trees. (Alex Bounine)
>>
>> HAS_RAPIDIO is not enabled unconditionally, because HAS_RAPIDIO option
>> is intended for SOCs that have built in SRIO controllers, like TI
>> KeyStoneII or FPGAs. Because RapidIO subsystem core is required during
>> RapidIO port driver initialization, having separate option allows us to
>> control available build options for RapidIO core and port driver (bool
>> vs. tristate) and disable module option if port driver is configured as
>> built-in. (Alex Bounine)
>>
>> Responses to feedback from prior submission (thanks for the reviews!):
>> http://lists.infradead.org/pipermail/linux-arm-kernel/2018-July/593347.html
>> http://lists.infradead.org/pipermail/linux-arm-kernel/2018-July/593349.html
>>
>> Changelog:
>> * Moved Kconfig entry into RapidIO subsystem instead of duplicating
>>
>> In the current patchset, I took the approach of adding '|| PCI' to the
>> depends in the subsystem. I did try the alterantive approach mentioned
>> in the reviews for v1 of this patch, where the subsystem Kconfig does
>> not add a '|| PCI' and each per-architecture Kconfig has to add a
>> 'select HAS_RAPIDIO if PCI' and SoCs with IP blocks have to also add
>> 'select HAS_RAPIDIO'. This works too but requires each architecture's
>> Kconfig to add the line for RapidIO (whereas current approach does not
>> require that involvement) and also may create a false impression that
>> the dependency on PCI is strict.
>>
>> We appreciate the suggestion for also selecting the RapdiIO subsystem for
>> compilation with COMPILE_TEST, but hope to address it in a separate
>> patchset, localized to the subsystem, since it will need to change
>> depends on all drivers, not just on the top level, and since this
>> patch now spans multiple architectures.
>>
>> Alexei Colin (6):
>> rapidio: define top Kconfig menu in driver subtree
>> x86: factor out RapidIO Kconfig menu
>> powerpc: factor out RapidIO Kconfig menu entry
>> mips: factor out RapidIO Kconfig entry
>> arm: enable RapidIO menu in Kconfig
>> arm64: enable RapidIO menu in Kconfig
>>
>> arch/arm/Kconfig | 2 ++
>> arch/arm64/Kconfig | 2 ++
>> arch/mips/Kconfig | 11 -----------
>> arch/powerpc/Kconfig | 13 +------------
>> arch/x86/Kconfig | 8 --------
>> drivers/rapidio/Kconfig | 15 +++++++++++++++
>> 6 files changed, 20 insertions(+), 31 deletions(-)
>>
>> --
>> 2.18.0
>>
>
prev parent reply other threads:[~2018-07-31 18:22 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-31 14:29 [RESEND PATCH 0/6] rapidio: move Kconfig menu definition to subsystem Alexei Colin
2018-07-31 14:29 ` [RESEND PATCH 1/6] rapidio: define top Kconfig menu in driver subtree Alexei Colin
2018-07-31 15:09 ` Alexander Sverdlin
2018-07-31 15:29 ` Russell King - ARM Linux
2018-07-31 14:29 ` [RESEND PATCH 2/6] x86: factor out RapidIO Kconfig menu Alexei Colin
2018-07-31 14:29 ` [RESEND PATCH 3/6] powerpc: factor out RapidIO Kconfig menu entry Alexei Colin
2018-07-31 14:29 ` [RESEND PATCH 4/6] mips: factor out RapidIO Kconfig entry Alexei Colin
2018-07-31 14:29 ` [RESEND PATCH 5/6] arm: enable RapidIO menu in Kconfig Alexei Colin
2018-07-31 15:36 ` Russell King - ARM Linux
2018-07-31 14:29 ` [RESEND PATCH 6/6] arm64: " Alexei Colin
2018-08-01 9:54 ` Christoph Hellwig
2018-08-01 13:15 ` Alex Bounine
2018-08-02 8:57 ` Geert Uytterhoeven
2018-08-02 13:45 ` Alexei Colin
2018-08-02 13:54 ` Christoph Hellwig
2018-08-02 14:00 ` Alexei Colin
2018-08-02 14:16 ` Alex Bounine
2018-07-31 15:12 ` [RESEND PATCH 0/6] rapidio: move Kconfig menu definition to subsystem Alex Bounine
2018-07-31 15:59 ` Russell King - ARM Linux
2018-07-31 18:21 ` Alex Bounine [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1f427e4c-3fb8-769a-efb6-db64afd4617a@gmail.com \
--to=alex.bou9@gmail.com \
--cc=acolin@isi.edu \
--cc=akpm@linux-foundation.org \
--cc=alexander.sverdlin@nokia.com \
--cc=arnd@arndb.de \
--cc=benh@kernel.crashing.org \
--cc=catalin.marinas@arm.com \
--cc=hpa@zytor.com \
--cc=jwalters@isi.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=linux@armlinux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mporter@kernel.crashing.org \
--cc=paul.burton@mips.com \
--cc=paulus@samba.org \
--cc=ralf@linux-mips.org \
--cc=tglx@linutronix.de \
--cc=will.deacon@arm.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).