• Gustavo Sousa's avatar
    drm/i915/cx0: Check and increase msgbus timeout threshold · e028d7a4
    Gustavo Sousa authored
    We have experienced timeout issues when going through the sequence to
    access C20 SRAM registers. Experimentation showed that bumping the
    message bus timer threshold helped on getting display Type-C connection
    on the C20 PHY to work.
    
    While the timeout is still under investigation with the HW team, having
    logic to allow forward progress (with the proper warnings) seems useful.
    Thus, let's bump the threshold when a timeout is detected.
    
    The bumped value of 0x200 pclk cycles was somewhat arbitrary - 2x the
    default value. That value was successfully tested on real hardware that
    was displaying timeouts otherwise.
    
    v2:
      - Reword commit message to indicate that access to C20 SRAM registers
        is not direct. (Radhakrishna)
      - Prefer not to use REG_FIELD_PREP() in intel_cx0_phy.c.
        (Radhakrishna)
      - Simplify intel_cx0_bus_check_and_bump_timer() to use a fixed bumped
        value instead of progressively increasing the threshold. (Mika)
    
    BSpec: 65156
    Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
    Cc: Mika Kahola <mika.kahola@intel.com>
    Signed-off-by: default avatarGustavo Sousa <gustavo.sousa@intel.com>
    Reviewed-by: default avatarMika Kahola <mika.kahola@intel.com>
    Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230830121524.15101-1-gustavo.sousa@intel.com
    e028d7a4
intel_cx0_phy_regs.h 13.4 KB