• Bryan O'Donoghue's avatar
    media: qcom: camss: Assign the correct number of RDIs per VFE · 7c1340e4
    Bryan O'Donoghue authored
    Each Video Front End - VFE - has a variable number of Raw Data Interfaces -
    RDIs associated with it.
    
    The CAMSS code started from a naive implementation where a fixed define was
    used as a control in a for(){} loop iterating through RDIs.
    
    That model scales badly. An attempt was made with  VFE_LINE_NUM_GEN2 and
    VFE_LINE_NUM_GEN1 to differentiate between SoCs but, the problem with that
    is "gen1" and "gen2" have no meaning in the silicon. There is no fixed
    constraint in the silicon between VFE and RDI, it is entirely up to the SoC
    designers how many VFEs are populated and how many RDIs to associate with
    each VFE.
    
    As an example sdm845 has VFE version 175 and sm8250 VFE version 480.
    sdm845 has 2 VFEs with 4 RDIs and 1 VFE Lite with 4 RDIs.
    sm8250 has 2 VFEs with 3 RDIs and 2 VFE Lite with 4 RDIs.
    
    Clearly then we need a more granular model to capture the necessary data.
    
    The defines have gone away to be replaced with per-SoC data but, we haven't
    populated the parameter data with the real values.
    
    Let's call those values out now
    
    msm8916:
    1 x VFE
    3 x RDI per VFE (not 4)
    
    msm8996:
    2 x VFE
    3 x RDI per VFE (not 4)
    
    sdm660:
    2 x VFE
    3 x RDI per VFE (not 4)
    
    sdm845:
    2 x VFE
    4 x RDI per VFE (not 3)
    1 x VFE Lite
    4 x RDI per VFE Lite (not 3)
    
    sm8250:
    2 x VFE
    3 x RDI per VFE (not 4)
    2 x VFE Lite
    4 x RDI per VFE Lite
    
    This more complex and correct mapping was not possible prior to passing
    values via driver data. Now that we have that change in place we can
    correctly map VFEs to RDIs for each VFE.
    Signed-off-by: default avatarBryan O'Donoghue <bryan.odonoghue@linaro.org>
    Acked-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
    Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
    7c1340e4
camss.c 43.1 KB