mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-23 05:56:14 -04:00
drm/amd/display: Add dynamic link encoder selection.
[Why] Some display endpoints may be programmably mapped to compatible link encoders. The assignment of link encoders to links has to be dynamic to accommodate the increased flexibility in comparison to conventional display endpoints. [How] - Add link encoder assignment tracking variables. - Execute link encoder assignment algorithm before enabling link and release link encoders from links once they are disabled. Signed-off-by: Jimmy Kizito <Jimmy.Kizito@amd.com> Reviewed-by: Jun Lei <Jun.Lei@amd.com> Acked-by: Anson Jacob <Anson.Jacob@amd.com> Tested-by: Dan Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
b9db41235a
commit
f42ef862fb
@@ -132,6 +132,11 @@ struct dc_link {
|
||||
uint8_t hpd_src;
|
||||
|
||||
uint8_t link_enc_hw_inst;
|
||||
/* DIG link encoder ID. Used as index in link encoder resource pool.
|
||||
* For links with fixed mapping to DIG, this is not changed after dc_link
|
||||
* object creation.
|
||||
*/
|
||||
enum engine_id eng_id;
|
||||
|
||||
bool test_pattern_enabled;
|
||||
union compliance_test_state compliance_test_state;
|
||||
@@ -151,6 +156,11 @@ struct dc_link {
|
||||
struct panel_cntl *panel_cntl;
|
||||
struct link_encoder *link_enc;
|
||||
struct graphics_object_id link_id;
|
||||
/* Endpoint type distinguishes display endpoints which do not have entries
|
||||
* in the BIOS connector table from those that do. Helps when tracking link
|
||||
* encoder to display endpoint assignments.
|
||||
*/
|
||||
enum display_endpoint_type ep_type;
|
||||
union ddi_channel_mapping ddi_channel_mapping;
|
||||
struct connector_device_tag_info device_tag;
|
||||
struct dpcd_caps dpcd_caps;
|
||||
|
||||
Reference in New Issue
Block a user