habanalabs: Add mask for CS type bits in CS flags
authorTomer Tayar <ttayar@habana.ai>
Sun, 22 Nov 2020 09:02:50 +0000 (11:02 +0200)
committerOded Gabbay <ogabbay@kernel.org>
Mon, 30 Nov 2020 08:47:38 +0000 (10:47 +0200)
hl_cs_sanity_checks() extracts the CS type bits of the CS flags, by
masking out the non-type bits.
To save the need for updating the function whenever new bits for
non-type flags are added, add an explicit mask for the CS type bits.

Signed-off-by: Tomer Tayar <ttayar@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
drivers/misc/habanalabs/common/command_submission.c

index bd2f543990204a831e6ff6566b56cc301368e28a..dc85ed6ab525f34281fba984d8eaf5f0c9575741 100644 (file)
@@ -11,6 +11,9 @@
 #include <linux/uaccess.h>
 #include <linux/slab.h>
 
+#define HL_CS_FLAGS_TYPE_MASK  (HL_CS_FLAGS_SIGNAL | HL_CS_FLAGS_WAIT | \
+                               HL_CS_FLAGS_COLLECTIVE_WAIT)
+
 /**
  * enum hl_cs_wait_status - cs wait status
  * @CS_WAIT_STATUS_BUSY: cs was not completed yet
@@ -737,8 +740,7 @@ static int hl_cs_sanity_checks(struct hl_fpriv *hpriv, union hl_cs_args *args)
                return -EBUSY;
        }
 
-       cs_type_flags = args->in.cs_flags &
-                       ~(HL_CS_FLAGS_FORCE_RESTORE | HL_CS_FLAGS_TIMESTAMP);
+       cs_type_flags = args->in.cs_flags & HL_CS_FLAGS_TYPE_MASK;
 
        if (unlikely(cs_type_flags && !is_power_of_2(cs_type_flags))) {
                dev_err(hdev->dev,