search for: old_crtc_stat

Displaying 20 results from an estimated 67 matches for "old_crtc_stat".

Did you mean: old_crtc_state
2018 Dec 14
0
[WIP PATCH 15/15] drm/nouveau: Use atomic VCPI helpers for MST
...t drm_atomic_state *state = new_conn_state->state; + struct nv50_mstc *mstc = nv50_mstc(connector); + struct drm_dp_mst_topology_mgr *mgr = &mstc->mstm->mgr; + struct drm_connector_state *old_conn_state = + drm_atomic_get_old_connector_state(state, connector); + struct drm_crtc_state *old_crtc_state; + struct drm_crtc *new_crtc = new_conn_state->crtc, + *old_crtc = old_conn_state->crtc; + + if (!old_crtc) + return 0; + + old_crtc_state = drm_atomic_get_old_crtc_state(state, old_crtc); + if (!old_crtc_state || !old_crtc_state->enable) + return 0; + + if (new_crtc) + return 0; + +...
2017 Jul 12
2
[PATCH 15/16] drm/nouveau: Convert nouveau to use new iterator macros
...m, - struct drm_connector *connector) + struct drm_connector_state *old_connector_state) { - struct drm_encoder *encoder = connector->state->best_encoder; - struct drm_crtc_state *crtc_state; + struct drm_encoder *encoder = old_connector_state->best_encoder; + struct drm_crtc_state *old_crtc_state, *new_crtc_state; struct drm_crtc *crtc; struct nv50_outp_atom *outp; - if (!(crtc = connector->state->crtc)) + if (!(crtc = old_connector_state->crtc)) return 0; - crtc_state = drm_atomic_get_existing_crtc_state(&atom->state, crtc); - if (crtc->state->active &...
2017 Jul 19
1
[PATCH v2 6/7] drm/nouveau: Convert nouveau to use new iterator macros, v2.
...m, - struct drm_connector *connector) + struct drm_connector_state *old_connector_state) { - struct drm_encoder *encoder = connector->state->best_encoder; - struct drm_crtc_state *crtc_state; + struct drm_encoder *encoder = old_connector_state->best_encoder; + struct drm_crtc_state *old_crtc_state, *new_crtc_state; struct drm_crtc *crtc; struct nv50_outp_atom *outp; - if (!(crtc = connector->state->crtc)) + if (!(crtc = old_connector_state->crtc)) return 0; - crtc_state = drm_atomic_get_existing_crtc_state(&atom->state, crtc); - if (crtc->state->active &...
2019 Aug 07
3
[PATCH v2 0/2] drm/nouveau: CRTC Runtime PM ref tracking fixes
Just some runtime PM fixes for some much less noticeable runtime PM ref tracking issues that I got reminded of when fixing some unrelated issues with nouveau. Changes since v1: * Don't fix CRTC RPM code in dispnv04, because it's not actually doing anything in the first place. Just get rid of it. - imirkin Lyude Paul (2): drm/nouveau/dispnv04: Remove runtime PM drm/nouveau/dispnv50:
2018 Nov 26
4
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...ncoder *encoder, > struct drm_connector *connector = conn_state->connector; > void *port = to_intel_connector(connector)->port; > struct drm_atomic_state *state = pipe_config->base.state; > + struct drm_crtc *crtc = pipe_config->base.crtc; > + struct drm_crtc_state *old_crtc_state = > + drm_atomic_get_old_crtc_state(state, crtc); > + struct drm_crtc_state *new_crtc_state = &pipe_config->base; > int bpp; > - int lane_count, slots = 0; > + int lane_count, slots = > + to_intel_crtc_state(old_crtc_state)->dp_m_n.tu; > const struct drm_displa...
2018 Nov 29
1
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...void *port = to_intel_connector(connector)->port; > > > > > > > struct drm_atomic_state *state = pipe_config->base.state; > > > > > > > + struct drm_crtc *crtc = pipe_config->base.crtc; > > > > > > > + struct drm_crtc_state *old_crtc_state = > > > > > > > + drm_atomic_get_old_crtc_state(state, crtc); > > > > > > > + struct drm_crtc_state *new_crtc_state = &pipe_config->base; > > > > > > > int bpp; > > > > > > > - int lane_count, slots = 0;...
2018 Nov 16
8
[PATCH v6 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. [sorry for still not adding your R-Bs! I ended up needing to make a lot of changes to make it so we do actually kref() each port in the atomic state] Cc: Daniel
2018 Nov 28
3
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...or; > > > > > void *port = to_intel_connector(connector)->port; > > > > > struct drm_atomic_state *state = pipe_config->base.state; > > > > > + struct drm_crtc *crtc = pipe_config->base.crtc; > > > > > + struct drm_crtc_state *old_crtc_state = > > > > > + drm_atomic_get_old_crtc_state(state, crtc); > > > > > + struct drm_crtc_state *new_crtc_state = &pipe_config->base; > > > > > int bpp; > > > > > - int lane_count, slots = 0; > > > > > + int lane_coun...
2018 Nov 27
2
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...ctor *connector = conn_state->connector; > > > void *port = to_intel_connector(connector)->port; > > > struct drm_atomic_state *state = pipe_config->base.state; > > > + struct drm_crtc *crtc = pipe_config->base.crtc; > > > + struct drm_crtc_state *old_crtc_state = > > > + drm_atomic_get_old_crtc_state(state, crtc); > > > + struct drm_crtc_state *new_crtc_state = &pipe_config->base; > > > int bpp; > > > - int lane_count, slots = 0; > > > + int lane_count, slots = > > > + to_intel_crtc_state(o...
2019 Aug 07
3
[PATCH 0/2] drm/nouveau: CRTC Runtime PM ref tracking fixes
Just some runtime PM fixes for some much less noticeable runtime PM ref tracking issues that I got reminded of when fixing some unrelated issues with nouveau. Lyude Paul (2): drm/nouveau/dispnv04: Grab/put runtime PM refs on DPMS on/off drm/nouveau/dispnv50: Fix runtime PM ref tracking for non-blocking modesets drivers/gpu/drm/nouveau/dispnv04/crtc.c | 18 +++---------
2018 Dec 14
0
[WIP PATCH 13/15] drm/dp_mst: Start tracking per-port VCPI allocations
...ute_config(struct intel_encoder *encoder, struct drm_connector *connector = conn_state->connector; void *port = to_intel_connector(connector)->port; struct drm_atomic_state *state = pipe_config->base.state; + struct drm_crtc *crtc = pipe_config->base.crtc; + struct drm_crtc_state *old_crtc_state = + drm_atomic_get_old_crtc_state(state, crtc); + struct drm_crtc_state *new_crtc_state = &pipe_config->base; int bpp; - int lane_count, slots = 0; + int lane_count, slots = + to_intel_crtc_state(old_crtc_state)->dp_m_n.tu; const struct drm_display_mode *adjusted_mode = &pipe_c...
2018 Nov 16
0
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...ute_config(struct intel_encoder *encoder, struct drm_connector *connector = conn_state->connector; void *port = to_intel_connector(connector)->port; struct drm_atomic_state *state = pipe_config->base.state; + struct drm_crtc *crtc = pipe_config->base.crtc; + struct drm_crtc_state *old_crtc_state = + drm_atomic_get_old_crtc_state(state, crtc); + struct drm_crtc_state *new_crtc_state = &pipe_config->base; int bpp; - int lane_count, slots = 0; + int lane_count, slots = + to_intel_crtc_state(old_crtc_state)->dp_m_n.tu; const struct drm_display_mode *adjusted_mode = &pipe_c...
2018 Nov 26
0
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...; struct drm_connector *connector = conn_state->connector; > > void *port = to_intel_connector(connector)->port; > > struct drm_atomic_state *state = pipe_config->base.state; > > + struct drm_crtc *crtc = pipe_config->base.crtc; > > + struct drm_crtc_state *old_crtc_state = > > + drm_atomic_get_old_crtc_state(state, crtc); > > + struct drm_crtc_state *new_crtc_state = &pipe_config->base; > > int bpp; > > - int lane_count, slots = 0; > > + int lane_count, slots = > > + to_intel_crtc_state(old_crtc_state)->dp_m_n.tu;...
2017 Jul 13
0
[Intel-gfx] [PATCH 15/16] drm/nouveau: Convert nouveau to use new iterator macros
...connector) > + struct drm_connector_state *old_connector_state) > { > - struct drm_encoder *encoder = connector->state->best_encoder; > - struct drm_crtc_state *crtc_state; > + struct drm_encoder *encoder = old_connector_state->best_encoder; > + struct drm_crtc_state *old_crtc_state, *new_crtc_state; > struct drm_crtc *crtc; > struct nv50_outp_atom *outp; > > - if (!(crtc = connector->state->crtc)) > + if (!(crtc = old_connector_state->crtc)) > return 0; > > - crtc_state = drm_atomic_get_existing_crtc_state(&atom->state, crtc...
2018 Nov 26
0
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...; struct drm_connector *connector = conn_state->connector; > > void *port = to_intel_connector(connector)->port; > > struct drm_atomic_state *state = pipe_config->base.state; > > + struct drm_crtc *crtc = pipe_config->base.crtc; > > + struct drm_crtc_state *old_crtc_state = > > + drm_atomic_get_old_crtc_state(state, crtc); > > + struct drm_crtc_state *new_crtc_state = &pipe_config->base; > > int bpp; > > - int lane_count, slots = 0; > > + int lane_count, slots = > > + to_intel_crtc_state(old_crtc_state)->dp_m_n.tu;...
2018 Dec 19
0
[PATCH 03/14] drm/bochs: atomic: add atomic_flush+atomic_enable callbacks.
...ex f7e6d1a9b3..59d469f343 100644 --- a/drivers/gpu/drm/bochs/bochs_kms.c +++ b/drivers/gpu/drm/bochs/bochs_kms.c @@ -115,6 +115,29 @@ static int bochs_crtc_page_flip(struct drm_crtc *crtc, return 0; } +static void bochs_crtc_atomic_enable(struct drm_crtc *crtc, + struct drm_crtc_state *old_crtc_state) +{ +} + +static void bochs_crtc_atomic_flush(struct drm_crtc *crtc, + struct drm_crtc_state *old_crtc_state) +{ + struct drm_device *dev = crtc->dev; + struct drm_pending_vblank_event *event; + unsigned long irqflags; + + if (crtc->state && crtc->state->event) { + even...
2018 Nov 27
0
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...nn_state->connector; > > > > void *port = to_intel_connector(connector)->port; > > > > struct drm_atomic_state *state = pipe_config->base.state; > > > > + struct drm_crtc *crtc = pipe_config->base.crtc; > > > > + struct drm_crtc_state *old_crtc_state = > > > > + drm_atomic_get_old_crtc_state(state, crtc); > > > > + struct drm_crtc_state *new_crtc_state = &pipe_config->base; > > > > int bpp; > > > > - int lane_count, slots = 0; > > > > + int lane_count, slots = > > >...
2018 Nov 28
0
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...gt; > > void *port = to_intel_connector(connector)->port; > > > > > > struct drm_atomic_state *state = pipe_config->base.state; > > > > > > + struct drm_crtc *crtc = pipe_config->base.crtc; > > > > > > + struct drm_crtc_state *old_crtc_state = > > > > > > + drm_atomic_get_old_crtc_state(state, crtc); > > > > > > + struct drm_crtc_state *new_crtc_state = &pipe_config->base; > > > > > > int bpp; > > > > > > - int lane_count, slots = 0; > > > >...
2020 Jun 29
0
[PATCH] drm/nouveau/kms/nvd9-: Fix disabling CRCs alongside OR reprogramming
...raster; + if (asyh->clr.crc && asyh->set.crc) + atom->flush_disable = true; + } else { + asyh->set.crc = false; + asyh->clr.crc = false; + } + + return 0; +} + +void nv50_crc_atomic_check_outp(struct nv50_atom *atom) +{ + struct drm_crtc *crtc; + struct drm_crtc_state *old_crtc_state, *new_crtc_state; + int i; + + if (atom->flush_disable) + return; + + for_each_oldnew_crtc_in_state(&atom->state, crtc, old_crtc_state, + new_crtc_state, i) { + struct nv50_head_atom *armh = nv50_head_atom(old_crtc_state); + struct nv50_head_atom *asyh = nv50_head_atom(new_cr...
2019 Mar 11
3
[PATCH] drm/bochs: Fix NULL dereference on atomic_disable helper
Hi, > > > static void bochs_crtc_atomic_flush(struct drm_crtc *crtc, > > > struct drm_crtc_state *old_crtc_state) > > > { > > > @@ -66,6 +71,7 @@ static const struct drm_crtc_funcs bochs_crtc_funcs = { > > > static const struct drm_crtc_helper_funcs bochs_helper_funcs = { > > > .mode_set_nofb = bochs_crtc_mode_set_nofb, > > > .atomic_enable = bochs_crtc_atom...