dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
To: "Sankeerth Billakanti (QUIC)" <quic_sbillaka@quicinc.com>
Cc: quic_kalyant <quic_kalyant@quicinc.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"bjorn.andersson@linaro.org" <bjorn.andersson@linaro.org>,
	"Abhinav Kumar \(QUIC\)" <quic_abhinavk@quicinc.com>,
	quic_vproddut <quic_vproddut@quicinc.com>,
	"airlied@linux.ie" <airlied@linux.ie>,
	"linux-arm-msm@vger.kernel.org" <linux-arm-msm@vger.kernel.org>,
	"Kuogee Hsieh \(QUIC\)" <quic_khsieh@quicinc.com>,
	Doug Anderson <dianders@chromium.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"sean@poorly.run" <sean@poorly.run>,
	"seanpaul@chromium.org" <seanpaul@chromium.org>,
	"Aravind Venkateswaran \(QUIC\)" <quic_aravindh@quicinc.com>,
	"swboyd@chromium.org" <swboyd@chromium.org>,
	"freedreno@lists.freedesktop.org"
	<freedreno@lists.freedesktop.org>
Subject: Re: [PATCH v6 8/8] drm/msm/dp: Handle eDP mode_valid differently from dp
Date: Tue, 5 Apr 2022 00:29:31 +0300	[thread overview]
Message-ID: <CAA8EJpqFh7c9ohDbR_0kG5t106-djE7TYfaoAbiT-W4-294jTw@mail.gmail.com> (raw)
In-Reply-To: <MW4PR02MB71865B8E17F3D194B05013EDE1E59@MW4PR02MB7186.namprd02.prod.outlook.com>

On Mon, 4 Apr 2022 at 21:21, Sankeerth Billakanti (QUIC)
<quic_sbillaka@quicinc.com> wrote:
>
> Hi Doug,
>
> > On Wed, Mar 30, 2022 at 11:02 PM Sankeerth Billakanti (QUIC)
> > <quic_sbillaka@quicinc.com> wrote:
> > >
> > > Hi Dmitry,
> > >
> > > > On Wed, 30 Mar 2022 at 19:04, Sankeerth Billakanti
> > > > <quic_sbillaka@quicinc.com> wrote:
> > > > >
> > > > > The panel-edp driver modes needs to be validated differently from
> > > > > DP because the link capabilities are not available for EDP by that time.
> > > > >
> > > > > Signed-off-by: Sankeerth Billakanti <quic_sbillaka@quicinc.com>
> > > >
> > > > This should not be necessary after
> > > >
> > https://patchwork.freedesktop.org/patch/479261/?series=101682&rev=1.
> > > > Could you please check?
> > > >
> > >
> > > The check for DP_MAX_PIXEL_CLK_KHZ is not necessary anymore but we
> > > need to return early for eDP because unlike DP, eDP context will not
> > > have the information about the number of lanes and link clock.
> > >
> > > So, I will modify the patch to return after the DP_MAX_PIXEL_CLK_KHZ
> > check if is_eDP is set.
> >
> > I haven't walked through all the relevant code but something you said above
> > sounds strange. You say that for eDP we don't have info about the number
> > of lanes? We _should_.
> >
> > It's certainly possible to have a panel that supports _either_ 1 or 2 lanes but
> > then only physically connect 1 lane to it. ...or you could have a panel that
> > supports 2 or 4 lanes and you only connect 1 lane.
> > See, for instance, ti_sn_bridge_parse_lanes. There we assume 4 lanes but if
> > a "data-lanes" property is present then we can use that to know that fewer
> > lanes are physically connected.
> >
> > It's also possible to connect more lanes to a panel than it supports.
> > You could connect 2 lanes to it but then it only supports 1. This case needs to
> > be handled as well...
> >
>
> I was referring to the checks we do for DP in dp_bridge_mode_valid. We check if the
> Link bandwidth can support the pixel bandwidth. For an external DP connection, the
> Initial DPCD/EDID read after cable connection will return the sink capabilities like link
> rate, lane count and bpp information that are used to we filter out the unsupported
> modes from the list of modes from EDID.
>
> For eDP case, the dp driver performs the first dpcd read during bridge_enable. The
> dp_bridge_mode_valid function is executed before bridge_enable and hence does
> not have the full link or the sink capabilities information like external DP connection,
> by then.

It sounds to me like we should emulate the HPD event for eDP to be
handled earlier than the get_modes()/prepare() calls are attempted.
However this might open another can of worms.

> So, we need to proceed with the reported mode for eDP.

Well... Even if during the first call to get_modes() the DPCD is not
read, during subsequent calls the driver has necessary information, so
it can proceed with all the checks, can't it?

-- 
With best wishes
Dmitry

  reply	other threads:[~2022-04-04 21:29 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-30 16:02 [PATCH v6 0/8] Add support for the eDP panel over aux_bus Sankeerth Billakanti
2022-03-30 16:02 ` [PATCH v6 1/8] drm/msm/dp: Add eDP support via aux_bus Sankeerth Billakanti
2022-03-30 23:19   ` Dmitry Baryshkov
2022-03-31  0:33     ` Doug Anderson
2022-03-31 23:22   ` Doug Anderson
2022-04-02 10:37     ` Dmitry Baryshkov
2022-04-02 17:06       ` Doug Anderson
2022-04-02 20:26         ` Dmitry Baryshkov
2022-04-04 20:53           ` Doug Anderson
2022-04-05 12:53             ` Dmitry Baryshkov
2022-04-05 17:02               ` Doug Anderson
2022-04-05 17:36                 ` Dmitry Baryshkov
2022-04-05 18:11                   ` Doug Anderson
2022-04-07 14:19                     ` Sankeerth Billakanti (QUIC)
2022-04-07 17:07                       ` Doug Anderson
2022-04-07 20:11                         ` Abhinav Kumar
2022-04-07 20:47                           ` Doug Anderson
2022-04-07 22:03                             ` Abhinav Kumar
2022-04-07 23:34                               ` Doug Anderson
2022-04-07 23:46                                 ` Dmitry Baryshkov
2022-04-08  0:21                                   ` Doug Anderson
2022-04-08 12:19                                     ` Dmitry Baryshkov
2022-04-08 13:43                                       ` Doug Anderson
2022-04-08 14:58                                         ` Dmitry Baryshkov
2022-04-08 17:23                                           ` Abhinav Kumar
2022-04-07 23:35                           ` Dmitry Baryshkov
2022-04-08  0:20                             ` Doug Anderson
2022-04-08 12:13                               ` Dmitry Baryshkov
2022-04-08 13:56                                 ` Doug Anderson
2022-04-08 14:17                                   ` Dmitry Baryshkov
2022-03-30 16:02 ` [PATCH v6 2/8] drm/msm/dp: wait for hpd high before aux transaction Sankeerth Billakanti
2022-03-31 23:22   ` Doug Anderson
2022-04-04 12:43     ` Sankeerth Billakanti (QUIC)
2022-03-30 16:02 ` [PATCH v6 3/8] drm/msm/dp: Support only IRQ_HPD and REPLUG interrupts for eDP Sankeerth Billakanti
2022-03-31 23:22   ` Doug Anderson
2022-04-04 12:56     ` Sankeerth Billakanti (QUIC)
2022-03-30 16:02 ` [PATCH v6 4/8] drm/msm/dp: avoid handling masked interrupts Sankeerth Billakanti
2022-03-30 22:16   ` Dmitry Baryshkov
2022-03-31  5:53     ` Sankeerth Billakanti (QUIC)
2022-03-31 10:10       ` Dmitry Baryshkov
2022-03-31 11:04         ` Sankeerth Billakanti
2022-03-31 11:06           ` Dmitry Baryshkov
2022-04-04 17:56             ` Sankeerth Billakanti (QUIC)
2022-03-30 16:02 ` [PATCH v6 5/8] drm/msm/dp: prevent multiple votes for dp resources Sankeerth Billakanti
2022-03-31 23:23   ` Doug Anderson
2022-04-08 16:14     ` Dmitry Baryshkov
2022-04-08 17:12       ` Sankeerth Billakanti
2022-04-08 18:02         ` Dmitry Baryshkov
2022-03-30 16:02 ` [PATCH v6 6/8] drm/msm/dp: remove unnecessary delay during boot Sankeerth Billakanti
2022-03-31 23:23   ` Doug Anderson
2022-04-04 13:52     ` Sankeerth Billakanti (QUIC)
2022-04-04 21:13       ` Dmitry Baryshkov
2022-04-07 12:40         ` Sankeerth Billakanti (QUIC)
2022-03-30 16:02 ` [PATCH v6 7/8] drm/msm/dp: Support edp/dp without hpd Sankeerth Billakanti
2022-03-31 23:23   ` Doug Anderson
2022-04-04 18:32     ` Sankeerth Billakanti (QUIC)
2022-04-04 21:15       ` Dmitry Baryshkov
2022-04-07 12:41         ` Sankeerth Billakanti (QUIC)
2022-03-30 16:02 ` [PATCH v6 8/8] drm/msm/dp: Handle eDP mode_valid differently from dp Sankeerth Billakanti
2022-03-30 22:08   ` Dmitry Baryshkov
2022-03-31  6:02     ` Sankeerth Billakanti (QUIC)
2022-03-31 23:24       ` Doug Anderson
2022-04-04 18:20         ` Sankeerth Billakanti (QUIC)
2022-04-04 21:29           ` Dmitry Baryshkov [this message]
2022-04-07 14:05             ` Sankeerth Billakanti (QUIC)
2022-04-08 12:08               ` Dmitry Baryshkov
2022-04-08 15:50                 ` Sankeerth Billakanti
2022-04-08 16:47                   ` Dmitry Baryshkov
2022-04-08 17:38                     ` Sankeerth Billakanti
2022-04-08 18:06                       ` Dmitry Baryshkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAA8EJpqFh7c9ohDbR_0kG5t106-djE7TYfaoAbiT-W4-294jTw@mail.gmail.com \
    --to=dmitry.baryshkov@linaro.org \
    --cc=airlied@linux.ie \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=quic_abhinavk@quicinc.com \
    --cc=quic_aravindh@quicinc.com \
    --cc=quic_kalyant@quicinc.com \
    --cc=quic_khsieh@quicinc.com \
    --cc=quic_sbillaka@quicinc.com \
    --cc=quic_vproddut@quicinc.com \
    --cc=sean@poorly.run \
    --cc=seanpaul@chromium.org \
    --cc=swboyd@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).