0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 #include "dce/dce_dmcu.h"
0027 #include "dc_edid_parser.h"
0028
0029 bool dc_edid_parser_send_cea(struct dc *dc,
0030 int offset,
0031 int total_length,
0032 uint8_t *data,
0033 int length)
0034 {
0035 struct dmcu *dmcu = dc->res_pool->dmcu;
0036
0037 if (dmcu &&
0038 dmcu->funcs->is_dmcu_initialized(dmcu) &&
0039 dmcu->funcs->send_edid_cea) {
0040 return dmcu->funcs->send_edid_cea(dmcu,
0041 offset,
0042 total_length,
0043 data,
0044 length);
0045 }
0046
0047 return false;
0048 }
0049
0050 bool dc_edid_parser_recv_cea_ack(struct dc *dc, int *offset)
0051 {
0052 struct dmcu *dmcu = dc->res_pool->dmcu;
0053
0054 if (dmcu &&
0055 dmcu->funcs->is_dmcu_initialized(dmcu) &&
0056 dmcu->funcs->recv_edid_cea_ack) {
0057 return dmcu->funcs->recv_edid_cea_ack(dmcu, offset);
0058 }
0059
0060 return false;
0061 }
0062
0063 bool dc_edid_parser_recv_amd_vsdb(struct dc *dc,
0064 int *version,
0065 int *min_frame_rate,
0066 int *max_frame_rate)
0067 {
0068 struct dmcu *dmcu = dc->res_pool->dmcu;
0069
0070 if (dmcu &&
0071 dmcu->funcs->is_dmcu_initialized(dmcu) &&
0072 dmcu->funcs->recv_amd_vsdb) {
0073 return dmcu->funcs->recv_amd_vsdb(dmcu,
0074 version,
0075 min_frame_rate,
0076 max_frame_rate);
0077 }
0078
0079 return false;
0080 }