@@ -256,8 +256,8 @@ static bool icl_tc_phy_status_complete(struct intel_digital_port *dig_port)
256
256
return val & DP_PHY_MODE_STATUS_COMPLETED (dig_port -> tc_phy_fia_idx );
257
257
}
258
258
259
- static bool icl_tc_phy_set_safe_mode (struct intel_digital_port * dig_port ,
260
- bool enable )
259
+ static bool icl_tc_phy_take_ownership (struct intel_digital_port * dig_port ,
260
+ bool take )
261
261
{
262
262
struct drm_i915_private * i915 = to_i915 (dig_port -> base .base .dev );
263
263
struct intel_uncore * uncore = & i915 -> uncore ;
@@ -267,28 +267,28 @@ static bool icl_tc_phy_set_safe_mode(struct intel_digital_port *dig_port,
267
267
PORT_TX_DFLEXDPCSSS (dig_port -> tc_phy_fia ));
268
268
if (val == 0xffffffff ) {
269
269
drm_dbg_kms (& i915 -> drm ,
270
- "Port %s: PHY in TCCOLD, can't %s safe-mode \n" ,
271
- dig_port -> tc_port_name , enabledisable ( enable ) );
270
+ "Port %s: PHY in TCCOLD, can't %s ownership \n" ,
271
+ dig_port -> tc_port_name , take ? "take" : "release" );
272
272
273
273
return false;
274
274
}
275
275
276
276
val &= ~DP_PHY_MODE_STATUS_NOT_SAFE (dig_port -> tc_phy_fia_idx );
277
- if (! enable )
277
+ if (take )
278
278
val |= DP_PHY_MODE_STATUS_NOT_SAFE (dig_port -> tc_phy_fia_idx );
279
279
280
280
intel_uncore_write (uncore ,
281
281
PORT_TX_DFLEXDPCSSS (dig_port -> tc_phy_fia ), val );
282
282
283
- if (enable && wait_for (!icl_tc_phy_status_complete (dig_port ), 10 ))
283
+ if (! take && wait_for (!icl_tc_phy_status_complete (dig_port ), 10 ))
284
284
drm_dbg_kms (& i915 -> drm ,
285
285
"Port %s: PHY complete clear timed out\n" ,
286
286
dig_port -> tc_port_name );
287
287
288
288
return true;
289
289
}
290
290
291
- static bool icl_tc_phy_is_in_safe_mode (struct intel_digital_port * dig_port )
291
+ static bool icl_tc_phy_is_owned (struct intel_digital_port * dig_port )
292
292
{
293
293
struct drm_i915_private * i915 = to_i915 (dig_port -> base .base .dev );
294
294
struct intel_uncore * uncore = & i915 -> uncore ;
@@ -303,7 +303,7 @@ static bool icl_tc_phy_is_in_safe_mode(struct intel_digital_port *dig_port)
303
303
return true;
304
304
}
305
305
306
- return !( val & DP_PHY_MODE_STATUS_NOT_SAFE (dig_port -> tc_phy_fia_idx ) );
306
+ return val & DP_PHY_MODE_STATUS_NOT_SAFE (dig_port -> tc_phy_fia_idx );
307
307
}
308
308
309
309
/*
@@ -329,7 +329,7 @@ static void icl_tc_phy_connect(struct intel_digital_port *dig_port,
329
329
goto out_set_tbt_alt_mode ;
330
330
}
331
331
332
- if (!icl_tc_phy_set_safe_mode (dig_port , false ) &&
332
+ if (!icl_tc_phy_take_ownership (dig_port , true ) &&
333
333
!drm_WARN_ON (& i915 -> drm , dig_port -> tc_legacy_port ))
334
334
goto out_set_tbt_alt_mode ;
335
335
@@ -348,23 +348,23 @@ static void icl_tc_phy_connect(struct intel_digital_port *dig_port,
348
348
if (!(tc_port_live_status_mask (dig_port ) & BIT (TC_PORT_DP_ALT ))) {
349
349
drm_dbg_kms (& i915 -> drm , "Port %s: PHY sudden disconnect\n" ,
350
350
dig_port -> tc_port_name );
351
- goto out_set_safe_mode ;
351
+ goto out_release_phy ;
352
352
}
353
353
354
354
if (max_lanes < required_lanes ) {
355
355
drm_dbg_kms (& i915 -> drm ,
356
356
"Port %s: PHY max lanes %d < required lanes %d\n" ,
357
357
dig_port -> tc_port_name ,
358
358
max_lanes , required_lanes );
359
- goto out_set_safe_mode ;
359
+ goto out_release_phy ;
360
360
}
361
361
362
362
dig_port -> tc_mode = TC_PORT_DP_ALT ;
363
363
364
364
return ;
365
365
366
- out_set_safe_mode :
367
- icl_tc_phy_set_safe_mode (dig_port , true );
366
+ out_release_phy :
367
+ icl_tc_phy_take_ownership (dig_port , false );
368
368
out_set_tbt_alt_mode :
369
369
dig_port -> tc_mode = TC_PORT_TBT_ALT ;
370
370
}
@@ -380,7 +380,7 @@ static void icl_tc_phy_disconnect(struct intel_digital_port *dig_port)
380
380
/* Nothing to do, we never disconnect from legacy mode */
381
381
break ;
382
382
case TC_PORT_DP_ALT :
383
- icl_tc_phy_set_safe_mode (dig_port , true );
383
+ icl_tc_phy_take_ownership (dig_port , false );
384
384
dig_port -> tc_mode = TC_PORT_TBT_ALT ;
385
385
break ;
386
386
case TC_PORT_TBT_ALT :
@@ -401,8 +401,8 @@ static bool icl_tc_phy_is_connected(struct intel_digital_port *dig_port)
401
401
return dig_port -> tc_mode == TC_PORT_TBT_ALT ;
402
402
}
403
403
404
- if (icl_tc_phy_is_in_safe_mode (dig_port )) {
405
- drm_dbg_kms (& i915 -> drm , "Port %s: PHY still in safe mode \n" ,
404
+ if (! icl_tc_phy_is_owned (dig_port )) {
405
+ drm_dbg_kms (& i915 -> drm , "Port %s: PHY not owned \n" ,
406
406
dig_port -> tc_port_name );
407
407
408
408
return false;
@@ -417,10 +417,9 @@ intel_tc_port_get_current_mode(struct intel_digital_port *dig_port)
417
417
{
418
418
struct drm_i915_private * i915 = to_i915 (dig_port -> base .base .dev );
419
419
u32 live_status_mask = tc_port_live_status_mask (dig_port );
420
- bool in_safe_mode = icl_tc_phy_is_in_safe_mode (dig_port );
421
420
enum tc_port_mode mode ;
422
421
423
- if (in_safe_mode ||
422
+ if (! icl_tc_phy_is_owned ( dig_port ) ||
424
423
drm_WARN_ON (& i915 -> drm , !icl_tc_phy_status_complete (dig_port )))
425
424
return TC_PORT_TBT_ALT ;
426
425
0 commit comments