From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
To: Mario Limonciello <mario.limonciello@amd.com>
Cc: a.mark.broadworth@gmail.com, matthias.schrumpf@freenet.de,
LKML <linux-kernel@vger.kernel.org>,
aros@gmx.com, bagasdotme@gmail.com,
"open list:PCI SUBSYSTEM" <linux-pci@vger.kernel.org>,
Bjorn Helgaas <bhelgaas@google.com>,
Borislav Petkov <bp@alien8.de>
Subject: Re: Regression from dcadfd7f7c74ef9ee415e072a19bdf6c085159eb
Date: Sun, 10 Dec 2023 17:02:59 +0900 [thread overview]
Message-ID: <20231210080259.GA7823@workstation.local> (raw)
In-Reply-To: <bbf24b56-cc54-4993-b048-eca5b9fd30ca@amd.com>
Hi Mario,
On Tue, Nov 28, 2023 at 12:09:41AM -0600, Mario Limonciello wrote:
> Can you check FCH::PM::S5_RESET_STATUS on next boot after failure has
> occurred? It is available at MMIO FED80300 or through indirect IO access at
> 0xC0.
>
> If MMIO doesn't work, double check FCH::PM_ISACONTROL bit 1 (described on
> page 296) to confirm if your system enables it.
>
> The meanings of the different bits can be found in a recent PPR:
> https://www.amd.com/content/dam/amd/en/documents/processor-tech-docs/programmer-references/55901_B1_pub_053.zip
>
> Indirect IO is described on PDF page 294.
>
> This will at least give us a hint what's going on in this case.
I attempt to check the above. As a result, the value of offset
::S5_RESET_STATUS is 0x00080800 every time after the unexpected reboot.
(both cases of lspci and 1394 OHCI driver). The 'mmioen' bit of
::ISACONTROL offset is always enabled.
According to the document, the bit 20 of ::S5_RESET_STATUS expresses
'do_k8_full_reset' to mean that the system reboot was caused by
'CF9 = 0x0E'. But I have no idea about it...
For the attempt, I found a patch to i2c-piix4[1] and applied it with
slight fix, like:
```
diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c
index 809fbd014cd6..11c1ba3afa76 100644
--- a/drivers/i2c/busses/i2c-piix4.c
+++ b/drivers/i2c/busses/i2c-piix4.c
@@ -99,7 +99,9 @@
#define SB800_PIIX4_PORT_IDX_SHIFT_KERNCZ 3
#define SB800_PIIX4_FCH_PM_ADDR 0xFED80300
-#define SB800_PIIX4_FCH_PM_SIZE 8
+#define SB800_PIIX4_FCH_PM_SIZE 0x100
+#define SB800_PIIX4_FCH_PM_OFFSET_ISACONTROL 0x04
+#define SB800_PIIX4_FCH_PM_OFFSET_S5_RESET_STATUS 0xc0
/* insmod parameters */
@@ -200,6 +202,9 @@ static int piix4_sb800_region_request(struct device *dev,
mmio_cfg->addr = addr;
+ dev_info(dev, "ISACONTROL = 0x%08x", ioread32(addr + SB800_PIIX4_FCH_PM_OFFSET_ISACONTROL));
+ dev_info(dev, "S5_RESET_STATUS = 0x%08x", ioread32(addr + SB800_PIIX4_FCH_PM_OFFSET_S5_RESET_STATUS));
+
return 0;
}
```
> On 12/3/2023 06:29, Takashi Sakamoto wrote:
> > In lspci case, I can work with debugger and figure out that 'pread(2)' to
> > file descriptor for 'config' node in sysfs causes the unexpected system
> > reboot. Additionally I can regenerate it by hexdump(1) to the node:
>
> OK - is this by chance related to access to PCI extended config space
> failing for this device then? If you read just the first 256 bytes it's ok,
> but beyond that it fails?
I can regenerate unexpected system reboot even if readling from the node
enough shorter than 256 bytes. This time I use dd(1) for the purpose since
hexdump uses stream I/O API (reads 4096 bytes once).
> If so, can you please try to reproduce using this series from Bjorn applied:
> https://lore.kernel.org/r/20231121183643.249006-1-helgaas@kernel.org
>
> And then add this to kernel command line:
> efi=debug "dyndbg=file arch/x86/pci/* +p"
>
> Capture the dmesg and share it.
I try the series by backport way, but it takes a bit time.
[1] https://lore.kernel.org/lkml/20230407203720.18184-1-yazen.ghannam@amd.com/T/
Thanks a lot
Takashi Sakamoto
prev parent reply other threads:[~2023-12-10 8:03 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <f878b188-3fe4-420c-9bcb-b431ac6088dd@amd.com>
[not found] ` <20231107121756.GA168964@workstation.local>
2023-11-07 21:27 ` Regression from dcadfd7f7c74ef9ee415e072a19bdf6c085159eb Mario Limonciello
2023-11-08 5:16 ` Takashi Sakamoto
2023-11-20 5:41 ` Linux regression tracking (Thorsten Leemhuis)
2023-11-28 5:24 ` Takashi Sakamoto
2023-11-28 6:09 ` Mario Limonciello
2023-12-03 12:29 ` Takashi Sakamoto
2023-12-05 20:04 ` Mario Limonciello
2023-12-10 8:02 ` Takashi Sakamoto [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=20231210080259.GA7823@workstation.local \
--to=o-takashi@sakamocchi.jp \
--cc=a.mark.broadworth@gmail.com \
--cc=aros@gmx.com \
--cc=bagasdotme@gmail.com \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=mario.limonciello@amd.com \
--cc=matthias.schrumpf@freenet.de \
/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).