-
-
Notifications
You must be signed in to change notification settings - Fork 213
Fix video for USB-C displays. #1076
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
Conversation
Fix video for USB-C displays.
Handle begin() failing. Signed-off-by: iabdalkader <[email protected]>
err_code = anx7625_dp_get_edid(0, &recognized_edid); | ||
if(err_code < 0) { | ||
return err_code; | ||
} | ||
anx7625_dp_get_edid(0, &recognized_edid); |
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.
Instead of removing the error check, I’d suggest collecting all errors in a bitmask so we don’t stop at the first failure but still track what went wrong.
Example:
#define INIT_ERR_ANX7625_INIT (1 << 0)
#define INIT_ERR_WAIT_HPD_EVENT (1 << 1)
#define INIT_ERR_GET_EDID (1 << 2)
#define INIT_ERR_DP_START (1 << 3)
...
int error_mask = 0;
...
err_code = anx7625_init(0);
if (err_code < 0) {
error_mask |= INIT_ERR_ANX7625_INIT;
}
...
return error_mask; // 0 if everything is OK, otherwise a bitmask with the failed steps
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.
Can't return an error with EDID bit set, because it will stop the sketch, which is what we're trying to undo here. Or are you suggesting to check the mask in the sketch? A bit too much for a sketch maybe?
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.
yes, I mean checking the mask in the sketch... but you're right. it's a bit too much :)
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.
I could take a look at why EDID is failing, and try to fix it, then we won't need any of this, but can't be sure I'll be able to fix it. Apparently it has always been failing we just hadn't notice. Alternatively, we could just merge this and move on, it's up to you.
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.
let's merge it! :)
USB-C display stopped working after changes introduced in #1015