Displaying 20 results from an estimated 64 matches for "conn_status".
2018 Sep 14
1
[PATCH] drm/nouveau: Grab runtime PM ref in nv50_mstc_detect()
...e1c 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
@@ -938,9 +938,22 @@ static enum drm_connector_status
nv50_mstc_detect(struct drm_connector *connector, bool force)
{
struct nv50_mstc *mstc = nv50_mstc(connector);
+ enum drm_connector_status conn_status;
+ int ret;
+
if (!mstc->port)
return connector_status_disconnected;
- return drm_dp_mst_detect_port(connector, mstc->port->mgr, mstc->port);
+
+ ret = pm_runtime_get_sync(connector->dev->dev);
+ if (ret < 0 && ret != -EACCES)
+ return connector_status_disconnecte...
2020 Apr 24
2
[PATCH 3/5] drm/nouveau: utilize subconnector property for DP
...time_mark_last_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 @@...
2019 Jul 15
1
[PATCH v2 5/6] drm/nouveau: utilize subconnector property for DP
...time_mark_last_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 @@...
2019 Aug 26
2
[PATCH v3 5/7] drm/nouveau: utilize subconnector property for DP
...time_mark_last_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 @@...
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 18
1
[PATCH 1/2] drm/nouveau/connector: Fix indenting in nouveau_connector_detect()
...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
2018 Feb 11
0
[PATCH 3/5] drm/nouveau: Fix deadlock on runtime suspend
...nnector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -570,9 +570,15 @@ nouveau_connector_detect(struct drm_connector *connector, bool force)
nv_connector->edid = NULL;
}
- ret = pm_runtime_get_sync(connector->dev->dev);
- if (ret < 0 && ret != -EACCES)
- return conn_status;
+ /* Outputs are only polled while runtime active, so acquiring a
+ * runtime PM ref here is unnecessary (and would deadlock upon
+ * runtime suspend because it waits for polling to finish).
+ */
+ if (!drm_kms_helper_is_poll_worker()) {
+ ret = pm_runtime_get_sync(connector->dev->dev);...
2018 Aug 07
0
[PATCH v5 10/13] drm/nouveau: Use pm_runtime_get_noresume() in connector_detect()
...e.
*/
- if (!drm_kms_helper_is_poll_worker()) {
- ret = pm_runtime_get_sync(connector->dev->dev);
+ if (drm_kms_helper_is_poll_worker()) {
+ pm_runtime_get_noresume(dev->dev);
+ } else {
+ ret = pm_runtime_get_sync(dev->dev);
if (ret < 0 && ret != -EACCES)
return conn_status;
}
@@ -655,10 +659,8 @@ nouveau_connector_detect(struct drm_connector *connector, bool force)
out:
- if (!drm_kms_helper_is_poll_worker()) {
- pm_runtime_mark_last_busy(connector->dev->dev);
- pm_runtime_put_autosuspend(connector->dev->dev);
- }
+ pm_runtime_mark_last_busy(dev...
2019 Jul 15
0
[PATCH v2 5/6] drm/nouveau: utilize subconnector property for DP
...gt; 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...
2019 Jul 25
0
[PATCH v3 5/5] drm/nouveau: utilize subconnector property for DP
...time_mark_last_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;
}
@@ -1360,6 +1371,8 @@...
2019 Aug 29
0
[PATCH v4 5/7] drm/nouveau: utilize subconnector property for DP
...time_mark_last_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 @@...
2020 Mar 18
0
[PATCH 2/2] drm/nouveau/connector: Fix DDC error when probing force-disabled connectors
...rm/nouveau/nouveau_connector.c
index 0d42a7e5deff..9fb00c4b9764 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -550,6 +550,9 @@ nouveau_connector_detect(struct drm_connector *connector, bool force)
int ret;
enum drm_connector_status conn_status = connector_status_disconnected;
+ if (connector->force == DRM_FORCE_OFF)
+ return conn_status;
+
/* Cleanup the previous EDID block. */
if (nv_connector->edid) {
drm_connector_update_edid_property(connector, NULL);
--
2.24.1
2020 Apr 01
0
[PATCH 3/5] drm/nouveau: utilize subconnector property for DP
...time_mark_last_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 @@...
2020 Aug 16
0
[v3] drm/nouveau: utilize subconnector property for DP
...time_mark_last_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;
}
@@ -1390,6 +1401,8 @@...
2020 Apr 07
0
[PATCH 3/5] drm/nouveau: utilize subconnector property for DP
...time_mark_last_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 @@...
2019 Aug 26
0
[PATCH v3 5/7] drm/nouveau: utilize subconnector property for DP
...->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,
>...
2019 Aug 28
2
[PATCH v3 5/7] drm/nouveau: utilize subconnector property for DP
...+ 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_...
2014 Feb 11
2
[PATCH] drm/nouveau: handle -EACCES runtime PM return code
On Mon, Feb 10, 2014 at 9:34 PM, Thierry Reding
<thierry.reding at gmail.com> wrote:
> On Mon, Feb 10, 2014 at 02:58:12PM +0900, Alexandre Courbot wrote:
>> pm_runtime_get*() may return -EACCESS to indicate a device does not have
>
> s/-EACCESS/-EACCES/
Oops.
>> runtime PM enabled. This is the case when the nouveau.runpm parameter is
>> set to 0, and is not an
2018 Aug 17
0
[PATCH (repost) 4/5] drm/nouveau: add DisplayPort CEC-Tunneling-over-AUX support
...{
+ drm_dp_cec_unregister_connector(&nv_connector->aux);
drm_dp_aux_unregister(&nv_connector->aux);
+ }
kfree(connector);
}
@@ -608,6 +610,7 @@ nouveau_connector_detect(struct drm_connector *connector, bool force)
nouveau_connector_set_encoder(connector, nv_encoder);
conn_status = connector_status_connected;
+ drm_dp_cec_set_edid(&nv_connector->aux, nv_connector->edid);
goto out;
}
@@ -1108,11 +1111,14 @@ nouveau_connector_hotplug(struct nvif_notify *notify)
if (rep->mask & NVIF_NOTIFY_CONN_V0_IRQ) {
NV_DEBUG(drm, "service %s\n", n...
2018 Aug 16
0
[PATCH 4/5] drm/nouveau: add DisplayPort CEC-Tunneling-over-AUX support
...{
+ drm_dp_cec_unregister_connector(&nv_connector->aux);
drm_dp_aux_unregister(&nv_connector->aux);
+ }
kfree(connector);
}
@@ -608,6 +610,7 @@ nouveau_connector_detect(struct drm_connector *connector, bool force)
nouveau_connector_set_encoder(connector, nv_encoder);
conn_status = connector_status_connected;
+ drm_dp_cec_set_edid(&nv_connector->aux, nv_connector->edid);
goto out;
}
@@ -1108,11 +1111,14 @@ nouveau_connector_hotplug(struct nvif_notify *notify)
if (rep->mask & NVIF_NOTIFY_CONN_V0_IRQ) {
NV_DEBUG(drm, "service %s\n", n...