• Eugen Hristev's avatar
    media: atmel: fix the ispck initialization · d7f26849
    Eugen Hristev authored
    The runtime enabling of the ISPCK (internally clocks the pipeline inside
    the ISC) has to be done after the pm_runtime for the ISC dev has been
    started.
    
    After the commit by Mauro:
    the ISC failed to probe with the error:
    
    atmel-sama5d2-isc f0008000.isc: failed to enable ispck: -13
    atmel-sama5d2-isc: probe of f0008000.isc failed with error -13
    
    This is because the enabling of the ispck is done too early in the probe,
    and the PM runtime returns invalid request.
    Thus, moved this clock enabling after pm_runtime_idle is called.
    
    The ISPCK is required only for sama5d2 type of ISC.
    Thus, add a bool inside the isc struct that is platform dependent.
    For the sama7g5-isc, the enabling of the ISPCK is wrong and does not make
    sense. Removed it from the sama7g5 probe. In sama7g5-isc, there is only
    one clock, the MCK, which also clocks the internal pipeline of the ISC.
    
    Adapted the clk_prepare and clk_unprepare to request the runtime PM
    for both clocks (MCK and ISPCK) in case of sama5d2-isc, and the single
    clock (MCK) in case of sama7g5-isc.
    
    Fixes: dd97908e ("media: atmel: properly get pm_runtime")
    Signed-off-by: default avatarEugen Hristev <eugen.hristev@microchip.com>
    Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
    d7f26849
atmel-sama5d2-isc.c 17.4 KB