Lines Matching refs:watch_id
379 static int kfd_dbg_get_dev_watch_id(struct kfd_process_device *pdd, int *watch_id) in kfd_dbg_get_dev_watch_id() argument
383 *watch_id = KFD_DEBUGGER_INVALID_WATCH_POINT_ID; in kfd_dbg_get_dev_watch_id()
394 *watch_id = i; in kfd_dbg_get_dev_watch_id()
404 static void kfd_dbg_clear_dev_watch_id(struct kfd_process_device *pdd, int watch_id) in kfd_dbg_clear_dev_watch_id() argument
409 if ((pdd->alloc_watch_ids >> watch_id) & 0x1) { in kfd_dbg_clear_dev_watch_id()
410 pdd->alloc_watch_ids &= ~(0x1 << watch_id); in kfd_dbg_clear_dev_watch_id()
411 pdd->dev->alloc_watch_ids &= ~(0x1 << watch_id); in kfd_dbg_clear_dev_watch_id()
417 static bool kfd_dbg_owns_dev_watch_id(struct kfd_process_device *pdd, int watch_id) in kfd_dbg_owns_dev_watch_id() argument
422 owns_watch_id = watch_id < MAX_WATCH_ADDRESSES && in kfd_dbg_owns_dev_watch_id()
423 ((pdd->alloc_watch_ids >> watch_id) & 0x1); in kfd_dbg_owns_dev_watch_id()
431 uint32_t watch_id) in kfd_dbg_trap_clear_dev_address_watch() argument
435 if (!kfd_dbg_owns_dev_watch_id(pdd, watch_id)) in kfd_dbg_trap_clear_dev_address_watch()
445 pdd->watch_points[watch_id] = pdd->dev->kfd2kgd->clear_address_watch( in kfd_dbg_trap_clear_dev_address_watch()
447 watch_id); in kfd_dbg_trap_clear_dev_address_watch()
455 kfd_dbg_clear_dev_watch_id(pdd, watch_id); in kfd_dbg_trap_clear_dev_address_watch()
463 uint32_t *watch_id, in kfd_dbg_trap_set_dev_address_watch() argument
466 int xcc_id, r = kfd_dbg_get_dev_watch_id(pdd, watch_id); in kfd_dbg_trap_set_dev_address_watch()
475 kfd_dbg_clear_dev_watch_id(pdd, *watch_id); in kfd_dbg_trap_set_dev_address_watch()
482 pdd->watch_points[*watch_id] = pdd->dev->kfd2kgd->set_address_watch( in kfd_dbg_trap_set_dev_address_watch()
486 *watch_id, in kfd_dbg_trap_set_dev_address_watch()
499 kfd_dbg_clear_dev_watch_id(pdd, *watch_id); in kfd_dbg_trap_set_dev_address_watch()