Re: [PATCH igt v2] lib: Skip aliased bsd ABI ring if bsd2 is available

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 21/02/2018 12:17, Chris Wilson wrote:
How much do I want this uABI to rot away? Say "Never again!" to implicit
aliasing.

In the meantime, we do not need to perform duplicate work on bsd2
machines, as especially we do not know which engine bsd relates to.

v2: When in doubt, shout!

Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
---
  lib/ioctl_wrappers.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
index 8748cfcf..b9b86079 100644
--- a/lib/ioctl_wrappers.c
+++ b/lib/ioctl_wrappers.c
@@ -1460,7 +1460,7 @@ bool gem_has_ring(int fd, unsigned ring)
/* silly ABI, the kernel thinks everyone who has BSD also has BSD2 */
  	if ((ring & ~(3<<13)) == I915_EXEC_BSD) {
-		if (ring & (3 << 13) && !gem_has_bsd2(fd))
+		if (!(ring & (3 << 13)) ^ !gem_has_bsd2(fd))
  			return false;
  	}

If default BSD (1)
    and no BSD2 -> 1 ^ 1 = 1 OK
    and BSD2 -> 1 ^ 0 = 1 BAD

If explicit BSD (0)
    and no BSD2 -> 0 ^ 1 = 1 BAD
    has BSD2 -> 0 ^ 0 = 0 = BAD

Maybe I'm confused.. please simplify the statement? :)

Regards,

Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux