• Bryan O'Donoghue's avatar
    media: qcom: camss: Comment CSID dt_id field · f910d3ba
    Bryan O'Donoghue authored
    Digging into the documentation we find that the DT_ID bitfield is used to
    map the six bit DT to a two bit ID code. This value is concatenated to the
    VC bitfield to create a CID value. DT_ID is the two least significant bits
    of CID and VC the most significant bits.
    
    Originally we set dt_id = vc * 4 in and then subsequently set dt_id = vc.
    
    commit 3c4ed72a ("media: camss: sm8250: Virtual channels for CSID")
    silently fixed the multiplication by four which would give a better
    value for the generated CID without mentioning what was being done or why.
    
    Next up I haplessly changed the value back to "dt_id = vc * 4" since there
    didn't appear to be any logic behind it.
    
    Hans asked what the change was for and I honestly couldn't remember the
    provenance of it, so I dug in.
    
    Link: https://lore.kernel.org/linux-arm-msm/edd4bf9b-0e1b-883c-1a4d-50f4102c3924@xs4all.nl/
    
    Add a comment so the next hapless programmer doesn't make this same
    mistake.
    Signed-off-by: default avatarBryan O'Donoghue <bryan.odonoghue@linaro.org>
    Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
    f910d3ba
camss-csid-gen2.c 16.2 KB