On 02/03/16 18:10, Derek Morton wrote:
Some platforms have ring BSD available but no BSD2. Because of the current verification, tests involving ring BSD1 will be skipped if no BSD2 is available. Decoupling the checks will allow running the BSD1 specific tests on these platforms. Based on a patch originally submitted by Gabriel Feceoru to patchwork-hook-test branch. Signed-off-by: Derek Morton <derek.j.morton@xxxxxxxxx> --- lib/ioctl_wrappers.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c index f42e2c9..a4c6aa4 100644 --- a/lib/ioctl_wrappers.c +++ b/lib/ioctl_wrappers.c @@ -1432,8 +1432,10 @@ void gem_require_ring(int fd, int ring_id) /* silly ABI, the kernel thinks everyone who has BSD also has BSD2 */ if ((ring_id & ~(3<<13)) == I915_EXEC_BSD) { - if (ring_id & (3 << 13)) + if (ring_id & (2 << 13)) igt_require(gem_has_bsd2(fd)); + if (ring_id & (1 << 13)) + igt_require(gem_has_bsd(fd)); } }
Isn't the first (unchanged) line rather unclear? Why not test for (ring_id & I915_EXEC_BSD)? And then you only need to additionally test bit 14. if (ring_id & I915_EXEC_BSD) { /* require at least one BSD ring */ igt_require(gem_has_bsd(fd)); if (ring_id & (2 << 13)) { /* specifically require BSD2 */ igt_require(gem_has_bsd2(fd)); } } .Dave. _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx