diff --git a/docs/reference/intel-gpu-tools/Makefile.am b/docs/reference/intel-gpu-tools/Makefile.am
index 0f10eaab..fa19701d 100644
--- a/docs/reference/intel-gpu-tools/Makefile.am
+++ b/docs/reference/intel-gpu-tools/Makefile.am
@@ -46,13 +46,21 @@ xml/igt_test_programs_%_description.xml: $(TESTLISTS)
echo "]]>" >> $@; \
if ./$$testprog --list-subtests > /dev/null ; then \
echo "Subtests" >> $@; \
- echo "" >> $@; \
- for subtest in `./$$testprog --list-subtests`; do \
- echo "" >> $@; \
- echo "$$subtest" | perl -pe 's/\b$(KEYWORDS)\b/\1<\/acronym>/g' >> $@; \
- echo "" >> $@; \
- done; \
- echo "" >> $@; \
+ subtest_list=`./$$testprog --list-subtests`; \
+ subtest_count=`echo $$subtest_list | wc -w`; \
+ if [ $$subtest_count -gt 100 ]; then \
+ echo "This test has over 100 subtests. " >> $@; \
+ echo "Run $$test to list them." >> $@; \
+ else \
+ echo "" >> $@; \
+ for subtest in $$subtest_list; do \
+ echo "" >> $@; \
+ echo "$$subtest" | perl -pe 's/\b$(KEYWORDS)\b/\1<\/acronym>/g' >> $@; \
+ echo "" >> $@; \
+ done; \
+ echo "" >> $@; \
+ fi; \
+ echo "" >> $@; \
fi; \
echo "" >> $@; \
done;