-
Notifications
You must be signed in to change notification settings - Fork 174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance VoodooI2CDeviceNub #468
Conversation
Fixed in the latest commit |
That's great! I've tried this! Everything is working! I hope this can be adopted. |
@williambj1 Please give me some time to review this. I am hoping to do so by Monday evening. @mat121212 Your comment was deleted due to you asking for compiled kexts and not contributing to the development of this PR. Please keep the discussion to the PR at hand. |
Sample DSDT that benefits from this patch: Device path: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good work! Minor comments and will be good to merge if we can add some documentation on the changes.
By documentation, we should add the sample DSDT code to the Github.io pages.
Thank you for taking your precious time to review my changes!
I'm not quite sure how to handle this properly to be honest, as the main goal of this PR is to allow more devices to operate properly without ACPI modifications/hacks. |
@ben9923 Can you please take a look? Otherwise, this looks to be good to me and I will merge it in on Thursday. |
- Support reading I2C Serial Bus declaration from `_DSM` - Refactor `VoodooI2CDeviceNub::getDeviceResources()` - Clarify skipping APIC Interrupt mode - Slightly adjust logs
@williambj1 Just revisited this issue and I'm not in favor of the rename. Function index is everything you put into the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR, I like the idea!
Added just a couple of notes, sorry it took me a while to review :)
@williambj1 I would love to merge this in but I would like you to address @ben9923's comments before I do so. |
I apologize for not being able to respond in the past two weeks. I will adopt these suggestions on Sep 6. |
@ben9923 I apologize again for not being able to resolve those issues earlier. I think I've covered all of the comments, please have a look :) |
Thanks @williambj1. This looks good and merging it in. |
Hi developers! This PR includes enhancements for VoodooI2CDeviceNub.
Support reading I2C Serial Bus declaration from
_DSM
Previously,
_DSM
will not be evaluated ifSBFB
(aka "I2C Serial Bus declaration") was not returned in_CRS
, here is an example from an Acer LaptopCurrent implementation in Repo:
VoodooI2C/VoodooI2C/VoodooI2C/VoodooI2CDevice/VoodooI2CDeviceNub.cpp
Lines 192 to 203 in 1671524
Refactor
VoodooI2CDeviceNub::getDeviceResources()
Clarify skipping APIC Interrupt mode
This PR does not change the behavior of skipping interrupts (skips setting gpio values). AFAIK there is no way to avoid APIC interrupts in VoodooI2C (and it doesn't make sense to do so, although it can be accomplished by modifying ACPI), please correct me if I'm wrong.
Slightly adjust logs and macro names
_DSM
using theTP7G
index doesn't only contain GPIO resources The macro name was adjusted based on docs from Microsoft; the third argument (Arg2
) is always called as the "function index"._DSM
returns useless data. Calls with any uuid or function indexes will end up printing the line if the evaluation above is not satisfied.CC @zhen-zen