Hi, Linus Walleij <linus.walleij@xxxxxxxxxx> 于2024年4月18日周四 22:00写道: > > On Thu, Apr 18, 2024 at 2:42 PM cong yang > <yangcong5@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote: > > > I learned from himax that even if the same controller is used with > > different glasses, the corresponding parameters are not fixed. > > > > For example: _INIT_DCS_CMD(0xB9, 0x83, 0x10, 0x21, 0x55, 0x00), > > > > even in the group initial code, the same register will be loaded with > > parameters twice. > (...) > > So assuming that the registers of the two screens is the same now, > > it cannot be set as a common parameter. > > Otherwise, it may be a bit troublesome for the maintainers. > > > > If necessary, I can break out starry_himax83102_j02, boe_nv110wum and > > ivo_t109nw41 > > as separate driver. Then add some define to these registers. > > Why would you do a separate driver per panel despite they have > the same display controller? I don't get it. > > Use one driver, use different compatible strings for the different > panels and use the corresponding sequence for each panel > selected by compatible string. I mean add starry_himax83102_j02, boe_nv110wum and ivo_t109nw41 together to make a separate driver and break out boe-tv101wum-nl6 , because they belong to the same controller. As Doug said : “I'm just guessing, but if those are the same controller as the two new ones you're adding in this series, maybe all 3 of them should be in their own driver? Maybe we can do something to make more sense of some of these commands too? ” Thanks. > > For example, see drivers/gpu/drm/panel/panel-novatek-nt35510.c: > > static const struct of_device_id nt35510_of_match[] = { > { > .compatible = "frida,frd400b25025", > .data = &nt35510_frida_frd400b25025, > }, > { > .compatible = "hydis,hva40wv1", > .data = &nt35510_hydis_hva40wv1, > }, > { } > }; > > > Take some inspiration from this driver and how we parameterize > the different data depending on compatible string. > > Yours, > Linus Walleij