IT6505 supports HW auto link training which will write DPCD and check training status automatically. Some DP device can not pass HW auto link training and must set link training step by step.
when HW auto link training fail, it may trigger video FIFO error, and link training process will reset to beginning, and never try step training method. Modify training method improve compatibility to these DP devices. Signed-off-by: Hermes Wu <[email protected]> --- Changes in v4: - squash patch 2/5 and 3/5, which do two different error check in same palce. - edit commit message that warp at 70-77 boundary - Link to v3: https://lore.kernel.org/r/[email protected] Changes in v3: - Patch 1/5 : add commit message for detial about changes - Patch 2/5 : fix lost variable struct device *dev; - Patch 3/5 : keep changes and remove refactoring - Patch 5/5 : merge condition "it6505->step_train_only" check form if condiction into for loop. - Link to v2: https://lore.kernel.org/r/[email protected] Changes in v2: - 1. Split [PATCH 1/3] into 3 commits - 2. Drop non necessary variable auto_ttrain_retry - Link to v1: https://lore.kernel.org/all/[email protected]/ --- Hermes Wu (4): drm/bridge: it6505: fix link training state HW register reset drm/bridge: it6505: add INT status check while link auto training drm/bridge: it6505: modify DP link training work drm/bridge: it6505: skip auto training when previous try fail drivers/gpu/drm/bridge/ite-it6505.c | 88 +++++++++++++++++++++---------------- 1 file changed, 50 insertions(+), 38 deletions(-) --- base-commit: 938fbb16aba8f7b88e0fdcf56f315a5bbad41aad change-id: 20250121-fix-link-training-461495494655 Best regards, -- Hermes Wu <[email protected]>
