Displaying 20 results from an estimated 29 matches for "drm_detect_monitor_audio".
2023 Mar 30
1
[PATCH 00/12] drm: reduce drm_detect_monitor_audio/drm_detect_hdmi_monitor/edid_blob_ptr usage
THIS IS UNTESTED for anything other than i915.
Use previously parsed EDID where possible for display audio/hdmi
detection. This in turn reduces edid_blob_ptr usage in a number of
places. Further reduce edid_blob_ptr usage, and document that it should
not be used by drivers directly.
BR,
Jani.
Cc: Alain Volmat <alain.volmat at foss.st.com>
Cc: Alex Deucher <alexander.deucher at
2024 Jan 12
2
[PATCH 1/6] drm/nouveau: convert to using is_hdmi and has_audio from display info
Prefer the parsed results for is_hdmi and has_audio in display info over
calling drm_detect_hdmi_monitor() and drm_detect_monitor_audio(),
respectively.
Conveniently, this also removes the need to use edid_blob_ptr.
Cc: Karol Herbst <kherbst at redhat.com>
Cc: Lyude Paul <lyude at redhat.com>
Cc: Danilo Krummrich <dakr at redhat.com>
Cc: nouveau at lists.freedesktop.org
Signed-off-by: Jani Nikula <jani.nikula...
2024 Jan 14
1
[PATCH 1/6] drm/nouveau: convert to using is_hdmi and has_audio from display info
On Fri, Jan 12, 2024 at 11:50?AM Jani Nikula <jani.nikula at intel.com> wrote:
>
> Prefer the parsed results for is_hdmi and has_audio in display info over
> calling drm_detect_hdmi_monitor() and drm_detect_monitor_audio(),
> respectively.
>
> Conveniently, this also removes the need to use edid_blob_ptr.
>
> Cc: Karol Herbst <kherbst at redhat.com>
> Cc: Lyude Paul <lyude at redhat.com>
> Cc: Danilo Krummrich <dakr at redhat.com>
> Cc: nouveau at lists.freedesktop.org
>...
2024 May 10
7
[RESEND 0/6] drm, nouveau/radeon/amdpgu: edid_blob_ptr cleanups
I've sent this some moths ago, let's try again...
BR,
Jani.
Jani Nikula (6):
drm/nouveau: convert to using is_hdmi and has_audio from display info
drm/radeon: convert to using is_hdmi and has_audio from display info
drm/radeon: remove radeon_connector_edid() and stop using
edid_blob_ptr
drm/amdgpu: remove amdgpu_connector_edid() and stop using
edid_blob_ptr
drm/edid:
2020 Apr 16
1
[PATCH] drm/nouveau: Fix regression by audio component transition
...;
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);
if (*enabled) {
@@ -599,7 +601,8 @@ nv50_audio_disable(struct drm_encoder *encoder, struct nouveau_crtc *nv_crtc)
nvif_mthd(&disp->disp->object, 0, &args, sizeof(args));
- nv50_audio_component_eld_notify(drm->audio.component, nv_crtc->index);
+ n...
2020 Nov 14
0
[PATCH 5/8] drm/nouveau/kms/nv50-: Reverse args for nv50_outp_get_(old|new)_connector()
...or_state;
@@ -743,7 +741,7 @@ nv50_audio_enable(struct drm_encoder *encoder, struct drm_atomic_state *state,
(0x0100 << nv_crtc->index),
};
- nv_connector = nv50_outp_get_new_connector(nv_encoder, state);
+ nv_connector = nv50_outp_get_new_connector(state, nv_encoder);
if (!drm_detect_monitor_audio(nv_connector->edid))
return;
@@ -810,7 +808,7 @@ nv50_hdmi_enable(struct drm_encoder *encoder, struct drm_atomic_state *state,
int ret;
int size;
- nv_connector = nv50_outp_get_new_connector(nv_encoder, state);
+ nv_connector = nv50_outp_get_new_connector(state, nv_encoder);
if (!dr...
2020 Nov 14
0
[PATCH 8/8] drm/nouveau/kms/nv50-: Fix locking for audio callbacks
...p->object, 0, &args, sizeof(args));
+ }
+ mutex_unlock(&drm->audio.lock);
nv50_audio_component_eld_notify(drm->audio.component, nv_encoder->or,
nv_crtc->index);
@@ -760,11 +762,16 @@ nv50_audio_enable(struct drm_encoder *encoder, struct nouveau_crtc *nv_crtc,
if (!drm_detect_monitor_audio(nv_connector->edid))
return;
+ mutex_lock(&drm->audio.lock);
+
memcpy(args.data, nv_connector->base.eld, sizeof(args.data));
nvif_mthd(&disp->disp->object, 0, &args,
sizeof(args.base) + drm_eld_size(args.data));
- nv_encoder->audio = true;
+ nv_encoder-...
2020 Jan 13
0
[PATCH RESEND] drm/nouveau: Add HD-audio component notifier support
...bled = 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->base.eld,
+ min(max_bytes, ret));
+ }
+ break;
+ }
+ return ret;
+}
+
+static const struct drm_audio_component_ops nv50_audio_component_ops = {
+ .get_eld = nv50...
2016 Jan 26
2
help with signal from monitor
On 01/26/2016 03:24 PM, Ilia Mirkin wrote:
> sleep 1 && xset dpms force off
Could you confirm exactly how to add the drm.debug=0x1e option. Is it
another parameter on the kernel command line? Where does the output data
go? Is there a way to get it into a file?
Thanks
Don
2020 Nov 14
0
[PATCH 6/8] drm/nouveau/kms/nv50-: Lookup current encoder/crtc from atomic state
...0_disp *disp = nv50_disp(encoder->dev);
struct __packed {
struct {
@@ -741,7 +757,6 @@ nv50_audio_enable(struct drm_encoder *encoder, struct drm_atomic_state *state,
(0x0100 << nv_crtc->index),
};
- nv_connector = nv50_outp_get_new_connector(state, nv_encoder);
if (!drm_detect_monitor_audio(nv_connector->edid))
return;
@@ -778,12 +793,12 @@ nv50_hdmi_disable(struct drm_encoder *encoder, struct nouveau_crtc *nv_crtc)
}
static void
-nv50_hdmi_enable(struct drm_encoder *encoder, struct drm_atomic_state *state,
+nv50_hdmi_enable(struct drm_encoder *encoder, struct nouveau_crtc...
2018 Dec 20
0
[PATCH v2 01/16] drm/dp_mst: Rename drm_dp_mst_get_validated_(port|mstb)_ref and friends
..._validated_port_ref(mgr, port);
+ port = drm_dp_mst_topology_get_port_validated(mgr, port);
if (!port)
return NULL;
@@ -2578,7 +2588,7 @@ struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_
drm_connector_set_tile_property(connector);
}
port->has_audio = drm_detect_monitor_audio(edid);
- drm_dp_put_port(port);
+ drm_dp_mst_topology_put_port(port);
return edid;
}
EXPORT_SYMBOL(drm_dp_mst_get_edid);
@@ -2649,7 +2659,7 @@ int drm_dp_atomic_find_vcpi_slots(struct drm_atomic_state *state,
if (IS_ERR(topology_state))
return PTR_ERR(topology_state);
- port = drm_dp_get...
2016 Jan 26
3
help with signal from monitor
...userspace
[ 43.633794] [drm:drm_mode_debug_printmodeline] Modeline 76:"" 0 74176 1920 2558 2602 2750 1080 1084 1089 1125 0x0 0x5
[ 43.633796] [drm:drm_crtc_helper_set_mode] [CRTC:17]
[ 43.643737] [drm:drm_crtc_helper_set_mode] [ENCODER:30:TMDS-30] set [MODE:76:]
[ 43.643749] [drm:drm_detect_monitor_audio] Monitor has basic audio support
[ 43.643751] [drm:drm_edid_to_eld] ELD monitor ASUS VN289
[ 43.643752] [drm:parse_hdmi_vsdb] HDMI: DVI dual 0, max TMDS clock 0, latency present 0 0, video latency 0 0, audio latency 0 0
[ 43.643753] [drm:drm_edid_to_eld] ELD size 9, SAD count 1
[ 43.660384]...
2020 Aug 20
0
[RFC v2 06/20] drm/nouveau/kms: Search for encoders' connectors properly
...coder(encoder);
@@ -686,7 +736,7 @@ nv50_audio_enable(struct drm_encoder *encoder, struct drm_display_mode *mode)
(0x0100 << nv_crtc->index),
};
- nv_connector = nouveau_encoder_connector_get(nv_encoder);
+ nv_connector = nv50_outp_get_new_connector(nv_encoder, state);
if (!drm_detect_monitor_audio(nv_connector->edid))
return;
@@ -723,7 +773,8 @@ nv50_hdmi_disable(struct drm_encoder *encoder, struct nouveau_crtc *nv_crtc)
}
static void
-nv50_hdmi_enable(struct drm_encoder *encoder, struct drm_display_mode *mode)
+nv50_hdmi_enable(struct drm_encoder *encoder, struct drm_atomic_stat...
2018 Dec 14
0
[WIP PATCH 03/15] drm/dp_mst: Introduce new refcounting scheme for mstbs and ports
..._validated_port_ref(mgr, port);
+ port = drm_dp_mst_topology_get_port_validated(mgr, port);
if (!port)
return NULL;
@@ -2578,7 +2846,7 @@ struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_
drm_connector_set_tile_property(connector);
}
port->has_audio = drm_detect_monitor_audio(edid);
- drm_dp_put_port(port);
+ drm_dp_mst_topology_put_port(port);
return edid;
}
EXPORT_SYMBOL(drm_dp_mst_get_edid);
@@ -2649,7 +2917,7 @@ int drm_dp_atomic_find_vcpi_slots(struct drm_atomic_state *state,
if (IS_ERR(topology_state))
return PTR_ERR(topology_state);
- port = drm_dp_get...
2018 Dec 14
2
[WIP PATCH 03/15] drm/dp_mst: Introduce new refcounting scheme for mstbs and ports
...ort = drm_dp_mst_topology_get_port_validated(mgr, port);
> if (!port)
> return NULL;
>
> @@ -2578,7 +2846,7 @@ struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_
> drm_connector_set_tile_property(connector);
> }
> port->has_audio = drm_detect_monitor_audio(edid);
> - drm_dp_put_port(port);
> + drm_dp_mst_topology_put_port(port);
> return edid;
> }
> EXPORT_SYMBOL(drm_dp_mst_get_edid);
> @@ -2649,7 +2917,7 @@ int drm_dp_atomic_find_vcpi_slots(struct drm_atomic_state *state,
> if (IS_ERR(topology_state))
> return PTR_ER...
2018 Dec 19
1
[WIP PATCH 03/15] drm/dp_mst: Introduce new refcounting scheme for mstbs and ports
...> > > return NULL;
> > >
> > > @@ -2578,7 +2846,7 @@ struct edid *drm_dp_mst_get_edid(struct
> > > drm_connector *connector, struct drm_dp_
> > > drm_connector_set_tile_property(connector);
> > > }
> > > port->has_audio = drm_detect_monitor_audio(edid);
> > > - drm_dp_put_port(port);
> > > + drm_dp_mst_topology_put_port(port);
> > > return edid;
> > > }
> > > EXPORT_SYMBOL(drm_dp_mst_get_edid);
> > > @@ -2649,7 +2917,7 @@ int drm_dp_atomic_find_vcpi_slots(struct
> > > drm_at...
2018 Dec 18
0
[WIP PATCH 03/15] drm/dp_mst: Introduce new refcounting scheme for mstbs and ports
...mgr, port);
> > if (!port)
> > return NULL;
> >
> > @@ -2578,7 +2846,7 @@ struct edid *drm_dp_mst_get_edid(struct
> > drm_connector *connector, struct drm_dp_
> > drm_connector_set_tile_property(connector);
> > }
> > port->has_audio = drm_detect_monitor_audio(edid);
> > - drm_dp_put_port(port);
> > + drm_dp_mst_topology_put_port(port);
> > return edid;
> > }
> > EXPORT_SYMBOL(drm_dp_mst_get_edid);
> > @@ -2649,7 +2917,7 @@ int drm_dp_atomic_find_vcpi_slots(struct
> > drm_atomic_state *state,
> > if (...
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
2013 Jul 18
105
[Bug 67051] New: No nouveau HDMI sound on NVIDIA GT430
https://bugs.freedesktop.org/show_bug.cgi?id=67051
Priority: medium
Bug ID: 67051
Assignee: nouveau at lists.freedesktop.org
Summary: No nouveau HDMI sound on NVIDIA GT430
Severity: normal
Classification: Unclassified
OS: Linux (All)
Reporter: alupu01 at gmail.com
Hardware: x86 (IA32)
Status:
2018 Dec 20
22
[PATCH v2 00/16] MST refcounting/atomic helpers cleanup
This is the series I've been working on for a while now to get all of
the atomic DRM drivers in the tree to use the atomic MST helpers, and to
make the atomic MST helpers actually idempotent. Turns out it's a lot
more difficult to do that without also fixing how port and branch device
refcounting works so that it actually makes sense, since the current
upstream implementation requires a