On 17.08.2023 16:38, Bryan O'Donoghue wrote: > line_num indicates the number of RDI - raw data interface channels which > are associated with a given IFE/VFE - image/video front end. > > On several SoCs the RDI number is not static for each VFE - for example > on sm8250 VFE Lite has four RDIs where regular VFE has three. > > Assigning line_num statically in the subdev_init() phase initialises > each VFE to the lower number, meaning in practical terms that we are > lobbing off one RDI on some VFEs. > > Interrupt handling uses static for (i = RDI0; i < RDI2; i++) {} in some > of our VFE blocks but this can't work for situations where we have a > mixture of VFE @ 3 RDI and VFE-lite @ 4 RDI blocks. > > First step to remediate is to pass line_num from a compat string > controlled data-structure and do so on a per-VFE basis. > > Later patches will assign the correct number of RDI blocks per VFE. > > Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx> > --- [...] > .reg = { "vfe0" }, > - .interrupt = { "vfe0" } > + .interrupt = { "vfe0" }, > + .line_num = VFE_LINE_NUM_GEN1, If you add the comma at the end of .interrupt in the patch that introduced it, this diff will be more readable Other than that: Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> Konrad