search for: drm_private_obj

Displaying 20 results from an estimated 46 matches for "drm_private_obj".

2018 Apr 11
0
[PATCH v6 05/10] drm/dp_mst: Make drm_dp_mst_topology_state subclassable
...5 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -3100,33 +3100,89 @@ static void drm_dp_destroy_connector_work(struct work_struct *work) (*mgr->cbs->hotplug)(mgr); } -static struct drm_private_state * -drm_dp_mst_duplicate_state(struct drm_private_obj *obj) +/** + * drm_atomic_dp_mst_duplicate_topology_state - default + * drm_dp_mst_topology_state duplicate handler + * + * For drivers which don't yet subclass drm_dp_mst_topology_state + * + * RETURNS: the duplicated state on success, or an error code embedded into a + * pointer value otherwi...
2018 Apr 02
0
[PATCH v5 05/10] drm/dp_mst: Make drm_dp_mst_topology_state subclassable
...5 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -3100,33 +3100,89 @@ static void drm_dp_destroy_connector_work(struct work_struct *work) (*mgr->cbs->hotplug)(mgr); } -static struct drm_private_state * -drm_dp_mst_duplicate_state(struct drm_private_obj *obj) +/** + * drm_atomic_dp_mst_duplicate_topology_state - default + * drm_dp_mst_topology_state duplicate handler + * + * For drivers which don't yet subclass drm_dp_mst_topology_state + * + * RETURNS: the duplicated state on success, or an error code embedded into a + * pointer value otherwi...
2018 Apr 11
0
[PATCH v8 05/10] drm/dp_mst: Make drm_dp_mst_topology_state subclassable
...8 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -3100,33 +3100,90 @@ static void drm_dp_destroy_connector_work(struct work_struct *work) (*mgr->cbs->hotplug)(mgr); } -static struct drm_private_state * -drm_dp_mst_duplicate_state(struct drm_private_obj *obj) +/** + * drm_atomic_dp_mst_duplicate_topology_state - default + * drm_dp_mst_topology_state duplicate handler + * + * For drivers which don't yet subclass drm_dp_mst_topology_state + * + * RETURNS: the duplicated state on success, or an error code embedded into a + * pointer value otherwi...
2018 Apr 02
1
[PATCH v5 00/10] Implement proper MST fallback retraining in i915
Latest version of https://patchwork.freedesktop.org/series/39642/ , hopefully patchwork understands this and doesn't break anything! Lots of changes. Lyude Paul (10): drm/atomic: Print debug message on atomic check failure drm/i915: Move DP modeset retry work into intel_dp drm/dp_mst: Fix naming on drm_atomic_get_mst_topology_state() drm/dp_mst: Remove all evil duplicate state
2018 Apr 11
1
[PATCH v6 00/10] drm/i915: Implement proper fallback training for MST
Latest version of PW series 39642, hopefully this should also actually come up on intel-gfx and go through CI. No changes other than rebasing to the current drm-intel-next-queued Lyude Paul (10): drm/atomic: Print debug message on atomic check failure drm/i915: Move DP modeset retry work into intel_dp drm/dp_mst: Fix naming on drm_atomic_get_mst_topology_state() drm/dp_mst: Remove all
2018 Apr 11
1
[PATCH v8 00/10] drm/i915: Implement proper fallback training for MST
Next version of https://patchwork.freedesktop.org/series/41576/ Only changes are removing duplicate SoBs that git send-email annoyingly added. Sorry about that :( Lyude Paul (10): drm/atomic: Print debug message on atomic check failure drm/i915: Move DP modeset retry work into intel_dp drm/dp_mst: Fix naming on drm_atomic_get_mst_topology_state() drm/dp_mst: Remove all evil duplicate
2018 Apr 11
1
[PATCH v7 00/10] drm/i915: Implement proper fallback training for MST
Next version of https://patchwork.freedesktop.org/series/41576/ All changes in this patch series are just to make checkpatch a little happier, no functional changes. Lyude Paul (10): drm/atomic: Print debug message on atomic check failure drm/i915: Move DP modeset retry work into intel_dp drm/dp_mst: Fix naming on drm_atomic_get_mst_topology_state() drm/dp_mst: Remove all evil duplicate
2018 Oct 23
12
[PATCH 0/6] drm/dp_mst: Improve VCPI helpers, use in nouveau
This patchset does some cleaning up of the atomic VCPI helpers for MST, and converts nouveau over to using them. I would have included amdgpu in this patch as well, but at the moment moving them over to the atomic helpers is nontrivial. Cc: Daniel Vetter <daniel at ffwll.ch> Lyude Paul (6): drm/dp_mst: Deprecate drm_dp_find_vcpi_slots() drm/dp_mst: Remove all evil duplicate state
2018 Oct 23
0
[PATCH 3/6] drm/atomic: Add ->atomic_check() hook for private objects
...3dbfbddae7e6..2db9f219732b 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -966,6 +966,8 @@ int drm_atomic_check_only(struct drm_atomic_state *state) struct drm_crtc_state *crtc_state; struct drm_connector *conn; struct drm_connector_state *conn_state; + struct drm_private_obj *priv_obj; + struct drm_private_state *priv_state; int i, ret = 0; DRM_DEBUG_ATOMIC("checking %p\n", state); @@ -1007,6 +1009,18 @@ int drm_atomic_check_only(struct drm_atomic_state *state) } } + for_each_new_private_obj_in_state(state, priv_obj, priv_state, i) { + if (!priv...
2018 Oct 23
0
[PATCH 5/6] drm/dp_mst: Check payload count in ->atomic_check()
..., 1 deletion(-) diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index adb4298570cc..cafb769a4ec3 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -3225,7 +3225,7 @@ static int drm_dp_mst_atomic_check(struct drm_private_obj *obj, to_dp_mst_topology_state(state); struct drm_dp_mst_topology_mgr *mgr = mst_state->mgr; struct drm_dp_vcpi_allocation *pos; - int avail_slots = 63; + int avail_slots = 63, payload_count = 0; list_for_each_entry(pos, &mst_state->vcpis, next) { DRM_DEBUG_ATOMIC("[MST...
2018 Oct 23
0
[PATCH 4/6] drm/dp_mst: Start tracking per-port VCPI allocations
...rt was + * destroyed since the last atomic commit. That's OK! + */ return 0; } EXPORT_SYMBOL(drm_dp_atomic_release_vcpi_slots); @@ -3112,15 +3159,50 @@ static void drm_dp_destroy_connector_work(struct work_struct *work) static struct drm_private_state * drm_dp_mst_duplicate_state(struct drm_private_obj *obj) { - struct drm_dp_mst_topology_state *state; + struct drm_dp_mst_topology_state *state, *old_state = + to_dp_mst_topology_state(obj->state); + struct drm_dp_mst_topology_mgr *mgr = old_state->mgr; + struct drm_dp_mst_port *port; + struct drm_dp_vcpi_allocation *pos, *vcpi; - state =...
2018 Oct 29
2
[PATCH v2 2/4] drm/dp_mst: Start tracking per-port VCPI allocations
...t atomic commit. That's OK! > + */ > return 0; > } > EXPORT_SYMBOL(drm_dp_atomic_release_vcpi_slots); > @@ -3112,15 +3159,50 @@ static void drm_dp_destroy_connector_work(struct work_struct *work) > static struct drm_private_state * > drm_dp_mst_duplicate_state(struct drm_private_obj *obj) > { > - struct drm_dp_mst_topology_state *state; > + struct drm_dp_mst_topology_state *state, *old_state = > + to_dp_mst_topology_state(obj->state); > + struct drm_dp_mst_topology_mgr *mgr = old_state->mgr; > + struct drm_dp_mst_port *port; > + struct drm_dp_vcpi_...
2018 Dec 14
0
[WIP PATCH 12/15] drm/dp_mst: Add some atomic state iterator macros
...eletions(-) diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index 93f08bfd2ab3..8d94c8943ac7 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -3415,10 +3415,11 @@ static void drm_dp_mst_destroy_state(struct drm_private_obj *obj, kfree(mst_state); } -static const struct drm_private_state_funcs mst_state_funcs = { +const struct drm_private_state_funcs drm_dp_mst_topology_state_funcs = { .atomic_duplicate_state = drm_dp_mst_duplicate_state, .atomic_destroy_state = drm_dp_mst_destroy_state, }; +EXPORT_SYMBOL(dr...
2019 Jan 09
0
[PATCH v5 17/20] drm/dp_mst: Add some atomic state iterator macros
...eletions(-) diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index efd8fa29fff6..370371145cdd 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -3530,10 +3530,11 @@ static void drm_dp_mst_destroy_state(struct drm_private_obj *obj, kfree(mst_state); } -static const struct drm_private_state_funcs mst_state_funcs = { +const struct drm_private_state_funcs drm_dp_mst_topology_state_funcs = { .atomic_duplicate_state = drm_dp_mst_duplicate_state, .atomic_destroy_state = drm_dp_mst_destroy_state, }; +EXPORT_SYMBOL(dr...
2018 Oct 26
0
[PATCH v2 2/4] drm/dp_mst: Start tracking per-port VCPI allocations
...rt was + * destroyed since the last atomic commit. That's OK! + */ return 0; } EXPORT_SYMBOL(drm_dp_atomic_release_vcpi_slots); @@ -3112,15 +3159,50 @@ static void drm_dp_destroy_connector_work(struct work_struct *work) static struct drm_private_state * drm_dp_mst_duplicate_state(struct drm_private_obj *obj) { - struct drm_dp_mst_topology_state *state; + struct drm_dp_mst_topology_state *state, *old_state = + to_dp_mst_topology_state(obj->state); + struct drm_dp_mst_topology_mgr *mgr = old_state->mgr; + struct drm_dp_mst_port *port; + struct drm_dp_vcpi_allocation *pos, *vcpi; - state =...
2018 Nov 07
2
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...omething like that this should be solid. > return 0; > } > EXPORT_SYMBOL(drm_dp_atomic_release_vcpi_slots); > @@ -3112,15 +3164,34 @@ static void drm_dp_destroy_connector_work(struct work_struct *work) > static struct drm_private_state * > drm_dp_mst_duplicate_state(struct drm_private_obj *obj) > { > - struct drm_dp_mst_topology_state *state; > + struct drm_dp_mst_topology_state *state, *old_state = > + to_dp_mst_topology_state(obj->state); > + struct drm_dp_vcpi_allocation *pos, *vcpi; > > - state = kmemdup(obj->state, sizeof(*state), GFP_KERNEL); &gt...
2018 Nov 07
0
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...rt was + * destroyed since the last atomic commit. That's OK! + */ return 0; } EXPORT_SYMBOL(drm_dp_atomic_release_vcpi_slots); @@ -3112,15 +3164,34 @@ static void drm_dp_destroy_connector_work(struct work_struct *work) static struct drm_private_state * drm_dp_mst_duplicate_state(struct drm_private_obj *obj) { - struct drm_dp_mst_topology_state *state; + struct drm_dp_mst_topology_state *state, *old_state = + to_dp_mst_topology_state(obj->state); + struct drm_dp_vcpi_allocation *pos, *vcpi; - state = kmemdup(obj->state, sizeof(*state), GFP_KERNEL); + state = kmemdup(old_state, sizeof(*s...
2018 Nov 07
2
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...> > } > > > EXPORT_SYMBOL(drm_dp_atomic_release_vcpi_slots); > > > @@ -3112,15 +3164,34 @@ static void drm_dp_destroy_connector_work(struct > > > work_struct *work) > > > static struct drm_private_state * > > > drm_dp_mst_duplicate_state(struct drm_private_obj *obj) > > > { > > > - struct drm_dp_mst_topology_state *state; > > > + struct drm_dp_mst_topology_state *state, *old_state = > > > + to_dp_mst_topology_state(obj->state); > > > + struct drm_dp_vcpi_allocation *pos, *vcpi; > > > > >...
2018 Nov 07
6
[PATCH v3 0/5] drm/dp_mst: Add some atomic state iterator macros
This patchset does some cleaning up of the atomic VCPI helpers for MST, and converts nouveau over to using them. I would have included amdgpu in this patch as well, but at the moment moving them over to the atomic helpers is nontrivial. Cc: Daniel Vetter <daniel at ffwll.ch> Lyude Paul (5): drm/dp_mst: Add some atomic state iterator macros drm/dp_mst: Start tracking per-port VCPI
2018 Nov 07
0
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...; > > return 0; > > } > > EXPORT_SYMBOL(drm_dp_atomic_release_vcpi_slots); > > @@ -3112,15 +3164,34 @@ static void drm_dp_destroy_connector_work(struct > > work_struct *work) > > static struct drm_private_state * > > drm_dp_mst_duplicate_state(struct drm_private_obj *obj) > > { > > - struct drm_dp_mst_topology_state *state; > > + struct drm_dp_mst_topology_state *state, *old_state = > > + to_dp_mst_topology_state(obj->state); > > + struct drm_dp_vcpi_allocation *pos, *vcpi; > > > > - state = kmemdup(obj->stat...