• Laurent Pinchart's avatar
    v4l: vsp1: Don't recycle active list at display start · a0991c71
    Laurent Pinchart authored
    When the display start interrupt occurs, we know that the hardware has
    finished loading the active display list. The driver then proceeds to
    recycle the list, assuming it won't be needed anymore.
    
    This assumption holds true for headerless display lists, as the VSP
    doesn't reload the list for the next frame if it hasn't changed.
    However, this isn't true anymore for header display lists, as they are
    loaded at every frame start regardless of whether they have been
    updated.
    
    To prepare for header display lists usage in display pipelines, we need
    to postpone recycling the list until it gets replaced by a new one
    through a page flip. The driver already does so in the frame end
    interrupt handler, so all we need is to skip list recycling in the
    display start interrupt handler.
    
    While the active list can be recycled at display start for headerless
    display lists, there's no real harm in postponing that to the frame end
    interrupt handler in all cases. This simplifies interrupt handling as we
    don't need to process the display start interrupt anymore.
    Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Reviewed-by: default avatarKieran Bingham <kieran.bingham+renesas@ideasonboard.com>
    Acked-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    a0991c71
vsp1_drv.c 19.8 KB