All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guy Martin <gmsoft@tuxicoman.be>
To: Grant Grundler <grundler@parisc-linux.org>
Cc: Kyle McMartin <kyle@infradead.org>, linux-parisc@vger.kernel.org
Subject: Re: HPMC bus timeout on C3600
Date: Mon, 22 Dec 2008 22:40:23 +0100	[thread overview]
Message-ID: <20081222224023.2488f2ef@tuxicoman.be> (raw)
In-Reply-To: <20081221081206.GC2047@colo.lackof.org>

[-- Attachment #1: Type: text/plain, Size: 1928 bytes --]


Kyle, Grant,

Thanks for your help but being unable to reproduce the issue at will
makes it very difficult to make any progress. The fault didn't occurred
those past two days.

So I decided to go another way. I've plugged in one of my well working
sata card and did a lot of IO using "dd if=/dev/zero of=/dev/sdc".

I'm not sure if this would trigger the same problem but it does trigger
an HPMC Bus timeout too after a few hundreds megs. This time, the PCI
slot pointed by the output is the sata card itself in slot 4.
Regarding GR02, it seems to point somewhere in user space.

Regarding Kyle's patch, it didn't changed anything but since the fault
isn't at inw(), I'm not sure it still even makes sens to apply it.


I tried to find out why the HPMC os handler wasn't triggered.
As documented in pdc20-v1.1-Ch3-pdce.pdf, the interruption vector table
is setup correctly. By this I mean that CR 14 points correctly to the
beginning of the fault_vector_20 (physical addr), the checksum is ok
and the length seems about right. I used a quickly coded module to
check all of this at run time.

The only thing that doesn't seem to be done is calling PDC_INSTR but I
still need to investigate that.
As far as I understand it's should provide instr to jump to the
os_hpmc handler. Those instr are already harcoded in the fault vector
so it's shouldn't be needed, unless calling PDC_INSTR actually does
tell the PDC that os_hpmc has been installed.


So again, I'm looking for help on going further with this issue.

Unfortunately, I don't have a lot of knowledge about PCI and the HP
side of the  elroy chip. I wanted to look at elroy's documentation but
it seems that a large part was stripped down.
Any pointer to usefull doc is more than welcome !

I've attached two HPMC dumps generated using the same command. Hopefull
they'll provide more details.
This is on an C3600 running latest parisc-2.6 git tree.


Regards,
  Guy






[-- Attachment #2: c3600-sata-pci-hpmc2 --]
[-- Type: application/octet-stream, Size: 5212 bytes --]

PROCESSOR PIM INFORMATION

-----------------  Processor 0 HPMC Information ------------------

Timestamp =
  Mon Dec  22 21:00:13 GMT 2008    (20:08:12:22:21:00:13)

HPMC Chassis Codes = 2cbf0  2500b  2cbf2  2cbfc

General Registers 0 - 31
00-03   0000000000000000  0000000000650000  00000000006500f4  000000008cc2c000
04-07   000000008dfb8828  000000008dfb8834  0000000000000001  000000008cc2c000
08-11   000000000000000f  000000008dfb8834  000000008dfb8844  000000000000001e
12-15   000000008dfb8800  000000008cc2de28  0000000000000005  00000000000000d0
16-19   0000000000002002  00000000f000017c  00000000f0000174  0000000000400000
20-23   0000000000000000  0000000000682000  0000000000679b9c  000000000000002f
24-27   000000006b719d0a  000000008cc2ddd0  000000008cc2c000  00000000104c78b0
28-31   0000000000679d3c  000000000001377c  000000008cc1c240  00000000006500f4

<Press any key to continue (q to quit)>

Control Registers 0 - 31
00-03   0000000000000000  0000000000000000  0000000000000000  0000000000000000
04-07   0000000000000000  0000000000000000  0000000000000000  0000000000000000
08-11   0000000000000e00  0000000000000000  00000000000000c0  000000000000003f
12-15   0000000000000000  0000000000000000  000000000010e000  00000000ffc00000
16-19   00000037fe47b62e  0000000000000000  0000000000679bd8  000000004abc0090
20-23   00000000a627ffee  0000000001e82048  000000000004000e  0000000080000000
24-27   000000000051a000  000000007de58000  0000000000044021  00000000f0412000
28-31   0000000055555555  0000000055555555  000000008cc1c000  0000000011111111
Space Registers 0 - 7

00-03   00000000          00000000          00000000          00000700
04-07   00000000          00000000          00000000          00000000


IIA Space                    = 0x0000000000000000
IIA Offset                   = 0x0000000000679bdc
Check Type                   = 0x20000000
CPU State                    = 0x9e000004
Cache Check                  = 0x00000000
TLB Check                    = 0x00000000
Bus Check                    = 0x0030103b
Assists Check                = 0x00000000
Assist State                 = 0x00000000
Path Info                    = 0x00000000
System Responder Address     = 0x000000fffb807048
System Requestor Address     = 0xfffffffffffa0000

Floating-Point Registers 0 - 31
00-03   0000001f00000000  0000000000000000  0000000000000000  0000000000000000
04-07   3febb8de8e377300  3febb8de8e377300  0000000100000000  0000000000000000
08-11   0000000000000000  000000028f812bc8  8f812bc000000002  1056f0b000000003
12-15   5555555555555555  5555555555555555  5555555555555555  5555555555555555
16-19   5555555555555555  5555555555555555  5555555555555555  5555555555555555
20-23   5555555555555555  5555555555555555  0000000000000000  0000000000000000
24-27   0000000000000000  0000ff9700000000  0000000000000000  10282858102b7368
28-31   ffffffff000137f2  104e0da4101871a0  0000000100000228  8f820200101165f4

'9000/785 B,C,J Workstation Unarchitected (per-CPU)', rev 1, 140 bytes:

Check Summary                = 0xcb81041008000000
Available Memory             = 0x0000000080000000
CPU Diagnose Register 2      = 0x0300000000000004
CPU Status Register 0        = 0x2420c20000000000
CPU Status Register 1        = 0x8002000000000000
SADD LOG                     = 0xc10f00fffb807048
Read Short LOG               = 0xc1af00fffb807048
ERROR_STATUS                 = 0x0000000000100010
MEM_ADDR                     = 0x000001ff3fffffff
MEM_SYND                     = 0x0000000000000000
MEM_ADDR_CORR                = 0x000001ff3fffffff
MEM_SYND_CORR                = 0x0000000000000000
RUN_DATA_HIGH                = 0xc1bff0fffed08040
RUN_DATA_LOW                 = 0xc1bff0fffed08040
RUN_CTRL                     = 0x0000021c00001418
RUN_ADDR                     = 0xc1bff0fffed08040
System Responder Path        = 0x00ffffff0a010400


HPMC PIM Analysis Information:

Timestamp =
  Mon Dec  22 21:00:13 GMT 2008    (20:08:12:22:21:00:13)


'9000/785 B,C,J Workstation HPMC PIM Analysis (per-CPU)', rev 0, 1304 bytes:

A Data I/O Fetch Timeout occurred while CPU 0 was
requesting information from a device at the path 10/1/4/0 (PCI slot 4).


Memory/IO Controller Error Analysis Information:

The Memory/IO Controller only observed the Broadcast Error.  It did not log
any additional information about the HPMC.



Memory Error Log Information:

Timestamp =
  Mon Dec  22 21:00:13 GMT 2008    (20:08:12:22:21:00:13)


'9000/785 B,C,J Workstation Memory Error Log', rev 0, 64 bytes:

   No memory errors logged


I/O Module Error Log Information:

Timestamp =
  Mon Dec  22 21:00:13 GMT 2008    (20:08:12:22:21:00:13)


'9000/785 B,C,J Workstation IO Error Log', rev 0, 228 bytes:

 Rope     Word1        Word2            Word3
------ ------------ ------------
   0    0x00000000   0x0e0cc009   0x00000000fed30048
   1    0x00000000   0x1e0cc289   0x00000000fed32048
   2    ----------   0x2e0cc009   ------------------
   3    ----------   0x3e0cc009   ------------------
   4    0x00000000   0x4e0cc009   0x00000000fed38048
   5    ----------   0x5e0cc009   ------------------
   6    0x00000000   0x6e0cc009   0x00000000fed3c048
   7    ----------   0x7e0cc009   ------------------

[-- Attachment #3: c3600-sata-pci-hpmc --]
[-- Type: application/octet-stream, Size: 5211 bytes --]


PROCESSOR PIM INFORMATION

-----------------  Processor 0 HPMC Information ------------------

Timestamp =
  Mon Dec  22 17:51:48 GMT 2008    (20:08:12:22:17:51:48)

HPMC Chassis Codes = 2cbf0  2500b  2cbf2  2cbfc

General Registers 0 - 31
00-03   0000000000000000  0000000000650000  00000000006500f4  000000002f084000
04-07   000000008cc1e828  000000008cc1e834  0000000000000001  000000002f084000
08-11   000000000000000f  000000008cc1e834  000000008cc1e844  000000000000001e
12-15   000000008cc1e800  000000002f085e28  0000000000000005  00000000000000d0
16-19   0000000000002002  00000000f000017c  00000000f0000174  0000000000400000
20-23   0000000000000000  0000000000682000  0000000000679b9c  000000000000004c
24-27   000000000a0ee5b0  000000002f085dd0  000000002f084000  00000000104c78b0
28-31   0000000000679d3c  000000000021f42e  000000002f284240  00000000006500f4

<Press any key to continue (q to quit)>

Control Registers 0 - 31
00-03   0000000000000000  0000000000000000  0000000000000000  0000000000000000
04-07   0000000000000000  0000000000000000  0000000000000000  0000000000000000
08-11   0000000000000f9a  0000000000000000  00000000000000c0  000000000000003f
12-15   0000000000000000  0000000000000000  000000000010e000  00000000ffc00000
16-19   000003a2c566501d  0000000000000000  0000000000679bd8  000000004abc0090
20-23   00000000a627ffee  0000000001e82048  000000000006000e  0000000080000000
24-27   000000000051a000  000000007df68000  0000000000044021  00000000f0412000
28-31   0000000055555555  0000000055555555  000000002f284000  0000000011111111
Space Registers 0 - 7

00-03   00000000          000007cd          00000000          000007cd
04-07   00000000          00000000          00000000          00000000


IIA Space                    = 0x0000000000000000
IIA Offset                   = 0x0000000000679bdc
Check Type                   = 0x20000000
CPU State                    = 0x9e000004
Cache Check                  = 0x00000000
TLB Check                    = 0x00000000
Bus Check                    = 0x0030103b
Assists Check                = 0x00000000
Assist State                 = 0x00000000
Path Info                    = 0x00000000
System Responder Address     = 0x000000fffb807048
System Requestor Address     = 0xfffffffffffa0000

Floating-Point Registers 0 - 31
00-03   0000001f00000000  0000000000000000  0000000000000000  0000000000000000
04-07   3e5058af0f4dd252  bf4e68a0d349be90  0000000000000000  bf4e6eea80000000
08-11   0000000538400000  000000028f812bc8  8f812bc000000002  1056f0b000000003
12-15   5555555555555555  5555555555555555  5555555555555555  5555555555555555
16-19   5555555555555555  5555555555555555  5555555555555555  5555555555555555
20-23   5555555555555555  5555555555555555  0000000000000000  0000000000000000
24-27   0000000000000000  0000ff97b22a09b6  0000000000000000  3ff0000000000000
28-31   00100000000137f2  104e0da4101871a0  0000000100000228  8f820200101165f4

'9000/785 B,C,J Workstation Unarchitected (per-CPU)', rev 1, 140 bytes:

Check Summary                = 0xcb81041008000000
Available Memory             = 0x0000000080000000
CPU Diagnose Register 2      = 0x0300000000000004
CPU Status Register 0        = 0x2420c20000000000
CPU Status Register 1        = 0x8002000000000000
SADD LOG                     = 0xc10f00fffb807048
Read Short LOG               = 0xc1af00fffb807048
ERROR_STATUS                 = 0x0000000000100010
MEM_ADDR                     = 0x000001ff3fffffff
MEM_SYND                     = 0x0000000000000000
MEM_ADDR_CORR                = 0x000001ff3fffffff
MEM_SYND_CORR                = 0x0000000000000000
RUN_DATA_HIGH                = 0xc1bff0fffed08040
RUN_DATA_LOW                 = 0xc1bff0fffed08040
RUN_CTRL                     = 0x0000021c00001418
RUN_ADDR                     = 0xc1bff0fffed08040
System Responder Path        = 0x00ffffff0a010400


HPMC PIM Analysis Information:

Timestamp =
  Mon Dec  22 17:51:48 GMT 2008    (20:08:12:22:17:51:48)


'9000/785 B,C,J Workstation HPMC PIM Analysis (per-CPU)', rev 0, 1304 bytes:

A Data I/O Fetch Timeout occurred while CPU 0 was
requesting information from a device at the path 10/1/4/0 (PCI slot 4).


Memory/IO Controller Error Analysis Information:

The Memory/IO Controller only observed the Broadcast Error.  It did not log
any additional information about the HPMC.

Memory Error Log Information:

Timestamp =
  Mon Dec  22 17:51:48 GMT 2008    (20:08:12:22:17:51:48)


'9000/785 B,C,J Workstation Memory Error Log', rev 0, 64 bytes:

   No memory errors logged


I/O Module Error Log Information:

Timestamp =
  Mon Dec  22 17:51:48 GMT 2008    (20:08:12:22:17:51:48)


'9000/785 B,C,J Workstation IO Error Log', rev 0, 228 bytes:

 Rope     Word1        Word2            Word3
------ ------------ ------------
   0    0x00000000   0x0e0cc009   0x00000000fed30048
   1    0x0001c800   0x1e0cc009   0x00000000fb807000
   2    ----------   0x2e0cc009   ------------------
   3    ----------   0x3e0cc009   ------------------
   4    0x00000000   0x4e0cc009   0x00000000fed38048
   5    ----------   0x5e0cc009   ------------------
   6    0x00000000   0x6e0cc009   0x00000000fed3c048
   7    ----------   0x7e0cc009   ------------------

  reply	other threads:[~2008-12-22 21:40 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-20 12:39 HPMC bus timeout on C3600 Guy Martin
2008-12-20 22:16 ` Kyle McMartin
2008-12-20 22:21   ` Kyle McMartin
2008-12-21  8:12     ` Grant Grundler
2008-12-22 21:40       ` Guy Martin [this message]
2008-12-22 21:47         ` Kyle McMartin
2008-12-22 22:49           ` Guy Martin
2008-12-25  8:06             ` Grant Grundler
2008-12-25 15:57               ` Guy Martin
2008-12-25 21:36                 ` Grant Grundler
2009-01-02 20:46                   ` Guy Martin
2009-01-02 21:01                     ` Kyle McMartin
2009-01-02 21:14                       ` John David Anglin
2009-01-02 21:18                         ` Kyle McMartin
2009-01-02 21:36                           ` John David Anglin
2009-01-03  0:09                           ` John David Anglin
2009-01-03  0:44                             ` Kyle McMartin
2009-01-03  1:24                               ` John David Anglin
2009-01-03  1:27                                 ` Kyle McMartin
2008-12-21  8:10 ` Grant Grundler

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=20081222224023.2488f2ef@tuxicoman.be \
    --to=gmsoft@tuxicoman.be \
    --cc=grundler@parisc-linux.org \
    --cc=kyle@infradead.org \
    --cc=linux-parisc@vger.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.