On 2023-03-14 12:59:40, Konrad Dybcio wrote: > > > On 14.03.2023 00:51, Marijn Suijten wrote: > > On 2023-03-07 14:01:41, Konrad Dybcio wrote: > >> Currently, we allow for MAX_DSI entries in io_start to facilitate for > >> MAX_DSI number of DSI hosts at different addresses. The configuration > >> is matched against the DSI CTRL hardware revision read back from the > >> component. We need a way to resolve situations where multiple SoCs > >> with different register maps may use the same version of DSI CTRL. In > >> preparation to do so, make msm_dsi_config a 2d array where each entry > >> represents a set of configurations adequate for a given SoC. > > > > Note that this code isn't fool-proof against different SoCs sharing the > > same DSI host address but for different indices (for example, the > > address at variant 0 DSI 0 could be the same as variant 1 DSI 1) and the > > matching logic would wrongly return ID 0 instead of 1 for SoC variant 1, > > because that's the first matching address it finds. > I don't think we've had that happen yet, but if it ever does, that's out > of scope of this patchset. Sure, as long as we're at least aware of this. > >> This is totally fine to do, as the only differentiating factors > >> between same-version-different-SoCs configurations are the number of > >> DSI hosts (1 or 2, at least as of today) and the set of base registers. > >> The regulator setup is the same, because the DSI hardware is the same, > >> regardless of the SoC it was implemented in. > >> > >> In addition to that, update the matching logic such that it will loop > >> over VARIANTS_MAX variants, making sure they are all taken into account. > > > > "in addition to that" makes it sound like you're doing a separate new > > thing in this patch, when the match logic must in fact be updated to > > make it compatible with the change described above (as in, it doesn't > > compile if you don't account for the extra depth in the array). > I really think you're nitpicking here.. It's not, this genuinely had me confused for a while. Could have at least been addressed as part of v4 that had to be sent regardless. - Marijn