• Nicholas Kazlauskas's avatar
    drm/amd/display: Use surface directly when checking update type · f843b308
    Nicholas Kazlauskas authored
    [Why]
    DC expects the surface memory address to identify the surface.
    
    This doesn't work with what we're doing with the temporary surfaces,
    it will always assume this is a full update because the surface
    isn't in the current context.
    
    [How]
    Use the surface directly. This doesn't give us much improvement yet,
    since we always create a new dc_plane_state when state->allow_modeset
    is true.
    
    The call into dc_check_update_surfaces_for_stream also needs to be
    locked, for two reasons:
    
    1. It checks the current DC state
    2. It modifies the surface update flags
    
    Both of which could be currently in the middle of commit work from
    commit tail.
    
    A TODO here is to pass the context explicitly into this function and
    find a way to get the surface update flags out of it without modifying
    the surface in place.
    Signed-off-by: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
    Reviewed-by: default avatarDavid Francis <David.Francis@amd.com>
    Acked-by: Bhawanpreet Lakha <Bhawanpreet Lakha@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    f843b308
amdgpu_dm.c 186 KB