Skip to content

Commit a33a6b2

Browse files
committed
drm/i915: Extract unlink_nv12_plane()
Pull the details of the nv12 plane unlinking to a small function to make the higher level code less messy. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250212164330.16891-6-ville.syrjala@linux.intel.com
1 parent f709c06 commit a33a6b2

1 file changed

Lines changed: 21 additions & 11 deletions

File tree

drivers/gpu/drm/i915/display/intel_display.c

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4405,6 +4405,24 @@ static bool check_single_encoder_cloning(struct intel_atomic_state *state,
44054405
return true;
44064406
}
44074407

4408+
static void unlink_nv12_plane(struct intel_crtc_state *crtc_state,
4409+
struct intel_plane_state *plane_state)
4410+
{
4411+
struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
4412+
4413+
plane_state->planar_linked_plane = NULL;
4414+
4415+
if (plane_state->is_y_plane && !plane_state->uapi.visible) {
4416+
crtc_state->enabled_planes &= ~BIT(plane->id);
4417+
crtc_state->active_planes &= ~BIT(plane->id);
4418+
crtc_state->update_planes |= BIT(plane->id);
4419+
crtc_state->data_rate[plane->id] = 0;
4420+
crtc_state->rel_data_rate[plane->id] = 0;
4421+
}
4422+
4423+
plane_state->is_y_plane = false;
4424+
}
4425+
44084426
static int icl_check_nv12_planes(struct intel_atomic_state *state,
44094427
struct intel_crtc *crtc)
44104428
{
@@ -4424,19 +4442,11 @@ static int icl_check_nv12_planes(struct intel_atomic_state *state,
44244442
* in the crtc_state->active_planes mask.
44254443
*/
44264444
for_each_new_intel_plane_in_state(state, plane, plane_state, i) {
4427-
if (plane->pipe != crtc->pipe || !plane_state->planar_linked_plane)
4445+
if (plane->pipe != crtc->pipe)
44284446
continue;
44294447

4430-
plane_state->planar_linked_plane = NULL;
4431-
if (plane_state->is_y_plane && !plane_state->uapi.visible) {
4432-
crtc_state->enabled_planes &= ~BIT(plane->id);
4433-
crtc_state->active_planes &= ~BIT(plane->id);
4434-
crtc_state->update_planes |= BIT(plane->id);
4435-
crtc_state->data_rate[plane->id] = 0;
4436-
crtc_state->rel_data_rate[plane->id] = 0;
4437-
}
4438-
4439-
plane_state->is_y_plane = false;
4448+
if (plane_state->planar_linked_plane)
4449+
unlink_nv12_plane(crtc_state, plane_state);
44404450
}
44414451

44424452
if (!crtc_state->nv12_planes)

0 commit comments

Comments
 (0)