Fix video for USB-C displays.#1076
Conversation
Fix video for USB-C displays.
Handle begin() failing. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
| if(err_code < 0) { | ||
| return err_code; | ||
| } | ||
| anx7625_dp_get_edid(0, &recognized_edid); |
There was a problem hiding this comment.
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.
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.
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.
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.
|
Hello, has this fix been released? I'm having the same issue described here, but the changes in this PR aren't the latest release |
|
I think the patch is applied but if EDID is not read correctly you'll fall back into another horrible trap. Here's the possible fix #1089 . Can you try that and report if it's good? |
USB-C display stopped working after changes introduced in #1015