bool use_acomp_notifier; /* use eld_notify callback for hotplug */
        bool acomp_registered; /* audio component registered in this driver */
+       bool force_connect; /* force connectivity */
        struct drm_audio_component_audio_ops drm_audio_ops;
        int (*port2pin)(struct hda_codec *, int); /* reverse port/pin mapping */
 
         * all device entries on the same pin
         */
        config = snd_hda_codec_get_pincfg(codec, pin_nid);
-       if (get_defcfg_connect(config) == AC_JACK_PORT_NONE)
+       if (get_defcfg_connect(config) == AC_JACK_PORT_NONE &&
+           !spec->force_connect)
                return 0;
 
        /*
        return 0;
 }
 
+static const struct snd_pci_quirk force_connect_list[] = {
+       SND_PCI_QUIRK(0x103c, 0x871a, "HP", 1),
+       {}
+};
+
 static int hdmi_parse_codec(struct hda_codec *codec)
 {
+       struct hdmi_spec *spec = codec->spec;
        hda_nid_t start_nid;
        unsigned int caps;
        int i, nodes;
+       const struct snd_pci_quirk *q;
 
        nodes = snd_hda_get_sub_nodes(codec, codec->core.afg, &start_nid);
        if (!start_nid || nodes < 0) {
                return -EINVAL;
        }
 
+       q = snd_pci_quirk_lookup(codec->bus->pci, force_connect_list);
+
+       if (q && q->value)
+               spec->force_connect = true;
+
        /*
         * hdmi_add_pin() assumes total amount of converters to
         * be known, so first discover all converters