Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
Pre-existing issues: - [High] The iterator variable `connector_state` leaks out of `for_each_new_connector_in_state`, bypassing the fallback search. -- commit 4deed33a0bafa9e2ff82e53d1da0f3130451d673 Author: Sophie D <[email protected]> drm/gud: Ignore damage clips in full update mode When running in full update mode, previously small updates (such as moving the mouse across the screen) would cause many full frames to be generated. This would bog down the bus and lower the effective framerate significantly - I was seeing a drop from 60 FPS to 2 FPS. > diff --git a/drivers/gpu/drm/gud/gud_pipe.c b/drivers/gpu/drm/gud/gud_pipe.c > index 5ef887d8485a3..3388fdc8ea7b5 100644 > --- a/drivers/gpu/drm/gud/gud_pipe.c > +++ b/drivers/gpu/drm/gud/gud_pipe.c > @@ -482,6 +482,9 @@ int gud_plane_atomic_check(struct drm_plane *plane, > if (!new_plane_state->visible) > return 0; > > + if (gdrm->flags & GUD_DISPLAY_FLAG_FULL_UPDATE) > + new_plane_state->ignore_damage_clips = true; > + > if (old_plane_state->rotation != new_plane_state->rotation) > crtc_state->mode_changed = true; > [Severity: High] This isn't a bug introduced by this patch, but while reviewing gud_plane_atomic_check(), I noticed an issue with the fallback search for the connector. Does connector_state bypass the fallback search here? for_each_new_connector_in_state(state, connector, connector_state, i) { if (connector_state->crtc) break; } /* * DRM_IOCTL_MODE_OBJ_SETPROPERTY on the rotation property will not have * the connector included in the state. */ if (!connector_state) { struct drm_connector_list_iter conn_iter; If the loop finishes without finding a matching CRTC, connector_state retains the pointer to the last evaluated connector rather than evaluating to NULL. This happens because short-circuit evaluation prevents the macro's assignment block from running on the final iteration. Could this cause the driver to extract properties and the connector index from an unrelated or disconnected connector and send them to the hardware device during the atomic check phase, leading to hardware misconfiguration? -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=1
