[Intel-gfx] [PATCH i-g-t] tests/chamelium: Require HPD storm control for basic hotplug test

Lyude Paul lyude at redhat.com
Tue Jun 13 18:20:39 UTC 2017


NAK, igt_hpd_storm_set_threshold is expected to be called in both
situations with and without hpd storm control support. The function
should be able to notice when the host doesn't have the debugfs nodes
for hpd storm control, and just return without doing anything in that
case:

void igt_hpd_storm_set_threshold(int drm_fd, unsigned int threshold)
{
	int fd = igt_debugfs_open(drm_fd, "i915_hpd_storm_ctl", O_WRONLY);
	char buf[16];

	/* Right here is where we should be exiting if we don't have the debugfs file present */
	if (fd < 0)
		return;

	igt_debug("Setting HPD storm threshold to %d\n", threshold);
	snprintf(buf, sizeof(buf), "%d", threshold);
	igt_assert_eq(write(fd, buf, strlen(buf)), strlen(buf));

	close(fd);
	igt_install_exit_handler(igt_hpd_storm_exit_handler);
}

The igt asserts that come after that are there because if we do have
the i915_hpd_storm_ctl file but it doesn't do what we expect it to,
then that's probably an error. This being said, adding a call to
igt_require_hpd_storm_ctl(data->drm_fd); will result in the hotplugging
tests being skipped on every non-intel platform.

Are these tests no longer working on systems without hpd storm control?
The last time I tested it I didn't see any issues, but that was a while
ago.

On Tue, 2017-06-13 at 15:46 +0300, Paul Kocialkowski wrote:
> On Tue, 2017-06-13 at 15:44 +0300, Paul Kocialkowski wrote:
> > The basic hotplug test (test_basic_hotplug) makes calls to
> > igt_hpd_storm_set_threshold, which requires HPD storm control.
> > 
> > This adds a check for that control, since it was missing.
> 
> This is a resend of yesterday's patch with the right subject prefix
> so that
> patchwork can pick it up.
> 
> > Signed-off-by: Paul Kocialkowski <paul.kocialkowski at linux.intel.com
> > >
> > ---
> >  tests/chamelium.c | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/tests/chamelium.c b/tests/chamelium.c
> > index 2e14ccb9..bd7772f8 100644
> > --- a/tests/chamelium.c
> > +++ b/tests/chamelium.c
> > @@ -153,6 +153,8 @@ test_basic_hotplug(data_t *data, struct
> > chamelium_port
> > *port)
> >  	struct udev_monitor *mon = igt_watch_hotplug();
> >  	int i;
> >  
> > +	igt_require_hpd_storm_ctl(data->drm_fd);
> > +
> >  	reset_state(data, port);
> >  	igt_hpd_storm_set_threshold(data->drm_fd, 0);
> >  


More information about the Intel-gfx mailing list