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 > running > DP compliance video pattern test. > > https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/blob/master/tools/msm_dp_compliance.c > > While the compliance test is being run with this msm_dp_compliance app > running, > it will draw the test pattern when it gets the "test_active" from the > driver. > > 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 useful. Regards, Bjorn > Hence this is not the place to call it as it will end up breaking CTS. > > Thanks > > Abhinav > > > --- > > 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);