1. 11 7月, 2018 1 次提交
  2. 24 4月, 2018 3 次提交
  3. 02 5月, 2018 1 次提交
  4. 24 4月, 2018 1 次提交
  5. 11 4月, 2018 2 次提交
  6. 16 3月, 2018 4 次提交
  7. 05 1月, 2018 1 次提交
  8. 28 11月, 2017 1 次提交
  9. 15 11月, 2017 2 次提交
  10. 02 11月, 2017 1 次提交
  11. 28 10月, 2017 1 次提交
    • F
      drm/amdkfd: Clean up kfd_wait_on_events · fdf0c833
      Felix Kuehling 提交于
      Cleaned up the code while resolving some potential bugs and
      inconsistencies in the process.
      
      Clean-ups:
      * Remove enum kfd_event_wait_result, which duplicates
        KFD_IOC_EVENT_RESULT definitions
      * alloc_event_waiters can be called without holding p->event_mutex
      * Return an error code from copy_signaled_event_data instead of bool
      * Clean up error handling code paths to minimize duplication in
        kfd_wait_on_events
      
      Fixes:
      * Consistently return an error code from kfd_wait_on_events and set
        wait_result to KFD_IOC_WAIT_RESULT_FAIL in all failure cases.
      * Always call free_waiters while holding p->event_mutex
      * copy_signaled_event_data might sleep. Don't call it while the task state
        is TASK_INTERRUPTIBLE.
      Signed-off-by: NFelix Kuehling <Felix.Kuehling@amd.com>
      Acked-by: NOded Gabbay <oded.gabbay@gmail.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
      fdf0c833
  12. 27 9月, 2017 1 次提交
  13. 08 9月, 2017 1 次提交
  14. 16 8月, 2017 6 次提交
  15. 12 1月, 2017 1 次提交
  16. 30 4月, 2016 2 次提交
  17. 23 3月, 2016 1 次提交
  18. 16 1月, 2016 1 次提交
  19. 06 1月, 2016 1 次提交
  20. 30 8月, 2015 1 次提交
  21. 16 6月, 2015 1 次提交
  22. 03 6月, 2015 4 次提交
    • Y
      drm/amdkfd: Implement address watch debugger IOCTL · f8bd1333
      Yair Shachar 提交于
      v2:
      
      - rename get_dbgmgr_mutex to kfd_get_dbgmgr_mutex to namespace it
      - change void* to uint64_t inside ioctl arguments
      - use kmalloc instead of kzalloc because we use copy_from_user
        immediately after it
      Signed-off-by: NYair Shachar <yair.shachar@amd.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
      f8bd1333
    • Y
      drm/amdkfd: Implement wave control debugger IOCTL · 94484589
      Yair Shachar 提交于
      v2:
      
      - rename get_dbgmgr_mutex to kfd_get_dbgmgr_mutex to namespace it
      - change void* to uint64_t inside ioctl arguments
      - use kmalloc instead of kzalloc because we use copy_from_user
        immediately after it
      Signed-off-by: NYair Shachar <yair.shachar@amd.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
      94484589
    • Y
      drm/amdkfd: Implement (un)register debugger IOCTLs · 037ed9a2
      Yair Shachar 提交于
      v2: rename get_dbgmgr_mutex to kfd_get_dbgmgr_mutex to namespace it
      Signed-off-by: NYair Shachar <yair.shachar@amd.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
      037ed9a2
    • Y
      drm/amdkfd: add H/W debugger IOCTL set definitions · aef11009
      Yair Shachar 提交于
      This patch adds four new IOCTLs to amdkfd. These IOCTLs expose a H/W
      debugger functionality to the userspace.
      
      The IOCTLs are:
      
      - AMDKFD_IOC_DBG_REGISTER:
      
      The purpose of this IOCTL is to notify amdkfd that a process wants to use
      GPU debugging facilities on itself only.
      It is expected that this IOCTL would be called before any other H/W
      debugger requests are sent to amdkfd and for each GPU where the H/W
      debugging needs to be enabled. The use of this IOCTL ensures that only
      one instance of a debugger is active in the system.
      
      - AMDKFD_IOC_DBG_UNREGISTER:
      
      This IOCTL detaches the debugger/debugged process from the H/W
      Debug which was established by the AMDKFD_IOC_DBG_REGISTER IOCTL.
      
      - AMDKFD_IOC_DBG_ADDRESS_WATCH:
      
      This IOCTL allows to set different watchpoints with various conditions as
      indicated by the IOCTL's arguments. The available number of watchpoints
      is retrieved from topology. This operation is confined to the current
      debugged process, which was registered through AMDKFD_IOC_DBG_REGISTER.
      
      - AMDKFD_IOC_DBG_WAVE_CONTROL:
      
      This IOCTL allows to control a wavefront as indicated by the IOCTL's
      arguments. For example, you can halt/resume or kill either a
      single wavefront or a set of wavefronts. This operation is confined to
      the current debugged process, which was registered through
      AMDKFD_IOC_DBG_REGISTER.
      
      Because the arguments for the address watch IOCTL and wave control IOCTL
      are dynamic, meaning that they could vary in size, the userspace passes a
      pointer to a structure (in userspace) that contains the value of the
      arguments. The kernel driver is responsible to parse this structure and
      validate its contents.
      
      v2: change void* to uint64_t inside ioctl arguments
      Signed-off-by: NYair Shachar <yair.shachar@amd.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
      aef11009
  23. 19 5月, 2015 2 次提交
    • A
      drm/amdkfd: Implement events IOCTLs · 8377396b
      Andrew Lewycky 提交于
      Signed-off-by: NAndrew Lewycky <Andrew.Lewycky@amd.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
      8377396b
    • A
      drm/amdkfd: Add the events module · f3a39818
      Andrew Lewycky 提交于
      This patch adds the events module (kfd_events.c) and the interrupt
      handle module for Kaveri (cik_event_interrupt.c).
      
      The patch updates the interrupt_is_wanted(), so that it now calls the
      interrupt isr function specific for the device that received the
      interrupt. That function(implemented in cik_event_interrupt.c)
      returns whether this interrupt is of interest to us or not.
      
      The patch also updates the interrupt_wq(), so that it now calls the
      device's specific wq function, which checks the interrupt source
      and tries to signal relevant events.
      
      v2:
      
      Increase limit of signal events to 4096 per process
      Remove bitfields from struct cik_ih_ring_entry
      Rename radeon_kfd_event_mmap to kfd_event_mmap
      Add debug prints to allocate_free_slot and allocate_signal_page
      Make allocate_event_notification_slot return a correct value
      Add warning prints to create_signal_event
      Remove error print from IOCTL path
      Reformatted debug prints in kfd_event_mmap
      Map correct size (as received from mmap) in kfd_event_mmap
      
      v3:
      
      Reduce limit of signal events back to 256 per process
      Fix allocation of kernel memory for signal events
      Signed-off-by: NAndrew Lewycky <Andrew.Lewycky@amd.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
      f3a39818