https://bugzilla.kernel.org/show_bug.cgi?id=41042





--- Comment #2 from Jose Alonso <joalon...@gmail.com>  2011-08-14 16:35:46 ---
To debug this, I boot the kernel in single mode, using one cpu and outputing
the kernel messages to console. I set the acpi parameters debug_level and
debug_layer and put some printk.
The machine freezes showing the last message: "start outb(0x79, 0xb2)"

--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -638,7 +638,12 @@ EXPORT_SYMBOL(acpi_os_read_port);
 acpi_status acpi_os_write_port(acpi_io_address port, u32 value, u32 width)
 {
        if (width <= 8) {
-               outb(value, port);
+               if (port == (acpi_io_address)0xb2 && value == 0x79) {
+                       printk("start outb(0x79, 0xb2)\n");
+                       outb(value, port);
+                       printk("end outb(0x79, 0xb2)\n");
+               } else
+                       outb(value, port);
        } else if (width <= 16) {
                outw(value, port);
        } else if (width <= 32) {

-----------------
This corresponds in file DSDT.dsl to:
...
    OperationRegion (GNVS, SystemMemory, 0xBB622E18, 0x0172)
    Field (GNVS, AnyAcc, Lock, Preserve)
    {
        ...
        BRTL,   8,                      <---------
...
    OperationRegion (EXBU, SystemMemory, 0xBB62F018, 0x1011)
    Field (EXBU, AnyAcc, Lock, Preserve)
    {
        ...
        SMIB,   8,                       <----------
...
    Scope (_SB.PCI0.GFX0)
...
        Device (DD02)
...
           Method (_BCM, 1, NotSerialized)  <-------(1)
            {
                SX10 ()
                SX30 (0x19)
                SX30 (One)
                SX30 (Arg0)
                Store (Arg0, BRTL)
                SX11 ()                  <---------(2)
                SX12 ()
            }
...
    Scope (_SB)
    {
        OperationRegion (SMIR, SystemIO, 0xB2, 0x02)
        Field (SMIR, ByteAcc, NoLock, Preserve)
        {
            SMII,   8,                   <-------------
...
    Method (SX11, 0, NotSerialized)
    {
        If (LEqual (NSMI, Zero))
        {
            SXX4 ()
            Store (SXX6 (0x79, Zero), SXX3)   <-------(3)
...
    Method (SXX6, 2, NotSerialized)
    {
        Store (Arg1, SMIB)
        Store (Arg0, \_SB.SMII)               <--------(4)(here)
        Return (SMIB)
    }

----------------------------
Sequence to change brightness:
    brightness -> BRTL
    0 -> SMIB
    outb(0x7b, 0xb2)   (value,port)
    SMIB -> return value not used
    0x19 -> SMIB
    outb(0x7c, 0xb2)
    SMIB -> return value not used
    1 -> SMIB
    outb(0x7c, 0xb2)
    SMIB -> return value not used
    brightness -> SMIB
    outb(0x7c, 0xb2)
    SMIB -> return value not used
    0 -> SMIB
    outb(0x79, 0xb2)                           <---------(here)
    SMIB -> return value = 0 (no return arguments)
-------------------------------

Seems that the CPU cannot use the PCI/IO bus ?!?

I suspect it is a timing problem or
some interference with bus usage.
I don't know if its a Dell hardware specific or
intel chipset.
Any clue?

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.

------------------------------------------------------------------------------
FREE DOWNLOAD - uberSVN with Social Coding for Subversion.
Subversion made easy with a complete admin console. Easy 
to use, easy to manage, easy to install, easy to extend. 
Get a Free download of the new open ALM Subversion platform now.
http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
acpi-bugzilla mailing list
acpi-bugzilla@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to