• M
    drm/i915: implement EXTENDED_RECEIVER_CAPABILITY_FIELD_PRESENT · a1d92652
    Matt Atwood 提交于
    According to DP spec (2.9.3.1 of DP 1.4) if
    EXTENDED_RECEIVER_CAPABILITY_FIELD_PRESENT is set the addresses in DPCD
    02200h through 0220Fh shall contain the DPRX's true capability. These
    values will match 00000h through 0000Fh, except for DPCD_REV,
    MAX_LINK_RATE, DOWN_STREAM_PORT_PRESENT.
    
    Read from DPCD once for all 3 values as this is an expensive operation.
    Spec mentions that all of address space 02200h through 0220Fh should
    contain the right information however currently only 3 values can
    differ.
    
    There is no address space in the intel_dp->dpcd struct for addresses
    02200h through 0220Fh, and since so much of the data is a identical,
    simply overwrite the values stored in 00000h through 0000Fh with the
    values that can be overwritten from addresses 02200h through 0220Fh.
    
    This patch helps with backward compatibility for devices pre DP1.3.
    
    v2: read only dpcd values which can be affected, remove incorrect check,
    split into drm include changes into separate patch, commit message,
    verbose debugging statements during overwrite.
    v3: white space fixes
    v4: make path dependent on DPCD revision > 1.2
    v5: split into function, removed DPCD rev check
    v6: add debugging prints for early exit conditions
    v7 (From Manasi):
    * Memcpy, memcmp and debig logging based on sizeof(dpcd_ext) (Jani N)
    * Exit early (Jani N)
    v8 (From Manasi):
    * Get rid of superfluous debug prints (Jani N)
    * Print entire base DPCD before memcpy (Jani N)
    v9 (From Manasi):
    * Add uniform newlines (Rodrigo)
    
    Cc: Jani Nikula <jani.nikula@linux.intel.com>
    Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
    Signed-off-by: NMatt Atwood <matthew.s.atwood@intel.com>
    Signed-off-by: NManasi Navare <manasi.d.navare@intel.com>
    Tested-by: NManasi Navare <manasi.d.navare@intel.com>
    Acked-by: NManasi Navare <manasi.d.navare@intel.com>
    Reviewed-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20181129220058.19636-1-manasi.d.navare@intel.com
    a1d92652
intel_dp.c 197.3 KB