Lines Matching refs:vc4_state

75 	struct vc4_plane_state *vc4_state;  in vc4_plane_duplicate_state()  local
80 vc4_state = kmemdup(plane->state, sizeof(*vc4_state), GFP_KERNEL); in vc4_plane_duplicate_state()
81 if (!vc4_state) in vc4_plane_duplicate_state()
84 __drm_atomic_helper_plane_duplicate_state(plane, &vc4_state->base); in vc4_plane_duplicate_state()
86 if (vc4_state->dlist) { in vc4_plane_duplicate_state()
87 vc4_state->dlist = kmemdup(vc4_state->dlist, in vc4_plane_duplicate_state()
88 vc4_state->dlist_count * 4, in vc4_plane_duplicate_state()
90 if (!vc4_state->dlist) { in vc4_plane_duplicate_state()
91 kfree(vc4_state); in vc4_plane_duplicate_state()
94 vc4_state->dlist_size = vc4_state->dlist_count; in vc4_plane_duplicate_state()
97 return &vc4_state->base; in vc4_plane_duplicate_state()
103 struct vc4_plane_state *vc4_state = to_vc4_plane_state(state); in vc4_plane_destroy_state() local
105 kfree(vc4_state->dlist); in vc4_plane_destroy_state()
106 __drm_atomic_helper_plane_destroy_state(plane, &vc4_state->base); in vc4_plane_destroy_state()
113 struct vc4_plane_state *vc4_state; in vc4_plane_reset() local
117 vc4_state = kzalloc(sizeof(*vc4_state), GFP_KERNEL); in vc4_plane_reset()
118 if (!vc4_state) in vc4_plane_reset()
121 plane->state = &vc4_state->base; in vc4_plane_reset()
122 vc4_state->base.plane = plane; in vc4_plane_reset()
125 static void vc4_dlist_write(struct vc4_plane_state *vc4_state, u32 val) in vc4_dlist_write() argument
127 if (vc4_state->dlist_count == vc4_state->dlist_size) { in vc4_dlist_write()
128 u32 new_size = max(4u, vc4_state->dlist_count * 2); in vc4_dlist_write()
133 memcpy(new_dlist, vc4_state->dlist, vc4_state->dlist_count * 4); in vc4_dlist_write()
135 kfree(vc4_state->dlist); in vc4_dlist_write()
136 vc4_state->dlist = new_dlist; in vc4_dlist_write()
137 vc4_state->dlist_size = new_size; in vc4_dlist_write()
140 vc4_state->dlist[vc4_state->dlist_count++] = val; in vc4_dlist_write()
149 struct vc4_plane_state *vc4_state = to_vc4_plane_state(state); in vc4_plane_mode_set() local
152 u32 ctl0_offset = vc4_state->dlist_count; in vc4_plane_mode_set()
182 vc4_dlist_write(vc4_state, in vc4_plane_mode_set()
189 vc4_dlist_write(vc4_state, in vc4_plane_mode_set()
199 vc4_dlist_write(vc4_state, in vc4_plane_mode_set()
208 vc4_dlist_write(vc4_state, 0xc0c0c0c0); in vc4_plane_mode_set()
211 vc4_dlist_write(vc4_state, bo->paddr + offset); in vc4_plane_mode_set()
214 vc4_dlist_write(vc4_state, 0xc0c0c0c0); in vc4_plane_mode_set()
217 vc4_dlist_write(vc4_state, in vc4_plane_mode_set()
220 vc4_state->dlist[ctl0_offset] |= in vc4_plane_mode_set()
221 VC4_SET_FIELD(vc4_state->dlist_count, SCALER_CTL0_SIZE); in vc4_plane_mode_set()
236 struct vc4_plane_state *vc4_state = to_vc4_plane_state(state); in vc4_plane_atomic_check() local
238 vc4_state->dlist_count = 0; in vc4_plane_atomic_check()
258 struct vc4_plane_state *vc4_state = to_vc4_plane_state(plane->state); in vc4_plane_write_dlist() local
262 for (i = 0; i < vc4_state->dlist_count; i++) in vc4_plane_write_dlist()
263 writel(vc4_state->dlist[i], &dlist[i]); in vc4_plane_write_dlist()
265 return vc4_state->dlist_count; in vc4_plane_write_dlist()
270 struct vc4_plane_state *vc4_state = to_vc4_plane_state(state); in vc4_plane_dlist_size() local
272 return vc4_state->dlist_count; in vc4_plane_dlist_size()