Contribute
Register

VoodooI2C Help and Support

Joined
Nov 28, 2012
Messages
44
Motherboard
Dell 5570, Gigabyte B460 Aorus Pro
CPU
i5-8250U, i7-10700K
Graphics
UHD620, UHD630
Mac
  1. iMac
  2. MacBook Air
Mobile Phone
  1. iOS
So it's not fixed for you by removing just VoodooGPIO::getWorkLoop()?

Maybe we should mark it as a const function, like the original declaration, and mark as const override in the headers?
IOService.h suggests it should be public.
Please try implementing those changes (const override, public) instead of removing those implementations of getWorkLoop(). Let us know if it works :)

Removing two of getWorkLoop() in both VoodooGPIO.cpp and VoodooI2CControllerDriver.cpp solves the issue. It works well. But, there would be more than that to solve it completely.
 
Last edited:
Joined
Apr 21, 2016
Messages
1,011
Motherboard
ASUS X556UA-Clover
CPU
i5-6200U
Graphics
HD 520,1366x768
Mobile Phone
  1. iOS
Removing two of getWorkLoop() in both VoodooGPIO.cpp and VoodooI2CControllerDriver.cpp solve the issue. It works well.
@northernlights said it's enough to remove it in VoodooGPIO. Does it still lag on your machine when keeping VoodooI2CControllerDriver unmodified?

I also suggested making those methods const and mark them as override, change access to public.
Try that instead of removing it on both classes.
What I want to add is there would be more than that to solve it completely. The values are mixed.
Not sure I understood this, do you mean you cannot build when applying those changes?
 
Joined
Nov 28, 2012
Messages
44
Motherboard
Dell 5570, Gigabyte B460 Aorus Pro
CPU
i5-8250U, i7-10700K
Graphics
UHD620, UHD630
Mac
  1. iMac
  2. MacBook Air
Mobile Phone
  1. iOS
(removed as it's outdated)
 
Last edited:
Joined
Apr 21, 2016
Messages
1,011
Motherboard
ASUS X556UA-Clover
CPU
i5-6200U
Graphics
HD 520,1366x768
Mobile Phone
  1. iOS

Attachments

  • fix-workloops.zip
    841.9 KB · Views: 40
Joined
Apr 18, 2018
Messages
9
Motherboard
ASUS GL703VD-Clover
CPU
i7-7700HQ / HM175
Graphics
HD 630, GTX 1050, 1920x1080
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
I have elan1200 i2c trackpad. I patched the dsdt adding
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (LEqual (Arg0, HIDG))
{
Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
}

If (LEqual (Arg0, TP7G))
{
Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
}

Return (Buffer (One)
{
0x00
})
}
,changing
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
and changing in the return SBFI in SBFG
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If (LLess (OSYS, 0x07DC))
{
Return (SBFB)
}

If (LEqual (SDM0, Zero))
{
Return (ConcatenateResTemplate (SBFB, SBFG))
}

Return (ConcatenateResTemplate (SBFB, SBFG))
}
}

I added in EFI/CLOVER/kexts/other voodooi2c and voodooi2chid, but it doesn't work (Version 2.2 of voodoo kexts cause me kernel panic, and voodooi2c that I found for elan1200 didn't work), Could someone help me? I upload the dsdt without my patches(in TPD0) and ioreg. In ioreg my trackpad is pci8086, a160 and iointerruptspecifier is 0x10 (less than 2f)

PS: Sorry I upload a new DSDT
 
Last edited:
Joined
Apr 21, 2016
Messages
1,011
Motherboard
ASUS X556UA-Clover
CPU
i5-6200U
Graphics
HD 520,1366x768
Mobile Phone
  1. iOS
I have elan1200 i2c trackpad. I patched the dsdt adding
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (LEqual (Arg0, HIDG))
{
Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
}

If (LEqual (Arg0, TP7G))
{
Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
}

Return (Buffer (One)
{
0x00
})
}
,changing
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
and changing in the return SBFI in SBFG
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If (LLess (OSYS, 0x07DC))
{
Return (SBFB)
}

If (LEqual (SDM0, Zero))
{
Return (ConcatenateResTemplate (SBFB, SBFG))
}

Return (ConcatenateResTemplate (SBFB, SBFG))
}
}

I added in EFI/CLOVER/kexts/other voodooi2c and voodooi2chid, but it doesn't work (Version 2.2 of voodoo kexts cause me kernel panic, and voodooi2c that I found for elan1200 didn't work), Could someone help me? I upload the dsdt without my patches(in TPD0) and ioreg. In ioreg my trackpad is pci8086, a160 and iointerruptspecifier is 0x10 (less than 2f)

PS: Sorry I upload a new DSDT
Please upload a full troubleshooting archive. Nothing is attached...
 
Joined
Apr 18, 2018
Messages
9
Motherboard
ASUS GL703VD-Clover
CPU
i7-7700HQ / HM175
Graphics
HD 630, GTX 1050, 1920x1080
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
Please upload a full troubleshooting archive. Nothing is attached...
I tried to delete the comment, I was able to delete only the attach files :/ (I had a problem with the dsdt, so I'm trying to resolve the dsdt first, sorry)
 
Joined
May 6, 2014
Messages
213
Motherboard
Lenovo Ideapad 320-14ikb
CPU
i5-7200U
Graphics
HD 620 (1920x1080)
Mac
  1. MacBook Pro
Mobile Phone
  1. Other
I request to ben9923
I have a problem with touchpad for OpenCore
when I add this line Return (ConcatenateResTemplate (SBFB, SBFG))
into DSDT to _CRS Method then touchpad worked perfectly if I remove this line Return (ConcatenateResTemplate (SBFB, SBFG)) from _CRS METHOD my touchpad won't work how to make a SSDT-I2C.aml for OpenCore bootloader
my touchpad is working fine with clover boot loader but in OpenCore no luck Screen Shot 2019-09-15 at 10.37.45 AM.png
I attached my worked DSDT and original DSDT.dsl and working SSDT-I2C.aml with Clover bootloader

please analyze my DSDT for OpenCore Bootloader I tried a lot but don't work on OpenCore Bootloader
sorry for my weak English
 

Attachments

  • For-Clover-SSDT-I2C.aml
    487 bytes · Views: 39
  • Added-DSDT.aml
    115.6 KB · Views: 46
  • Original-DSDT.dsl
    858.3 KB · Views: 43
Last edited:
Top