lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 6 Nov 2023 12:32:52 -0800
From:   Doug Anderson <dianders@...omium.org>
To:     Hsin-Yi Wang <hsinyi@...omium.org>
Cc:     Neil Armstrong <neil.armstrong@...aro.org>,
        Jessica Zhang <quic_jesszhan@...cinc.com>,
        Sam Ravnborg <sam@...nborg.org>,
        Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
        Maxime Ripard <mripard@...nel.org>,
        Thomas Zimmermann <tzimmermann@...e.de>,
        David Airlie <airlied@...il.com>,
        Daniel Vetter <daniel@...ll.ch>,
        dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 3/3] drm/panel-edp: Avoid adding multiple preferred modes

Hi,

On Mon, Nov 6, 2023 at 12:27 PM Hsin-Yi Wang <hsinyi@...omium.org> wrote:
>
> diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
> index 0fb439b5efb1..54dbbdf62ec0 100644
> --- a/drivers/gpu/drm/panel/panel-edp.c
> +++ b/drivers/gpu/drm/panel/panel-edp.c
> @@ -594,8 +594,20 @@ static int panel_edp_get_modes(struct drm_panel *panel,
>                                       p->detected_panel != ERR_PTR(-EINVAL) &&
>                                       p->detected_panel->override_edid_mode;
>
> -       /* probe EDID if a DDC bus is available */
> -       if (p->ddc) {
> +       /*
> +        * If both edid and hard-coded modes exists, only add hard-coded modes
> +        * to avoid multiple preferred modes.
> +        */
> +       if (p->desc->num_timings || p->desc->num_modes) {
> +               /*
> +                * Add hard-coded panel modes. Don't call this if there are no
> +                * timings and no modes (the generic edp-panel case) because it
> +                * will clobber the display_info that was already set by
> +                * drm_add_edid_modes().
> +                */
> +               num += panel_edp_get_non_edid_modes(p, connector);
> +       } else if (p->ddc) {
> +               /* probe EDID if a DDC bus is available */

As per discussion in v2, I think if you have the "ddc" you still want
to fetch the EDID, you just don't want to add the modes from the EDID.
This will mean that the EDID is present in sysfs if userspace wants to
look at it for whatever reason.

-Doug

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ