LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: Kevin Hilman <khilman@baylibre.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>,
jbrunet@baylibre.com, linux-amlogic@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/2] irq-meson-gpio: make it possible to build as a module
Date: Mon, 26 Oct 2020 18:30:16 +0000 [thread overview]
Message-ID: <d98ba5ad9d32d3a6368fae78ca9b911c@kernel.org> (raw)
In-Reply-To: <7hy2jshp6w.fsf@baylibre.com>
On 2020-10-26 17:28, Kevin Hilman wrote:
> Marc Zyngier <maz@kernel.org> writes:
>
>> On 2020-10-26 16:18, Kevin Hilman wrote:
>>> Marc Zyngier <maz@kernel.org> writes:
>>>
>>>> On Tue, 20 Oct 2020 08:25:30 +0100,
>>>> Neil Armstrong <narmstrong@baylibre.com> wrote:
>>>>>
>>>>> In order to reduce the kernel Image size on multi-platform
>>>>> distributions,
>>>>> make it possible to build the Amlogic GPIO IRQ controller as a
>>>>> module
>>>>> by switching it to a platform driver.
>>>>>
>>>>> The second patch removes MESON_IRQ_GPIO selection from ARCH_MESON
>>>>> to
>>>>> allow
>>>>> building the driver as module.
>>>>>
>>>>> Neil Armstrong (2):
>>>>> irqchip: irq-meson-gpio: make it possible to build as a module
>>>>> arm64: meson: remove MESON_IRQ_GPIO selection
>>>>>
>>>>> arch/arm64/Kconfig.platforms | 1 -
>>>>> drivers/irqchip/Kconfig | 5 +-
>>>>> drivers/irqchip/irq-meson-gpio.c | 89
>>>>> ++++++++++++++++++++------------
>>>>> 3 files changed, 59 insertions(+), 36 deletions(-)
>>>>
>>>> I've tried this series on my vim3l with the this driver compiled as
>>>> a
>>>> module, and lost the Ethernet interface in the process, as the phy
>>>> wasn't able to resolve its interrupt and things fail later on:
>>>>
>>>> [ 72.238291] meson8b-dwmac ff3f0000.ethernet eth1: no phy at addr
>>>> -1
>>>> [ 72.238917] meson8b-dwmac ff3f0000.ethernet eth1: stmmac_open:
>>>> Cannot attach to PHY (error: -19)
>>>>
>>>> This is a generic problem with making DT-based interrupt controllers
>>>> modular when not *all* the drivers can deal with probing deferral.
>>>
>>> Yes, but this series still keeps the default as built-in.
>>>
>>> If you build as a module, and you add `fw_devlink=on` to the kernel
>>> command-line, device-links will be created based on DT dependencies
>>> which will ensure the right module load order.
>>
>> It doesn't work here. I get the exact same error (well, with eth0
>> instead
>> of eth1). In my experience, fw_devlink isn't reliable yet. Config on
>> request.
>
> Other than CONFIG_MESON_IRQ_GPIO=m, are you using default upstream
> defconfig?
I use something that is much closer to a Debian configuration, given
that
the same kernel as to run on *all* the systems I have access to.
> I just double-checked with this series on top of v5.10-rc1, and I have
> eth0 working with interrupts without needing fw_devlink=on.
>
> With the default upstream defconfig all the networking for these
> devices
> is already configured as modules.
dmesg: http://www.loen.fr/tmp/dmesg
config: http://www.loen.fr/tmp/Config.full-arm64
root@tiger-roach:~# lsmod
Module Size Used by
macvtap 16384 0
macvlan 32768 1 macvtap
tap 32768 1 macvtap
nls_ascii 16384 1
nls_cp437 20480 1
vfat 28672 1
fat 81920 1 vfat
aes_ce_blk 36864 0
crypto_simd 24576 1 aes_ce_blk
cryptd 28672 1 crypto_simd
aes_ce_cipher 20480 1 aes_ce_blk
ghash_ce 24576 0
gf128mul 16384 1 ghash_ce
sha2_ce 20480 0
sha256_arm64 28672 1 sha2_ce
sha1_ce 20480 0
panfrost 69632 0
gpu_sched 45056 1 panfrost
meson_saradc 24576 0
industrialio 90112 1 meson_saradc
irq_meson_gpio 20480 0
pwm_meson 20480 1
meson_dw_hdmi 24576 0
meson_drm 61440 1 meson_dw_hdmi
meson_canvas 16384 1 meson_drm
dw_hdmi 53248 1 meson_dw_hdmi
cec 57344 1 dw_hdmi
drm_kms_helper 258048 4 meson_dw_hdmi,meson_drm,dw_hdmi
meson_rng 16384 0
rng_core 24576 1 meson_rng
cpufreq_dt 20480 0
leds_gpio 16384 0
drm 606208 7
gpu_sched,meson_dw_hdmi,meson_drm,drm_kms_helper,dw_hdmi,panfrost
ip_tables 32768 0
x_tables 45056 1 ip_tables
autofs4 49152 2
xhci_plat_hcd 20480 0
dwc2 249856 0
dwc3 151552 0
ulpi 20480 1 dwc3
udc_core 69632 2 dwc2,dwc3
rtc_hym8563 20480 0
meson_gxl 20480 0
realtek 24576 0
dwmac_generic 16384 0
dwc3_meson_g12a 24576 0
meson_gx_mmc 24576 0
xhci_pci 24576 0
igb 237568 0
xhci_hcd 290816 2 xhci_pci,xhci_plat_hcd
i2c_meson 20480 0
mdio_mux_meson_g12a 16384 0
mdio_mux 16384 1 mdio_mux_meson_g12a
nvme 45056 2
nvme_core 110592 4 nvme
i2c_algo_bit 16384 1 igb
t10_pi 16384 1 nvme_core
usbcore 311296 4 xhci_hcd,dwc2,xhci_pci,xhci_plat_hcd
dwmac_meson8b 16384 0
stmmac_platform 24576 2 dwmac_meson8b,dwmac_generic
stmmac 204800 3
dwmac_meson8b,stmmac_platform,dwmac_generic
pcs_xpcs 20480 1 stmmac
phylink 45056 1 stmmac
of_mdio 20480 4 stmmac_platform,mdio_mux,stmmac,phylink
fixed_phy 16384 1 of_mdio
pwm_regulator 20480 1
libphy 151552 8
of_mdio,realtek,mdio_mux,stmmac,fixed_phy,meson_gxl,phylink,pcs_xpcs
root@tiger-roach:~# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
9: 0 0 0 0 GICv2 25 Level
vgic
11: 0 0 0 0 GICv2 30 Level
kvm guest ptimer
12: 0 0 0 0 GICv2 27 Level
kvm guest vtimer
13: 4151 2344 3022 4003 GICv2 26 Level
arch_timer
16: 0 0 0 0 GICv2 89 Edge
dw_hdmi_top_irq, ff600000.hdmi-tx
20: 1994 0 0 0 GICv2 225 Edge
ttyAML0
21: 28 0 0 0 GICv2 227 Edge
ff805000.i2c
23: 2 0 0 0 GICv2 232 Edge
ff809000.adc
26: 0 0 0 0 GICv2 35 Edge
meson
29: 1317 0 0 0 GICv2 222 Edge
ffe05000.sd
30: 762 0 0 0 GICv2 223 Edge
ffe07000.mmc
32: 0 0 0 0 GICv2 194 Level
panfrost-job
33: 0 0 0 0 GICv2 193 Level
panfrost-mmu
34: 3 0 0 0 GICv2 192 Level
panfrost-gpu
35: 0 0 0 0 GICv2 31 Level
arm-pmu
37: 0 0 0 0 GICv2 255 Level
PCIe PME, aerdrv
43: 15 0 0 0 PCI-MSI 2621440 Edge
nvme0q0
44: 951 0 0 0 PCI-MSI 2621441 Edge
nvme0q1
45: 809 0 0 0 PCI-MSI 2621442 Edge
nvme0q2
46: 605 0 0 0 PCI-MSI 2621443 Edge
nvme0q3
47: 544 0 0 0 PCI-MSI 2621444 Edge
nvme0q4
48: 38 0 0 0 PCI-MSI 1572864 Edge
xhci_hcd
58: 0 0 0 0 GICv2 63 Level
ff400000.usb, ff400000.usb
59: 32 0 0 0 GICv2 62 Level
xhci-hcd:usb3
IPI0: 1253 1491 2091 2098 Rescheduling
interrupts
IPI1: 297 306 756 385 Function call
interrupts
IPI2: 0 0 0 0 CPU stop
interrupts
IPI3: 0 0 0 0 CPU stop (for
crash dump) interrupts
IPI4: 0 0 0 0 Timer broadcast
interrupts
IPI5: 0 0 0 0 IRQ work
interrupts
IPI6: 0 0 0 0 CPU wake-up
interrupts
Err: 0
and eth0 is dead.
M.
--
Jazz is not dead. It just smells funny...
next prev parent reply other threads:[~2020-10-26 18:30 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-20 7:25 Neil Armstrong
2020-10-20 7:25 ` [PATCH 1/2] irqchip: " Neil Armstrong
2020-10-20 18:23 ` Kevin Hilman
[not found] ` <CAF2Aj3g6c8FEZb3e1by6sd8LpKLaeN5hsKrrQkZUvh8hosiW9A@mail.gmail.com>
2021-05-24 10:11 ` Marc Zyngier
2021-05-25 16:17 ` Kevin Hilman
2021-05-25 16:30 ` Lee Jones
2021-06-14 22:30 ` Kevin Hilman
2021-07-13 9:05 ` Lee Jones
2021-08-03 9:44 ` Marc Zyngier
2021-08-03 9:51 ` Marc Zyngier
2021-08-04 2:11 ` Saravana Kannan
2021-08-03 9:51 ` Neil Armstrong
2021-08-04 1:36 ` Saravana Kannan
2021-08-04 8:50 ` Marc Zyngier
2021-08-04 18:20 ` Saravana Kannan
2021-08-04 21:47 ` Saravana Kannan
2021-08-05 6:31 ` Neil Armstrong
2021-08-06 23:55 ` Saravana Kannan
2021-08-05 7:57 ` Lee Jones
2021-08-16 12:47 ` Lee Jones
2021-08-16 20:27 ` Saravana Kannan
2021-08-16 20:46 ` Andrew Lunn
2021-08-16 21:02 ` Saravana Kannan
2021-08-16 21:18 ` Andrew Lunn
2021-08-17 7:24 ` Lee Jones
2021-08-17 18:12 ` Saravana Kannan
2021-08-18 11:19 ` Marc Zyngier
2021-09-02 9:28 ` Neil Armstrong
2020-10-20 7:25 ` [PATCH 2/2] arm64: meson: remove MESON_IRQ_GPIO selection Neil Armstrong
2020-10-20 23:18 ` Kevin Hilman
2020-10-25 11:51 ` [PATCH 0/2] irq-meson-gpio: make it possible to build as a module Marc Zyngier
2020-10-26 16:18 ` Kevin Hilman
2020-10-26 17:00 ` Marc Zyngier
2020-10-26 17:28 ` Kevin Hilman
2020-10-26 17:33 ` Kevin Hilman
2020-10-26 18:30 ` Marc Zyngier [this message]
2020-10-26 23:45 ` Kevin Hilman
2021-09-02 13:49 Neil Armstrong
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=d98ba5ad9d32d3a6368fae78ca9b911c@kernel.org \
--to=maz@kernel.org \
--cc=jbrunet@baylibre.com \
--cc=khilman@baylibre.com \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=narmstrong@baylibre.com \
--subject='Re: [PATCH 0/2] irq-meson-gpio: make it possible to build as a module' \
/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
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).