Displaying 3 results from an estimated 3 matches for "nouveau_is_rpm_work".
Did you mean:
nouveau_is_rpm_worker
2018 Nov 24
1
[PATCH 2/2] drm/nouveau: Grab an rpm reference before/after DP AUX transactions
why the nouveau_is_rpm_worker stuff?
On Sat, Nov 17, 2018 at 2:50 AM Lyude Paul <lyude at redhat.com> wrote:
>
> Now that we have ->pre_transfer() and ->post_transfer() for DP AUX
> channel devices, we can implement these hooks in order to ensure that
> the GPU is actually woken up before AUX transacti...
2018 Nov 17
3
[PATCH 0/2] drm/nouveau: Fix DP AUX RPM issues
Here's some fixes for the less important DP AUX issues I mentioned a
while back.
Lyude Paul (2):
drm/dp: Add ->pre/post_transfer() hooks for drm_dp_aux
drm/nouveau: Grab an rpm reference before/after DP AUX transactions
drivers/gpu/drm/drm_dp_helper.c | 5 ++
drivers/gpu/drm/nouveau/nouveau_connector.c | 36 ++++++++
drivers/gpu/drm/nouveau/nouveau_drm.c | 12 ++-
2018 Nov 17
0
[PATCH 2/2] drm/nouveau: Grab an rpm reference before/after DP AUX transactions
..._notify *notify)
return NVIF_NOTIFY_KEEP;
}
+static int
+nouveau_connector_aux_pre_xfer(struct drm_dp_aux *obj)
+{
+ struct nouveau_connector *nv_connector =
+ container_of(obj, typeof(*nv_connector), aux);
+ struct nouveau_drm *drm = nouveau_drm(nv_connector->base.dev);
+ int ret;
+
+ if (nouveau_is_rpm_worker(drm))
+ return 0;
+
+ ret = pm_runtime_get_sync(drm->dev->dev);
+ if (ret < 0 && ret != -EAGAIN)
+ return ret;
+
+ return 0;
+}
+
+static void
+nouveau_connector_aux_post_xfer(struct drm_dp_aux *obj)
+{
+ struct nouveau_connector *nv_connector =
+ container_of(obj, typeof(*nv_...