DP 1.4 RX : Wrong mask used when modifying MCDP6000 register
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 1.2k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
Commit c3fde06710739985a11b9cf21138c17f1dcdf512 introduced a new bug in the DP 1.4 RX driver.
XDpRxSs_MCDP6000_ModifyRegister(DpRxSsPtr->IicPtr->BaseAddress,
XDPRXSS_MCDP6000_IIC_SLAVE, 0x0A00,
0x55000000, 0x55000000);
The last parameter, the bit mask, should be 0xFF000000 instead of 0x55000000.
Bits 31 to 24 of the 0x0A00 register have two valid values:
0x55 : Transparent
0xAA : Non-Transparant
If the current value is 0xAA, then after XDpRxSs_MCDP6000_ModifyRegister is called the value will be 0xFF, which is invalid.
We have seen this scenario happen after reconnecting the DP input on a graphics card output.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the DP 1.4 RX driver's call to XDpRxSs_MCDP6000_ModifyRegister for register 0x0A00 and inspect how its final mask is used. Verify that the change preserves the documented 0x55 and 0xAA values after reconnecting the DP input, using any focused driver test available.
Written by the indexing model from the issue text.
Assessment
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100