#include "intel_mg_phy_regs.h"
#include "intel_tc.h"
-static u32 tc_port_live_status_mask(struct intel_digital_port *dig_port);
+static u32 tc_phy_hpd_live_status(struct intel_digital_port *dig_port);
static bool tc_phy_is_ready(struct intel_digital_port *dig_port);
static bool tc_phy_take_ownership(struct intel_digital_port *dig_port, bool take);
* ICL TC PHY handlers
* -------------------
*/
-static u32 icl_tc_port_live_status_mask(struct intel_digital_port *dig_port)
+static u32 icl_tc_phy_hpd_live_status(struct intel_digital_port *dig_port)
{
struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
u32 isr_bit = i915->display.hotplug.pch_hpd[dig_port->base.hpd_pin];
goto out_set_tbt_alt_mode;
}
- live_status_mask = tc_port_live_status_mask(dig_port);
+ live_status_mask = tc_phy_hpd_live_status(dig_port);
if (!(live_status_mask & (BIT(TC_PORT_DP_ALT) | BIT(TC_PORT_LEGACY))) &&
!dig_port->tc_legacy_port) {
drm_dbg_kms(&i915->drm, "Port %s: PHY ownership not required (live status %02x)\n",
* Now we have to re-check the live state, in case the port recently
* became disconnected. Not necessary for legacy mode.
*/
- if (!(tc_port_live_status_mask(dig_port) & BIT(TC_PORT_DP_ALT))) {
+ if (!(tc_phy_hpd_live_status(dig_port) & BIT(TC_PORT_DP_ALT))) {
drm_dbg_kms(&i915->drm, "Port %s: PHY sudden disconnect\n",
dig_port->tc_port_name);
goto out_release_phy;
* ADLP TC PHY handlers
* --------------------
*/
-static u32 adlp_tc_port_live_status_mask(struct intel_digital_port *dig_port)
+static u32 adlp_tc_phy_hpd_live_status(struct intel_digital_port *dig_port)
{
struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
enum tc_port tc_port = intel_port_to_tc(i915, dig_port->base.port);
* Generic TC PHY handlers
* -----------------------
*/
-static u32 tc_port_live_status_mask(struct intel_digital_port *dig_port)
+static u32 tc_phy_hpd_live_status(struct intel_digital_port *dig_port)
{
struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
if (IS_ALDERLAKE_P(i915))
- return adlp_tc_port_live_status_mask(dig_port);
+ return adlp_tc_phy_hpd_live_status(dig_port);
- return icl_tc_port_live_status_mask(dig_port);
+ return icl_tc_phy_hpd_live_status(dig_port);
}
static bool tc_phy_is_ready(struct intel_digital_port *dig_port)
static enum tc_port_mode
tc_phy_hpd_live_mode(struct intel_digital_port *dig_port)
{
- u32 live_status_mask = tc_port_live_status_mask(dig_port);
+ u32 live_status_mask = tc_phy_hpd_live_status(dig_port);
return hpd_mask_to_tc_mode(live_status_mask);
}
}
static enum tc_port_mode
-intel_tc_port_get_current_mode(struct intel_digital_port *dig_port)
+tc_phy_get_current_mode(struct intel_digital_port *dig_port)
{
struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
enum tc_port_mode live_mode = tc_phy_hpd_live_mode(dig_port);
}
static enum tc_port_mode
-intel_tc_port_get_target_mode(struct intel_digital_port *dig_port)
+tc_phy_get_target_mode(struct intel_digital_port *dig_port)
{
- u32 live_status_mask = tc_port_live_status_mask(dig_port);
+ u32 live_status_mask = tc_phy_hpd_live_status(dig_port);
return hpd_mask_to_target_mode(dig_port, live_status_mask);
}
static bool intel_tc_port_needs_reset(struct intel_digital_port *dig_port)
{
- return intel_tc_port_get_target_mode(dig_port) != dig_port->tc_mode;
+ return tc_phy_get_target_mode(dig_port) != dig_port->tc_mode;
}
static void intel_tc_port_update_mode(struct intel_digital_port *dig_port,
tc_cold_wref = tc_cold_block(dig_port, &domain);
- dig_port->tc_mode = intel_tc_port_get_current_mode(dig_port);
+ dig_port->tc_mode = tc_phy_get_current_mode(dig_port);
/*
* Save the initial mode for the state check in
* intel_tc_port_sanitize_mode().
drm_WARN_ON(&i915->drm, !intel_tc_port_ref_held(dig_port));
- return tc_port_live_status_mask(dig_port) & BIT(dig_port->tc_mode);
+ return tc_phy_hpd_live_status(dig_port) & BIT(dig_port->tc_mode);
}
bool intel_tc_port_connected(struct intel_encoder *encoder)