2005-09-02 07:57:37

by Rajat Jain

[permalink] [raw]
Subject: ACPI problem with PCI Express Native Hot-plug driver

Hi,

I'm using RHEL4 kernel (2.6.9), and am trying to make PCI Express
Native Hot-plug driver (pciehp) work on my system (My system has two
hot-pluggable PCI Express slots). I am facing following problem, and
would really appreciate if any one can provide any info regarding this
problem.

When I disable the ACPI support in my kernel configuration, the
("non-acpi") pciehp driver inserts successfully and I see the
following two entries appearing in my /sys/bus/pci/slots:

drwxr-xr-x 2 root root 0 Sep 2 14:28 10
drwxr-xr-x 2 root root 0 Sep 2 14:28 11

However, when I enable the ACPI support in the kernel, the controller
initialization fails giving me following error (excerpts):

......
......
pciehp: pfar:cannot locate acpi bridge of PCI 0xb.
pciehp: pciehprm_find_available_resources = 0xffffffff
pciehp: unable to locate PCI configuration resources for hot plug add.
......
......
pciehp: pfar:cannot locate acpi bridge of PCI 0xe.
pciehp: pciehprm_find_available_resources = 0xffffffff
pciehp: unable to locate PCI configuration resources for hot plug add.
......
......

I am attaching both the logs (The one with ACPI enabled and giving
this error, the other - ACPI disabled and displaying the slot
entries). I am not sure where the problem lies. But the fact that the
entries are appearing correctly when I disable ACPI, combined with
above error messages, I suspect that there is a problem with ACPI
namespace (probably the resources cannot be found using ACPI).

I have two questions:

1) How can I go about tackling this problem? The possibility of BIOS /
Hardware being faulty cannot be ruled out. But then what exactly is
missing and how can that be solved?

2) If the resources are actually missing, then how does the driver
find the required resources when I disable the ACPI from kernel?

Even if no body had faced this problem before, I would really
appreciate if any one can provide ANY kind of pointers / information
regarding this (As I am willing to explore and solve this, no matter
what :-))

TIA

Rajat Jain


2005-09-02 07:58:48

by Rajat Jain

[permalink] [raw]
Subject: Re: ACPI problem with PCI Express Native Hot-plug driver

Sorry I forgot to attach the message logs.

Rajat

On 9/2/05, Rajat Jain <[email protected]> wrote:
> Hi,
>
> I'm using RHEL4 kernel (2.6.9), and am trying to make PCI Express
> Native Hot-plug driver (pciehp) work on my system (My system has two
> hot-pluggable PCI Express slots). I am facing following problem, and
> would really appreciate if any one can provide any info regarding this
> problem.
>
> When I disable the ACPI support in my kernel configuration, the
> ("non-acpi") pciehp driver inserts successfully and I see the
> following two entries appearing in my /sys/bus/pci/slots:
>
> drwxr-xr-x 2 root root 0 Sep 2 14:28 10
> drwxr-xr-x 2 root root 0 Sep 2 14:28 11
>
> However, when I enable the ACPI support in the kernel, the controller
> initialization fails giving me following error (excerpts):
>
> ......
> ......
> pciehp: pfar:cannot locate acpi bridge of PCI 0xb.
> pciehp: pciehprm_find_available_resources = 0xffffffff
> pciehp: unable to locate PCI configuration resources for hot plug add.
> ......
> ......
> pciehp: pfar:cannot locate acpi bridge of PCI 0xe.
> pciehp: pciehprm_find_available_resources = 0xffffffff
> pciehp: unable to locate PCI configuration resources for hot plug add.
> ......
> ......
>
> I am attaching both the logs (The one with ACPI enabled and giving
> this error, the other - ACPI disabled and displaying the slot
> entries). I am not sure where the problem lies. But the fact that the
> entries are appearing correctly when I disable ACPI, combined with
> above error messages, I suspect that there is a problem with ACPI
> namespace (probably the resources cannot be found using ACPI).
>
> I have two questions:
>
> 1) How can I go about tackling this problem? The possibility of BIOS /
> Hardware being faulty cannot be ruled out. But then what exactly is
> missing and how can that be solved?
>
> 2) If the resources are actually missing, then how does the driver
> find the required resources when I disable the ACPI from kernel?
>
> Even if no body had faced this problem before, I would really
> appreciate if any one can provide ANY kind of pointers / information
> regarding this (As I am willing to explore and solve this, no matter
> what :-))
>
> TIA
>
> Rajat Jain
>


Attachments:
(No filename) (2.21 kB)
log_acpi_disabled (21.49 kB)
log_acpi_enabled (30.03 kB)
Download all attachments

2005-09-02 08:13:30

by Greg KH

[permalink] [raw]
Subject: Re: ACPI problem with PCI Express Native Hot-plug driver

On Fri, Sep 02, 2005 at 04:57:33PM +0900, Rajat Jain wrote:
> Hi,
>
> I'm using RHEL4 kernel (2.6.9), and am trying to make PCI Express
> Native Hot-plug driver (pciehp) work on my system (My system has two
> hot-pluggable PCI Express slots). I am facing following problem, and
> would really appreciate if any one can provide any info regarding this
> problem.

Can you try 2.6.13? It is much improved in the pciehp area than 2.6.9.

thanks,

greg k-h

2005-09-02 17:49:03

by Kristen Carlson Accardi

[permalink] [raw]
Subject: Re: [Pcihpd-discuss] Re: ACPI problem with PCI Express Native Hot-plug driver

>
> > Even if no body had faced this problem before, I would really
> > appreciate if any one can provide ANY kind of pointers / information
> > regarding this (As I am willing to explore and solve this, no matter
> > what :-))
> >
> > TIA
> >
> > Rajat Jain
> >

Hello,
Would you be willing to test the mainline kernel (2.6.13) to see if you
have the same problem with the most recent version of the driver? And
attach the logs again please.

Thanks,
Kristen

2005-09-05 01:58:05

by Rajat Jain

[permalink] [raw]
Subject: Re: [Pcihpd-discuss] Re: ACPI problem with PCI Express Native Hot-plug driver

>
> Hello,
> Would you be willing to test the mainline kernel (2.6.13) to see if you
> have the same problem with the most recent version of the driver? And
> attach the logs again please.
>
> Thanks,
> Kristen
>
>

Thanks, for the inputs. I will test it with 2.6.13 and get back.

Rajat

2005-09-30 05:57:11

by Rajat Jain

[permalink] [raw]
Subject: Re: [Pcihpd-discuss] Re: ACPI problem with PCI Express Native Hot-plug driver

Hi,

I'm using stock kernel 2.6.13 on RHEL4 Distribution, and am trying to
make PCI Express Native Hot-plug driver (pciehp) work on my system (My
system has two hot-pluggable PCI Express slots). I am facing following
problem, and would really appreciate if any one can provide any info
regarding this problem. (I had earlier tried RHEL4 kernel, but as
suggested by list, have tried with 2.6.13. but to no avail).

When I disable the ACPI support in my kernel configuration, the
("non-acpi") pciehp driver inserts successfully and I see the
following two entries appearing in my /sys/bus/pci/slots:

drwxr-xr-x 2 root root 0 Sep 2 14:28 10
drwxr-xr-x 2 root root 0 Sep 2 14:28 11

However, when I enable the ACPI support in the kernel, the controller
initialization fails giving me following error (excerpts):

......
......
pciehp: pfar:cannot locate acpi bridge of PCI 0xb.
pciehp: pciehprm_find_available_resources = 0xffffffff
pciehp: unable to locate PCI configuration resources for hot plug add.
......
......
pciehp: pfar:cannot locate acpi bridge of PCI 0xe.
pciehp: pciehprm_find_available_resources = 0xffffffff
pciehp: unable to locate PCI configuration resources for hot plug add.
......
......

I am not sure where the problem lies. But the fact that the entries
are appearing correctly when I disable ACPI, combined with above error
messages, I suspect that there is a problem with ACPI namespace
(probably the resources cannot be found using ACPI).

I have two questions:

1) How can I go about tackling this problem? The possibility of BIOS /
Hardware being faulty cannot be ruled out. But then what exactly is
missing and how can that be solved (I can tell my BIOS provider /
hardware provider to correct the problem, but I need to pinpoint the
problem). Is some thing missing in the AML?

2) If the resources are actually missing, then how does the driver
find the required resources when I disable the ACPI from kernel?

I am attaching complete logs of both the cases (The one with ACPI
enabled and giving this error, the other - ACPI disabled and
displaying the slot entries) with highlighted error message. I would
really appreciate if any one can provide me any kind of pointers.

TIA,

Rajat


===========================================
ACPI Enabled Error Log
===========================================
Initialize + Start the notification/polling mechanism
Our event thread pid = 5691
Initialize slot lists
pciehprm ACPI init <enter>
acpi_pciehprm: ROOT PCI seg(0x0)bus(0x0)dev(0x0)func(0x0) [\_SB_.PCI0]
acpi_pciehprm: PCI bus 0x0 Resource structure 0.
acpi_pciehprm:16-Bit Address Space Resource
Resource Type: Bus Number Range(fixed)
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 00000001
Address range max: 000000FF
Address translation offset: 00000000
Address Length: 000000FF
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure 1.
acpi_pciehprm:16-Bit Address Space Resource
Resource Type: I/O Range
Type Specific: ISA and non-ISA Io Addresses
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 00000000
Address range max: 00000CF7
Address translation offset: 00000000
Address Length: 00000CF8
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure 2.
Io Resource
16 bit decode
Range minimum base: 00000CF8
Range maximum base: 00000CF8
Alignment: 00000001
Range Length: 00000008
acpi_pciehprm: PCI bus 0x0 Resource structure 3.
acpi_pciehprm:16-Bit Address Space Resource
Resource Type: I/O Range
Type Specific: ISA and non-ISA Io Addresses
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 00000D00
Address range max: 0000FFFF
Address translation offset: 00000000
Address Length: 0000F300
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure 4.
acpi_pciehprm:32-Bit Address Space Resource
Resource Type: Memory Range
Type Specific: Cacheable memory
Type Specific: Read/Write
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 000A0000
Address range max: 000BFFFF
Address translation offset: 00000000
Address Length: 00020000
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure 5.
acpi_pciehprm:32-Bit Address Space Resource
Resource Type: Memory Range
Type Specific: Cacheable memory
Type Specific: Read Only
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 000C0000
Address range max: 000C3FFF
Address translation offset: 00000000
Address Length: 00000000
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure 6.
acpi_pciehprm:32-Bit Address Space Resource
Resource Type: Memory Range
Type Specific: Cacheable memory
Type Specific: Read Only
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 000C4000
Address range max: 000C7FFF
Address translation offset: 00000000
Address Length: 00000000
!!!!event_thread sleeping
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure 7.
acpi_pciehprm:32-Bit Address Space Resource
Resource Type: Memory Range
Type Specific: Cacheable memory
Type Specific: Read Only
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 000C8000
Address range max: 000CBFFF
Address translation offset: 00000000
Address Length: 00000000
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure 8.
acpi_pciehprm:32-Bit Address Space Resource
Resource Type: Memory Range
Type Specific: Cacheable memory
Type Specific: Read Only
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 000CC000
Address range max: 000CFFFF
Address translation offset: 00000000
Address Length: 00000000
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure 9.
acpi_pciehprm:32-Bit Address Space Resource
Resource Type: Memory Range
Type Specific: Cacheable memory
Type Specific: Read Only
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 000D0000
Address range max: 000D3FFF
Address translation offset: 00000000
Address Length: 00000000
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure a.
acpi_pciehprm:32-Bit Address Space Resource
Resource Type: Memory Range
Type Specific: Cacheable memory
Type Specific: Read Only
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 000D4000
Address range max: 000D7FFF
Address translation offset: 00000000
Address Length: 00000000
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure b.
acpi_pciehprm:32-Bit Address Space Resource
Resource Type: Memory Range
Type Specific: Cacheable memory
Type Specific: Read/Write
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 000D8000
Address range max: 000DBFFF
Address translation offset: 00000000
Address Length: 00004000
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure c.
acpi_pciehprm:32-Bit Address Space Resource
Resource Type: Memory Range
Type Specific: Cacheable memory
Type Specific: Read/Write
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 000DC000
Address range max: 000DFFFF
Address translation offset: 00000000
Address Length: 00004000
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure d.
acpi_pciehprm:32-Bit Address Space Resource
Resource Type: Memory Range
Type Specific: Cacheable memory
Type Specific: Read Only
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 000E0000
Address range max: 000E3FFF
Address translation offset: 00000000
Address Length: 00000000
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure e.
acpi_pciehprm:32-Bit Address Space Resource
Resource Type: Memory Range
Type Specific: Cacheable memory
Type Specific: Read Only
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 000E4000
Address range max: 000E7FFF
Address translation offset: 00000000
Address Length: 00000000
Sep 28 17:39:52 localhost su[5683]: Warning! Could not get current
context for /dev/pts/0, not relabeling.
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure f.
acpi_pciehprm:32-Bit Address Space Resource
Resource Type: Memory Range
Type Specific: Cacheable memory
Type Specific: Read Only
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 000E8000
Address range max: 000EBFFF
Address translation offset: 00000000
Address Length: 00000000
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure 10.
acpi_pciehprm:32-Bit Address Space Resource
Resource Type: Memory Range
Type Specific: Cacheable memory
Type Specific: Read Only
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 000EC000
Address range max: 000EFFFF
Address translation offset: 00000000
Address Length: 00000000
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure 11.
acpi_pciehprm:32-Bit Address Space Resource
Resource Type: Memory Range
Type Specific: Cacheable memory
Type Specific: Read/Write
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: D0000000
Address range max: FEBFFFFF
Address translation offset: 00000000
Address Length: 2EC00000
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure 12.
acpi_pciehprm:32-Bit Address Space Resource
Resource Type: Memory Range
Type Specific: Cacheable memory
Type Specific: Read/Write
Resource Producer
Positive decode
Min address is fixed
Max address is fixed
Granularity: 00000000
Address range min: 00000000
Address range max: 00000000
Address translation offset: 00000000
Address Length: 00000000
Resource Source Index: 0
acpi_pciehprm: PCI bus 0x0 Resource structure 13.
End_tag -------- Resource
pciehp_resource_sort_and_combine: head = f3ced148, *head = f5645aa0
*head->next = 00000000
pciehp_resource_sort_and_combine: head = f3ced144, *head = f6cf4300
*head->next = f79e8d00
*head->base = 0xd00
*head->next->base = 0x0
pciehp_resource_sort_and_combine: head = f3ced13c, *head = f3c7aa40
*head->next = f718fc40
*head->base = 0xd0000000
*head->next->base = 0xd8000
pciehp_resource_sort_and_combine: head = f3ced140, *head = 00000000
add_host_bridge: osc_run_status 5
acpi_pciehprm: Registered PCI HOST Bridge(00) on
s:b:d:f(00:00:00:00) [\_SB_.PCI0]
acpi_pciehprm: P2P(0-1) on pci=b:d:f(0:2:0) acpi=b:d:f(0:2:0) [\_SB_.PCI0.PE1A]
acpi_pciehprm: Registered PCI P2P Bridge(00-01) on
s:b:d:f(00:00:02:00) [\_SB_.PCI0.PE1A]
acpi_pciehprm: P2P(1-2) on pci=b:d:f(1:0:0) acpi=b:d:f(1:0:0)
[\_SB_.PCI0.PE1A.PXHA]
acpi_pciehprm: Registered PCI P2P Bridge(01-02) on
s:b:d:f(00:01:00:00) [\_SB_.PCI0.PE1A.PXHA]
acpi_pciehprm: P2P(1-3) on pci=b:d:f(1:0:2) acpi=b:d:f(1:0:2)
[\_SB_.PCI0.PE1A.PXHB]
acpi_pciehprm: Registered PCI P2P Bridge(01-03) on
s:b:d:f(00:01:00:02) [\_SB_.PCI0.PE1A.PXHB]
acpi_pciehprm: P2P(0-4) on pci=b:d:f(0:4:0) acpi=b:d:f(0:4:0) [\_SB_.PCI0.PE2A]
acpi_pciehprm: Registered PCI P2P Bridge(00-04) on
s:b:d:f(00:00:04:00) [\_SB_.PCI0.PE2A]
acpi_pciehprm: P2P(0-5) on pci=b:d:f(0:5:0) acpi=b:d:f(0:5:0) [\_SB_.PCI0.PE2B]
acpi_pciehprm: Registered PCI P2P Bridge(00-05) on
s:b:d:f(00:00:05:00) [\_SB_.PCI0.PE2B]
acpi_pciehprm: P2P(0-6) on pci=b:d:f(0:6:0) acpi=b:d:f(0:6:0) [\_SB_.PCI0.PE3A]
acpi_pciehprm: Registered PCI P2P Bridge(00-06) on
s:b:d:f(00:00:06:00) [\_SB_.PCI0.PE3A]
acpi_pciehprm: P2P(0-13) on pci=b:d:f(0:7:0) acpi=b:d:f(0:7:0)
[\_SB_.PCI0.PE3B]
acpi_pciehprm: Registered PCI P2P Bridge(00-13) on
s:b:d:f(00:00:07:00) [\_SB_.PCI0.PE3B]
acpi_pciehprm: P2P(0-14) on pci=b:d:f(0:1e:0) acpi=b:d:f(0:1e:0)
[\_SB_.PCI0.PCIB]
acpi_pciehprm: Registered PCI P2P Bridge(00-14) on
s:b:d:f(00:00:1e:00) [\_SB_.PCI0.PCIB]
pciehprm ACPI init success
pciehp_probe: Called by hp_drv
pciehp_probe: DRV_thread pid = 5684
pcie_init: pdev->vendor 1033 pdev->device 124
pcie_init: pcie_cap_base 0
pcie_init: CAP_REG offset 62 cap_reg 161
pcie_init: SLOT_CAP offset 74 slot_cap 500540
pcie_init: SLOT_STATUS offset 7a slot_status 100
pcie_init: SLOT_CTRL offset 78 slot_ctrl 7c0
pdev = c1b2f800: b:d:f:irq=0x7:1:0:e1
pci resource[7] start=0x5000(len=0x1000)
pci resource[8] start=0xd0400000(len=0x100000)
pci resource[9] start=0xd0900000(len=0x100000)
HPC vendor_id 1033 device_id 124 ss_vid 0 ss_did 0
Sep 28 17:39:55 localhost kernel: ACPI: PCI Interrupt 0000:07:01.0[A]
-> GSI 17 (level, low) -> IRQ 169
HPC interrupt = 225
pcie_init: SLOT_CTRL 78 value read 7c0
pcie_init : Mask HPIE hp_register_write_word SLOT_CTRL 7c0
pcie_init: Mask HPIE SLOT_STATUS offset 7a reads slot_status 110
pcie_init: SLOT_STATUS offset 7a writes slot_status 1f
pcie_init: request_irq 225 for hpc0 (returns 0)
pcie_init: SLOT_CTRL 78 value read 7c0
pcie_init: slot_cap 500540
pcie_init: temp_word 7e8
pcie_init : Unmask HPIE hp_register_write_word SLOT_CTRL with 7e8
pcie_init: Unmask HPIE SLOT_STATUS offset 7a reads slot_status 110
pcie_init: SLOT_STATUS offset 7a writes slot_status 1f
pciehp_probe: ctrl->pci_bus f6fd5d80
pciehp_probe: ctrl bus=0x7, device=1, function=0, irq=a9
pcie_get_ctlr_slot_config: PSN 10
get_ctlr_slot_config: bus(0xb) num_slot(0x1) 1st_dev(0x0) psn(0xa)
ctrlcap(40) for b:d (7:1)
pciehp_probe: Before calling pciehp_save_config, ctrl->bus 7,ctrl->slot_bus b
pciehp_save_config: Enter
pciehp_save_config: num_ctlr_slots = 1, first_device_num = 0
FirstSupported = 0, LastSupported = 0
pciehp_save_config: pci_bus->number = b
pciehp_save_config: bus = b, dev = 0
pciehp_save_config: ID = 3408086
class_code = 6, header_type = 81
pciehp_save_config: In do loop
pciehp_save_config: Enter
pciehp_save_config: num_ctlr_slots = 0, first_device_num = 0
FirstSupported = 0, LastSupported = 31
pciehp_save_config: pci_bus->number = b
pciehp_save_config: bus = c, dev = 0
pciehp_save_config: ID = 23221077
class_code = c, header_type = 80
pciehp_save_config: In do loop
pciehp_slot_find: bus c device 7 index 0
pciehp_slot_find: func == NULL
pciehp_save_config: new_slot = 00000000 bus c dev 7 fun 0
pciehp_slot_create: busnumber c
pciehp_save_config: if, new_slot = f6fd5780 bus c dev 7 fun 0
new_slot->pci_dev = c1b39400
pciehp_save_config: In while loop
class_code = c, header_type = 80
pciehp_save_config: In do loop
pciehp_slot_find: bus c device 7 index 0
pciehp_slot_find: func-> bus c device 7 function 0 pci_dev c1b39400
pciehp_save_config: new_slot = f6fd5780 bus c dev 7 fun 0
pciehp_slot_find: bus c device 7 index 1
pciehp_slot_find: func-> bus c device 7 function 0 pci_dev c1b39400
pciehp_save_config: while loop, new_slot = 00000000 bus c dev 7 fun 1
pciehp_slot_create: busnumber c
pciehp_save_config: if, new_slot = f731f080 bus c dev 7 fun 1
new_slot->pci_dev = c1b39000
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: Exit
pciehp_slot_find: bus b device 0 index 0
pciehp_slot_find: func == NULL
pciehp_save_config: new_slot = 00000000 bus b dev 0 fun 0
pciehp_slot_create: busnumber b
pciehp_save_config: if, new_slot = f731f180 bus b dev 0 fun 0
new_slot->pci_dev = c1b39c00
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
class_code = 6, header_type = 81
pciehp_save_config: In do loop
pciehp_save_config: Enter
pciehp_save_config: num_ctlr_slots = 0, first_device_num = 0
FirstSupported = 0, LastSupported = 31
pciehp_save_config: pci_bus->number = b
pciehp_save_config: bus = d, dev = 0
pciehp_save_config: Exit
pciehp_slot_find: bus b device 0 index 0
pciehp_slot_find: func-> bus b device 0 function 0 pci_dev c1b39c00
pciehp_save_config: new_slot = f731f180 bus b dev 0 fun 0
pciehp_slot_find: bus b device 0 index 1
pciehp_slot_find: func-> bus b device 0 function 0 pci_dev c1b39c00
pciehp_save_config: while loop, new_slot = 00000000 bus b dev 0 fun 1
pciehp_slot_create: busnumber b
pciehp_save_config: if, new_slot = f731f280 bus b dev 0 fun 2
new_slot->pci_dev = c1b39800
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: Exit
---------------------------------------------------------
pfar:cannot locate acpi bridge of PCI 0xb.
pciehprm_find_available_resources = 0xffffffff
unable to locate PCI configuration resources for hot plug add.
----------------------------------------------------------
pciehp_probe: Called by hp_drv
pciehp_probe: DRV_thread pid = 5684
pcie_init: pdev->vendor 1033 pdev->device 124
pcie_init: pcie_cap_base 0
pcie_init: CAP_REG offset 62 cap_reg 161
pcie_init: SLOT_CAP offset 74 slot_cap 580540
pcie_init: SLOT_STATUS offset 7a slot_status 100
pcie_init: SLOT_CTRL offset 78 slot_ctrl 7c0
pdev = c1b2f400: b:d:f:irq=0x7:2:0:e9
pci resource[7] start=0x6000(len=0x1000)
pci resource[8] start=0xd0500000(len=0x100000)
pci resource[9] start=0xd0a00000(len=0x100000)
HPC vendor_id 1033 device_id 124 ss_vid 0 ss_did 0
Sep 28 17:39:59 localhost kernel: ACPI: PCI Interrupt 0000:07:02.0[A]
-> GSI 18 (level, low) -> IRQ 177
HPC interrupt = 233
pcie_init: SLOT_CTRL 78 value read 7c0
pcie_init : Mask HPIE hp_register_write_word SLOT_CTRL 7c0
pcie_init: Mask HPIE SLOT_STATUS offset 7a reads slot_status 110
pcie_init: SLOT_STATUS offset 7a writes slot_status 1f
pcie_init: request_irq 233 for hpc1 (returns 0)
pcie_init: SLOT_CTRL 78 value read 7c0
pcie_init: slot_cap 580540
pcie_init: temp_word 7e8
pcie_init : Unmask HPIE hp_register_write_word SLOT_CTRL with 7e8
pcie_init: Unmask HPIE SLOT_STATUS offset 7a reads slot_status 110
pcie_init: SLOT_STATUS offset 7a writes slot_status 1f
pciehp_probe: ctrl->pci_bus f6fd5d80
pciehp_probe: ctrl bus=0x7, device=2, function=0, irq=b1
pcie_get_ctlr_slot_config: PSN 11
get_ctlr_slot_config: bus(0xe) num_slot(0x1) 1st_dev(0x0) psn(0xb)
ctrlcap(40) for b:d (7:2)
pciehp_probe: Before calling pciehp_save_config, ctrl->bus 7,ctrl->slot_bus e
pciehp_save_config: Enter
pciehp_save_config: num_ctlr_slots = 1, first_device_num = 0
FirstSupported = 0, LastSupported = 0
pciehp_save_config: pci_bus->number = e
pciehp_save_config: bus = e, dev = 0
pciehp_save_config: ID = 3408086
class_code = 6, header_type = 81
pciehp_save_config: In do loop
pciehp_save_config: Enter
pciehp_save_config: num_ctlr_slots = 0, first_device_num = 0
FirstSupported = 0, LastSupported = 31
pciehp_save_config: pci_bus->number = e
pciehp_save_config: bus = f, dev = 0
pciehp_save_config: ID = 23221077
class_code = c, header_type = 80
pciehp_save_config: In do loop
pciehp_slot_find: bus f device 7 index 0
pciehp_slot_find: func == NULL
pciehp_save_config: new_slot = 00000000 bus f dev 7 fun 0
pciehp_slot_create: busnumber f
pciehp_save_config: if, new_slot = f731f380 bus f dev 7 fun 0
new_slot->pci_dev = c1b3d400
pciehp_save_config: In while loop
class_code = c, header_type = 80
pciehp_save_config: In do loop
pciehp_slot_find: bus f device 7 index 0
pciehp_slot_find: func-> bus f device 7 function 0 pci_dev c1b3d400
pciehp_save_config: new_slot = f731f380 bus f dev 7 fun 0
pciehp_slot_find: bus f device 7 index 1
pciehp_slot_find: func-> bus f device 7 function 0 pci_dev c1b3d400
pciehp_save_config: while loop, new_slot = 00000000 bus f dev 7 fun 1
pciehp_slot_create: busnumber f
pciehp_save_config: if, new_slot = f731f480 bus f dev 7 fun 1
new_slot->pci_dev = c1b3d000
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: Exit
pciehp_slot_find: bus e device 0 index 0
pciehp_slot_find: func == NULL
pciehp_save_config: new_slot = 00000000 bus e dev 0 fun 0
pciehp_slot_create: busnumber e
pciehp_save_config: if, new_slot = f731f580 bus e dev 0 fun 0
new_slot->pci_dev = c1b3dc00
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
class_code = 6, header_type = 81
pciehp_save_config: In do loop
pciehp_save_config: Enter
pciehp_save_config: num_ctlr_slots = 0, first_device_num = 0
FirstSupported = 0, LastSupported = 31
pciehp_save_config: pci_bus->number = e
pciehp_save_config: bus = 10, dev = 0
pciehp_save_config: Exit
pciehp_slot_find: bus e device 0 index 0
pciehp_slot_find: func-> bus e device 0 function 0 pci_dev c1b3dc00
pciehp_save_config: new_slot = f731f580 bus e dev 0 fun 0
pciehp_slot_find: bus e device 0 index 1
pciehp_slot_find: func-> bus e device 0 function 0 pci_dev c1b3dc00
pciehp_save_config: while loop, new_slot = 00000000 bus e dev 0 fun 1
pciehp_slot_create: busnumber e
pciehp_save_config: if, new_slot = f731f680 bus e dev 0 fun 2
new_slot->pci_dev = c1b3d800
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: Exit
----------------------------------------------------------------
pfar:cannot locate acpi bridge of PCI 0xe.
pciehprm_find_available_resources = 0xffffffff
unable to locate PCI configuration resources for hot plug add.
------------------------------------------------------------------
pcie_port_service_register = 0
PCI Express Hot Plug Controller Driver version: 0.4
PCIEHPRM ACPI Slots
PCI HOST Bridge (0) [\_SB_.PCI0]
Total BUS Resources:
base= 0x1 length= 0xff
BUS Resources:
base= 0x1 length= 0xff
Total IO Resources:
base= 0xd00 length= 0xf300
base= 0x0 length= 0xcf8
IO Resources:
base= 0x0 length= 0xcf8
base= 0xd00 length= 0xf300
Total MEM Resources:
base= 0xd0000000 length= 0x2ec00000
base= 0xd8000 length= 0x8000
base= 0xa0000 length= 0x20000
MEM Resources:
base= 0xa0000 length= 0x20000
base= 0xd8000 length= 0x8000
base= 0xd0000000 length= 0x2ec00000
PCI P2P Bridge (0-14) [\_SB_.PCI0.PCIB]
PCI P2P Bridge (0-13) [\_SB_.PCI0.PE3B]
PCI P2P Bridge (0-6) [\_SB_.PCI0.PE3A]
PCI P2P Bridge (0-5) [\_SB_.PCI0.PE2B]
PCI P2P Bridge (0-4) [\_SB_.PCI0.PE2A]
PCI P2P Bridge (0-1) [\_SB_.PCI0.PE1A]
PCI P2P Bridge (1-3) [\_SB_.PCI0.PE1A.PXHB]
PCI P2P Bridge (1-2) [\_SB_.PCI0.PE1A.PXHA]







===============================================
Log when ACPI Disabled
===============================================


Our event thread pid = 5192
Initialize slot lists
pciehp_probe: Called by hp_drv
pciehp_probe: DRV_thread pid = 5188
pcie_init: pdev->vendor 1033 pdev->device 124
pcie_init: pcie_cap_base 0
pcie_init: CAP_REG offset 62 cap_reg 161
pcie_init: SLOT_CAP offset 74 slot_cap 500540
pcie_init: SLOT_STATUS offset 7a slot_status 100
pcie_init: SLOT_CTRL offset 78 slot_ctrl 7c0
pdev = f7f04800: b:d:f:irq=0x7:1:0:e1
pci resource[7] start=0x5000(len=0x1000)
pci resource[9] start=0xd0900000(len=0x100000)
HPC vendor_id 1033 device_id 124 ss_vid 0 ss_did 0
HPC interrupt = 225
pcie_init: SLOT_CTRL 78 value read 7c0
pcie_init : Mask HPIE hp_register_write_word SLOT_CTRL 7c0
pcie_init: Mask HPIE SLOT_STATUS offset 7a reads slot_status 110
pcie_init: SLOT_STATUS offset 7a writes slot_status 1f
pcie_init: request_irq 225 for hpc0 (returns 0)
pcie_init: SLOT_CTRL 78 value read 7c0
pcie_init: slot_cap 500540
pcie_init: temp_word 7e8
pcie_init : Unmask HPIE hp_register_write_word SLOT_CTRL with 7e8
pcie_init: Unmask HPIE SLOT_STATUS offset 7a reads slot_status 110
pcie_init: SLOT_STATUS offset 7a writes slot_status 1f
pciehp_probe: ctrl->pci_bus f5042c80
pciehp_probe: ctrl bus=0x7, device=1, function=0, irq=e1
pcie_get_ctlr_slot_config: PSN 10
get_ctlr_slot_config: bus(0xb) num_slot(0x1) 1st_dev(0x0) psn(0xa)
ctrlcap(40) for b:d (7:1)
pciehp_probe: Before calling pciehp_save_config, ctrl->bus 7,ctrl->slot_bus b
pciehp_save_config: Enter
pciehp_save_config: num_ctlr_slots = 1, first_device_num = 0
FirstSupported = 0, LastSupported = 0
pciehp_save_config: pci_bus->number = b
pciehp_save_config: bus = b, dev = 0
pciehp_save_config: ID = 3408086
class_code = 6, header_type = 81
pciehp_save_config: In do loop
pciehp_save_config: Enter
pciehp_save_config: num_ctlr_slots = 0, first_device_num = 0
FirstSupported = 0, LastSupported = 31
pciehp_save_config: pci_bus->number = b
pciehp_save_config: bus = c, dev = 0
pciehp_save_config: ID = 23221077
class_code = c, header_type = 80
pciehp_save_config: In do loop
pciehp_slot_find: bus c device 7 index 0
pciehp_slot_find: func == NULL
pciehp_save_config: new_slot = 00000000 bus c dev 7 fun 0
pciehp_slot_create: busnumber c
pciehp_save_config: if, new_slot = f695f280 bus c dev 7 fun 0
new_slot->pci_dev = f7f05400
pciehp_save_config: In while loop
class_code = c, header_type = 80
pciehp_save_config: In do loop
pciehp_slot_find: bus c device 7 index 0
pciehp_slot_find: func-> bus c device 7 function 0 pci_dev f7f05400
pciehp_save_config: new_slot = f695f280 bus c dev 7 fun 0
pciehp_slot_find: bus c device 7 index 1
pciehp_slot_find: func-> bus c device 7 function 0 pci_dev f7f05400
pciehp_save_config: while loop, new_slot = 00000000 bus c dev 7 fun 1
pciehp_slot_create: busnumber c
pciehp_save_config: if, new_slot = f695f080 bus c dev 7 fun 1
new_slot->pci_dev = f7f05000
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
!!!!event_thread sleeping
Nothing there
pciehp_save_config: Exit
pciehp_slot_find: bus b device 0 index 0
pciehp_slot_find: func == NULL
pciehp_save_config: new_slot = 00000000 bus b dev 0 fun 0
pciehp_slot_create: busnumber b
pciehp_save_config: if, new_slot = f695f580 bus b dev 0 fun 0
new_slot->pci_dev = f7f05c00
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
class_code = 6, header_type = 81
pciehp_save_config: In do loop
pciehp_save_config: Enter
pciehp_save_config: num_ctlr_slots = 0, first_device_num = 0
FirstSupported = 0, LastSupported = 31
pciehp_save_config: pci_bus->number = b
pciehp_save_config: bus = d, dev = 0
pciehp_save_config: Exit
pciehp_slot_find: bus b device 0 index 0
pciehp_slot_find: func-> bus b device 0 function 0 pci_dev f7f05c00
pciehp_save_config: new_slot = f695f580 bus b dev 0 fun 0
pciehp_slot_find: bus b device 0 index 1
pciehp_slot_find: func-> bus b device 0 function 0 pci_dev f7f05c00
pciehp_save_config: while loop, new_slot = 00000000 bus b dev 0 fun 1
pciehp_slot_create: busnumber b
pciehp_save_config: if, new_slot = f695f480 bus b dev 0 fun 2
new_slot->pci_dev = f7f05800
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: Exit
Save_used_res of PCI bridge b:d=0x7:1, sc=0x507
pciehprm_find_available_resources: pciehp_save_used_resources rc = 0
pciehp_resource_sort_and_combine: head = f78e36b4, *head = f30c5d80
*head->next = 00000000
pciehprm_find_available_resources:pre-Bind PCI 0x7 Ctrl Resource Dump
: BUS Resources:
base= 0xc length= 0x2
: IO Resources:
base= 0x5000 length= 0x1000
: MEM Resources:
base= 0xd0400000 length= 0x100000
: PMEM Resources:
base= 0xd0910000 length= 0x100000
pciehprm_find_available_resources: before bind_pci_resources_to slots
bind_pci_resources_to_slots: vid = 3408086 bus b dev 0 fun 0
pciehp_slot_find: bus b device 0 index 0
pciehp_slot_find: func-> bus b device 0 function 0 pci_dev f7f05c00
bind_pci_resources_to_slots: func = f695f580
Save_used_res of PCI bridge b:d=0xb:0, sc=0x107
pciehp_resource_sort_and_combine: head = f78e36b4, *head = f5c6e840
*head->next = 00000000
pciehp_resource_sort_and_combine: head = f78e36b0, *head = f5dd8780
*head->next = 00000000
pciehp_resource_sort_and_combine: head = f78e36a8, *head = f5dd8760
*head->next = 00000000
pciehp_resource_sort_and_combine: head = f78e36ac, *head = f5c6e880
*head->next = 00000000
: BUS Resources:
base= 0xc length= 0x1
: IO Resources:
base= 0x5000 length= 0x1000
: MEM Resources:
base= 0xd0400000 length= 0x100000
: PMEM Resources:
base= 0xd0910000 length= 0x100000
aCCF:existing PCI 0x7 Func ResourceDump
bind_pci_resources_to_slots: vid = 3418086 bus b dev 0 fun 2
pciehp_slot_find: bus b device 0 index 2
pciehp_slot_find: func-> bus b device 0 function 0 pci_dev f7f05c00
pciehp_slot_find: In while loop, func-> bus b device 0 function 2
pci_dev f7f05800
pciehp_slot_find: while loop, found 1, index 2
pciehp_slot_find: Found bus b dev 0 func 2
bind_pci_resources_to_slots: func = f695f480
Save_used_res of PCI bridge b:d=0xb:0, sc=0x107
pciehp_resource_sort_and_combine: head = f78e36b4, *head = f47559a0
*head->next = 00000000
: BUS Resources:
base= 0xd length= 0x1
aCCF:existing PCI 0x7 Func ResourceDump
pciehprm_find_available_resources:post-Bind PCI 0x7 Ctrl Resource Dump
: BUS Resources:
base= 0xe length= 0x0
: IO Resources:
base= 0x6000 length= 0x0
: MEM Resources:
base= 0xd0500000 length= 0x0
: PMEM Resources:
base= 0xd0a10000 length= 0x0
init_slots
hpc_get_power_status: SLOT_CTRL 78 value read 7e8
hpc_get_attention_status: SLOT_CTRL 78, value read 7e8
Registering bus=b dev=0 hp_slot=0 sun=a slot_device_offset=0
p_slot = f5afed80
pciehp_probe: t_slot f5afed80
pciehp_probe: adpater value 0
pciehp_probe: Called by hp_drv
pciehp_probe: DRV_thread pid = 5188
pcie_init: pdev->vendor 1033 pdev->device 124
pcie_init: pcie_cap_base 0
pcie_init: CAP_REG offset 62 cap_reg 161
pcie_init: SLOT_CAP offset 74 slot_cap 580540
pcie_init: SLOT_STATUS offset 7a slot_status 100
pcie_init: SLOT_CTRL offset 78 slot_ctrl 7c0
pdev = f7f04400: b:d:f:irq=0x7:2:0:e9
pci resource[7] start=0x6000(len=0x1000)
pci resource[8] start=0xd0500000(len=0x100000)
pci resource[9] start=0xd0a00000(len=0x100000)
HPC vendor_id 1033 device_id 124 ss_vid 0 ss_did 0
HPC interrupt = 233
pcie_init: SLOT_CTRL 78 value read 7c0
pcie_init : Mask HPIE hp_register_write_word SLOT_CTRL 7c0
pcie_init: Mask HPIE SLOT_STATUS offset 7a reads slot_status 110
pcie_init: SLOT_STATUS offset 7a writes slot_status 1f
pcie_init: request_irq 233 for hpc1 (returns 0)
pcie_init: SLOT_CTRL 78 value read 7c0
pcie_init: slot_cap 580540
pcie_init: temp_word 7e8
pcie_init : Unmask HPIE hp_register_write_word SLOT_CTRL with 7e8
pcie_init: Unmask HPIE SLOT_STATUS offset 7a reads slot_status 110
pcie_init: SLOT_STATUS offset 7a writes slot_status 1f
pciehp_probe: ctrl->pci_bus f695fa80
pciehp_probe: ctrl bus=0x7, device=2, function=0, irq=e9
pcie_get_ctlr_slot_config: PSN 11
get_ctlr_slot_config: bus(0xe) num_slot(0x1) 1st_dev(0x0) psn(0xb)
ctrlcap(40) for b:d (7:2)
pciehp_probe: Before calling pciehp_save_config, ctrl->bus 7,ctrl->slot_bus e
pciehp_save_config: Enter
pciehp_save_config: num_ctlr_slots = 1, first_device_num = 0
FirstSupported = 0, LastSupported = 0
pciehp_save_config: pci_bus->number = e
pciehp_save_config: bus = e, dev = 0
pciehp_save_config: ID = 3408086
class_code = 6, header_type = 81
pciehp_save_config: In do loop
pciehp_save_config: Enter
pciehp_save_config: num_ctlr_slots = 0, first_device_num = 0
FirstSupported = 0, LastSupported = 31
pciehp_save_config: pci_bus->number = e
pciehp_save_config: bus = f, dev = 0
pciehp_save_config: ID = 23221077
class_code = c, header_type = 80
pciehp_save_config: In do loop
pciehp_slot_find: bus f device 7 index 0
pciehp_slot_find: func == NULL
pciehp_save_config: new_slot = 00000000 bus f dev 7 fun 0
pciehp_slot_create: busnumber f
pciehp_save_config: if, new_slot = f695f680 bus f dev 7 fun 0
new_slot->pci_dev = f7f19400
pciehp_save_config: In while loop
class_code = c, header_type = 80
pciehp_save_config: In do loop
pciehp_slot_find: bus f device 7 index 0
pciehp_slot_find: func-> bus f device 7 function 0 pci_dev f7f19400
pciehp_save_config: new_slot = f695f680 bus f dev 7 fun 0
pciehp_slot_find: bus f device 7 index 1
pciehp_slot_find: func-> bus f device 7 function 0 pci_dev f7f19400
pciehp_save_config: while loop, new_slot = 00000000 bus f dev 7 fun 1
pciehp_slot_create: busnumber f
pciehp_save_config: if, new_slot = f5d42780 bus f dev 7 fun 1
new_slot->pci_dev = f7f19000
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: Exit
pciehp_slot_find: bus e device 0 index 0
pciehp_slot_find: func == NULL
pciehp_save_config: new_slot = 00000000 bus e dev 0 fun 0
pciehp_slot_create: busnumber e
pciehp_save_config: if, new_slot = f5d42680 bus e dev 0 fun 0
new_slot->pci_dev = f7f19c00
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
class_code = 6, header_type = 81
pciehp_save_config: In do loop
pciehp_save_config: Enter
pciehp_save_config: num_ctlr_slots = 0, first_device_num = 0
FirstSupported = 0, LastSupported = 31
pciehp_save_config: pci_bus->number = e
pciehp_save_config: bus = 10, dev = 0
pciehp_save_config: Exit
pciehp_slot_find: bus e device 0 index 0
pciehp_slot_find: func-> bus e device 0 function 0 pci_dev f7f19c00
pciehp_save_config: new_slot = f5d42680 bus e dev 0 fun 0
pciehp_slot_find: bus e device 0 index 1
pciehp_slot_find: func-> bus e device 0 function 0 pci_dev f7f19c00
pciehp_save_config: while loop, new_slot = 00000000 bus e dev 0 fun 1
pciehp_slot_create: busnumber e
pciehp_save_config: if, new_slot = f3964e80 bus e dev 0 fun 2
new_slot->pci_dev = f7f19800
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: In while loop
Nothing there
pciehp_save_config: Exit
Save_used_res of PCI bridge b:d=0x7:2, sc=0x507
pciehprm_find_available_resources: pciehp_save_used_resources rc = 0
pciehp_resource_sort_and_combine: head = f78e37b4, *head = f3339a20
*head->next = 00000000
pciehprm_find_available_resources:pre-Bind PCI 0x7 Ctrl Resource Dump
: BUS Resources:
base= 0xf length= 0x2
: IO Resources:
base= 0x6000 length= 0x1000
: MEM Resources:
base= 0xd0500000 length= 0x100000
: PMEM Resources:
base= 0xd0a10000 length= 0x100000
pciehprm_find_available_resources: before bind_pci_resources_to slots
bind_pci_resources_to_slots: vid = 3408086 bus e dev 0 fun 0
pciehp_slot_find: bus e device 0 index 0
pciehp_slot_find: func-> bus e device 0 function 0 pci_dev f7f19c00
bind_pci_resources_to_slots: func = f5d42680
Save_used_res of PCI bridge b:d=0xe:0, sc=0x107
pciehp_resource_sort_and_combine: head = f78e37b4, *head = f3339960
*head->next = 00000000
pciehp_resource_sort_and_combine: head = f78e37b0, *head = f3339aa0
*head->next = 00000000
pciehp_resource_sort_and_combine: head = f78e37a8, *head = f3339940
*head->next = 00000000
pciehp_resource_sort_and_combine: head = f78e37ac, *head = f3339b00
*head->next = 00000000
: BUS Resources:
base= 0xf length= 0x1
: IO Resources:
base= 0x6000 length= 0x1000
: MEM Resources:
base= 0xd0500000 length= 0x100000
: PMEM Resources:
base= 0xd0a10000 length= 0x100000
aCCF:existing PCI 0x7 Func ResourceDump
bind_pci_resources_to_slots: vid = 3418086 bus e dev 0 fun 2
pciehp_slot_find: bus e device 0 index 2
pciehp_slot_find: func-> bus e device 0 function 0 pci_dev f7f19c00
pciehp_slot_find: In while loop, func-> bus e device 0 function 2
pci_dev f7f19800
pciehp_slot_find: while loop, found 1, index 2
pciehp_slot_find: Found bus e dev 0 func 2
bind_pci_resources_to_slots: func = f3964e80
Save_used_res of PCI bridge b:d=0xe:0, sc=0x107
pciehp_resource_sort_and_combine: head = f78e37b4, *head = f3339c60
*head->next = 00000000
: BUS Resources:
base= 0x10 length= 0x1
aCCF:existing PCI 0x7 Func ResourceDump
pciehprm_find_available_resources:post-Bind PCI 0x7 Ctrl Resource Dump
: BUS Resources:
base= 0x11 length= 0x0
: IO Resources:
base= 0x7000 length= 0x0
: MEM Resources:
base= 0xd0600000 length= 0x0
: PMEM Resources:
base= 0xd0b10000 length= 0x0
init_slots
hpc_get_power_status: SLOT_CTRL 78 value read 7e8
hpc_get_attention_status: SLOT_CTRL 78, value read 7e8
Registering bus=e dev=0 hp_slot=0 sun=b slot_device_offset=0
p_slot = f5afe980
pciehp_probe: t_slot f5afe980
pciehp_probe: adpater value 0
pcie_port_service_register = 0
PCI Express Hot Plug Controller Driver version: 0.4

2005-09-30 20:25:44

by Rajesh Shah

[permalink] [raw]
Subject: Re: [Pcihpd-discuss] Re: ACPI problem with PCI Express Native Hot-plug driver

On Fri, Sep 30, 2005 at 02:57:07PM +0900, Rajat Jain wrote:
>
> pciehp: pfar:cannot locate acpi bridge of PCI 0xb.
> ......
> pciehp: pfar:cannot locate acpi bridge of PCI 0xe.

This is saying that the driver's probe function was called for
these pciehp capable bridges, but it didn't find them in the
ACPI namespace.

>
> I am not sure where the problem lies. But the fact that the entries
> are appearing correctly when I disable ACPI, combined with above error
> messages, I suspect that there is a problem with ACPI namespace
> (probably the resources cannot be found using ACPI).
>
At init time, the pciehp driver scans the ACPI namespace and tries
to collect resources for all bridges - host as well as PCI. It's
pretty rare for BIOS to describe PCI bridge resources in ACPI
namespace, so that's not unusual. What's unexpected is that these
pciehp bridges weren't even listed in the namespace.

With the pciehp version that has acpi disabled, it's not going to
try to get bridge resources and other information from acpi. In
that case, it simply reads the bridge config space to determine
resource ranges it is decoding. This is what the acpi version of
pciehp also defaults to for PCI bridges that are listed without
resource descriptions in the acpi namespace. So, the error you
are running into is somewhat bogus. The proper long term fix
is to change pciehp to not depend so much on acpi and just use
the pci core for resource management. In the meantime, you should
just use the non-acpi version of pciehp.

Rajesh

2005-10-03 05:07:29

by Rajat Jain

[permalink] [raw]
Subject: Re: [Pcihpd-discuss] Re: ACPI problem with PCI Express Native Hot-plug driver

On 10/1/05, Rajesh Shah <[email protected]> wrote:
> On Fri, Sep 30, 2005 at 02:57:07PM +0900, Rajat Jain wrote:
> >
> > pciehp: pfar:cannot locate acpi bridge of PCI 0xb.
> > ......
> > pciehp: pfar:cannot locate acpi bridge of PCI 0xe.
>
> This is saying that the driver's probe function was called for
> these pciehp capable bridges, but it didn't find them in the
> ACPI namespace.
>
> >

Hi Rajesh,

Thanks for the insight. But my doubt is that the PCI Express devices
down the hot-pluggable slots are working fine. i.e. if we forget about
the hot-plugging / unplugging, the bridges and devices are working
fine, even with ACPI enabled.

So is the presence of bridges in ACPI namespace required only for
hot-plugging / unplugging and not for normal operation?

Thanks,

Rajat

2005-10-03 18:15:17

by Rajesh Shah

[permalink] [raw]
Subject: Re: [Pcihpd-discuss] Re: ACPI problem with PCI Express Native Hot-plug driver

On Mon, Oct 03, 2005 at 02:07:26PM +0900, Rajat Jain wrote:

> Thanks for the insight. But my doubt is that the PCI Express devices
> down the hot-pluggable slots are working fine. i.e. if we forget about
> the hot-plugging / unplugging, the bridges and devices are working
> fine, even with ACPI enabled.
>
> So is the presence of bridges in ACPI namespace required only for
> hot-plugging / unplugging and not for normal operation?
>
Yes, that's correct. The PCI core will correctly scan PCI bridges
independent of their presence in the acpi namespace.

PS: trimming the cc list a bit, as I'm getting rejects due to
too many recipients. pcihp-discuss is the correct list for pciehp
related questions.

Rajesh

2005-10-05 04:10:55

by Rajat Jain

[permalink] [raw]
Subject: Re: [Pcihpd-discuss] Re: ACPI problem with PCI Express Native Hot-plug driver

> On 10/1/05, Rajesh Shah <[email protected]> wrote:
> > On Fri, Sep 30, 2005 at 02:57:07PM +0900, Rajat Jain wrote:
> > >
> > > pciehp: pfar:cannot locate acpi bridge of PCI 0xb.
> > > ......
> > > pciehp: pfar:cannot locate acpi bridge of PCI 0xe.
> >
> > This is saying that the driver's probe function was called for
> > these pciehp capable bridges, but it didn't find them in the
> > ACPI namespace.
> >

Hi Rajesh,

Thanks a lot, for ending my doubts. I am working on a hardware that is
still under development. So the chances of missing certain things in
hardware / BIOS are high. So the solution for this is to ask my
Hardware vendor to provide the information for these bridges into the
ACPI namespace (AML / DSDT?)?

Thanks a ton,

Rajat