1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26#include "display_mode_lib.h"
27#include "dc_features.h"
28
29extern const struct _vcs_dpi_ip_params_st dcn1_0_ip;
30extern const struct _vcs_dpi_soc_bounding_box_st dcn1_0_soc;
31
32static void set_soc_bounding_box(struct _vcs_dpi_soc_bounding_box_st *soc, enum dml_project project)
33{
34 switch (project) {
35 case DML_PROJECT_RAVEN1:
36 *soc = dcn1_0_soc;
37 break;
38 default:
39 ASSERT(0);
40 break;
41 }
42}
43
44static void set_ip_params(struct _vcs_dpi_ip_params_st *ip, enum dml_project project)
45{
46 switch (project) {
47 case DML_PROJECT_RAVEN1:
48 *ip = dcn1_0_ip;
49 break;
50 default:
51 ASSERT(0);
52 break;
53 }
54}
55
56void dml_init_instance(struct display_mode_lib *lib, enum dml_project project)
57{
58 if (lib->project != project) {
59 set_soc_bounding_box(&lib->soc, project);
60 set_ip_params(&lib->ip, project);
61 lib->project = project;
62 }
63}
64
65const char *dml_get_status_message(enum dm_validation_status status)
66{
67 switch (status) {
68 case DML_VALIDATION_OK: return "Validation OK";
69 case DML_FAIL_SCALE_RATIO_TAP: return "Scale ratio/tap";
70 case DML_FAIL_SOURCE_PIXEL_FORMAT: return "Source pixel format";
71 case DML_FAIL_VIEWPORT_SIZE: return "Viewport size";
72 case DML_FAIL_TOTAL_V_ACTIVE_BW: return "Total vertical active bandwidth";
73 case DML_FAIL_DIO_SUPPORT: return "DIO support";
74 case DML_FAIL_NOT_ENOUGH_DSC: return "Not enough DSC Units";
75 case DML_FAIL_DSC_CLK_REQUIRED: return "DSC clock required";
76 case DML_FAIL_URGENT_LATENCY: return "Urgent latency";
77 case DML_FAIL_REORDERING_BUFFER: return "Re-ordering buffer";
78 case DML_FAIL_DISPCLK_DPPCLK: return "Dispclk and Dppclk";
79 case DML_FAIL_TOTAL_AVAILABLE_PIPES: return "Total available pipes";
80 case DML_FAIL_NUM_OTG: return "Number of OTG";
81 case DML_FAIL_WRITEBACK_MODE: return "Writeback mode";
82 case DML_FAIL_WRITEBACK_LATENCY: return "Writeback latency";
83 case DML_FAIL_WRITEBACK_SCALE_RATIO_TAP: return "Writeback scale ratio/tap";
84 case DML_FAIL_CURSOR_SUPPORT: return "Cursor support";
85 case DML_FAIL_PITCH_SUPPORT: return "Pitch support";
86 case DML_FAIL_PTE_BUFFER_SIZE: return "PTE buffer size";
87 case DML_FAIL_DSC_INPUT_BPC: return "DSC input bpc";
88 case DML_FAIL_PREFETCH_SUPPORT: return "Prefetch support";
89 case DML_FAIL_V_RATIO_PREFETCH: return "Vertical ratio prefetch";
90 default: return "Unknown Status";
91 }
92}
93