Lines Matching refs:hwpipe
22 struct mdp5_hw_pipe **hwpipe, in mdp5_pipe_assign() argument
38 old_state = &old_global_state->hwpipe; in mdp5_pipe_assign()
39 new_state = &new_global_state->hwpipe; in mdp5_pipe_assign()
70 if (!(*hwpipe) || (hweight_long(cur->caps & ~caps) < in mdp5_pipe_assign()
71 hweight_long((*hwpipe)->caps & ~caps))) { in mdp5_pipe_assign()
95 *hwpipe = cur; in mdp5_pipe_assign()
99 if (!(*hwpipe)) in mdp5_pipe_assign()
111 DBG("%s: alloc SMP blocks", (*hwpipe)->name); in mdp5_pipe_assign()
113 (*hwpipe)->pipe, blkcfg); in mdp5_pipe_assign()
117 (*hwpipe)->blkcfg = blkcfg; in mdp5_pipe_assign()
121 (*hwpipe)->name, plane->name, caps); in mdp5_pipe_assign()
122 new_state->hwpipe_to_plane[(*hwpipe)->idx] = plane; in mdp5_pipe_assign()
133 void mdp5_pipe_release(struct drm_atomic_state *s, struct mdp5_hw_pipe *hwpipe) in mdp5_pipe_release() argument
138 struct mdp5_hw_pipe_state *new_state = &state->hwpipe; in mdp5_pipe_release()
140 if (!hwpipe) in mdp5_pipe_release()
143 if (WARN_ON(!new_state->hwpipe_to_plane[hwpipe->idx])) in mdp5_pipe_release()
146 DBG("%s: release from plane %s", hwpipe->name, in mdp5_pipe_release()
147 new_state->hwpipe_to_plane[hwpipe->idx]->name); in mdp5_pipe_release()
150 DBG("%s: free SMP blocks", hwpipe->name); in mdp5_pipe_release()
151 mdp5_smp_release(mdp5_kms->smp, &state->smp, hwpipe->pipe); in mdp5_pipe_release()
154 new_state->hwpipe_to_plane[hwpipe->idx] = NULL; in mdp5_pipe_release()
157 void mdp5_pipe_destroy(struct mdp5_hw_pipe *hwpipe) in mdp5_pipe_destroy() argument
159 kfree(hwpipe); in mdp5_pipe_destroy()
165 struct mdp5_hw_pipe *hwpipe; in mdp5_pipe_init() local
167 hwpipe = kzalloc(sizeof(*hwpipe), GFP_KERNEL); in mdp5_pipe_init()
168 if (!hwpipe) in mdp5_pipe_init()
171 hwpipe->name = pipe2name(pipe); in mdp5_pipe_init()
172 hwpipe->pipe = pipe; in mdp5_pipe_init()
173 hwpipe->reg_offset = reg_offset; in mdp5_pipe_init()
174 hwpipe->caps = caps; in mdp5_pipe_init()
175 hwpipe->flush_mask = mdp_ctl_flush_mask_pipe(pipe); in mdp5_pipe_init()
177 return hwpipe; in mdp5_pipe_init()