Thread (24 messages) 24 messages, 6 authors, 2016-07-25

Re: [v5] i2c: i801: Allow ACPI SystemIO OpRegion to conflict with PCI BAR

From: Mika Westerberg <mika.westerberg@linux.intel.com>
Date: 2016-07-05 11:51:48
Also in: linux-acpi

On Tue, Jul 05, 2016 at 01:30:23PM +0200, Pali Rohár wrote:
On Tuesday 05 July 2016 12:14:55 Mika Westerberg wrote:
quoted
The whole point of this patch is that we expect that nobody never
uses that OpRegion. I'm 99% sure you don't find a single machine
where it is actually in use.
HP EliteBook 8460p uses it for sure! Here are DSDT snips:


                Method (\_SB.PCI0.LPCB.SMAB, 3, Serialized)
                {
                    If (LEqual (And (Arg0, 0x01), 0x00))
                    {
                        Store (0x01, Local0)
                        Store (\_SB.PCI0.SBUS.SWRB (Arg0, Arg1, Arg2), Local1)
                        If (Local1)
                        {
                            Store (0x00, Local0)
                        }
                    }
                    Else
                    {
                        Store (\_SB.PCI0.SBUS.SRDB (Arg0, Arg1), Local0)
                    }

                    Return (Local0)
                }
Crap, well that is in that 1% then ;-)
...

                Method (ALRD, 1, Serialized)
                {
                    Store (\_SB.PCI0.LPCB.SMAB (0x33, Arg0, 0x00), Local0)
                    Return (Local0)
                }

                Method (ALWR, 2, Serialized)
                {
                    Store (\_SB.PCI0.LPCB.SMAB (0x32, Arg0, Arg1), Local0)
                    Return (Local0)
                }


And ALRD and ALWR methods are used by hp_accel.ko kernel driver.
So are you able to test what happens when you unload the driver? I think
the safest thing to do is that we just pin the driver in the kernel once
we notice the OpRegion is being accessed. Does anyone else have better
ideas?
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help