return HPD_PORT_A + port - PORT_A;
 }
 
+static enum hpd_pin skl_hpd_pin(struct drm_i915_private *dev_priv, enum port port)
+{
+       if (HAS_PCH_TGP(dev_priv))
+               return icl_hpd_pin(dev_priv, port);
+
+       return HPD_PORT_A + port - PORT_A;
+}
+
 #define port_tc_name(port) ((port) - PORT_TC1 + '1')
 #define tc_port_name(tc_port) ((tc_port) - TC_PORT_1 + '1')
 
                encoder->hpd_pin = icl_hpd_pin(dev_priv, port);
        else if (IS_GEN(dev_priv, 10))
                encoder->hpd_pin = cnl_hpd_pin(dev_priv, port);
+       else if (IS_GEN(dev_priv, 9))
+               encoder->hpd_pin = skl_hpd_pin(dev_priv, port);
        else
                encoder->hpd_pin = intel_hpd_pin_default(dev_priv, port);