search for: connector_status_connected

Displaying 20 results from an estimated 67 matches for "connector_status_connected".

2023 Mar 26
1
[PATCH 6.2 regression fix] drm/nouveau/kms: Fix backlight registration
...object *device = &drm->client.device.object; + /* + * Note when this runs the connectors have not been probed yet, + * so nv_conn->base.status is not set yet. + */ if (!nvif_rd32(device, NV50_PDISP_SOR_PWM_CTL(ffs(nv_encoder->dcb->or) - 1)) || - nv_conn->base.status != connector_status_connected) + drm_helper_probe_detect(&nv_conn->base, NULL, false) != connector_status_connected) return -ENODEV; if (nv_conn->type == DCB_CONNECTOR_eDP) { -- 2.39.1
2023 Mar 28
1
[PATCH 6.2 regression fix] drm/nouveau/kms: Fix backlight registration
...t.device.object; > > + /* > + * Note when this runs the connectors have not been probed yet, > + * so nv_conn->base.status is not set yet. > + */ > if (!nvif_rd32(device, NV50_PDISP_SOR_PWM_CTL(ffs(nv_encoder->dcb->or) - 1)) || > - nv_conn->base.status != connector_status_connected) > + drm_helper_probe_detect(&nv_conn->base, NULL, false) != connector_status_connected) > return -ENODEV; > > if (nv_conn->type == DCB_CONNECTOR_eDP) { -- Cheers, Lyude Paul (she/her) Software Engineer at Red Hat
2020 Mar 05
2
[PATCH 2/3] drm/dp_mst: Don't show connectors as connected before probing available PBN
...dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c > index 207eef08d12c..7b0ff0cff954 100644 > --- a/drivers/gpu/drm/drm_dp_mst_topology.c > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > @@ -4033,6 +4033,19 @@ drm_dp_mst_detect_port(struct drm_connector *connector, > ret = connector_status_connected; > break; > } > + > + /* We don't want to tell userspace the port is actually plugged into > + * anything until we've finished probing it's available_pbn, otherwise "its" Why is the connector even registered before we've finished the probe? > +...
2020 Mar 18
1
[PATCH 1/2] drm/nouveau/connector: Fix indenting in nouveau_connector_detect()
...v_connector->edid) { NV_ERROR(drm, "DDC responded, but no EDID for %s\n", connector->name); @@ -635,7 +635,7 @@ nouveau_connector_detect(struct drm_connector *connector, bool force) encoder->helper_private; if (helper->detect(encoder, connector) == - connector_status_connected) { + connector_status_connected) { nouveau_connector_set_encoder(connector, nv_encoder); conn_status = connector_status_connected; goto out; -- 2.24.1
2012 Nov 08
2
[PATCH] nouveau: fix acpi edid retrieval
...ruct drm_connector *connector, bool force) * valid - it's not (rh#613284) */ if (nv_encoder->dcb->lvdsconf.use_acpi_for_edid) { - if (!(nv_connector->edid = nouveau_acpi_edid(dev, connector))) { + if ((nv_connector->edid = nouveau_acpi_edid(dev, connector))) { status = connector_status_connected; goto out; }
2020 Mar 05
4
[PATCH 2/3] drm/dp_mst: Don't show connectors as connected before probing available PBN
...t; > index 207eef08d12c..7b0ff0cff954 100644 > > > --- a/drivers/gpu/drm/drm_dp_mst_topology.c > > > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > > > @@ -4033,6 +4033,19 @@ drm_dp_mst_detect_port(struct drm_connector > > > *connector, > > > ret = connector_status_connected; > > > break; > > > } > > > + > > > + /* We don't want to tell userspace the port is actually plugged into > > > + * anything until we've finished probing it's available_pbn, otherwise > > > > "its" > > &gt...
2020 Aug 11
0
[RFC 17/20] drm/nouveau/kms/nv50-: Add support for DP_SINK_COUNT
...t bother reading + * downstream port info + */ + if (!outp->dp.sink_count) + return connector_status_disconnected; + } + ret = drm_dp_downstream_read_info(aux, dpcd, outp->dp.downstream_ports); if (ret < 0) - return connector_status_disconnected; + goto out; - return connector_status_connected; + status = connector_status_connected; +out: + if (status != connector_status_connected) { + /* Clear any cached info */ + outp->dp.sink_count = 0; + } + return status; } int @@ -161,6 +192,8 @@ void nouveau_dp_irq(struct nouveau_drm *drm, struct drm_connector *connector = &nv_conne...
2018 Jun 26
1
[PATCH 6/8] drm/nouveau: Use drm_for_each_connector_encoder_ids()
From: Ville Syrjälä <ville.syrjala at linux.intel.com> Use drm_for_each_connector_encoder_ids() for iterating connector->encoder_ids[]. A bit more convenient not having to deal with the implementation details. Cc: Ben Skeggs <bskeggs at redhat.com> Cc: nouveau at lists.freedesktop.org Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com> ---
2020 Mar 04
0
[PATCH 2/3] drm/dp_mst: Don't show connectors as connected before probing available PBN
...it a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index 207eef08d12c..7b0ff0cff954 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -4033,6 +4033,19 @@ drm_dp_mst_detect_port(struct drm_connector *connector, ret = connector_status_connected; break; } + + /* We don't want to tell userspace the port is actually plugged into + * anything until we've finished probing it's available_pbn, otherwise + * userspace will see racy atomic check failures + * + * Since we always send a hotplug at the end of probing topology +...
2019 Sep 05
3
[PATCH v2] drm/connector: Allow max possible encoders to attach to a connector
...->helper_private; bool connected; - int i; best_encoder = connector_funcs->best_encoder(connector); - drm_connector_for_each_possible_encoder(connector, encoder, i) { + drm_connector_for_each_possible_encoder(connector, encoder) { if ((encoder == best_encoder) && (status == connector_status_connected)) connected = true; else @@ -236,9 +235,8 @@ amdgpu_connector_find_encoder(struct drm_connector *connector, int encoder_type) { struct drm_encoder *encoder; - int i; - drm_connector_for_each_possible_encoder(connector, encoder, i) { + drm_connector_for_each_possible_encoder(c...
2020 Aug 26
0
[PATCH v5 14/20] drm/nouveau/kms/nv50-: Use downstream DP clock limits for mode validation
...d..d2141ca16107b 100644 --- a/drivers/gpu/drm/nouveau/dispnv50/disp.c +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c @@ -1258,7 +1258,10 @@ nv50_mstc_detect(struct drm_connector *connector, ret = drm_dp_mst_detect_port(connector, ctx, mstc->port->mgr, mstc->port); + if (ret != connector_status_connected) + goto out; +out: pm_runtime_mark_last_busy(connector->dev->dev); pm_runtime_put_autosuspend(connector->dev->dev); return ret; diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c index 005750aeb6d4f..ad852e572cfec 100644 --- a/drivers/gpu/d...
2020 Aug 11
0
[RFC 15/20] drm/i915/dp: Extract drm_dp_has_sink_count()
...d(). - */ - if (!intel_dp_is_edp(intel_dp) && - !drm_dp_has_quirk(&intel_dp->desc, 0, - DP_DPCD_QUIRK_NO_SINK_COUNT)) { + if (intel_dp_has_sink_count(intel_dp)) { u8 count; ssize_t r; @@ -5939,9 +5943,8 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp) return connector_status_connected; /* If we're HPD-aware, SINK_COUNT changes dynamically */ - if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11 && + if (intel_dp_has_sink_count(intel_dp) && intel_dp->downstream_ports[0] & DP_DS_PORT_HPD) { - return intel_dp->sink_count ? connector_status_co...
2020 Apr 24
2
[PATCH 3/5] drm/nouveau: utilize subconnector property for DP
...busy(dev->dev); pm_runtime_put_autosuspend(dev->dev); + if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort || + connector->connector_type == DRM_MODE_CONNECTOR_eDP) { + enum drm_mode_subconnector subconnector = DRM_MODE_SUBCONNECTOR_Unknown; + + if (conn_status == connector_status_connected && nv_encoder) + subconnector = nv_encoder->dp.subconnector; + drm_object_property_set_value(&connector->base, + connector->dev->mode_config.dp_subconnector_property, + subconnector); + } + return conn_status; } @@ -1373,6 +1384,8 @@ nouveau_connector_create(stru...
2020 Mar 05
0
[PATCH 2/3] drm/dp_mst: Don't show connectors as connected before probing available PBN
.../drm_dp_mst_topology.c > > index 207eef08d12c..7b0ff0cff954 100644 > > --- a/drivers/gpu/drm/drm_dp_mst_topology.c > > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > > @@ -4033,6 +4033,19 @@ drm_dp_mst_detect_port(struct drm_connector > > *connector, > > ret = connector_status_connected; > > break; > > } > > + > > + /* We don't want to tell userspace the port is actually plugged into > > + * anything until we've finished probing it's available_pbn, otherwise > > "its" > > Why is the connector even registered b...
2020 Oct 09
1
[PATCH] drm/nouveau/kms: Fix NULL pointer dereference in nouveau_connector_detect_depth
...06e drm/nouveau/kms: Don't change EDID when it hasn't actually changed Here is the chain of events that causes the oops. On entry to nouveau_connector_detect_lvds, edid is set to NULL. The call to nouveau_connector_detect sets nv_connector->edid to valid memory, with status being set to connector_status_connected and the flow of execution branching to the out label. The subsequent call to nouveau_connector_set_edid erronously clears nv_connector->edid, via the local edid pointer which remains set to NULL. Fix this by setting edid to the value of the just acquired nv_connector->edid and call nouveau_...
2020 Oct 13
1
[PATCH v2] drm/nouveau/kms: Fix NULL pointer dereference in nouveau_connector_detect_depth
...32d3906e drm/nouveau/kms: Don't change EDID when it hasn't actually changed Here is the chain of events that causes the oops. On entry to nouveau_connector_detect_lvds, edid is set to NULL. The call to nouveau_connector_detect sets nv_connector->edid to valid memory, with status set to connector_status_connected and the flow of execution branching to the out label. The subsequent call to nouveau_connector_set_edid erronously clears nv_connector->edid, via the local edid pointer which remains set to NULL. Fix this by setting edid to the value of the just acquired nv_connector->edid and executing the...
2019 Jul 15
1
[PATCH v2 5/6] drm/nouveau: utilize subconnector property for DP
...busy(dev->dev); pm_runtime_put_autosuspend(dev->dev); + if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort || + connector->connector_type == DRM_MODE_CONNECTOR_eDP) { + enum drm_mode_subconnector subconnector = DRM_MODE_SUBCONNECTOR_Unknown; + + if (conn_status == connector_status_connected && nv_encoder) + subconnector = nv_encoder->dp.subconnector; + drm_object_property_set_value(&connector->base, + connector->dev->mode_config.dp_subconnector_property, + subconnector); + } + return conn_status; } @@ -1357,6 +1368,8 @@ nouveau_connector_create(stru...
2019 Aug 26
2
[PATCH v3 5/7] drm/nouveau: utilize subconnector property for DP
...busy(dev->dev); pm_runtime_put_autosuspend(dev->dev); + if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort || + connector->connector_type == DRM_MODE_CONNECTOR_eDP) { + enum drm_mode_subconnector subconnector = DRM_MODE_SUBCONNECTOR_Unknown; + + if (conn_status == connector_status_connected && nv_encoder) + subconnector = nv_encoder->dp.subconnector; + drm_object_property_set_value(&connector->base, + connector->dev->mode_config.dp_subconnector_property, + subconnector); + } + return conn_status; } @@ -1359,6 +1370,8 @@ nouveau_connector_create(stru...
2020 Mar 04
5
[PATCH 0/3] drm/dp_mst: Fix bandwidth checking regressions from DSC patches
AMD's patch series for adding DSC support to the MST helpers unfortunately introduced a few regressions into the kernel that I didn't get around to fixing until just now. I would have reverted the changes earlier, but seeing as that would have reverted all of amd's DSC support + everything that was done on top of that I realllllly wanted to avoid doing that. Anyway, this should fix
2020 Mar 05
0
[PATCH 2/3] drm/dp_mst: Don't show connectors as connected before probing available PBN
...c..7b0ff0cff954 100644 > > > > --- a/drivers/gpu/drm/drm_dp_mst_topology.c > > > > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > > > > @@ -4033,6 +4033,19 @@ drm_dp_mst_detect_port(struct drm_connector > > > > *connector, > > > > ret = connector_status_connected; > > > > break; > > > > } > > > > + > > > > + /* We don't want to tell userspace the port is actually > > > > plugged into > > > > + * anything until we've finished probing it's available_pbn, > > > &...