From: Christian Zigotzky <chzigotzky@xenosoft.de>
To: Marc Zyngier <maz@kernel.org>
Cc: "bhelgaas@google.com >> Bjorn Helgaas" <bhelgaas@google.com>,
Alyssa Rosenzweig <alyssa@rosenzweig.io>,
lorenzo.pieralisi@arm.com, Rob Herring <robh@kernel.org>,
Matthew Leaman <matthew@a-eon.biz>,
Darren Stevens <darren@stevens-zone.net>,
mad skateman <madskateman@gmail.com>,
"R.T.Dickinson" <rtd2@xtra.co.nz>,
Christian Zigotzky <info@xenosoft.de>,
axboe@kernel.dk, damien.lemoal@opensource.wdc.com, kw@linux.com,
Arnd Bergmann <arnd@arndb.de>,
robert@swiecki.net, Olof Johansson <olof@lixom.net>,
linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>
Subject: Re: [PASEMI] Nemo board doesn't recognize any ATA disks with the pci-v5.16 updates
Date: Fri, 12 Nov 2021 12:00:21 +0100 [thread overview]
Message-ID: <c9cac845-c196-9ea4-0df5-91acd1fb84f5@xenosoft.de> (raw)
In-Reply-To: <1e2dc4c6-f286-f16b-4546-5cf2b1ca3123@xenosoft.de>
On 12 November 2021 at 11:11 am, Christian Zigotzky wrote:
> On 12 November 2021 at 10:40 am, Christian Zigotzky wrote:
>> On 11 November 2021 at 06:39 pm, Marc Zyngier wrote:
>>> On Wed, 10 Nov 2021 18:07:24 +0000,
>>> Christian Zigotzky <chzigotzky@xenosoft.de> wrote:
>>>> On 09 November 2021 at 03:45 pm, Christian Zigotzky wrote:
>>>>> Hello,
>>>>>
>>>>> The Nemo board [1] doesn't recognize any ATA disks with the
>>>> pci-v5.16 updates [2].
>>>>> Error messages:
>>>>>
>>>>> ata4.00: gc timeout cmd 0xec
>>>>> ata4.00: failed to IDENTIFY (I/O error, error_mask=0x4)
>>>>> ata1.00: gc timeout cmd 0xec
>>>>> ata1.00: failed to IDENTIFY (I/O error, error_mask=0x4)
>>>>> ata3.00: gc timeout cmd 0xec
>>>>> ata3.00: failed to IDENTIFY (I/O error, error_mask=0x4)
>>>>>
>>>>> I was able to revert the new pci-v5.16 updates [2]. After a new
>>>> compiling, the kernel recognize all ATA disks correctly.
>>>>> Could you please check the pci-v5.16 updates [2]?
>>>>>
>>>>> Please find attached the kernel config.
>>>>>
>>>>> Thanks,
>>>>> Christian
>>>>>
>>>>> [1] https://en.wikipedia.org/wiki/AmigaOne_X1000
>>>>> [2]
>>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0c5c62ddf88c34bc83b66e4ac9beb2bb0e1887d4
>>>>
>>>>
>>>> Hi All,
>>>>
>>>> Many thanks for your nice responses.
>>>>
>>>> I bisected today [1]. 0412841812265734c306ba5ef8088bcb64d5d3bd
>>>> (of/irq: Allow matching of an interrupt-map local to an interrupt
>>>> controller) [2] is the first bad commit.
>>> Can you please give the following hack a go and post the result
>>> (including the full dmesg)?
>>>
>>> Thanks,
>>>
>>> M.
>>> diff --git a/drivers/of/irq.c b/drivers/of/irq.c
>>> index 32be5a03951f..8cf0cc9b7caf 100644
>>> --- a/drivers/of/irq.c
>>> +++ b/drivers/of/irq.c
>>> @@ -156,14 +156,15 @@ int of_irq_parse_raw(const __be32 *addr,
>>> struct of_phandle_args *out_irq)
>>> /* Now start the actual "proper" walk of the interrupt tree */
>>> while (ipar != NULL) {
>>> + bool intc = of_property_read_bool(ipar,
>>> "interrupt-controller");
>>> +
>>> /*
>>> * Now check if cursor is an interrupt-controller and
>>> * if it is then we are done, unless there is an
>>> * interrupt-map which takes precedence.
>>> */
>>> imap = of_get_property(ipar, "interrupt-map", &imaplen);
>>> - if (imap == NULL &&
>>> - of_property_read_bool(ipar, "interrupt-controller")) {
>>> + if (imap == NULL && intc) {
>>> pr_debug(" -> got it !\n");
>>> return 0;
>>> }
>>> @@ -244,8 +245,14 @@ int of_irq_parse_raw(const __be32 *addr, struct
>>> of_phandle_args *out_irq)
>>> pr_debug(" -> imaplen=%d\n", imaplen);
>>> }
>>> - if (!match)
>>> + if (!match) {
>>> + if (intc) {
>>> + pr_info("%pOF interrupt-map failed, using
>>> interrupt-controller\n", ipar);
>>> + return 0;
>>> + }
>>> +
>>> goto fail;
>>> + }
>>> /*
>>> * Successfully parsed an interrrupt-map translation; copy
>>> new
>>>
>> The detecting of the ATA disks works with this patch! Well done!
>> Thanks a lot!
>>
> Sorry, I have read the patch more carefully and I have seen that it is
> an analyse patch. It's not a fix. I was too quick with my joy.
>
> - Christian
OK, perhaps a fix after all.
if (imap == NULL && intc) // If the return value isn't NULL then there
isn't an interrupt-map. That means, this part was successfully (&&) and
"intc" will evaluated (Testing of interrupt-controller). OK, perhaps it
is a fix after all.
Output:
[ 0.072659] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.072682] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.072701] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.072720] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.072741] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.072762] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.072784] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.072805] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.072824] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.072843] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.072861] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.072929] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.073167] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.073191] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.073211] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.073232] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.073252] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.073272] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.073292] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.073319] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.073339] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.073371] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.073392] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.073412] OF: /pxp@0,e0000000 interrupt-map failed, using
interrupt-controller
[ 0.073426] PCI: Probing PCI hardware done
next prev parent reply other threads:[~2021-11-12 11:00 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <3eedbe78-1fbd-4763-a7f3-ac5665e76a4a@xenosoft.de>
[not found] ` <15731ad7-83ff-c7ef-e4a1-8b11814572c2@xenosoft.de>
[not found] ` <17e37b22-5839-0e3a-0dbf-9c676adb0dec@xenosoft.de>
[not found] ` <3b210c92-4be6-ce49-7512-bb194475eeab@xenosoft.de>
2021-11-09 15:10 ` [PASEMI] Nemo board doesn't recognize any ATA disks with the pci-v5.16 updates Christian Zigotzky
2021-11-09 16:58 ` Bjorn Helgaas
2021-11-09 22:40 ` Krzysztof Wilczyński
2021-11-09 23:05 ` Arnd Bergmann
2021-11-09 23:18 ` Krzysztof Wilczyński
2021-11-10 16:42 ` Robert Święcki
2021-11-10 3:52 ` Damien Le Moal
2021-11-10 18:07 ` Christian Zigotzky
2021-11-10 18:41 ` Bjorn Helgaas
2021-11-10 19:09 ` Marc Zyngier
2021-11-11 5:24 ` Christian Zigotzky
2021-11-11 7:13 ` Marc Zyngier
2021-11-11 7:47 ` Christian Zigotzky
2021-11-11 10:20 ` Marc Zyngier
2021-11-11 10:44 ` Christian Zigotzky
2021-11-11 11:24 ` Marc Zyngier
2021-11-11 11:54 ` Christian Zigotzky
2021-11-11 22:21 ` Olof Johansson
2021-11-12 11:49 ` Segher Boessenkool
2021-11-11 17:39 ` Marc Zyngier
2021-11-12 9:40 ` Christian Zigotzky
2021-11-12 10:11 ` Christian Zigotzky
2021-11-12 11:00 ` Christian Zigotzky [this message]
2021-11-12 13:41 ` Marc Zyngier
2021-11-12 14:15 ` Christian Zigotzky
2021-11-12 14:46 ` Marc Zyngier
2021-11-12 15:01 ` Christian Zigotzky
2021-11-12 15:05 ` Christian Zigotzky
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=c9cac845-c196-9ea4-0df5-91acd1fb84f5@xenosoft.de \
--to=chzigotzky@xenosoft.de \
--cc=alyssa@rosenzweig.io \
--cc=arnd@arndb.de \
--cc=axboe@kernel.dk \
--cc=bhelgaas@google.com \
--cc=damien.lemoal@opensource.wdc.com \
--cc=darren@stevens-zone.net \
--cc=info@xenosoft.de \
--cc=kw@linux.com \
--cc=linux-pci@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=madskateman@gmail.com \
--cc=matthew@a-eon.biz \
--cc=maz@kernel.org \
--cc=olof@lixom.net \
--cc=robert@swiecki.net \
--cc=robh@kernel.org \
--cc=rtd2@xtra.co.nz \
/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).