@@ -135,6 +135,10 @@ static void complete_vi_set_temperature_hint(struct apple_dcp *dcp, void *out, v
135135static bool iomfbep_cb_match_pmu_service (struct apple_dcp * dcp , int tag , void * out , void * in )
136136{
137137 trace_iomfb_callback (dcp , tag , __func__ );
138+
139+ if (dcp -> is_dptx )
140+ return true;
141+
138142 iomfb_a358_vi_set_temperature_hint (dcp , false,
139143 complete_vi_set_temperature_hint ,
140144 NULL );
@@ -158,6 +162,12 @@ static bool iomfbep_cb_match_pmu_service_2(struct apple_dcp *dcp, int tag, void
158162{
159163 trace_iomfb_callback (dcp , tag , __func__ );
160164
165+ if (dcp -> is_dptx ) {
166+ u8 * ret = out ;
167+ ret [0 ] = 1 ;
168+ return true;
169+ }
170+
161171 iomfb_a131_pmu_service_matched (dcp , false, complete_pmu_service_matched ,
162172 out );
163173
@@ -1044,6 +1054,11 @@ dcpep_cb_get_tiling_state(struct apple_dcp *dcp,
10441054 };
10451055}
10461056
1057+ static u8 dcpep_cb_create_pmu_service (struct apple_dcp * dcp )
1058+ {
1059+ return !dcp -> is_dptx ;
1060+ }
1061+
10471062static u8 dcpep_cb_create_backlight_service (struct apple_dcp * dcp )
10481063{
10491064 return dcp_has_panel (dcp );
@@ -1101,6 +1116,7 @@ TRAMPOLINE_IN(trampoline_pr_publish, iomfb_cb_pr_publish,
11011116 struct iomfb_property );
11021117TRAMPOLINE_INOUT (trampoline_get_tiling_state , dcpep_cb_get_tiling_state ,
11031118 struct dcpep_get_tiling_state_req , struct dcpep_get_tiling_state_resp );
1119+ TRAMPOLINE_OUT (trampoline_create_pmu_service , dcpep_cb_create_pmu_service , u8 );
11041120TRAMPOLINE_OUT (trampoline_create_backlight_service , dcpep_cb_create_backlight_service , u8 );
11051121
11061122/*
0 commit comments