fjes driver call trace warning, "PNP0C02" used in fjes seems like a bug,
Subsystems (2)
Hi all:
The bug is recorded in https://bugs.linaro.org/show_bug.cgi?id=2292.
"PNP0C02" attached two modules drivers/pnp/system.c and drivers/net/fjes/fjes_main.c . "fjes" driver lead to the call trace.
system.c:
static const struct pnp_device_id pnp_dev_table[] = {
/* General ID for reserving resources */
{"PNP0c02", 0},
/* memory controller */
{"PNP0c01", 0},
{"", 0}
};jes_main.c:
static const struct acpi_device_id fjes_acpi_ids[] = {
{"PNP0C02", 0},
{"", 0},
};Both of the modules use id "PNP0C02" (case insensitive),
I used "PNP0C02" to mark motherboard reserved resource as below in UEFI. Device (RES1)
{
Name (_HID, "HISI0081") // HiSi PCIe RC config baseaddress
Name (_CID, "PNP0C02") // Motherboard reserved resource
Name (_CRS, ResourceTemplate (){
Memory32Fixed (ReadWrite, 0xb0080000 , 0x10000)
})
}I think that "PNP0C02" should be used to mark any motherboard reserved resource and not a specific network driver. It seems like a bug in the "fjes" driver.
Thanks
Dongdong
Hi Dongdong
Thanks for flagging this
+to: Taku Izumi <[email protected]>
Gab
Quoted 60 lines
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Dongdong Liu
Sent: 03 June 2016 10:38
To: [email protected]
Cc: Linuxarm
Subject: [bug discuss] fjes driver call trace warning, "PNP0C02" used in fjes seems like a bug,Hi all:
The bug is recorded in https://bugs.linaro.org/show_bug.cgi?id=2292.
"PNP0C02" attached two modules
drivers/pnp/system.canddrivers/net/fjes/fjes_main.c.
"fjes" driver lead to the call trace.
system.c:static const struct pnp_device_id pnp_dev_table[] = { /* General ID for reserving resources */ {"PNP0c02", 0}, /* memory controller */ {"PNP0c01", 0}, {"", 0} };
jes_main.c:static const struct acpi_device_id fjes_acpi_ids[] = { {"PNP0C02", 0}, {"", 0}, };Both of the modules use id "PNP0C02" (case insensitive),
I used "PNP0C02" to mark motherboard reserved resource as below in UEFI.
Device (RES1){ Name (_HID, "HISI0081") // HiSi PCIe RC config baseaddress Name (_CID, "PNP0C02") // Motherboard reserved resource Name (_CRS, ResourceTemplate (){ Memory32Fixed (ReadWrite, 0xb0080000 , 0x10000) }) }I think that "PNP0C02" should be used to mark any motherboard reserved resource and not a specific network driver.
It seems like a bug in the "fjes" driver.Thanks
Dongdong
_______________________________________________
linuxarm mailing list
[email protected]
http://rnd-openeuler.huawei.com/mailman/listinfo/linuxarm
Quoted 56 lines · Gabriele Paoloni
Hi Dongdong
Thanks for flagging this
+to: Taku Izumi <[email protected]>
Gab
Quoted 48 lines
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Dongdong Liu
Sent: 03 June 2016 10:38
To: [email protected]
Cc: Linuxarm
Subject: [bug discuss] fjes driver call trace warning, "PNP0C02" used in fjes seems like a bug,Hi all:
The bug is recorded in https://bugs.linaro.org/show_bug.cgi?id=2292.
"PNP0C02" attached two modules
drivers/pnp/system.canddrivers/net/fjes/fjes_main.c.
"fjes" driver lead to the call trace.
system.c:static const struct pnp_device_id pnp_dev_table[] = { /* General ID for reserving resources */ {"PNP0c02", 0}, /* memory controller */ {"PNP0c01", 0}, {"", 0} };
jes_main.c:static const struct acpi_device_id fjes_acpi_ids[] = { {"PNP0C02", 0}, {"", 0}, };Both of the modules use id "PNP0C02" (case insensitive),
I used "PNP0C02" to mark motherboard reserved resource as below in UEFI.
Device (RES1){ Name (_HID, "HISI0081") // HiSi PCIe RC config baseaddress Name (_CID, "PNP0C02") // Motherboard reserved resource Name (_CRS, ResourceTemplate (){ Memory32Fixed (ReadWrite, 0xb0080000 , 0x10000) }) }I think that "PNP0C02" should be used to mark any motherboard reserved resource and not a specific network driver.
It seems like a bug in the "fjes" driver.
I agree, PNP0C02 is not a valid ACPI device HID but only for reserved resources.
Thanks
Hanjun
Dear Liu,
Quoted 7 lines
-----Original Message-----
From: Gabriele Paoloni [mailto:[email protected]]
Sent: Friday, June 03, 2016 6:59 PM
To: liudongdong (C); Izumi, Taku/泉 拓
Cc: Linuxarm; [email protected]
Subject: RE: [bug discuss] fjes driver call trace warning, "PNP0C02" used in fjes seems like a bug,
Quoted 56 lines
Hi Dongdong
Thanks for flagging this
+to: Taku Izumi <[email protected]>
Gab
Quoted 48 lines
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Dongdong Liu
Sent: 03 June 2016 10:38
To: [email protected]
Cc: Linuxarm
Subject: [bug discuss] fjes driver call trace warning, "PNP0C02" used in fjes seems like a bug,Hi all:
The bug is recorded in https://bugs.linaro.org/show_bug.cgi?id=2292.
"PNP0C02" attached two modules
drivers/pnp/system.canddrivers/net/fjes/fjes_main.c.
"fjes" driver lead to the call trace.
system.c:static const struct pnp_device_id pnp_dev_table[] = { /* General ID for reserving resources */ {"PNP0c02", 0}, /* memory controller */ {"PNP0c01", 0}, {"", 0} };
jes_main.c:static const struct acpi_device_id fjes_acpi_ids[] = { {"PNP0C02", 0}, {"", 0}, };Both of the modules use id "PNP0C02" (case insensitive),
I used "PNP0C02" to mark motherboard reserved resource as below in UEFI.
Device (RES1){ Name (_HID, "HISI0081") // HiSi PCIe RC config baseaddress Name (_CID, "PNP0C02") // Motherboard reserved resource Name (_CRS, ResourceTemplate (){ Memory32Fixed (ReadWrite, 0xb0080000 , 0x10000) }) }I think that "PNP0C02" should be used to mark any motherboard reserved resource and not a specific network driver.
It seems like a bug in the "fjes" driver.
Extended Socket network device is a shared memory based high-speed network interface between Extended Partitions of PRIMEQUEST 2000 E2 series. To check if firmware supports Extended Socket network device, we take use of "PCP0C02" device and special strings in DSDT.
"fjes" is not only "platform device driver (mainly act as network
driver" but also "acpi driver" . If "PCP0C02" found and it is for Extended Socket network device, platform_device will be created.
Sincerely,
Taku Izumi
Quoted 12 lines
Quoted 12 lines
Thanks
Dongdong
_______________________________________________
linuxarm mailing list
[email protected]
http://rnd-openeuler.huawei.com/mailman/listinfo/linuxarm
Hi Taku Izumi
Quoted 83 lines
-----Original Message-----
From: Izumi, Taku [mailto:[email protected]]
Sent: 06 June 2016 10:34
To: Gabriele Paoloni; liudongdong (C)
Cc: Linuxarm; [email protected]
Subject: RE: [bug discuss] fjes driver call trace warning, "PNP0C02" used in fjes seems like a bug,Dear Liu,
Quoted 6 lines
-----Original Message-----
From: Gabriele Paoloni [mailto:[email protected]]
Sent: Friday, June 03, 2016 6:59 PM
To: liudongdong (C); Izumi, Taku/泉 拓
Cc: Linuxarm; [email protected]
Subject: RE: [bug discuss] fjes driver call trace warning, "PNP0C02"used in fjes seems like a bug,
Quoted 11 lines
Hi Dongdong
Thanks for flagging this
+to: Taku Izumi <[email protected]>
Gab
Quoted 2 lines
-----Original Message-----
From: [email protected] [mailto:linuxarm-Quoted 5 lines
Quoted 5 lines
On Behalf Of Dongdong Liu
Sent: 03 June 2016 10:38
To: [email protected]
Cc: Linuxarm
Subject: [bug discuss] fjes driver call trace warning, "PNP0C02"used
Quoted 38 lines
Quoted 38 lines
in fjes seems like a bug,
Hi all:
The bug is recorded in https://bugs.linaro.org/show_bug.cgi?id=2292.
"PNP0C02" attached two modules
drivers/pnp/system.canddrivers/net/fjes/fjes_main.c.
"fjes" driver lead to the call trace.
system.c:static const struct pnp_device_id pnp_dev_table[] = { /* General ID for reserving resources */ {"PNP0c02", 0}, /* memory controller */ {"PNP0c01", 0}, {"", 0} };
jes_main.c:static const struct acpi_device_id fjes_acpi_ids[] = { {"PNP0C02", 0}, {"", 0}, };Both of the modules use id "PNP0C02" (case insensitive),
I used "PNP0C02" to mark motherboard reserved resource as below in UEFI.
Device (RES1){ Name (_HID, "HISI0081") // HiSi PCIe RC config baseaddress Name (_CID, "PNP0C02") // Motherboard reserved resource Name (_CRS, ResourceTemplate (){ Memory32Fixed (ReadWrite, 0xb0080000 , 0x10000) }) }Quoted 1 line
Quoted 1 line
I think that "PNP0C02" should be used to mark any motherboard
reserved
Quoted 2 lines
Quoted 2 lines
resource and not a specific network driver.
It seems like a bug in the "fjes" driver.Extended Socket network device is a shared memory based high-speed network interface between Extended Partitions of PRIMEQUEST 2000 E2 series. To check if firmware supports Extended Socket network device, we take use of "PCP0C02" device and special strings in DSDT.
Quoted 5 lines
"fjes" is not only "platform device driver (mainly act as network
driver" but also "acpi driver" . If "PCP0C02" found and it is for Extended Socket network device,platform_devicewill be created.From my understanding PNP0C02 is not a valid ACPI device HID but it is
to be used only to reserve motherboard resources.
Can you please explain your identifier choice?
Thanks
Gab
Quoted 16 lines
Sincerely,
Taku IzumiQuoted 12 lines
Quoted 12 lines
Thanks
Dongdong
_______________________________________________
linuxarm mailing list
[email protected]
http://rnd-openeuler.huawei.com/mailman/listinfo/linuxarm
Dear Gab,
Quoted 10 lines
Quoted 10 lines
Quoted 1 line
Quoted 1 line
I think that "PNP0C02" should be used to mark any motherboard
reserved
Quoted 2 lines
Quoted 2 lines
resource and not a specific network driver.
It seems like a bug in the "fjes" driver.Extended Socket network device is a shared memory based high-speed network interface between Extended Partitions of PRIMEQUEST 2000 E2 series. To check if firmware supports Extended Socket network device, we take use of "PCP0C02" device and special strings in DSDT.
Quoted 8 lines
Quoted 3 lines
"fjes" is not only "platform device driver (mainly act as network
driver" but also "acpi driver" . If "PCP0C02" found and it is for Extended Socket network device,platform_devicewill be created.From my understanding PNP0C02 is not a valid ACPI device HID but it is to be used only to reserve motherboard resources.
Can you please explain your identifier choice?
Sorry for late.
Extended Socket network device is not a physical device. This is a kind of virtual device in memory region which firmware provides. This driver retrieves resource information
(memory reagion address firmware provides and so on)
via PNP0C02. This resource is firmware reserved resources so we use PNP0C02.
Sincerely,
Taku Izumi
Quoted 19 lines
Gab
Quoted 16 lines
Sincerely,
Taku IzumiQuoted 12 lines
Quoted 12 lines
Thanks
Dongdong
_______________________________________________
linuxarm mailing list
[email protected]
http://rnd-openeuler.huawei.com/mailman/listinfo/linuxarm
+TO: David Miller
+CC: [email protected]
Quoted 32 lines
-----Original Message-----
From: Izumi, Taku [mailto:[email protected]]
Sent: 08 June 2016 03:27
To: Gabriele Paoloni; liudongdong (C)
Cc: Linuxarm; [email protected]
Subject: RE: [bug discuss] fjes driver call trace warning, "PNP0C02" used in fjes seems like a bug,Dear Gab,
Quoted 6 lines
Quoted 6 lines
Quoted 1 line
Quoted 1 line
I think that "PNP0C02" should be used to mark any motherboard
reserved
Quoted 2 lines
Quoted 2 lines
resource and not a specific network driver.
It seems like a bug in the "fjes" driver.Extended Socket network device is a shared memory based high-
speed
Quoted 1 line
Quoted 1 line
network interface between Extended Partitions of PRIMEQUEST 2000
E2
Quoted 1 line
Quoted 1 line
series. To check if firmware supports Extended Socket network
device,
Quoted 4 lines
Quoted 4 lines
we take use of "PCP0C02" device and special strings in DSDT.
"fjes" is not only "platform device driver (mainly act as network
driver" but also "acpi driver" . If "PCP0C02" found and it isfor
Quoted 3 lines
Quoted 1 line
Extended Socket network device,
platform_devicewill be created.From my understanding PNP0C02 is not a valid ACPI device HID but it
is
Quoted 2 lines
to be used only to reserve motherboard resources.
Quoted 8 lines
Quoted 1 line
Can you please explain your identifier choice?
Sorry for late.
Extended Socket network device is not a physical device. This is a kind of virtual device in memory region which firmware provides.
From a SW perspective it like an acpi driver that uses "PNP0C02"
as driver ids to perform the driver match in the ACPI table.
Quoted 1 line
From my understanding this is wrong in principle because that identifier
must be used to reserve motherboard resources (see par 4.1.2 of the PCI Firmware Specifications v3.2)
Therefore such identifier it is used from
http://lxr.free-electrons.com/source/drivers/pnp/system.c
to reserve such resources.
Basically your driver is breaking any other device that needs to reserve motherboard resources through system.c driver.
@David Miller, what is your opinion about this?
I think this driver should be reverted...
Thanks
Gab
Quoted 27 lines
This driver retrieves resource information
(memory reagion address firmware provides and so on)
via PNP0C02. This resource is firmware reserved resources so we use PNP0C02.Sincerely,
Taku IzumiQuoted 19 lines
Gab
Quoted 16 lines
Sincerely,
Taku IzumiQuoted 12 lines
Quoted 12 lines
Thanks
Dongdong
_______________________________________________
linuxarm mailing list
[email protected]
http://rnd-openeuler.huawei.com/mailman/listinfo/linuxarm
Dear Gao,
Quoted 11 lines
From a SW perspective it like an acpi driver that uses "PNP0C02" as driver ids to perform the driver match in the ACPI table.
From my understanding this is wrong in principle because that identifier must be used to reserve motherboard resources (see par 4.1.2 of the PCI Firmware Specifications v3.2)
Therefore such identifier it is used from
http://lxr.free-electrons.com/source/drivers/pnp/system.c
to reserve such resources.
Quoted 6 lines
Basically your driver is breaking any other device that needs to reserve motherboard resources through
system.cdriver.@David Miller, what is your opinion about this?
I think this driver should be reverted...
I'm willing to revise my driver if it's something wrong.
I can't reproduce this problem. Could you please show me how to reproduce problem ?
Sincerely,
Taku Izumi