Hi, On Wed, Nov 1, 2023 at 11:31 PM Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> wrote: > > On Wed, 1 Nov 2023 at 23:26, Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx> wrote: > > > > If a non generic edp-panel is under aux-bus, the mode read from edid would > > still be selected as preferred and results in multiple preferred modes, > > which is ambiguous. > > > > If a hard-coded mode is present, unset the preferred bit of the modes read > > from edid. > > Can we skip the EDID completely if the hardcoded override is present? Yeah, I wondered about that too. The blending of the hardcoded with the EDID predates my involvement with the driver. You can see even as of commit 280921de7241 ("drm/panel: Add simple panel support") that the driver would start with the EDID modes (if it had them) and then go onto add the hardcoded modes. At least for eDP panels, though, nobody (or almost nobody?) actually provided panel-simple a DDC bus at the same time it was given a hardcoded panel. I guess I could go either way, but I have a slight bias to adding the extra modes and just making it clear to userspace that none of them are "preferred". That seems like it would give userspace the most flexibility and also is closer to what we've historically done (though, historically, we just allowed there to be more than one "preferred" mode). One thing we definitely want to do, though, is to still expose the EDID to userspace even if we're using a hardcoded mode. I believe that, at least on ChromeOS, there are some tools that look at the EDID directly for some reason or another. > > Signed-off-by: Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx> > > --- > > drivers/gpu/drm/drm_modes.c | 16 ++++++++++++++++ > > drivers/gpu/drm/panel/panel-edp.c | 7 +++++-- > > include/drm/drm_modes.h | 1 + > > 3 files changed, 22 insertions(+), 2 deletions(-) > > Anyway, this should be split into two patches. One for drm_modes.c, > another one for the panel driver. Yeah, that's probably a good idea. -Doug