Displaying 20 results from an estimated 70 matches for "nouveau_connector_create".
2018 Jul 12
1
[PATCH] drm/nouveau: Don't forget to label dp_aux devices
...2d290e9c..45ff1872d894 100644
--- a/drivers/gpu/drm/nouveau/dispnv04/disp.c
+++ b/drivers/gpu/drm/nouveau/dispnv04/disp.c
@@ -64,7 +64,7 @@ nv04_display_create(struct drm_device *dev)
for (i = 0; i < dcb->entries; i++) {
struct dcb_output *dcbent = &dcb->entry[i];
- connector = nouveau_connector_create(dev, dcbent->connector);
+ connector = nouveau_connector_create(dev, dcbent);
if (IS_ERR(connector))
continue;
diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c
index 9382e99a0bc7..4f8d51590bbb 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/d...
2023 Aug 14
2
[PATCH] drm/nouveau/disp: fix use-after-free in error handling of nouveau_connector_create
...7 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
index a2e0033e8a260..622f6eb9a8bfd 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -1408,8 +1408,7 @@ nouveau_connector_create(struct drm_device *dev,
ret = nvif_conn_ctor(&disp->disp, nv_connector->base.name, nv_connector->index,
&nv_connector->conn);
if (ret) {
- kfree(nv_connector);
- return ERR_PTR(ret);
+ goto drm_conn_err;
}
ret = nvif_conn_event_ctor(&nv_connecto...
2023 Aug 16
1
[PATCH] drm/nouveau/disp: fix use-after-free in error handling of nouveau_connector_create
On Thu, Aug 17, 2023 at 12:14?AM Borislav Petkov <bp at alien8.de> wrote:
>
> On Wed, Aug 16, 2023 at 11:27:05PM +0200, Karol Herbst wrote:
> > that GPU has only a `DMS-59` connector, is that right?
>
> No clue. How do I figure that out?
>
do you have one of these? https://en.wikipedia.org/wiki/DMS-59
> --
> Regards/Gruss,
> Boris.
>
>
2023 Aug 17
1
[PATCH] drm/nouveau/disp: fix use-after-free in error handling of nouveau_connector_create
On Thu, Aug 17, 2023 at 01:18:12AM +0200, Karol Herbst wrote:
> do you have one of these? https://en.wikipedia.org/wiki/DMS-59
Ah, DMS == Dual Monitor Solution :-)
Yap, that's exactly what the GPU has. And the Y-cable is 2xDVI. It is
a Dell workstation and it came this way, meaning I haven't done any
changes there.
Thx.
--
Regards/Gruss,
Boris.
2023 Aug 17
1
[PATCH] drm/nouveau/disp: fix use-after-free in error handling of nouveau_connector_create
On Thu, Aug 17, 2023 at 10:10?AM Borislav Petkov <bp at alien8.de> wrote:
>
> On Thu, Aug 17, 2023 at 01:18:12AM +0200, Karol Herbst wrote:
> > do you have one of these? https://en.wikipedia.org/wiki/DMS-59
>
> Ah, DMS == Dual Monitor Solution :-)
>
> Yap, that's exactly what the GPU has. And the Y-cable is 2xDVI. It is
> a Dell workstation and it came this
2023 Aug 17
1
[PATCH] drm/nouveau/disp: fix use-after-free in error handling of nouveau_connector_create
On Thu, Aug 17, 2023 at 11:58?AM Karol Herbst <kherbst at redhat.com> wrote:
>
> On Thu, Aug 17, 2023 at 10:10?AM Borislav Petkov <bp at alien8.de> wrote:
> >
> > On Thu, Aug 17, 2023 at 01:18:12AM +0200, Karol Herbst wrote:
> > > do you have one of these? https://en.wikipedia.org/wiki/DMS-59
> >
> > Ah, DMS == Dual Monitor Solution :-)
> >
2023 Aug 17
1
[PATCH] drm/nouveau/disp: fix use-after-free in error handling of nouveau_connector_create
On Thu, Aug 17, 2023 at 12:00:47PM +0200, Karol Herbst wrote:
> btw, what would help is to know where `nvkm_uconn_uevent` actually
> fails, or rather, are you running into this "/* TODO: support DP IRQ
> on ANX9805 and remove this hack. */" condition?
Send me a diff, I'll run it here and catch output over serial.
Thx.
--
Regards/Gruss,
Boris.
2023 Aug 17
1
[PATCH] drm/nouveau/disp: fix use-after-free in error handling of nouveau_connector_create
On Thu, Aug 17, 2023 at 12:11?PM Borislav Petkov <bp at alien8.de> wrote:
>
> On Thu, Aug 17, 2023 at 12:00:47PM +0200, Karol Herbst wrote:
> > btw, what would help is to know where `nvkm_uconn_uevent` actually
> > fails, or rather, are you running into this "/* TODO: support DP IRQ
> > on ANX9805 and remove this hack. */" condition?
>
> Send me a
2014 Jul 03
2
[PATCH] drm: default scaling to NONE for external connectors
...nd let people do whatever they want?
drm/nouveau_connector.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drm/nouveau_connector.c b/drm/nouveau_connector.c
index 1fa222e..295e222 100644
--- a/drm/nouveau_connector.c
+++ b/drm/nouveau_connector.c
@@ -1192,6 +1192,8 @@ nouveau_connector_create(struct drm_device *dev, int index)
disp->color_vibrance_property,
150);
+ nv_connector->scaling_mode = DRM_MODE_SCALE_NONE;
+
switch (nv_connector->type) {
case DCB_CONNECTOR_VGA:
if (nv_device(drm->device)->card_type >= NV_50) {
@@ -1203,10 +1205,...
2018 Aug 17
0
[PATCH (repost) 4/5] drm/nouveau: add DisplayPort CEC-Tunneling-over-AUX support
...NVIF_NOTIFY_CONN_V0_UNPLUG);
+ if (!plugged)
+ drm_dp_cec_unset_edid(&nv_connector->aux);
NV_DEBUG(drm, "%splugged %s\n", plugged ? "" : "un", name);
if ((nv_encoder = find_encoder(connector, DCB_OUTPUT_DP))) {
if (!plugged)
@@ -1302,7 +1308,6 @@ nouveau_connector_create(struct drm_device *dev, int index)
kfree(nv_connector);
return ERR_PTR(ret);
}
-
funcs = &nouveau_connector_funcs;
break;
default:
@@ -1356,6 +1361,14 @@ nouveau_connector_create(struct drm_device *dev, int index)
break;
}
+ switch (type) {
+ case DRM_MODE_CONNECTOR_Di...
2018 Aug 16
0
[PATCH 4/5] drm/nouveau: add DisplayPort CEC-Tunneling-over-AUX support
...NVIF_NOTIFY_CONN_V0_UNPLUG);
+ if (!plugged)
+ drm_dp_cec_unset_edid(&nv_connector->aux);
NV_DEBUG(drm, "%splugged %s\n", plugged ? "" : "un", name);
if ((nv_encoder = find_encoder(connector, DCB_OUTPUT_DP))) {
if (!plugged)
@@ -1302,7 +1308,6 @@ nouveau_connector_create(struct drm_device *dev, int index)
kfree(nv_connector);
return ERR_PTR(ret);
}
-
funcs = &nouveau_connector_funcs;
break;
default:
@@ -1356,6 +1361,14 @@ nouveau_connector_create(struct drm_device *dev, int index)
break;
}
+ switch (type) {
+ case DRM_MODE_CONNECTOR_Di...
2014 Jul 04
0
[PATCH] drm: default scaling to NONE for external connectors
...gt; drm/nouveau_connector.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drm/nouveau_connector.c b/drm/nouveau_connector.c
> index 1fa222e..295e222 100644
> --- a/drm/nouveau_connector.c
> +++ b/drm/nouveau_connector.c
> @@ -1192,6 +1192,8 @@ nouveau_connector_create(struct drm_device *dev, int index)
> disp->color_vibrance_property,
> 150);
>
> + nv_connector->scaling_mode = DRM_MODE_SCALE_NONE;
> +
> switch (nv_connector->type)...
2019 Jul 01
1
[PATCH] drm/nouveau: fix memory leak in nouveau_conn_reset()
...c ff ff 00 00 00 00 00 00 00 00 ...{T...........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<000000005005c0d0>] kmem_cache_alloc_trace+0x195/0x2c0
[<00000000a122baed>] nouveau_conn_reset+0x25/0xc0 [nouveau]
[<000000004fd189a2>] nouveau_connector_create+0x3a7/0x610 [nouveau]
[<00000000c73343a8>] nv50_display_create+0x343/0x980 [nouveau]
[<000000002e2b03c3>] nouveau_display_create+0x51f/0x660 [nouveau]
[<00000000c924699b>] nouveau_drm_device_init+0x182/0x7f0 [nouveau]
[<00000000cc029436>] nouveau_drm_probe+0x...
2020 Apr 24
2
[PATCH 3/5] drm/nouveau: utilize subconnector property for DP
...== 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(struct drm_device *dev,
kfree(nv_connector);
return ERR_PTR(ret);
}
+
+ drm_mode_add_dp_subconnector_property(connector);
funcs = &nouveau_connector_funcs;
break;
default:
diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c
index 2674f15....
2019 Nov 26
0
nouveau regression [bisected] hotplug broken on gf108 since 4.1
...t;load) {
ret = dev->driver->load(dev, flags);
if (ret)
goto err_minors;
}
So would register the connectors directly from nouveau_drm_load()/nouveau_drm_device_init()
(through the drm_register_connector() call at the end of nouveau_connector_create).
Since the troublesome commit we do hit the if in question since we now call
nouveau_drm_device_init() before drm_dev_register(), turning the drm_register_connector()
call at the end of nouveau_connector_create in a no-op for non dp-mst connectors.
The connectors do get registered a bit later wh...
2017 Apr 11
2
[PATCH v3 10/10] drm/nouveau: Enable stereoscopic 3D output over HDMI
...7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
index 9a91e79..ff188c7 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -1324,6 +1324,13 @@ nouveau_connector_create(struct drm_device *dev, int index)
break;
}
+ /* HDMI 3D support */
+ if ((disp->disp.oclass >= NV50_DISP)
+ && ((type == DRM_MODE_CONNECTOR_DisplayPort)
+ || (type == DRM_MODE_CONNECTOR_eDP)
+ || (type == DRM_MODE_CONNECTOR_HDMIA)))
+ connector->stereo_allowed = true...
2018 Aug 27
1
[PATCH 4/5] drm/nouveau: add DisplayPort CEC-Tunneling-over-AUX support
...= NVIF_NOTIFY_CONN_V0_UNPLUG);
+ if (!plugged)
+ drm_dp_cec_unset_edid(&nv_connector->aux);
NV_DEBUG(drm, "%splugged %s\n", plugged ? "" : "un", name);
if ((nv_encoder = find_encoder(connector, DCB_OUTPUT_DP))) {
if (!plugged)
@@ -1302,7 +1308,6 @@ nouveau_connector_create(struct drm_device *dev, int index)
kfree(nv_connector);
return ERR_PTR(ret);
}
-
funcs = &nouveau_connector_funcs;
break;
default:
@@ -1356,6 +1361,14 @@ nouveau_connector_create(struct drm_device *dev, int index)
break;
}
+ switch (type) {
+ case DRM_MODE_CONNECTOR_Dis...
2019 Jul 15
1
[PATCH v2 5/6] drm/nouveau: utilize subconnector property for DP
...== 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(struct drm_device *dev,
kfree(nv_connector);
return ERR_PTR(ret);
}
+
+ drm_mode_add_dp_subconnector_property(connector);
funcs = &nouveau_connector_funcs;
break;
default:
diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c
index 0d052e16...
2019 Aug 26
2
[PATCH v3 5/7] drm/nouveau: utilize subconnector property for DP
...== 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(struct drm_device *dev,
kfree(nv_connector);
return ERR_PTR(ret);
}
+
+ drm_mode_add_dp_subconnector_property(connector);
funcs = &nouveau_connector_funcs;
break;
default:
diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c
index 2674f158...
2019 May 17
4
drm/nouveau/core/memory: kmemleak 684 new suspected memory leaks
Hello,
5.1.0-next-20190517
I'm looking at quite a lot of kmemleak reports coming from
drm/nouveau/core/memory, all of which are:
unreferenced object 0xffff8deec27c4ac0 (size 16):
comm "Web Content", pid 5309, jiffies 4309675011 (age 68.076s)
hex dump (first 16 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace: