Bug 194687

Summary: Opregion Dependency - ACPI Error: No handler for Region [GPOP]
Product: ACPI Reporter: alan (alan90000)
Component: Config-OtherAssignee: Lv Zheng (lv.zheng)
Status: CLOSED DOCUMENTED    
Severity: high CC: alan90000, lenb, rui.zhang
Priority: P1    
Hardware: Intel   
OS: Linux   
Kernel Version: 4.10.1, 4.11-rc5,4.12-rc, 4.13-rc Subsystem:
Regression: No Bisected commit-id:
Attachments: acpidum informations
dmesg411rc4
My dsdt.dsl file

Description alan 2017-02-24 02:28:16 UTC
A lot of ACPI ERRORS:

ACPI Error: No handler for Region [GPOP] (ffff9999368b6f78) [GeneralPurposeIo] (20160422/evregion-166)
ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160422/exfldio-299)
ACPI Error: Method parse/execution failed [_SB.I2C2.CAM1._STA] (Node ffff9999368bb848), AE_NOT_EXIST (20160422/psparse-542)
ACPI Error: No handler for Region [GPOP] (ffff9999368b6f78) [GeneralPurposeIo] (20160422/evregion-166)
ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160422/exfldio-299)
ACPI Error: Method parse/execution failed [_SB.I2C2.CAM1._STA] (Node ffff9999368bb848), AE_NOT_EXIST (20160422/psparse-542)
ACPI Error: Method execution failed [_SB.I2C2.CAM1._STA] (Node ffff9999368bb848), AE_NOT_EXIST (20160422/uteval-103)
ACPI Error: No handler for Region [GPOP] (ffff9999368b6f78) [GeneralPurposeIo] (20160422/evregion-166)
ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160422/exfldio-299)
ACPI Error: Method parse/execution failed [_SB.I2C2.CAM2._STA] (Node ffff9999368bbaf0), AE_NOT_EXIST (20160422/psparse-542)
ACPI Error: No handler for Region [GPOP] (ffff9999368b6f78) [GeneralPurposeIo] (20160422/evregion-166)
ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160422/exfldio-299)
ACPI Error: Method parse/execution failed [_SB.I2C2.CAM2._STA] (Node ffff9999368bbaf0), AE_NOT_EXIST (20160422/psparse-542)
ACPI Error: Method execution failed [_SB.I2C2.CAM2._STA] (Node ffff9999368bbaf0), AE_NOT_EXIST (20160422/uteval-103)
ACPI Error: No handler for Region [GPOP] (ffff9999368b6f78) [GeneralPurposeIo] (20160422/evregion-166)
ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160422/exfldio-299)
ACPI Error: Method parse/execution failed [_SB.I2C2.CAM3._STA] (Node ffff9999368bb000), AE_NOT_EXIST (20160422/psparse-542)
ACPI Error: No handler for Region [GPOP] (ffff9999368b6f78) [GeneralPurposeIo] (20160422/evregion-166)
ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160422/exfldio-299)
ACPI Error: Method parse/execution failed [_SB.I2C2.CAM3._STA] (Node ffff9999368bb000), AE_NOT_EXIST (20160422/psparse-542)
ACPI Error: Method execution failed [_SB.I2C2.CAM3._STA] (Node ffff9999368bb000), AE_NOT_EXIST (20160422/uteval-103)
ACPI Error: No handler for Region [GPOP] (ffff9999368b6f78) [GeneralPurposeIo] (20160422/evregion-166)
ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160422/exfldio-299)
ACPI Error: Method parse/execution failed [_SB.I2C2.CAM4._STA] (Node ffff9999368bb208), AE_NOT_EXIST (20160422/psparse-542)
ACPI Error: No handler for Region [GPOP] (ffff9999368b6f78) [GeneralPurposeIo] (20160422/evregion-166)
ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160422/exfldio-299)
ACPI Error: Method parse/execution failed [_SB.I2C2.CAM4._STA] (Node ffff9999368bb208), AE_NOT_EXIST (20160422/psparse-542)
ACPI Error: Method execution failed [_SB.I2C2.CAM4._STA] (Node ffff9999368bb208), AE_NOT_EXIST (20160422/uteval-103)
ACPI Error: No handler for Region [XSCG] (ffff9999368bdaf8) [GenericSerialBus] (20160422/evregion-166)
ACPI Error: Region GenericSerialBus (ID=9) has no handler (20160422/exfldio-299)
ACPI Error: Method parse/execution failed [_SB.ADP1._PSR] (Node ffff9999368c6b18), AE_NOT_EXIST (20160422/psparse-542)
ACPI Exception: AE_NOT_EXIST, Error reading AC Adapter state (20160422/ac-128)
Comment 1 Zhang Rui 2017-02-27 07:05:13 UTC
please attach the acpidump output.
Comment 2 alan 2017-02-28 11:32:07 UTC
Hello,

I have the same errors on 4.10.1 kernel :

[    0.461222] ACPI Error: No handler for Region [GPOP] (ffff8846768be1f8) [GeneralPurposeIo] (20160930/evregion-166)
[    0.461244] ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160930/exfldio-299)
[    0.461261] ACPI Error: Method parse/execution failed [\_SB.I2C2.CAM1._STA] (Node ffff8846768c3398), AE_NOT_EXIST (20160930/psparse-543)
[    0.461337] ACPI Error: No handler for Region [GPOP] (ffff8846768be1f8) [GeneralPurposeIo] (20160930/evregion-166)
[    0.461354] ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160930/exfldio-299)
[    0.461369] ACPI Error: Method parse/execution failed [\_SB.I2C2.CAM1._STA] (Node ffff8846768c3398), AE_NOT_EXIST (20160930/psparse-543)
[    0.461394] ACPI Error: Method execution failed [\_SB.I2C2.CAM1._STA] (Node ffff8846768c3398), AE_NOT_EXIST (20160930/uteval-103)
[    0.461533] ACPI: Power Resource [P28P] (off)
[    0.461665] ACPI: Power Resource [P18P] (off)
[    0.462141] ACPI Error: No handler for Region [GPOP] (ffff8846768be1f8) [GeneralPurposeIo] (20160930/evregion-166)
[    0.462158] ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160930/exfldio-299)
[    0.462174] ACPI Error: Method parse/execution failed [\_SB.I2C2.CAM2._STA] (Node ffff8846768c31e0), AE_NOT_EXIST (20160930/psparse-543)
[    0.462248] ACPI Error: No handler for Region [GPOP] (ffff8846768be1f8) [GeneralPurposeIo] (20160930/evregion-166)
[    0.462264] ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160930/exfldio-299)
[    0.462288] ACPI Error: Method parse/execution failed [\_SB.I2C2.CAM2._STA] (Node ffff8846768c31e0), AE_NOT_EXIST (20160930/psparse-543)
[    0.462321] ACPI Error: Method execution failed [\_SB.I2C2.CAM2._STA] (Node ffff8846768c31e0), AE_NOT_EXIST (20160930/uteval-103)
[    0.462755] ACPI Error: No handler for Region [GPOP] (ffff8846768be1f8) [GeneralPurposeIo] (20160930/evregion-166)
[    0.462781] ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160930/exfldio-299)
[    0.462805] ACPI Error: Method parse/execution failed [\_SB.I2C2.CAM3._STA] (Node ffff8846768c32d0), AE_NOT_EXIST (20160930/psparse-543)
[    0.462888] ACPI Error: No handler for Region [GPOP] (ffff8846768be1f8) [GeneralPurposeIo] (20160930/evregion-166)
[    0.462912] ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160930/exfldio-299)
[    0.462936] ACPI Error: Method parse/execution failed [\_SB.I2C2.CAM3._STA] (Node ffff8846768c32d0), AE_NOT_EXIST (20160930/psparse-543)
[    0.462969] ACPI Error: Method execution failed [\_SB.I2C2.CAM3._STA] (Node ffff8846768c32d0), AE_NOT_EXIST (20160930/uteval-103)
[    0.463462] ACPI Error: No handler for Region [GPOP] (ffff8846768be1f8) [GeneralPurposeIo] (20160930/evregion-166)
[    0.463488] ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160930/exfldio-299)
[    0.463512] ACPI Error: Method parse/execution failed [\_SB.I2C2.CAM4._STA] (Node ffff8846768c39b0), AE_NOT_EXIST (20160930/psparse-543)
[    0.463595] ACPI Error: No handler for Region [GPOP] (ffff8846768be1f8) [GeneralPurposeIo] (20160930/evregion-166)
[    0.463619] ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160930/exfldio-299)
[    0.463642] ACPI Error: Method parse/execution failed [\_SB.I2C2.CAM4._STA] (Node ffff8846768c39b0), AE_NOT_EXIST (20160930/psparse-543)
[    0.463675] ACPI Error: Method execution failed [\_SB.I2C2.CAM4._STA] (Node ffff8846768c39b0), AE_NOT_EXIST (20160930/uteval-103)

[    0.486064] acpi PNP0A08:00: _OSC: OS supports [ASPM ClockPM Segments MSI]
[    0.486196] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
[    0.486227] acpi PNP0A08:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge.

[    2.183390] ACPI Error: No handler for Region [XSCG] (ffff8846768c5c60) [GenericSerialBus] (20160930/evregion-166)
[    2.183552] ACPI Error: Region GenericSerialBus (ID=9) has no handler (20160930/exfldio-299)
[    2.183684] ACPI Error: Method parse/execution failed [\_SB.ADP1._PSR] (Node ffff8846768cede8), AE_NOT_EXIST (20160930/psparse-543)
[    2.183874] ACPI Exception: AE_NOT_EXIST, Error reading AC Adapter state (20160930/ac-128)

[    2.759453] ACPI Warning: Could not enable fixed event - RealTimeClock (4) (20160930/evxface-654)

You will find my acpidump informations in attachment.
Comment 3 alan 2017-02-28 11:34:08 UTC
Created attachment 254977 [details]
acpidum informations
Comment 4 alan 2017-02-28 11:39:15 UTC
Thanks for your help.
Comment 5 alan 2017-03-03 13:12:43 UTC
I missed to tell to you that the errors are shown in red in the result of the dmesg command. I guess they're considered critical. That's why I changed the importance option from normal to high
Comment 6 alan 2017-03-07 13:43:47 UTC
This message to say that the same errors are also available in the 4.11-rc1 kernel.
Comment 7 alan 2017-03-14 09:51:09 UTC
I see some changes in the 4.11-rc2 kernel for opregion errors (changelog):

drm/i915/gvt: Fix check error on opregion.c

Can you tell me if the problem is solved in the 4.11-rc2 kernel ?

Thanks.
Comment 8 alan 2017-03-17 15:50:00 UTC
Hello,

I have still these errors with the 4.11-rc2 version. :-(
Comment 9 Lv Zheng 2017-03-23 06:19:10 UTC
Could you please also upload the boot log so that we can see the boot order.
Looks like a driver dependency problem by first glance.
Comment 10 alan 2017-03-23 15:09:13 UTC
Hi,

I've got a /var/log/boot.log file but it is empty.

Is there another possibility to give you the informations they are necessary for you ?
Comment 11 alan 2017-03-23 15:16:46 UTC
I forgot to tell you that I've got a dual boot Windows10/Linux system on my hardware. This can have an impact for this error ?
Comment 12 alan 2017-03-28 12:14:49 UTC
Hi,

I don't know if it can help you, but I attached my dmesg informations from the 4.11-rc4 kernel.
Comment 13 alan 2017-03-28 12:19:53 UTC
Created attachment 255597 [details]
dmesg411rc4
Comment 14 Lv Zheng 2017-03-29 08:09:56 UTC
Maybe a duplication of this bug: Bug 194917.
Need to check the dmesg output and acpidump output.
Comment 15 alan 2017-03-29 11:47:22 UTC
Ok. The ACPI errors are in red when I display the dmesg output, and the errors are also displayed during boot process.

If you need more informations, tell me. 

Last thing, I would like to know if these errors depend on the same bug or not :

[    2.183390] ACPI Error: No handler for Region [XSCG] (ffff8846768c5c60) [GenericSerialBus] (20160930/evregion-166)
[    2.183552] ACPI Error: Region GenericSerialBus (ID=9) has no handler (20160930/exfldio-299)
[    2.183684] ACPI Error: Method parse/execution failed [\_SB.ADP1._PSR] (Node ffff8846768cede8), AE_NOT_EXIST (20160930/psparse-543)
[    2.183874] ACPI Exception: AE_NOT_EXIST, Error reading AC Adapter state (20160930/ac-128)

Thanks.
Comment 16 alan 2017-04-03 08:47:08 UTC
Hi,

have you got news about this bug ?

Do you think it can be solve easily or not ?

I also try to find a solution for another bug : 

i2c_hid i2c-FTSC1000:00: hid_descr_cmd failed

FTSC1000:00 matches to my touchscreen.

Do you know who I can contact to resolve this issue or can you share it ? 
I posted a bug report for this last bug but nobody reply. :(

Thanks.
Comment 17 alan 2017-04-14 11:34:29 UTC
Hi,

it seems that one of your patch solved these error messages:

[    2.183390] ACPI Error: No handler for Region [XSCG] (ffff8846768c5c60) [GenericSerialBus] (20160930/evregion-166)
[    2.183552] ACPI Error: Region GenericSerialBus (ID=9) has no handler (20160930/exfldio-299)
[    2.183684] ACPI Error: Method parse/execution failed [\_SB.ADP1._PSR] (Node ffff8846768cede8), AE_NOT_EXIST (20160930/psparse-543)
[    2.183874] ACPI Exception: AE_NOT_EXIST, Error reading AC Adapter state (20160930/ac-128)

I used the kernel sources from jwrdegoede and these 4 errors above have disappeared for me now. But I have still the errors that I have indicated above  (ACPI Error: No handler for Region [GPOP] (ffff8846768be1f8) [GeneralPurposeIo] (20160930/evregion-166)
[    0.461244] ACPI Error: Region GeneralPurposeIo (ID=8) has no handler (20160930/exfldio-299)
....) :(

Thanks for your work.
Comment 18 alan 2017-04-19 12:19:37 UTC
Hi,

Have you got news about this bug ? Have you find a solution ? 

It is an annoying problem for me when I'm using my hardware. :(

Thanks.
Comment 19 alan 2017-05-04 11:08:20 UTC
Hello,

@ lv.zheng and rui.zhang: Sorry to bother you but have you got news about this bug ? 

Do you need more informations from me ?

Thanks.
Comment 20 alan 2017-05-11 13:41:19 UTC
Hi,

a guy have the same bug on a Cube i7 tablet. See it: https://ask.fedoraproject.org/en/question/101141/question-about-drivers-for-fedora-25/ (full log).

Cube i7 seems similar as mine (the touchscreen is similar).

Regards.
Comment 21 alan 2017-06-07 12:06:26 UTC
Hello,

I add my dsdt.dsl file to this bug report. Perhaps it can help you to fix that bug or to know what's wrong.
Comment 22 alan 2017-06-07 12:07:44 UTC
Created attachment 256903 [details]
My dsdt.dsl file
Comment 23 Zhang Rui 2017-07-01 08:36:24 UTC
> it seems that one of your patch solved these error messages:

which patch do you mean? patches in comment #194917?

For the othere GeneralPurposeIO operation region errors, the root cause is that
1. cam1/cam2/cam3/cam4 share the same _STA method as following
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((^^^GPO2.CCD1 == Zero) && (^^^GPO2.CCD2 == One))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }
and I2C operation region field CCD1/CCD2 is accessed in _STA.
2. these _STA methods are evaluated at ACPI enumeration phase, before the GPIO controller driver being probed...
Comment 24 alan 2017-07-02 12:31:04 UTC
@ Zhang Rui: With the last 4.12-rc7 kernel, the errors messages that I had got in the comment 17 vanished. I use the kernel sources from Hans de Goede.

Do you know if there is a workaround or a patch to solve the others GeneralPurposeIO operation region errors as you know what is the problem ?

Thanks.
Comment 25 Zhang Rui 2017-07-02 14:38:55 UTC
(In reply to alan from comment #24)
> @ Zhang Rui: With the last 4.12-rc7 kernel, the errors messages that I had
> got in the comment 17 vanished. I use the kernel sources from Hans de Goede.

what do you mean from Hans?
isn't it a vanilla upstream kernel? If not, better check if the problem is also gone in vanilla kernel.

> 
> Do you know if there is a workaround or a patch to solve the others
> GeneralPurposeIO operation region errors as you know what is the problem ?
> 
No, I need to think about how to get this problem solved.

BTW, all the other problems are gone except this GeneralPurposeIO errors, right?
Comment 26 Zhang Rui 2017-07-03 06:48:00 UTC
(In reply to alan from comment #11)
> I forgot to tell you that I've got a dual boot Windows10/Linux system on my
> hardware. This can have an impact for this error ?

do these devices work well in Windows?
Comment 27 Zhang Rui 2017-07-03 07:23:41 UTC
IMO, this is a buggy firmware, and the CAM* devices can never work well on such a platform.
Comment 28 alan 2017-07-03 10:32:40 UTC
Hi,

(In reply to Zhang Rui from comment #25)
> (In reply to alan from comment #24)
> > @ Zhang Rui: With the last 4.12-rc7 kernel, the errors messages that I had
> > got in the comment 17 vanished. I use the kernel sources from Hans de
> Goede.
> 
> what do you mean from Hans?
> isn't it a vanilla upstream kernel? If not, better check if the problem is
> also gone in vanilla kernel.
> 
> > 
> > Do you know if there is a workaround or a patch to solve the others
> > GeneralPurposeIO operation region errors as you know what is the problem ?
> > 
> No, I need to think about how to get this problem solved.
> 
> BTW, all the other problems are gone except this GeneralPurposeIO errors,
> right?

I'm using the kernel sources from jwrdegoede (Hans de Goede): https://github.com/jwrdegoede/linux-sunxi
These kernel sources have the all necessary to make baytrail and cherry trail hardware work.

Yes, I have still the GeneralPurposeIO errors and the other problems are gone.

(In reply to Zhang Rui from comment #26)
> (In reply to alan from comment #11)
> > I forgot to tell you that I've got a dual boot Windows10/Linux system on my
> > hardware. This can have an impact for this error ?
> 
> do these devices work well in Windows?

Yes, because I've got all the drivers for Windows. 

(In reply to Zhang Rui from comment #27)
> IMO, this is a buggy firmware, and the CAM* devices can never work well on
> such a platform.

The atomisp support is available in the kernel sources from Hans. See it: https://github.com/jwrdegoede/linux-sunxi/commits/master (check 679,384 commits). My cameras drivers (hm2056 and ov5648) are available on the net for Linux but must be ported. It seems that the atomisp support doesn't work well for now but the cameras could work.
Comment 29 alan 2017-07-23 12:36:02 UTC
Hi, 

I tried the official 4.13-rc1 kernel but acpi GeneralPurposeIO errors are still there. I think the problems come from the cameras support. Atomisp is still on development in the kernel and I think that the hm2056 and ov5648 drivers are not still ported in the new kernel.

I only have this bug now.
Comment 30 Len Brown 2017-07-31 22:51:57 UTC
ACPI Spec says: 

"_STA: This method must not reference any operation regions that have not been declared available by a _REG method."

is that the case here?
Comment 31 alan 2017-08-29 13:05:36 UTC
Hi,

No news about this bug ?

Thanks.
Comment 32 Zhang Rui 2017-08-29 13:48:26 UTC
Well, this is a firmware problem that violates the ACPI specification.
Because the _STA method references the GPIO operation Region.

I don't know how windows works, but I don't think we're going to fix this in Linux after syncing with Len. Sorry.

Do you see any functional problems besides the warning? If no, I'd prefer to get this bug closed.
Comment 33 alan 2017-08-30 11:04:12 UTC
@Zhang Rui: Thank you for your reply. ;-)

you said that it is a firmware problem, so the firmware is missing or it is not the good firmware ? Do you think that the firmware problem can come from the support of my cameras (OV5648 and HM2056) who are not supported yet ?

This is not warning messages but errors messages (displayed in red in dmesg log file). They are also displayed during boot sequence. 

Note: Perhaps you know how to avoid to display these errors during boot sequence if the bug can't be fixed ?

Thanks.

Regards.
Comment 34 Zhang Rui 2017-08-30 13:10:06 UTC
(In reply to alan from comment #33)
> @Zhang Rui: Thank you for your reply. ;-)
> 
> you said that it is a firmware problem, so the firmware is missing or it is
> not the good firmware ?

here I mean the ACPI table provided by BIOS.


> Do you think that the firmware problem can come from
> the support of my cameras (OV5648 and HM2056) who are not supported yet ?

no, it is from the OEM BIOS.

> 
> This is not warning messages but errors messages (displayed in red in dmesg
> log file). They are also displayed during boot sequence. 
> 
> Note: Perhaps you know how to avoid to display these errors during boot
> sequence if the bug can't be fixed ?
> 
No. TBH, I don't think there is a way to get rid of the error messages. As this happens really early, and the error message indeed reveal a firmware bug.