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 13:35, Tvrtko Ursulin wrote:

On 21/02/2018 13:07, Chris Wilson wrote:
Quoting Tvrtko Ursulin (2018-02-21 12:55:17)

On 21/02/2018 12:53, Tvrtko Ursulin wrote:

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;
       }

For preserving time and sanity:

bool is_bsd = (ring & 0xf) == I915_EXEC_BSD;
bool implicit_bsd = !(ring & (3 << 13));
bool supports_explicit_bsd = gem_has_bsd2(fd);

if (is_bsd) {
	if (implicit_bsd && supports_explicit_bsd)
		return false;
	else if (!implicit_bsd && !supports_explicit_bsd)
		return false;
}

?

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