• Gustavo Sousa's avatar
    drm/i915/cx0: Add step for programming msgbus timer · e3562896
    Gustavo Sousa authored
    There was a recent update in the BSpec adding an extra step to the PLL
    enable sequence, which is for programming the msgbus timer. Since we
    also touch PHY registers during hw readout, let's do the programming
    when starting a transaction rather than only when doing the PLL enable
    sequence.
    
    This might be the missing step that was causing the timeouts
    that we have recently seen during C20 SRAM register programming
    sequences. With this in place, we shouldn't need the logic to bump the
    timer thresholds, since now we have a documented value that should be
    set peform programming the registers. As such, let's also remove
    intel_cx0_bus_check_and_bump_timer(), but keep the part that checks if
    hardware really detected a timeout, which might be useful debugging
    information.
    
    v2:
      - Use debug level instead of warning for the message notifying that
        the hardware did not detect the timeout. (Mika)
      - Got a new BSpec update clarifying that we need to program the msgbus
        timer of both PHY lanes. Update the changes to reflect that.
        (Gustavo)
    
    BSpec: 64568
    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/20230912155923.39494-1-gustavo.sousa@intel.com
    e3562896
intel_cx0_phy_regs.h 13.4 KB