On Fri, Jul 25, 2025 at 01:48:38PM +0530, Nilesh Laad wrote: > Currently valid mode checks are only for hdisplay and vdisplay, > add htotal and vtotal to filter only specific modes.
Why? > > Signed-off-by: Nilesh Laad <nilesh.l...@oss.qualcomm.com> > --- > drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 36 > +++++++++++++++++------------- > 1 file changed, 20 insertions(+), 16 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c > b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c > index 38fb8776c0f4..cfe389b4c25c 100644 > --- a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c > +++ b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c > @@ -89,7 +89,9 @@ static const struct regmap_config lt9611uxc_regmap_config = > { > > struct lt9611uxc_mode { > u16 hdisplay; > + u16 htotal; > u16 vdisplay; > + u16 vtotal; > u8 vrefresh; > }; > > @@ -98,22 +100,22 @@ struct lt9611uxc_mode { > * Enumerate them here to check whether the mode is supported. > */ > static struct lt9611uxc_mode lt9611uxc_modes[] = { > - { 1920, 1080, 60 }, > - { 1920, 1080, 30 }, > - { 1920, 1080, 25 }, > - { 1366, 768, 60 }, > - { 1360, 768, 60 }, > - { 1280, 1024, 60 }, > - { 1280, 800, 60 }, > - { 1280, 720, 60 }, > - { 1280, 720, 50 }, > - { 1280, 720, 30 }, > - { 1152, 864, 60 }, > - { 1024, 768, 60 }, > - { 800, 600, 60 }, > - { 720, 576, 50 }, > - { 720, 480, 60 }, > - { 640, 480, 60 }, > + { 1920, 2200, 1080, 1125, 60 }, > + { 1920, 2200, 1080, 1125, 30 }, > + { 1920, 2640, 1080, 1125, 25 }, > + { 1366, 1792, 768, 798, 60 }, > + { 1360, 1792, 768, 795, 60 }, > + { 1280, 1688, 1024, 1066, 60 }, > + { 1280, 1680, 800, 831, 60 }, > + { 1280, 1650, 720, 750, 60 }, > + { 1280, 1980, 720, 750, 50 }, > + { 1280, 3300, 720, 750, 30 }, > + { 1152, 1600, 864, 900, 60 }, > + { 1024, 1344, 768, 806, 60 }, > + { 800, 1056, 600, 628, 60 }, > + { 720, 864, 576, 625, 50 }, > + { 720, 858, 480, 525, 60 }, > + { 640, 800, 480, 525, 60 }, > }; > > static struct lt9611uxc *bridge_to_lt9611uxc(struct drm_bridge *bridge) > @@ -237,7 +239,9 @@ static struct lt9611uxc_mode *lt9611uxc_find_mode(const > struct drm_display_mode > > for (i = 0; i < ARRAY_SIZE(lt9611uxc_modes); i++) { > if (lt9611uxc_modes[i].hdisplay == mode->hdisplay && > + lt9611uxc_modes[i].htotal == mode->htotal && > lt9611uxc_modes[i].vdisplay == mode->vdisplay && > + lt9611uxc_modes[i].vtotal == mode->vtotal && > lt9611uxc_modes[i].vrefresh == drm_mode_vrefresh(mode)) { > return <9611uxc_modes[i]; > } > > --- > base-commit: e48123c607a0db8b9ad02f83c8c3d39918dbda06 > change-id: 20250725-lt9611uxc-modes-d59bd4d49442 > > Best regards, > -- > Nilesh Laad <nilesh.l...@oss.qualcomm.com> > -- With best wishes Dmitry