search for: nouveau_encoder_connector_get

Displaying 20 results from an estimated 27 matches for "nouveau_encoder_connector_get".

2020 Aug 20
0
[RFC v2 06/20] drm/nouveau/kms: Search for encoders' connectors properly
While the way we find the associated connector for an encoder is just fine for legacy modesetting, it's not correct for nv50+ since that uses atomic modesetting. For reference, see the drm_encoder kdocs. Fix this by removing nouveau_encoder_connector_get(), and replacing it with nv04_encoder_get_connector(), nv50_outp_get_old_connector(), and nv50_outp_get_new_connector(). v2: * Don't line-wrap for_each_(old|new)_connector_in_state in nv50_outp_get_(old|new)_connector() - sravn Signed-off-by: Lyude Paul <lyude at redhat.com> Reviewed-...
2009 Aug 17
3
[Bug 23382] New: Nouveau DRM module out-of-tree compile errors
...des. When doing an out-of-tree compile on the nouveau kernel module, recent GIT versions fail to compile without patching for a couple reasons. The first can be fixed with the attached patch. The second has to do with the fact that drivers/gpu/drm/nouveau/nouveau_drv.h declares the prototype for nouveau_encoder_connector_get, which relies on the type `struct nouveau_encoder*', defined in drivers/gpu/drm/nouveau/nouveau_encoder.h. However, nouveau_encoder.h needs nouveau_drv.h for the type `struct nv04_output_reg'. This circular dependency causes compilation of nouveau_drv.c to fail. Also, any reason the incl...
2009 Aug 16
2
[PATCH] drm/nv04: fix null pointer dereferences of native_mode
...nnected LVDS encoder there is no native_mode */ @@ -523,8 +529,12 @@ static void nv04_dfp_restore(struct drm_encoder *encoder) int head = nv_encoder->restore.head; if (nv_encoder->dcb->type == OUTPUT_LVDS) { - call_lvds_script(dev, nv_encoder->dcb, head, LVDS_PANEL_ON, - nouveau_encoder_connector_get(nv_encoder)->native_mode->clock); + struct drm_display_mode *native_mode = nouveau_encoder_connector_get(nv_encoder)->native_mode; + if (native_mode) + call_lvds_script(dev, nv_encoder->dcb, head, LVDS_PANEL_ON, + native_mode->clock); + else + NV_ERROR(dev, "Not rest...
2020 Aug 20
22
[RFC v2 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
To start off: this patch series is less work to review then it looks - most (but not all) of the nouveau related work has already been reviewed elsewhere. Most of the reason I'm asking for an RFC here is because this code pulls a lot of code out of i915 and into shared DP helpers. Anyway-nouveau's HPD related code has been collecting dust for a while. Other then the occasional runtime PM
2020 Jan 17
1
[PATCH -next] drm/nouveau/kms/nv50: remove set but not unused variable 'nv_connector'
...struct nv50_head_atom *asyh = nv50_head_atom(nv_crtc->base.state); struct nv50_core *core = nv50_disp(encoder->dev)->core; u8 owner = 1 << nv_crtc->index; @@ -1677,7 +1676,6 @@ nv50_pior_enable(struct drm_encoder *encoder) nv50_outp_acquire(nv_encoder); - nv_connector = nouveau_encoder_connector_get(nv_encoder); switch (asyh->or.bpc) { case 10: asyh->or.depth = 0x6; break; case 8: asyh->or.depth = 0x5; break; -- 2.7.4
2015 Feb 15
2
Only stereo sound with gtx570 over hdmi (regression)
...der->dcb->hashm, + .base.mthd.version = 1, + .base.mthd.method = NV50_DISP_MTHD_V1_SOR_HDA_ELD, + .base.mthd.hasht = nv_encoder->dcb->hasht, + .base.mthd.hashm = nv_encoder->dcb->hashm, }; nv_connector = nouveau_encoder_connector_get(nv_encoder); @@ -1671,7 +1673,7 @@ drm_edid_to_eld(&nv_connector->base, nv_connector->edid); memcpy(args.data, nv_connector->base.eld, sizeof(args.data)); - nvif_mthd(disp->disp, 0, &args, sizeof(args)); + nvif_mthd(disp->disp, 0, &args, sizeo...
2020 Apr 16
1
[PATCH] drm/nouveau: Fix regression by audio component transition
...vice *kdev, int port, int dev_id, bool *enabled, unsigned char *buf, int max_bytes) { struct drm_device *drm_dev = dev_get_drvdata(kdev); @@ -505,7 +506,8 @@ nv50_audio_component_get_eld(struct device *kdev, int port, int pipe, nv_encoder = nouveau_encoder(encoder); nv_connector = nouveau_encoder_connector_get(nv_encoder); nv_crtc = nouveau_crtc(encoder->crtc); - if (!nv_connector || !nv_crtc || nv_crtc->index != port) + if (!nv_connector || !nv_crtc || nv_encoder->or != port || + nv_crtc->index != dev_id) continue; *enabled = drm_detect_monitor_audio(nv_connector->edid);...
2015 Feb 17
1
Only stereo sound with gtx570 over hdmi (regression)
....mthd.version = 1, > +               .base.mthd.method  = NV50_DISP_MTHD_V1_SOR_HDA_ELD, > +               .base.mthd.hasht   = nv_encoder->dcb->hasht, > +               .base.mthd.hashm   = nv_encoder->dcb->hashm, >         }; > >         nv_connector = nouveau_encoder_connector_get(nv_encoder); > @@ -1671,7 +1673,7 @@ >         drm_edid_to_eld(&nv_connector->base, nv_connector->edid); >         memcpy(args.data, nv_connector->base.eld, sizeof(args.data)); > > -       nvif_mthd(disp->disp, 0, &args, sizeof(args)); > +       nv...
2020 Aug 25
22
[RFC v4 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
Most of the reason I'm asking for an RFC here is because this code pulls a lot of code out of i915 and into shared DP helpers. Anyway-nouveau's HPD related code has been collecting dust for a while. Other then the occasional runtime PM related and MST related fixes, we're missing a lot of nice things that have been added to DRM since this was originally written. Additionally, the code
2020 Aug 26
23
[PATCH v5 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
Most of the reason I'm asking for an RFC here is because this code pulls a lot of code out of i915 and into shared DP helpers. Anyway-nouveau's HPD related code has been collecting dust for a while. Other then the occasional runtime PM related and MST related fixes, we're missing a lot of nice things that have been added to DRM since this was originally written. Additionally, the code
2020 Feb 14
0
[PATCH AUTOSEL 5.5 442/542] drm/nouveau/kms/nv50: remove set but not unused variable 'nv_connector'
...struct nv50_head_atom *asyh = nv50_head_atom(nv_crtc->base.state); struct nv50_core *core = nv50_disp(encoder->dev)->core; u8 owner = 1 << nv_crtc->index; @@ -1681,7 +1680,6 @@ nv50_pior_enable(struct drm_encoder *encoder) nv50_outp_acquire(nv_encoder); - nv_connector = nouveau_encoder_connector_get(nv_encoder); switch (asyh->or.bpc) { case 10: asyh->or.depth = 0x6; break; case 8: asyh->or.depth = 0x5; break; -- 2.20.1
2020 Feb 14
0
[PATCH AUTOSEL 5.4 380/459] drm/nouveau/kms/nv50: remove set but not unused variable 'nv_connector'
...struct nv50_head_atom *asyh = nv50_head_atom(nv_crtc->base.state); struct nv50_core *core = nv50_disp(encoder->dev)->core; u8 owner = 1 << nv_crtc->index; @@ -1681,7 +1680,6 @@ nv50_pior_enable(struct drm_encoder *encoder) nv50_outp_acquire(nv_encoder); - nv_connector = nouveau_encoder_connector_get(nv_encoder); switch (asyh->or.bpc) { case 10: asyh->or.depth = 0x6; break; case 8: asyh->or.depth = 0x5; break; -- 2.20.1
2015 Feb 16
0
Only stereo sound with gtx570 over hdmi (regression)
....base.mthd.version = 1, > + .base.mthd.method = NV50_DISP_MTHD_V1_SOR_HDA_ELD, > + .base.mthd.hasht = nv_encoder->dcb->hasht, > + .base.mthd.hashm = nv_encoder->dcb->hashm, > }; > > nv_connector = nouveau_encoder_connector_get(nv_encoder); > @@ -1671,7 +1673,7 @@ > drm_edid_to_eld(&nv_connector->base, nv_connector->edid); > memcpy(args.data, nv_connector->base.eld, sizeof(args.data)); > > - nvif_mthd(disp->disp, 0, &args, sizeof(args)); > + nvif_mthd(disp-...
2020 Aug 11
29
[RFC 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
To start off: this patch series is less work to review then it looks - most (but not all) of the nouveau related work has already been reviewed elsewhere. Most of the reason I'm asking for an RFC here is because this code pulls a lot of code out of i915 and into shared DP helpers. Anyway-nouveau's HPD related code has been collecting dust for a while. Other then the occasional runtime PM
2017 Jan 17
0
[PATCH 2/6] drm/nouveau: Pass mode-dependent AVI and Vendor HDMI InfoFrames to NVKM
...@@ -2792,17 +2817,39 @@ nv50_hdmi_enable(struct drm_encoder *encoder, struct drm_display_mode *mode) }; struct nouveau_connector *nv_connector; u32 max_ac_packet; + union hdmi_infoframe avi_frame; + union hdmi_infoframe vendor_frame; + int ret; + int size; + int frame = 0; nv_connector = nouveau_encoder_connector_get(nv_encoder); if (!drm_detect_hdmi_monitor(nv_connector->edid)) return; + /* Audio InfoFrame apparently not required (supplied by HDA device?) */ + + ret = drm_hdmi_avi_infoframe_from_display_mode(&avi_frame.avi, mode); + if (ret >= 0) { + /* We have an AVI InfoFrame, populate it t...
2009 Dec 13
3
[PATCH] drm/nouveau: use drm debug levels
...cb_entry *dcbe = nv_encoder->dcb; int head = nouveau_crtc(encoder->crtc)->index; - NV_TRACE(dev, "%s called for encoder %d\n", __func__, nv_encoder->dcb->index); + NV_INFO(dev, "Output %s is running on CRTC %d using output %c\n", + drm_get_connector_name(&nouveau_encoder_connector_get(nv_encoder)->base), + nv_crtc->index, '@' + ffs(nv_encoder->dcb->or)); if (dcbe->type == OUTPUT_TMDS) run_tmds_table(dev, dcbe, head, nv_encoder->mode.clock); @@ -550,7 +552,7 @@ static void nv04_dfp_destroy(struct drm_encoder *encoder) { struct nouveau_encoder...
2020 Feb 12
0
[PATCH 4/4] drm/nouveau/kms/nv50-: Share DP SST mode_valid() handling with MST
...oder.h @@ -103,6 +103,10 @@ enum nouveau_dp_status { }; int nouveau_dp_detect(struct nouveau_encoder *); +enum drm_mode_status nv50_dp_mode_valid(struct drm_connector *, + struct nouveau_encoder *, + const struct drm_display_mode *, + unsigned *clock); struct nouveau_connector * nouveau_encoder_connector_get(struct nouveau_encoder *encoder); -- 2.24.1
2019 Nov 15
0
[PATCH 2/3] drm/nouveau/kms/nv50-: Store the bpc we're using in nv50_head_atom
...->base.display_info.bpc == 8) - depth = 0x5; - else - depth = 0x6; + depth = nv50_dp_bpc_to_depth(asyh->or.bpc); if (nv_encoder->link & 1) proto = 0x8; @@ -1666,7 +1675,7 @@ nv50_pior_enable(struct drm_encoder *encoder) nv50_outp_acquire(nv_encoder); nv_connector = nouveau_encoder_connector_get(nv_encoder); - switch (nv_connector->base.display_info.bpc) { + switch (asyh->or.bpc) { case 10: asyh->or.depth = 0x6; break; case 8: asyh->or.depth = 0x5; break; case 6: asyh->or.depth = 0x2; break; diff --git a/drivers/gpu/drm/nouveau/dispnv50/head.c b/drivers/gpu/drm/nouve...
2020 Jan 13
0
[PATCH RESEND] drm/nouveau: Add HD-audio component notifier support
...rm(drm_dev); + struct drm_encoder *encoder; + struct nouveau_encoder *nv_encoder; + struct nouveau_connector *nv_connector; + struct nouveau_crtc *nv_crtc; + int ret = 0; + + *enabled = false; + drm_for_each_encoder(encoder, drm->dev) { + nv_encoder = nouveau_encoder(encoder); + nv_connector = nouveau_encoder_connector_get(nv_encoder); + nv_crtc = nouveau_crtc(encoder->crtc); + if (!nv_connector || !nv_crtc || nv_crtc->index != port) + continue; + *enabled = drm_detect_monitor_audio(nv_connector->edid); + if (*enabled) { + ret = drm_eld_size(nv_connector->base.eld); + memcpy(buf, nv_connector-&g...
2009 Aug 13
9
[PATCHv2 01/10] drm/nouveau: Fix a lock up at NVSetOwner with nv11.
It seems it was only locking up in the context of nouveau_hw_save_vga_fonts, when it actually did something (because the console wasn't already in graphics mode). Signed-off-by: Francisco Jerez <currojerez at riseup.net> --- drivers/gpu/drm/nouveau/nouveau_hw.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_hw.c