From: Matthew Brost <matthew.brost@intel.com>
To: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: kamil.kopryk@intel.com, filip.hazubski@intel.com,
Francois Dugast <francois.dugast@intel.com>,
jakub.chaberek@intel.com, effie.yu@intel.com,
bartosz.dunajski@intel.com, carl.zhang@intel.com,
intel-xe@lists.freedesktop.org
Subject: Re: [Intel-xe] [PATCH 05/17] drm/xe/vm: Remove VM_BIND_OP macro
Date: Tue, 19 Sep 2023 14:41:59 +0000 [thread overview]
Message-ID: <ZQmzN1Z8YsKTYxli@DUT025-TGLU.fm.intel.com> (raw)
In-Reply-To: <20230919142504.91652-6-rodrigo.vivi@intel.com>
On Tue, Sep 19, 2023 at 10:24:52AM -0400, Rodrigo Vivi wrote:
> From: Francois Dugast <francois.dugast@intel.com>
>
> This macro was necessary when bind operations were shifted but this
> is no longer the case, so removing to simplify code.
>
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
> ---
> drivers/gpu/drm/xe/xe_vm.c | 42 +++++++++++++++++---------------------
> 1 file changed, 19 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index 7579c9537bfa..ab132b88c135 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -2134,8 +2134,6 @@ static int xe_vm_prefetch(struct xe_vm *vm, struct xe_vma *vma,
> }
> }
>
> -#define VM_BIND_OP(op) (op & 0xffff)
> -
> struct ttm_buffer_object *xe_vm_ttm_bo(struct xe_vm *vm)
> {
> int idx = vm->flags & XE_VM_FLAG_MIGRATION ?
> @@ -2160,7 +2158,7 @@ static int vm_bind_ioctl_lookup_vma(struct xe_vm *vm, struct xe_bo *bo,
>
> lockdep_assert_held(&vm->lock);
>
> - switch (VM_BIND_OP(op)) {
> + switch (op) {
> case XE_VM_BIND_OP_MAP:
> case XE_VM_BIND_OP_MAP_USERPTR:
> vma = xe_vm_find_overlapping_vma(vm, addr, range);
> @@ -2269,10 +2267,10 @@ vm_bind_ioctl_ops_create(struct xe_vm *vm, struct xe_bo *bo,
>
> vm_dbg(&vm->xe->drm,
> "op=%d, addr=0x%016llx, range=0x%016llx, bo_offset_or_userptr=0x%016llx",
> - VM_BIND_OP(operation), (ULL)addr, (ULL)range,
> + operation, (ULL)addr, (ULL)range,
> (ULL)bo_offset_or_userptr);
>
> - switch (VM_BIND_OP(operation)) {
> + switch (operation) {
> case XE_VM_BIND_OP_MAP:
> case XE_VM_BIND_OP_MAP_USERPTR:
> ops = drm_gpuva_sm_map_ops_create(&vm->mgr, addr, range,
> @@ -3110,50 +3108,48 @@ static int vm_bind_ioctl_check_args(struct xe_device *xe,
> *async = !!(flags & XE_VM_BIND_FLAG_ASYNC);
> } else if (XE_IOCTL_DBG(xe, !*async) ||
> XE_IOCTL_DBG(xe, !(flags & XE_VM_BIND_FLAG_ASYNC)) ||
> - XE_IOCTL_DBG(xe, VM_BIND_OP(op) ==
> - XE_VM_BIND_OP_RESTART)) {
> + XE_IOCTL_DBG(xe, op == XE_VM_BIND_OP_RESTART)) {
> err = -EINVAL;
> goto free_bind_ops;
> }
>
> if (XE_IOCTL_DBG(xe, !*async &&
> - VM_BIND_OP(op) == XE_VM_BIND_OP_UNMAP_ALL)) {
> + op == XE_VM_BIND_OP_UNMAP_ALL)) {
> err = -EINVAL;
> goto free_bind_ops;
> }
>
> if (XE_IOCTL_DBG(xe, !*async &&
> - VM_BIND_OP(op) == XE_VM_BIND_OP_PREFETCH)) {
> + op == XE_VM_BIND_OP_PREFETCH)) {
> err = -EINVAL;
> goto free_bind_ops;
> }
>
> - if (XE_IOCTL_DBG(xe, VM_BIND_OP(op) >
> - XE_VM_BIND_OP_PREFETCH) ||
> + if (XE_IOCTL_DBG(xe, op > XE_VM_BIND_OP_PREFETCH) ||
> XE_IOCTL_DBG(xe, flags & ~SUPPORTED_FLAGS) ||
> XE_IOCTL_DBG(xe, obj && is_null) ||
> XE_IOCTL_DBG(xe, obj_offset && is_null) ||
> - XE_IOCTL_DBG(xe, VM_BIND_OP(op) != XE_VM_BIND_OP_MAP &&
> + XE_IOCTL_DBG(xe, op != XE_VM_BIND_OP_MAP &&
> is_null) ||
> XE_IOCTL_DBG(xe, !obj &&
> - VM_BIND_OP(op) == XE_VM_BIND_OP_MAP &&
> + op == XE_VM_BIND_OP_MAP &&
> !is_null) ||
> XE_IOCTL_DBG(xe, !obj &&
> - VM_BIND_OP(op) == XE_VM_BIND_OP_UNMAP_ALL) ||
> + op == XE_VM_BIND_OP_UNMAP_ALL) ||
> XE_IOCTL_DBG(xe, addr &&
> - VM_BIND_OP(op) == XE_VM_BIND_OP_UNMAP_ALL) ||
> + op == XE_VM_BIND_OP_UNMAP_ALL) ||
> XE_IOCTL_DBG(xe, range &&
> - VM_BIND_OP(op) == XE_VM_BIND_OP_UNMAP_ALL) ||
> + op == XE_VM_BIND_OP_UNMAP_ALL) ||
> XE_IOCTL_DBG(xe, obj &&
> - VM_BIND_OP(op) == XE_VM_BIND_OP_MAP_USERPTR) ||
> + op == XE_VM_BIND_OP_MAP_USERPTR) ||
> XE_IOCTL_DBG(xe, obj &&
> - VM_BIND_OP(op) == XE_VM_BIND_OP_PREFETCH) ||
> + op == XE_VM_BIND_OP_PREFETCH) ||
> XE_IOCTL_DBG(xe, region &&
> - VM_BIND_OP(op) != XE_VM_BIND_OP_PREFETCH) ||
> + op != XE_VM_BIND_OP_PREFETCH) ||
> XE_IOCTL_DBG(xe, !(BIT(region) &
> xe->info.mem_region_mask)) ||
> XE_IOCTL_DBG(xe, obj &&
> - VM_BIND_OP(op) == XE_VM_BIND_OP_UNMAP)) {
> + op == XE_VM_BIND_OP_UNMAP)) {
> err = -EINVAL;
> goto free_bind_ops;
> }
> @@ -3161,9 +3157,9 @@ static int vm_bind_ioctl_check_args(struct xe_device *xe,
> if (XE_IOCTL_DBG(xe, obj_offset & ~PAGE_MASK) ||
> XE_IOCTL_DBG(xe, addr & ~PAGE_MASK) ||
> XE_IOCTL_DBG(xe, range & ~PAGE_MASK) ||
> - XE_IOCTL_DBG(xe, !range && VM_BIND_OP(op) !=
> + XE_IOCTL_DBG(xe, !range && op !=
> XE_VM_BIND_OP_RESTART &&
> - VM_BIND_OP(op) != XE_VM_BIND_OP_UNMAP_ALL)) {
> + op != XE_VM_BIND_OP_UNMAP_ALL)) {
> err = -EINVAL;
> goto free_bind_ops;
> }
> @@ -3227,7 +3223,7 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
> goto release_vm_lock;
> }
>
> - if (VM_BIND_OP(bind_ops[0].op) == XE_VM_BIND_OP_RESTART) {
> + if (bind_ops[0].op == XE_VM_BIND_OP_RESTART) {
> if (XE_IOCTL_DBG(xe, !(vm->flags & XE_VM_FLAG_ASYNC_BIND_OPS)))
> err = -EOPNOTSUPP;
> if (XE_IOCTL_DBG(xe, !err && args->num_syncs))
> --
> 2.41.0
>
next prev parent reply other threads:[~2023-09-19 14:43 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-19 14:24 [Intel-xe] [PATCH 00/17] uAPI Alignment - take 1 Rodrigo Vivi
2023-09-19 14:24 ` [Intel-xe] [PATCH 01/17] drm/xe: Fix array bounds check for queries Rodrigo Vivi
2023-09-19 14:24 ` [Intel-xe] [PATCH 02/17] drm/xe: Set the correct type for xe_to_user_engine_class Rodrigo Vivi
2023-09-19 14:24 ` [Intel-xe] [PATCH 03/17] drm/xe: Correlate engine and cpu timestamps with better accuracy Rodrigo Vivi
2023-09-19 14:24 ` [Intel-xe] [PATCH 04/17] drm/xe/uapi: Separate VM_BIND's operation and flag Rodrigo Vivi
2023-09-19 20:39 ` Matthew Brost
2023-09-19 14:24 ` [Intel-xe] [PATCH 05/17] drm/xe/vm: Remove VM_BIND_OP macro Rodrigo Vivi
2023-09-19 14:41 ` Matthew Brost [this message]
2023-09-19 14:24 ` [Intel-xe] [PATCH 06/17] drm/xe/uapi: Remove MMIO ioctl Rodrigo Vivi
2023-09-19 14:24 ` [Intel-xe] [PATCH 07/17] drm/xe: Fix xe_exec_queue_is_idle for parallel exec queues Rodrigo Vivi
2023-09-19 14:24 ` [Intel-xe] [PATCH 08/17] drm/xe: Deprecate XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE implementation Rodrigo Vivi
2023-09-19 14:24 ` [Intel-xe] [PATCH 09/17] drm/xe: Rename exec_queue_kill_compute to xe_vm_remove_compute_exec_queue Rodrigo Vivi
2023-09-19 14:24 ` [Intel-xe] [PATCH 10/17] drm/xe: Remove XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE from uAPI Rodrigo Vivi
2023-10-07 8:20 ` Zhang, Carl
2023-10-09 17:43 ` Francois Dugast
2023-09-19 14:24 ` [Intel-xe] [PATCH 11/17] drm/xe/uapi: Use common drm_xe_ext_set_property extension Rodrigo Vivi
2023-09-19 20:41 ` Matthew Brost
2023-09-19 14:24 ` [Intel-xe] [PATCH 12/17] drm/xe: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension Rodrigo Vivi
2023-10-07 8:35 ` Zhang, Carl
2023-09-19 14:25 ` [Intel-xe] [PATCH 13/17] drm/xe/uapi: Document drm_xe_query_gt Rodrigo Vivi
2023-09-19 14:48 ` Matthew Brost
2023-09-19 14:25 ` [Intel-xe] [PATCH 14/17] drm/xe/uapi: Replace useless 'instance' per unique gt_id Rodrigo Vivi
2023-09-19 20:44 ` Matthew Brost
2023-09-19 14:25 ` [Intel-xe] [PATCH 15/17] drm/xe/uapi: Remove unused field of drm_xe_query_gt Rodrigo Vivi
2023-09-19 20:52 ` Matthew Brost
2023-09-19 14:25 ` [Intel-xe] [PATCH 16/17] drm/xe/uapi: Rename gts to gt_list Rodrigo Vivi
2023-09-19 14:25 ` [Intel-xe] [PATCH 17/17] drm/xe/uapi: Fix naming of XE_QUERY_CONFIG_MAX_EXEC_QUEUE_PRIORITY Rodrigo Vivi
2023-09-19 14:44 ` Matthew Brost
2023-09-19 14:32 ` [Intel-xe] ✓ CI.Patch_applied: success for uAPI Alignment - take 1 Patchwork
2023-09-19 14:32 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
2023-09-19 14:33 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
2023-09-19 14:42 ` [Intel-xe] ✗ CI.Build: failure " Patchwork
2023-09-19 17:19 ` [Intel-xe] [PATCH 00/17] " Souza, Jose
2023-09-21 15:06 ` Zhang, Carl
2023-09-22 18:56 ` Rodrigo Vivi
2023-10-08 8:06 ` Zhang, Carl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZQmzN1Z8YsKTYxli@DUT025-TGLU.fm.intel.com \
--to=matthew.brost@intel.com \
--cc=bartosz.dunajski@intel.com \
--cc=carl.zhang@intel.com \
--cc=effie.yu@intel.com \
--cc=filip.hazubski@intel.com \
--cc=francois.dugast@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=jakub.chaberek@intel.com \
--cc=kamil.kopryk@intel.com \
--cc=rodrigo.vivi@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox