[why] 1. Current code hard codes link to PHY mapping in dc link level per asic per revision. This is not scalable. In long term the mapping will be obatined from DMUB and store in dc resource. 2. Depending on DCN revision and endpoint type, the definition of dio_output_idx dio_output_type and phy_idx are not consistent. We need to unify the meaning of these hardware indices across different system configuration. [how] 1. Temporarly move the hardcoded mapping to dc_resource level, which should have full awareness of asic specific configuration and add a TODO comment to move the mapping to DMUB. 2. populate dio_output_idx/phy_idx for all configuration, define usb4_enabled bit instead of dio_output_type as an external enum. Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Reviewed-by: Eric Yang <Eric.Yang2@amd.com> Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Signed-off-by: Wenjing Liu <wenjing.liu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
58 lines
1.7 KiB
C
58 lines
1.7 KiB
C
/*
|
|
* Copyright 2018 Advanced Micro Devices, Inc.
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
* copy of this software and associated documentation files (the "Software"),
|
|
* to deal in the Software without restriction, including without limitation
|
|
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
* and/or sell copies of the Software, and to permit persons to whom the
|
|
* Software is furnished to do so, subject to the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be included in
|
|
* all copies or substantial portions of the Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
|
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
* OTHER DEALINGS IN THE SOFTWARE.
|
|
*
|
|
* Authors: AMD
|
|
*
|
|
*/
|
|
|
|
#ifndef DM_CP_PSP_IF__H
|
|
#define DM_CP_PSP_IF__H
|
|
|
|
struct dc_link;
|
|
|
|
struct cp_psp_stream_config {
|
|
uint8_t otg_inst;
|
|
uint8_t dig_be;
|
|
uint8_t dig_fe;
|
|
uint8_t link_enc_idx;
|
|
uint8_t stream_enc_idx;
|
|
uint8_t dio_output_idx;
|
|
uint8_t phy_idx;
|
|
uint8_t assr_enabled;
|
|
uint8_t mst_enabled;
|
|
uint8_t dp2_enabled;
|
|
uint8_t usb4_enabled;
|
|
void *dm_stream_ctx;
|
|
bool dpms_off;
|
|
};
|
|
|
|
struct cp_psp_funcs {
|
|
bool (*enable_assr)(void *handle, struct dc_link *link);
|
|
void (*update_stream_config)(void *handle, struct cp_psp_stream_config *config);
|
|
};
|
|
|
|
struct cp_psp {
|
|
void *handle;
|
|
struct cp_psp_funcs funcs;
|
|
};
|
|
|
|
|
|
#endif /* DM_CP_PSP_IF__H */
|