• Liviu Dudau's avatar
    drm/mali-dp: Fix malidp_atomic_commit_hw_done() for event sending. · d862b2d6
    Liviu Dudau authored
    Mali DP hardware has a 'go' bit (config_valid) for making the new scene
    parameters active at the next page flip. The problem with the current
    code is that the driver first sets this bit and then proceeds to wait
    for confirmation from the hardware that the configuration has been
    updated before arming the vblank event. As config_valid is actually
    asserted by the hardware after the vblank event, during the prefetch
    phase, when we get to arming the vblank event we are going to send it
    at the next vblank, in effect halving the vblank rate from the userspace
    perspective.
    
    Fix it by sending the userspace event from the IRQ handler, when we
    handle the config_valid interrupt, which syncs with the time when the
    hardware is active with the new parameters.
    Reported-by: default avatarAlexandru-Cosmin Gheorghe <alexandru-cosmin.gheorghe@arm.com>
    Signed-off-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
    d862b2d6
malidp_drv.c 20.5 KB