Hi all, Here goes a new i-g-t quarterly release with the following changes: - Changes to support Broadwell in the test suite. (Ben, Damien, et al.) - Updated (now working again!) Android support from Oscar Mateo. - Test coverage through i-g-t is now officially an integral part of any drm/i915 feature work and also for bugfixes. For more details see: http://blog.ffwll.ch/2013/11/testing-requirements-for-drmi915.html - Fix the gen4asm build depency handling, now that the assembler is included in i-g-t (Ben). - Improve the cairo object lifetime management of the kmstest helpers (Chris). - Allow register access to succeed if i915 is loaded but debugfs isn't found (i.e. nomodeset is used) - New kernel modesetting helper library for simpler testcases (Damien). - New structure logging support for tests. Message at the WARN level be reflected in the piglit result, also included igt_warn_on macros to simplify test asserts which should just result in warnings, but not in a test abort. - Broadwell support for intel_audio_dump (Mengdong Lin). - API documentation support (Thomas) Complete list: Ben Widawsky (52): chipset: IS_I9XX macro pciid/bdw: Add Broadwell PCI ids bdw: Update obvious missing blit support tests/bdw: gem_exec_faulting_reloc tests/bdw: gem_cpu_reloc tests/bdw: gem_evict_* tests/bdw: gem_exec_blt tests/bdw: gem_pin tests/bdw: gem_linear_blits tests/bdw: pwrite_pread tests/bdw: Port storedw_loop_vebox to gen8 assembler/bdw: Small cleanup quick_dump/bdw: Just basic stuff for now NEWS: Broadwell NEWS: Broadwell will be in 1.6, not 1.5 NEWS: Restore the 1.4 release info gem_storedw_batches_loop: Update for gen8 gem_evict_everything: Fix broken blit generalization gem_evict_alignment: Skip on GEN8 for now gem_cpu_reloc: Fixed botched BLIT conversion gem_linear_blits: Fix blit command length gem_storedw_batches_loop: Fix for real this time gem_evict_*: Fix batch lengths, broken on gen8 integration gem_cs_prefetch: more gen8 integration fallout gem_pipe_control_store_loop: BDW update drm_vma_limiter_cached: Missed gen8 BLT updates gem_write_read_ring_switch: Missed gen8 BLT updates gem_persistent_relocs: Update for gen8 BLT cmds gem_reloc_vs_gpu: Update for gen8 BLT cmds Kill XY_COLOR_BLT_CMD gen8 rendercpy: temporarily disable gem_exec_faulting_reloc: Update gen8 BLT cmds intel-gpu-tools: Version information shader-debugger: Use in tree gen4asm gem_exec_blit: gen8 updates for blit configure.ac: Remove GEN4ASM define configure.ac: Fixup conditional shader debugger configure.ac: Fix shader debugger for real gem_storedw_batches_loop: Fix for BDW .gitignore: Add pycache quick_dump: Fix the indentation quick_dump: Allow comments in the register files quick_dump/hsw: Watermark debug quick_dump/broadwell: Use haswell_other quick_dump/watermarks: lp3, misc and debug gem_storedw_batches_loop: Fix for pre-BDW quick_dump: Refactor to allow future code quick_dump: Add a file argument quick_dump/gen7: Add other GFX_MODE registers quick_dump/haswell: Add gen7 stuff + VECS_MODE quick_dump/broadwell: Add gen7 ring mode registers quick_dump: Add missed broadwell autodetect Chon Ming Lee (2): tools/quick_dump: Update Baytrail DPIO names to reflect to the driver change. Update dpio read/write to take in extra PHY parameter. Chris Wilson (26): tests/pm_pc8: Fix invalid pointer-to-integer casting drmtest: Fix weird signage on errno kmstest: Fix up lifetimes of cairo objects tests: Add gem_gtt_hog gem_gtt_hog: Print elapsed time in ms tests/gem_pipe_control_store_loop: Delete bogus assertion gem_gtt_hog: use a normal exit() kms_flip: Try to consume all fences after a flip intel_error_decode: Protect against missing ring registers igt/gem_concurrent_blit: Scale resource usage to RAM correctly igt/gem_close_race: Fix blit commands for BDW lib: Capture errno on entry tests: Add gem_madvise tests: Add gen7_forcewake_mt Add i915_pciids.h kms_flip: Try to make hang_gpu() robust against hanging the GPU tests: Compile all threaded tests with -pthread when appropriate kms_flip: Assert that hang_gpu() should only fail is the GPU is already hung kms_flip: Skip tests that try to inject GPU hangs if already terminally wedged gem_render_linear_blits: Trim usage to fit within RAM gem_render_tiled_blits: Trim usage to fit within RAM lib: Test against available swap evictions: Limit the number of minor eviction surfaces to fit in RAM igt/gem_pwrite_pread: Fix XY_SRC_COPY command length for gen8+ igt/gem_pwrite_pread: Fix relocation offsets for gen8+ igt/gem_pwrite_pread: Fix relocation offsets for gen8+ Damien Lespiau (68): bdw: Add gen8 to the IS_9XX() macro bdw: Add gen8 to intel_gen() bdw: Add gen8 specific instdone bits tests/bdw: Port storedw_loop_render to bdw assembler/bdw: Add gen8_instruction from mesa assembler/bdw: Support some basic gen8 intructions assembler/bdw: Make the validation functions take a brw_program_instruction assembler/bdw: Add the start of a gen8 disassembler assembler/bdw: Preliminary gen8 send & msgtarget support assembler/bdw: Use gen8_set_exec_size() to set the execution size rendercopy/bdw: Add gen8_render.h to the file list rendercopy/bdw: Fix the original implementation rendercopy/bdw: Add AUB annotations for states list-workarounds/bdw: Add Broadwell to the list of valid platorms gitignore: Ignore the newly introduced pm_psr gitignore: Ignore gem_reset_stats intel_dump_decode: Actually parse the -d option intel_dump_decode: Support the INTEL_DEVID_OVERRIDE env variable rendercopy/bdw: Fix the STATE_SIP instruction length rendercopy/bdw: Fix the various 3DSTATE_CONSTANT_* instruction length rendercopy/bdw: Fix the 3DSTATE_HIER_DEPTH_BUFFER instruction length rendercopy/bdw: Fix the 3DSTATE_STENCIL_BUFFER instruction length kms_fbc_crc: Remove unused variable gitignore: Ignore kms_fbc_crc gitignore: Ignore gem_media_fill lib: Include the necessary stdint.h in gen6_render.h intel_error_decode: Factor out common decoding code intel_reg: Renamed INST_DONE to INSTDONE instdone: Add an assert to make sure we never overflow instdone_bits lib: Move the INSTDONE bit definitions to instdone.c lib: Use INSTDONE_I965 and INSTDONE_1 for gen6 tools: Removed unused tools/intel_iosf_read.c tools: Remove intel_disable_clock_gating gem_ring_sync_copy: Add a ring to ring synchronization test lib: Introduce a modeset API kms_pipe_crc_basic: Port to the new modeset API lib: Introduce symbolic names for display planes lib: Introduce a for_each_connected_output() macro kms_pipe_crc_basic: Use for_each_connected_output() lib/display: Add an accessor to retrieve the number of pipes kms_pipe_crc_basic: Use igt_display_get_n_pipes() instead of hardcoding 3 tests/kms_cursor_crc: Move the array of cursor fb_ids to the stack lib/display: Fix the SetCrtc disabling log message lib/display: Add support for the cursor plane lib/display: Add a way to specify we don't care about the pipe to use kms_cursor_crc: Port the test to the new modeset API lib/display: Allow to override the display verbosity with an env variale lib/display: Check if we're trying to use the same pipe on 2 outputs lib/crc: Factor out reading a single CRC value lib/crc: Add a helper to read a single CRC value tests/kms_cursor_crc: Use igt_pipe_crc_collect_crc() lib/display: Add support for DRM planes lib: Introduce a new helper kmstest_create_color_fb() kms_cursor_crc: Use kmstest_create_color_fb() lib: Include drm_fourcc.h from igt_kms.h kms_pipe_crc_basic: Use kmstest_create_color_fb() lib: Add a helper to wait for a keypress lib/display: Add a way to wait at every commit for inspection lib/display: Print the fb id, not its pointer in the set_fb() log message lib/display: Wait for a vblank after SetPlane() lib/display: Fix assertion in set_plane() kms_plane: Start a basic display plane test lib: Don't wait in igt_wait_for_keypress() if stdin is not a tty lib: Fix igt_ouput_get_plane() typo (output) kms_pipe_crc_basic: Remove igt_display_get_n_pipes() usage in main lib/display: Fix typo in igt_plane_get_fd_id() (fb) kms_plane: Remove spurious inclusion of glib.h kms_pipe_crc_basic: Remove spurious inclusion of glib.h Daniel Vetter (91): NEWS: Remove spurious - tests/gem_reloc_overflow: Polish after Rafael's patch tests/gem_overflow_reloc: Rework subtest enumeration Revert "tests/gem_ctx_bad_exec: Check the errno, too" NEWS: Android.mk updates! NEWS: Make testing requirements official lib: adjust oom_score tests/gem_cs_prefetch: Fix bdw damage tests: More bdw fallout tests: More bdw fallout tests/gem_reset_stats: Use macros a bit more tools/reg_dumper: Add FW_BLC regs tests/gem_reset_stats: More macros! tests: Document per-ring naming conventions tests: Document exec naming convention for execbuf related tests lib: Don't put functional code into asserts test/gem_concurrent_blt Revert "test/gem_concurrent_blt" tests: rename get_client_auth to have a core_ prefix tests/core_get_client_auth: new subtests for always authenticated lib: add gem_available_aperture_size helper tests/gem_ctx_exec: Add eviction test tests/gem_reset_stats: document the new subtest a bit better tests: drm_open_any doesn't fail lib: add igt_pipe_crc_check lib: make igt_pipe_crc_start never fail lib: Always print errno in igt assert/require macros lib: Add host platform to version string lib: print uname information in the version string lib: igt_simple_main/init for subtest-less tests tests: gem_close_race has subtests! tests: roll out igt_simple_init/igt_simple_main ignore version.h tests: Move gem_reset_stats to the right place tests: Document the Makefile variables a bit better README: Document how to avoid Waffle with piglit README: Fix spelling fail NEWS updates tests/NAMING-CONVENTION: s/snooped/snoop/ tests/gem_ctx_exec: fix ram requirement fumble tests: fixup igt_simple_main fallout tests/gem_largeobject: Prefault instead of pin tests/prime_nv_pcopy: disable swizzle tests tests/primve_nv_pcopy: Comment out unused check_swizzle function tests/gem_gtt_hog: Use igt_simple_main tools: Install them all tests: Move pm_rps to the right Makefile target tests: Add gem_fd_exhaustion lib: extract igt_drop_root debugger: avoid global variable shadowing tests/pm_rps: Add missing static lib: add __gem_create tests/gem_fd_exhaustion: Make it work tests/pm_rps: rename basic test to "basic-api" fix make distcheck tests/pm_rps: Fix compilation on Linux tests/pm_rps: Round requested freq correctly tests/pm_rps: remove setfreq tests/gem_reset_stats: Correctly wrap global test code lib/drmtest: Fix up skip_henceforth checks lib: fix header include tests/gem_close_race: Properly wrap init code in fixtures tests/gem_bad_ctx_exec: Properly wrap in igt_fixtures tests/gem_madvise: use correct main block test/gem_gtt_hog: bail out earlier lib: install exit handler only on success for prefault control lib: Make igt_skip noreturn NEWS: Mention Damien's new helper library lib: (somewhat) structured logging support test/pm_rps: use igt logging tests/gem_seqno_wrap: use igt logging tests/kms_flip: use igt logging NEWS: Mention new logging support testdisplay: implement dpms test testdisplay: Allow to specify the dpms level test/kms_flip: fix up igt logging conversion configure: Bump libdrm requirements NEWS: intel_audio_dump has now bdw support tests/drv_missed_irq_hang: Remove debug output tests/gem_exec_blt: More reasonable runtime tests/drv_missed_irq_hand: Make it robuster gtk-doc: Document the docs lib: extract ioctl_wrappers.c lib/ioctl_wrappers: api doc lib: extract igt_core.c lib/igt_core: api documentation lib: move prefault helpers to igt_debugfs.c lib/ioctl_wrappers: api doc fixup lib: make igt_debugfs_open infallible lib/igt_debugfs: drop drm_fd argument from igt_pipe_crc_new lib/igt_debugfs: api docs Devon Davies (1): build: Added -UNDEBUG to tools/Android.mk Imre Deak (5): kms_flip: fix seq_step for 2xcrtc subtests kms_flip: keep drm_fd open for the dpms restore exit handler kms_flip: consolidate run_test_on_{crtc,crtc_pair} lib/drmtest: fix hang in quiescent_gpu_at_exit due to signal-unsafe asprintf kms_setmode: Add clone-single-crtc subtest Jeff McGee (18): pm_rps: Use unbuffered I/O on sysfs files pm_rps: Assert that valid sysfs writes return success pm_rps: Fix test to target original min and max pm_rps: Use igt exit handler for restore pm_rps: Add read back checking on sysfs writes pm_rps: Convert to subtest structure pm_rps: Fix verbose option and streamline its use pm_rps: Expand on min and max config testing pm_rps: Remove repeat sysfs reads pm_rps: Make frequency logging more compact pm_rps: New subtest min-max-config-idle lib/drmtest: Add igt_wait_helper pm_rps: Add load helper for loading gpu pm_rps: New subtest min-max-config-loaded pm_rps: Add stop rings injection utility pm_rps: Load helper should stall for last write pm_rps: Add variable load support to load helper pm_rps: New subtest for gpu reset Jesse Barnes (8): rendercopy/bdw: Initial gen8 rendercopy mmio: allow register init even if debugfs isn't available and i915 isn't loaded quick_dump: more vlv dpio regs NEWS: update with nomodeset register access change mmio: use intel_iosf.c for DPIO reads and writes mmio: drop unused i915_loaded fn dpio: make dpio reg read/write output like normal reg read/write output iosf: make iosf_rw take a larger addr Joao Santos (1): build: Skip kms_plane on Android Kenneth Graunke (2): rendercopy/bdw: Emit 3DSTATE_WM_HZ_OP. rendercopy/bdw: Fix length of a bunch of zeroed out packets. Mengdong Lin (15): intel_audio_dump/bdw: add support for Broadwell intel_audio_dump/bdw: dump debug registers for audio immediate commands intel_audio_dump/bdw: dump audio chicken bit register intel_audio_dump/bdw: dump audio DP and DIP FIFO debug status intel_audio_dump/bdw: dump audio M CTS readback register quick_dump/bdw: dump audio configuration registers for Haswell and Broadwell quick_dump/bdw: dump audio debug registers for Haswell and Broadwell quick_dump/bdw: support Broadwell in device auto-detection intel_audio_dump: support using base address plus an offset to dump registers intel_audio_dump: move definitions of transcoder/pipe/port/converter earlier intel_audio_dump: define IS_HASWELL_PLUS to cover Haswell and its successors intel_audio_dump: define get_num_pipes() to get number of pipes for a device ID intel_audio_dump: share common audio dump code for Ironlake, Haswell & Broadwell intel_audio_dump: adjust code alignment intel_audio_dump: add support for Valleyview Mika Kuoppala (10): tests: add gem_reset_stats tests/gem_reset_stats: add support for BDW+ tests/gem_reset_stats: stop rings after injecting hang tests/gem_reset_stats: check non root access to reset_stats lib/drmtest: Fix filedesc leak on gem_quiescent_gpu tests/gem_reset_stats: add close-pending-fork tests/gem_reset_stats: add reverse order in close-pending-fork tests/gem_reset_stats: split ctx tests tests/gem_reset_stats: run tests on all rings tests/gem_reset_stats: stop only one ring when submitting hang Oscar Mateo (14): tests/drv_suspend: Replace "&> /dev/null" with "> /dev/null 2>&1" build: list all test/tool/lib source files in their own Makefile.sources build: Fix missing "\" in tests/Makefile.sources build: Move logic to tests/Makefile.am and away from Makefile.sources lib: Move kms stuff from drmtest.c over to igt_kms.c rendercopy: Remove rendercopy.c tests/drm_get_client_auth: In Android, use gettid() instead of syscall(SYS_gettid) tests/gem_vmap_blits: Finish extracting gem_read build: Fix assorted compilation warnings lib/drmtest: Get the correct basename() under Android lib/igt_display: workaround a name conflict in Android build: New Android makefiles tests/gem_close_race: Adapt the test for Full PPGTT build: Create version and config information files in Android Paulo Zanoni (40): tests/pm_pc8: move teardown_environment next to setup_environment tests/pm_pc8: return void on test_i2c tests/pm_pc8: extract i2c_subtest_check_environment tests/pm_pc8: add modeset-lpsp-stress tests/pm_pc8: add debugfs/sysfs tests tests/pm_pc8: remove "batch" and "stress-test" subtests tests/pm_pc8: add some GEM tests tests/pm_pc8: reorganize main function tests/pm_pc8: add support for runtime PM tests/pm_pc8: check for PC8 status, not residency in most cases tests/pm_pc8: fix debugfs-forcewake-user for PC8-only cases tests/pm_pc8: rename some variables tests/pm_pc8: remove compare_registers subtest tests/pm_pc8: add some more stress tests tests/pm_pc8: add --quick option tests/pm_pc8: rename some subtests tests/pm_pc8: try harder to reach PC8+ residencies tests/pm_pc8: try to reuse FBs when possible tests/pm_pc8: add "resuming" state lib: rename some power well bit names tests: add pm_lpsp tests/kms_setmode: avoid 2 connectors on the same encoder tests/pm_pc8: check if we can't become DRM master drmtest: don't leak memory when parsing the arguments tests/kms_flip: don't leak the connector when setting DPMS tests/kms_flip: don't leak the CRTC tests/kms_flip: don't leak the connector_config struct tests/kms_flip: free the test_output struct when counting modes tests/gen7_forcewake_mt: use -lpthread tests/pm_pc8: remove sleep() call when setting up the environment tests/pm_pc8: add gem-idle subtest tests/pm_pc8: try to modprobe i2c-dev tests/pm_pc8: try to modprobe msr tests/pm_pc8: add reg-read-ioctl subtest tests/pm_pc8: add pci-d3-state subtest tests/pm_pc8: add "stay" mode tests/pm_pc8: use XY_COLOR_BLT instead of just COLOR_BLT tests/pm_pc8: BDW should also support PC8 residencies tests/pm_pc8: use intel_gen instead of a big IS_GEN check tests/pm_pc8: be more verbose on test_i2c failures Rafael Barbalho (6): tests/gem_reloc_overflow: Add gen8+ specifc tests android: Handle the case when android doesn't have mmap64 android: Clean-up common makefile directives android: Add makefile for the lib directory android: Add the generation of vesion.h & config.h to lib android: Change tests & tools directory to use the lib directory Robert Beckett (1): igt: tests/Android.mk: fix LOCAL_PATH usage Rodrigo Vivi (1): bump version to 1.6 and add the release date Thomas Wood (10): assembler: define YY_NO_INPUT to prevent unused symbol warnings lib: fix signed/unsigned comparison issues debugger: fix the -p option assembler: fix condition for printing a warning tests/gem_seqno_wrap: fix over allocation of arrays tests: fix sub-test enumeration Add API documentation support drmtest: reformat the API documentation lib: Add missing header to Makefile.sources tests: add missing assertion Tvrtko Ursulin (8): build: Make sure asserts are enabled for tests build: Skip kms_fbc_crc on Android drmtest: Avoid wrong PID/TID after clone races Revert "lib/drmtest: ducttape over fork race" tests/gem_media_fill: Remove unnecessary include tools: Allow building on Android after noinst_PROGRAMS is not defined any more tests/gem_evict_everything: Factor out eviction logic tests/eviction_common: Avoid submitting duplicate objects Ville Syrj?l? (11): lib: Fix pipe_crc->ctl_fd assert kms_cursor_crc: Fix crc readout after a subtest failure rendercopy: Pass context to rendercopy functions lib: Add gem_sw_finish() lib: Add gem_bo_busy kms_fbc_crc: Add a CRC based FBC test quick_dump: Restore execture permission on quick_dump.py tests: Drop glib.h include from kms_cursor_crc and kms_fbc_crc kms_flip: Restore rings to running state in unhang_gpu() kms_flip: Fail the subtest if page flip hang recovery wasn't actually tested kms_flip: Add dpms-vs-vblank-race and modeset-vs-vblank-race subtests Xiang, Haihao (16): assembler/bdw: Set math function assembler/bdw: Disable mask control for advanced mode assembler/bdw: Set jip/uip offsets used by flow control instructions assembler/bdw: Set thread switch for multiple branch instructions assembler/bdw: Data port message assembler/bdw: Thread Spawn message assembler/bdw: Video Motion Estimation(VME) message assembler/bdw: Check & Refinement Engine message assembler/bdw: SEND instruction tests: add gem_media_fill tests/gem_media_fill: add support for gen8 tests/gem_media_fill: add support for gen7 tests/gem_media_fill: the assembly code for the shader used in the case lib: Clean the batch buffer store after reset rendercopy/bdw: Set Instruction Buffer size Modify Enable to 1 assembler/bdw: Update write(...) Zhao Yakui (5): tests/bdw: Port storedw_loop_bsd to gen8 tests/bdw: Port storedw_loop_blt to gen8 assembler/bdw: Add the support of align1 register-indirect addressing mode on Gen8 assembler/bdw: Add the DATA_PORT_CACHE1 shared function for Gen8+ Assembler/bdw: Remove the unsupported cache agent for WRITE(...) git tag: intel-gpu-tools-1.6 http://xorg.freedesktop.org/archive/individual/app/intel-gpu-tools-1.6.tar.bz2 MD5: e823be446e06d31195c66e354752fb0b intel-gpu-tools-1.6.tar.bz2 SHA1: 87a066862f6cd4090b7bbb6a4ebc59e7aee330cd intel-gpu-tools-1.6.tar.bz2 SHA256: 6b29e04fd08c3b66639969c6e128db979d729f891017932e30034037df106cc6 intel-gpu-tools-1.6.tar.bz2 http://xorg.freedesktop.org/archive/individual/app/intel-gpu-tools-1.6.tar.gz MD5: ae257d0231eea0992afe55be2db40d88 intel-gpu-tools-1.6.tar.gz SHA1: 54b49a28144072a43d94df48f407e3d08e74bba6 intel-gpu-tools-1.6.tar.gz SHA256: 9aff9c59ba315c500e0329d1421bb2892d5749797444c2661d6ef290678b63ac intel-gpu-tools-1.6.tar.gz -- Rodrigo Vivi Blog: http://blog.vivi.eng.br