Re: [PATCH] sh: Avoid using IRQ0 on SH3 and SH4

From: Guenter Roeck
Date: Thu Jul 06 2023 - 09:57:11 EST


Hi,

On Thu, Jun 01, 2023 at 11:22:17PM +0300, Sergey Shtylyov wrote:
> IRQ0 is no longer returned by platform_get_irq() and its ilk -- they now
> return -EINVAL instead. However, the kernel code supporting SH3/4-based
> SoCs still maps the IRQ #s starting at 0 -- modify that code to start the
> IRQ #s from 16 instead.
>
> The patch should mostly affect the AP-SH4A-3A/AP-SH4AD-0A boards as they
> indeed are using IRQ0 for the SMSC911x compatible Ethernet chip.
>

Unfortunately it also affects all sh4 emulations in qemu, and results in
boot stalls with those. There isn't a relevant log to attach because there
is no error message - booting just stalls until the emulation is aborted.

Reverting this patch fixes the problem.

Bisect log is attached for reference. Note that bisect requires applying
commit 7497840d462c ("sh: Provide unxlate_dev_mem_ptr() in asm/io.h"),
which is also the reason why the problem was not observed earlier since
it was hiding behind a build failure.

Guenter

---
# bad: [c17414a273b81fe4e34e11d69fc30cc8b1431614] Merge tag 'sh-for-v6.5-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/glaubitz/sh-linux
# good: [b5641a5d8b8b14643bfe3d017d64da90a5c55479] mm: don't do validate_mm() unnecessarily and without mmap locking
git bisect start 'HEAD' 'b5641a5d8b8b'
# good: [15ac468614e5e4fee82e1eb32568f427b0e51adc] Merge tag 'media/v6.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
git bisect good 15ac468614e5e4fee82e1eb32568f427b0e51adc
# good: [73a3fcdaa73200e38e38f7e8a32c9b901c5b95b5] Merge tag 'f2fs-for-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
git bisect good 73a3fcdaa73200e38e38f7e8a32c9b901c5b95b5
# good: [6843306689aff3aea608e4d2630b2a5a0137f827] Merge tag 'net-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
git bisect good 6843306689aff3aea608e4d2630b2a5a0137f827
# good: [afa92949124abc25ddab1789dd654214e2e1b040] dt-bindings: phy: cdns,salvo: add property cdns,usb2-disconnect-threshold-microvolt
git bisect good afa92949124abc25ddab1789dd654214e2e1b040
# good: [37bd215fc48ef2a399f836d62d2e4a166efb31be] phy: qualcomm: fix indentation in Makefile
git bisect good 37bd215fc48ef2a399f836d62d2e4a166efb31be
# bad: [7497840d462c8f54c4888c22ab3726a8cde4b9a2] sh: Provide unxlate_dev_mem_ptr() in asm/io.h
git bisect bad 7497840d462c8f54c4888c22ab3726a8cde4b9a2
# bad: [01658fe3d6c02992846a038c8111e70ace169295] sh: Refactor header include path addition
git bisect bad 01658fe3d6c02992846a038c8111e70ace169295
# bad: [a8ac2961148e8c720dc760f2e06627cd5c55a154] sh: Avoid using IRQ0 on SH3 and SH4
git bisect bad a8ac2961148e8c720dc760f2e06627cd5c55a154
# good: [bc9d1f0cecd2407cfb2364a7d4be2f52d1d46a9d] sh: j2: Use ioremap() to translate device tree address into kernel memory
git bisect good bc9d1f0cecd2407cfb2364a7d4be2f52d1d46a9d
# first bad commit: [a8ac2961148e8c720dc760f2e06627cd5c55a154] sh: Avoid using IRQ0 on SH3 and SH4