mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-11 17:10:13 +00:00
drm/nouveau/dispnv50: Don't call drm_atomic_get_crtc_state() in prepare_fb
Since we recently started warning about uses of this function after the
atomic check phase completes, we've started getting warnings about this in
nouveau. It appears a misplaced drm_atomic_get_crtc_state() call has been
hiding in our .prepare_fb callback for a while.
So, fix this by adding a new nv50_head_atom_get_new() function and use that
in our .prepare_fb callback instead.
Signed-off-by: Lyude Paul <lyude@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Fixes: 1590700d94ac ("drm/nouveau/kms/nv50-: split each resource type into their own source files")
Cc: <stable@vger.kernel.org> # v4.18+
Link: https://patch.msgid.link/20251211190256.396742-1-lyude@redhat.com
This commit is contained in:
parent
6b991ad8dc
commit
560271e10b
@ -152,8 +152,21 @@ static inline struct nv50_head_atom *
|
||||
nv50_head_atom_get(struct drm_atomic_state *state, struct drm_crtc *crtc)
|
||||
{
|
||||
struct drm_crtc_state *statec = drm_atomic_get_crtc_state(state, crtc);
|
||||
|
||||
if (IS_ERR(statec))
|
||||
return (void *)statec;
|
||||
|
||||
return nv50_head_atom(statec);
|
||||
}
|
||||
|
||||
static inline struct nv50_head_atom *
|
||||
nv50_head_atom_get_new(struct drm_atomic_state *state, struct drm_crtc *crtc)
|
||||
{
|
||||
struct drm_crtc_state *statec = drm_atomic_get_new_crtc_state(state, crtc);
|
||||
|
||||
if (!statec)
|
||||
return NULL;
|
||||
|
||||
return nv50_head_atom(statec);
|
||||
}
|
||||
|
||||
|
||||
@ -583,7 +583,7 @@ nv50_wndw_prepare_fb(struct drm_plane *plane, struct drm_plane_state *state)
|
||||
asyw->image.offset[0] = nvbo->offset;
|
||||
|
||||
if (wndw->func->prepare) {
|
||||
asyh = nv50_head_atom_get(asyw->state.state, asyw->state.crtc);
|
||||
asyh = nv50_head_atom_get_new(asyw->state.state, asyw->state.crtc);
|
||||
if (IS_ERR(asyh))
|
||||
return PTR_ERR(asyh);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user