diff options
Diffstat (limited to 'include/drm/drm_dp_helper.h')
| -rw-r--r-- | include/drm/drm_dp_helper.h | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h index ae8dbfb1207c..a92c3754e3bb 100644 --- a/include/drm/drm_dp_helper.h +++ b/include/drm/drm_dp_helper.h | |||
| @@ -77,10 +77,10 @@ | |||
| 77 | #define DP_DOWNSTREAMPORT_PRESENT 0x005 | 77 | #define DP_DOWNSTREAMPORT_PRESENT 0x005 |
| 78 | # define DP_DWN_STRM_PORT_PRESENT (1 << 0) | 78 | # define DP_DWN_STRM_PORT_PRESENT (1 << 0) |
| 79 | # define DP_DWN_STRM_PORT_TYPE_MASK 0x06 | 79 | # define DP_DWN_STRM_PORT_TYPE_MASK 0x06 |
| 80 | /* 00b = DisplayPort */ | 80 | # define DP_DWN_STRM_PORT_TYPE_DP (0 << 1) |
| 81 | /* 01b = Analog */ | 81 | # define DP_DWN_STRM_PORT_TYPE_ANALOG (1 << 1) |
| 82 | /* 10b = TMDS or HDMI */ | 82 | # define DP_DWN_STRM_PORT_TYPE_TMDS (2 << 1) |
| 83 | /* 11b = Other */ | 83 | # define DP_DWN_STRM_PORT_TYPE_OTHER (3 << 1) |
| 84 | # define DP_FORMAT_CONVERSION (1 << 3) | 84 | # define DP_FORMAT_CONVERSION (1 << 3) |
| 85 | # define DP_DETAILED_CAP_INFO_AVAILABLE (1 << 4) /* DPI */ | 85 | # define DP_DETAILED_CAP_INFO_AVAILABLE (1 << 4) /* DPI */ |
| 86 | 86 | ||
| @@ -333,20 +333,20 @@ i2c_dp_aux_add_bus(struct i2c_adapter *adapter); | |||
| 333 | 333 | ||
| 334 | 334 | ||
| 335 | #define DP_LINK_STATUS_SIZE 6 | 335 | #define DP_LINK_STATUS_SIZE 6 |
| 336 | bool drm_dp_channel_eq_ok(u8 link_status[DP_LINK_STATUS_SIZE], | 336 | bool drm_dp_channel_eq_ok(const u8 link_status[DP_LINK_STATUS_SIZE], |
| 337 | int lane_count); | 337 | int lane_count); |
| 338 | bool drm_dp_clock_recovery_ok(u8 link_status[DP_LINK_STATUS_SIZE], | 338 | bool drm_dp_clock_recovery_ok(const u8 link_status[DP_LINK_STATUS_SIZE], |
| 339 | int lane_count); | 339 | int lane_count); |
| 340 | u8 drm_dp_get_adjust_request_voltage(u8 link_status[DP_LINK_STATUS_SIZE], | 340 | u8 drm_dp_get_adjust_request_voltage(const u8 link_status[DP_LINK_STATUS_SIZE], |
| 341 | int lane); | 341 | int lane); |
| 342 | u8 drm_dp_get_adjust_request_pre_emphasis(u8 link_status[DP_LINK_STATUS_SIZE], | 342 | u8 drm_dp_get_adjust_request_pre_emphasis(const u8 link_status[DP_LINK_STATUS_SIZE], |
| 343 | int lane); | 343 | int lane); |
| 344 | 344 | ||
| 345 | #define DP_RECEIVER_CAP_SIZE 0xf | 345 | #define DP_RECEIVER_CAP_SIZE 0xf |
| 346 | #define EDP_PSR_RECEIVER_CAP_SIZE 2 | 346 | #define EDP_PSR_RECEIVER_CAP_SIZE 2 |
| 347 | 347 | ||
| 348 | void drm_dp_link_train_clock_recovery_delay(u8 dpcd[DP_RECEIVER_CAP_SIZE]); | 348 | void drm_dp_link_train_clock_recovery_delay(const u8 dpcd[DP_RECEIVER_CAP_SIZE]); |
| 349 | void drm_dp_link_train_channel_eq_delay(u8 dpcd[DP_RECEIVER_CAP_SIZE]); | 349 | void drm_dp_link_train_channel_eq_delay(const u8 dpcd[DP_RECEIVER_CAP_SIZE]); |
| 350 | 350 | ||
| 351 | u8 drm_dp_link_rate_to_bw_code(int link_rate); | 351 | u8 drm_dp_link_rate_to_bw_code(int link_rate); |
| 352 | int drm_dp_bw_code_to_link_rate(u8 link_bw); | 352 | int drm_dp_bw_code_to_link_rate(u8 link_bw); |
| @@ -379,15 +379,22 @@ struct edp_vsc_psr { | |||
| 379 | #define EDP_VSC_PSR_CRC_VALUES_VALID (1<<2) | 379 | #define EDP_VSC_PSR_CRC_VALUES_VALID (1<<2) |
| 380 | 380 | ||
| 381 | static inline int | 381 | static inline int |
| 382 | drm_dp_max_link_rate(u8 dpcd[DP_RECEIVER_CAP_SIZE]) | 382 | drm_dp_max_link_rate(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) |
| 383 | { | 383 | { |
| 384 | return drm_dp_bw_code_to_link_rate(dpcd[DP_MAX_LINK_RATE]); | 384 | return drm_dp_bw_code_to_link_rate(dpcd[DP_MAX_LINK_RATE]); |
| 385 | } | 385 | } |
| 386 | 386 | ||
| 387 | static inline u8 | 387 | static inline u8 |
| 388 | drm_dp_max_lane_count(u8 dpcd[DP_RECEIVER_CAP_SIZE]) | 388 | drm_dp_max_lane_count(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) |
| 389 | { | 389 | { |
| 390 | return dpcd[DP_MAX_LANE_COUNT] & DP_MAX_LANE_COUNT_MASK; | 390 | return dpcd[DP_MAX_LANE_COUNT] & DP_MAX_LANE_COUNT_MASK; |
| 391 | } | 391 | } |
| 392 | 392 | ||
| 393 | static inline bool | ||
| 394 | drm_dp_enhanced_frame_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) | ||
| 395 | { | ||
| 396 | return dpcd[DP_DPCD_REV] >= 0x11 && | ||
| 397 | (dpcd[DP_MAX_LANE_COUNT] & DP_ENHANCED_FRAME_CAP); | ||
| 398 | } | ||
| 399 | |||
| 393 | #endif /* _DRM_DP_HELPER_H_ */ | 400 | #endif /* _DRM_DP_HELPER_H_ */ |
