Re: [PATCH] drm/msm/dp: Make it possible to enable the test pattern
From: Bjorn Andersson
Date: Mon Jun 28 2021 - 20:55:33 EST
On Mon 28 Jun 19:31 CDT 2021, abhinavk@xxxxxxxxxxxxxx wrote:
> Hi Bjorn
> On 2021-06-28 17:22, Bjorn Andersson wrote:
> > The debugfs interface contains the knobs to make the DisplayPort
> > controller output a test pattern, unfortunately there's nothing
> > currently that actually enables the defined test pattern.
> > Fixes: de3ee25473ba ("drm/msm/dp: add debugfs nodes for video pattern
> > tests")
> > Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> This is not how this debugfs node works. This is meant to be used while
> DP compliance video pattern test.
> While the compliance test is being run with this msm_dp_compliance app
> it will draw the test pattern when it gets the "test_active" from the
> The test pattern which this app draws is as per the requirements of the
> compliance test
> as the test equipment will match the CRC of the pattern which is drawn.
> The API dp_panel_tpg_config() which you are trying to call here draws the DP
> test pattern
> from the DP controller hardware but not the pattern which the compliance
> test expects.
So clearly not an oversight, but rather me not understanding how to use
the test pattern.
You say that I should run msm_dp_compliance while the test is running,
so how do I run the test?
> Its just a debug API to call when required during bringup/debug purposes.
Yes, I was trying to isolate the DP code from some misconfiguration in
the DPU during bringup and with this fix the debugfs interface became
> Hence this is not the place to call it as it will end up breaking CTS.
> > ---
> > drivers/gpu/drm/msm/dp/dp_debug.c | 2 ++
> > 1 file changed, 2 insertions(+)
> > diff --git a/drivers/gpu/drm/msm/dp/dp_debug.c
> > b/drivers/gpu/drm/msm/dp/dp_debug.c
> > index 2f6247e80e9d..82911af44905 100644
> > --- a/drivers/gpu/drm/msm/dp/dp_debug.c
> > +++ b/drivers/gpu/drm/msm/dp/dp_debug.c
> > @@ -305,6 +305,8 @@ static ssize_t dp_test_active_write(struct file
> > *file,
> > debug->panel->video_test = true;
> > else
> > debug->panel->video_test = false;
> > +
> > + dp_panel_tpg_config(debug->panel, debug->panel->video_test);
> > }
> > }
> > drm_connector_list_iter_end(&conn_iter);