Skip to content

Commit f53979d

Browse files
zehortigozamattrope
authored andcommitted
drm/i915/display/tc: Rename safe_mode functions ownership
When DP_PHY_MODE_STATUS_NOT_SAFE is set, it means that display has the control over the TC phy. The "not safe" naming is confusing using ownership make it easier to read also future platforms will have a new register that does the same job as DP_PHY_MODE_STATUS_NOT_SAFE but with the onwership name. BSpec: 49294 Cc: Imre Deak <[email protected]> Signed-off-by: José Roberto de Souza <[email protected]> Signed-off-by: Clinton Taylor <[email protected]> Signed-off-by: Matt Roper <[email protected]> Reviewed-by: Imre Deak <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 626426f commit f53979d

File tree

1 file changed

+17
-18
lines changed

1 file changed

+17
-18
lines changed

drivers/gpu/drm/i915/display/intel_tc.c

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -256,8 +256,8 @@ static bool icl_tc_phy_status_complete(struct intel_digital_port *dig_port)
256256
return val & DP_PHY_MODE_STATUS_COMPLETED(dig_port->tc_phy_fia_idx);
257257
}
258258

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)
261261
{
262262
struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
263263
struct intel_uncore *uncore = &i915->uncore;
@@ -267,28 +267,28 @@ static bool icl_tc_phy_set_safe_mode(struct intel_digital_port *dig_port,
267267
PORT_TX_DFLEXDPCSSS(dig_port->tc_phy_fia));
268268
if (val == 0xffffffff) {
269269
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");
272272

273273
return false;
274274
}
275275

276276
val &= ~DP_PHY_MODE_STATUS_NOT_SAFE(dig_port->tc_phy_fia_idx);
277-
if (!enable)
277+
if (take)
278278
val |= DP_PHY_MODE_STATUS_NOT_SAFE(dig_port->tc_phy_fia_idx);
279279

280280
intel_uncore_write(uncore,
281281
PORT_TX_DFLEXDPCSSS(dig_port->tc_phy_fia), val);
282282

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))
284284
drm_dbg_kms(&i915->drm,
285285
"Port %s: PHY complete clear timed out\n",
286286
dig_port->tc_port_name);
287287

288288
return true;
289289
}
290290

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)
292292
{
293293
struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
294294
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)
303303
return true;
304304
}
305305

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);
307307
}
308308

309309
/*
@@ -329,7 +329,7 @@ static void icl_tc_phy_connect(struct intel_digital_port *dig_port,
329329
goto out_set_tbt_alt_mode;
330330
}
331331

332-
if (!icl_tc_phy_set_safe_mode(dig_port, false) &&
332+
if (!icl_tc_phy_take_ownership(dig_port, true) &&
333333
!drm_WARN_ON(&i915->drm, dig_port->tc_legacy_port))
334334
goto out_set_tbt_alt_mode;
335335

@@ -348,23 +348,23 @@ static void icl_tc_phy_connect(struct intel_digital_port *dig_port,
348348
if (!(tc_port_live_status_mask(dig_port) & BIT(TC_PORT_DP_ALT))) {
349349
drm_dbg_kms(&i915->drm, "Port %s: PHY sudden disconnect\n",
350350
dig_port->tc_port_name);
351-
goto out_set_safe_mode;
351+
goto out_release_phy;
352352
}
353353

354354
if (max_lanes < required_lanes) {
355355
drm_dbg_kms(&i915->drm,
356356
"Port %s: PHY max lanes %d < required lanes %d\n",
357357
dig_port->tc_port_name,
358358
max_lanes, required_lanes);
359-
goto out_set_safe_mode;
359+
goto out_release_phy;
360360
}
361361

362362
dig_port->tc_mode = TC_PORT_DP_ALT;
363363

364364
return;
365365

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);
368368
out_set_tbt_alt_mode:
369369
dig_port->tc_mode = TC_PORT_TBT_ALT;
370370
}
@@ -380,7 +380,7 @@ static void icl_tc_phy_disconnect(struct intel_digital_port *dig_port)
380380
/* Nothing to do, we never disconnect from legacy mode */
381381
break;
382382
case TC_PORT_DP_ALT:
383-
icl_tc_phy_set_safe_mode(dig_port, true);
383+
icl_tc_phy_take_ownership(dig_port, false);
384384
dig_port->tc_mode = TC_PORT_TBT_ALT;
385385
break;
386386
case TC_PORT_TBT_ALT:
@@ -401,8 +401,8 @@ static bool icl_tc_phy_is_connected(struct intel_digital_port *dig_port)
401401
return dig_port->tc_mode == TC_PORT_TBT_ALT;
402402
}
403403

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",
406406
dig_port->tc_port_name);
407407

408408
return false;
@@ -417,10 +417,9 @@ intel_tc_port_get_current_mode(struct intel_digital_port *dig_port)
417417
{
418418
struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
419419
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);
421420
enum tc_port_mode mode;
422421

423-
if (in_safe_mode ||
422+
if (!icl_tc_phy_is_owned(dig_port) ||
424423
drm_WARN_ON(&i915->drm, !icl_tc_phy_status_complete(dig_port)))
425424
return TC_PORT_TBT_ALT;
426425

0 commit comments

Comments
 (0)