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, 13 Sep 2021 18:09:14 +0200
From:   Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To:     Doug Anderson <dianders@...omium.org>
Cc:     LKML <linux-kernel@...r.kernel.org>,
        "# 4.0+" <stable@...r.kernel.org>,
        Andrzej Hajda <a.hajda@...sung.com>,
        Bjorn Andersson <bjorn.andersson@...aro.org>,
        Sasha Levin <sashal@...nel.org>
Subject: Re: [PATCH 5.14 147/334] drm/bridge: ti-sn65dsi86: Dont read EDID
 blob over DDC

On Mon, Sep 13, 2021 at 06:57:20AM -0700, Doug Anderson wrote:
> Hi,
> 
> On Mon, Sep 13, 2021 at 6:51 AM Greg Kroah-Hartman
> <gregkh@...uxfoundation.org> wrote:
> >
> > From: Douglas Anderson <dianders@...omium.org>
> >
> > [ Upstream commit a70e558c151043ce46a5e5999f4310e0b3551f57 ]
> >
> > This is really just a revert of commit 58074b08c04a ("drm/bridge:
> > ti-sn65dsi86: Read EDID blob over DDC"), resolving conflicts.
> >
> > The old code failed to read the EDID properly in a very important
> > case: before the bridge's pre_enable() was called. The way things need
> > to work:
> > 1. Read the EDID.
> > 2. Based on the EDID, decide on video settings and pixel clock.
> > 3. Enable the bridge w/ the desired settings.
> >
> > The way things were working:
> > 1. Try to read the EDID but fail; fall back to hardcoded values.
> > 2. Based on hardcoded values, decide on video settings and pixel clock.
> > 3. Enable the bridge w/ the desired settings.
> > 4. Try again to read the EDID, it works now!
> > 5. Realize that the hardcoded settings weren't quite right.
> > 6. Disable / reenable the bridge w/ the right settings.
> >
> > The reasons for the failures were twofold:
> > a) Since we never ran the bridge chip's pre-enable then we never set
> >    the bit to ignore HPD. This meant the bridge chip didn't even _try_
> >    to go out on the bus and communicate with the panel.
> > b) Even if we fixed things to ignore HPD, the EDID still wouldn't read
> >    if the panel wasn't on.
> >
> > Instead of reverting the code, we could fix it to set the HPD bit and
> > also power on the panel. However, it also works nicely to just let the
> > panel code read the EDID. Now that we've split the driver up we can
> > expose the DDC AUX channel bus to the panel node. The panel can take
> > charge of reading the EDID.
> >
> > NOTE: in order for things to work, anyone that needs to read the EDID
> > will need to instantiate their panel using the new DP AUX bus (AKA by
> > listing their panel under the "aux-bus" node of the bridge chip in the
> > device tree).
> >
> > In the future if we want to use the bridge chip to provide a full
> > external DP port (which won't have a panel) then we will have to
> > conditinally add EDID reading back in.
> >
> > Suggested-by: Andrzej Hajda <a.hajda@...sung.com>
> > Signed-off-by: Douglas Anderson <dianders@...omium.org>
> > Reviewed-by: Bjorn Andersson <bjorn.andersson@...aro.org>
> > Link: https://patchwork.freedesktop.org/patch/msgid/20210611101711.v10.9.I9330684c25f65bb318eff57f0616500f83eac3cc@changeid
> > Signed-off-by: Sasha Levin <sashal@...nel.org>
> > ---
> >  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 22 ----------------------
> >  1 file changed, 22 deletions(-)
> 
> I guess it's not a huge deal, but I did respond to Sasha and request
> that this patch be dropped from the stable queue unless the whole big
> pile of patches was being backported. See:
> 
> https://lore.kernel.org/lkml/CAD=FV=U2dGjeEzp+K1vnLTj8oPJ-GKBTTKz2XQ1OZ7QF_sTHuw@mail.gmail.com/
> 
> I said:
> 
> > I would suggest against backporting this one unless you're going to
> > backport the whole pile of DP AUX bus patches, which probably doesn't
> > make sense for stable. Even though the old EDID reading was broken for
> > the first read, it still worked for later reads. ...and the first read
> . didn't crash or anything--it just timed out.

I see a "bunch" of patches for this driver in this -rc, did Sasha not
get them all?  If not, I can drop this one, but maybe it was needed for
the follow-on patches?

thanks,

greg k-h

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ