1. 21 11月, 2018 1 次提交
  2. 15 7月, 2018 1 次提交
  3. 12 7月, 2018 2 次提交
  4. 16 3月, 2018 2 次提交
    • F
      drm/amdkfd: Add ioctls for GPUVM memory management · 5ec7e028
      Felix Kuehling 提交于
      v2:
      * Fix error handling after kfd_bind_process_to_device in
        kfd_ioctl_map_memory_to_gpu
      v3:
      * Add ioctl to acquire VM from a DRM FD
      v4:
      * Return number of successful map/unmap operations in failure cases
      * Facilitate partial retry after failed map/unmap
      * Added comments with parameter descriptions to new APIs
      * Defined AMDKFD_IOC_FREE_MEMORY_OF_GPU write-only
      Signed-off-by: NFelix Kuehling <Felix.Kuehling@amd.com>
      Acked-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
      5ec7e028
    • F
      drm/amdkfd: Remove limit on number of GPUs · c7bcbfa4
      Felix Kuehling 提交于
      Currently the number of GPUs is limited by aperture placement options
      available on GFX7 and GFX8 hardware. This limitation is not necessary.
      Scratch and LDS represent per-work-item and per-work-group storage
      respectively. Different work-items and work-groups use the same virtual
      address to access their own data. Work running on different GPUs is by
      definition in different work-groups (different dispatches, in fact).
      That means the same virtual addresses can be used for these apertures
      on different GPUs.
      
      Add a new AMDKFD_IOC_GET_PROCESS_APERTURES_NEW ioctl that removes the
      artificial limitation on the number of GPUs that can be supported. The
      new ioctl allows user mode to query the number of GPUs to allocate
      enough memory for all GPUs to be reported.
      
      This deprecates AMDKFD_IOC_GET_PROCESS_APERTURES.
      Signed-off-by: NFelix Kuehling <Felix.Kuehling@amd.com>
      Acked-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
      c7bcbfa4
  5. 07 2月, 2018 1 次提交
  6. 26 11月, 2017 1 次提交
    • D
      uapi: fix linux/kfd_ioctl.h userspace compilation errors · b4d08520
      Dmitry V. Levin 提交于
      Consistently use types provided by <linux/types.h> via <drm/drm.h>
      to fix the following linux/kfd_ioctl.h userspace compilation errors:
      
      /usr/include/linux/kfd_ioctl.h:236:2: error: unknown type name 'uint64_t'
        uint64_t va_addr; /* to KFD */
      /usr/include/linux/kfd_ioctl.h:237:2: error: unknown type name 'uint32_t'
        uint32_t gpu_id; /* to KFD */
      /usr/include/linux/kfd_ioctl.h:238:2: error: unknown type name 'uint32_t'
        uint32_t pad;
      /usr/include/linux/kfd_ioctl.h:243:2: error: unknown type name 'uint64_t'
        uint64_t tile_config_ptr;
      /usr/include/linux/kfd_ioctl.h:245:2: error: unknown type name 'uint64_t'
        uint64_t macro_tile_config_ptr;
      /usr/include/linux/kfd_ioctl.h:249:2: error: unknown type name 'uint32_t'
        uint32_t num_tile_configs;
      /usr/include/linux/kfd_ioctl.h:253:2: error: unknown type name 'uint32_t'
        uint32_t num_macro_tile_configs;
      /usr/include/linux/kfd_ioctl.h:255:2: error: unknown type name 'uint32_t'
        uint32_t gpu_id;  /* to KFD */
      /usr/include/linux/kfd_ioctl.h:256:2: error: unknown type name 'uint32_t'
        uint32_t gb_addr_config; /* from KFD */
      /usr/include/linux/kfd_ioctl.h:257:2: error: unknown type name 'uint32_t'
        uint32_t num_banks;  /* from KFD */
      /usr/include/linux/kfd_ioctl.h:258:2: error: unknown type name 'uint32_t'
        uint32_t num_ranks;  /* from KFD */
      
      Fixes: 6a1c9510 ("drm/amdkfd: Adding new IOCTL for scratch memory v2")
      Fixes: 5d71dbc3 ("drm/amdkfd: Implement image tiling mode support v2")
      Signed-off-by: NDmitry V. Levin <ldv@altlinux.org>
      Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
      b4d08520
  7. 15 11月, 2017 2 次提交
  8. 28 10月, 2017 1 次提交
  9. 16 8月, 2017 2 次提交
  10. 07 8月, 2017 1 次提交
  11. 03 6月, 2015 1 次提交
    • 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
  12. 19 5月, 2015 1 次提交
    • A
      drm/amdkfd: add events IOCTL set definitions · 29a5d3eb
      Andrew Lewycky 提交于
      - AMDKFD_IOC_CREATE_EVENT:
      	Creates a new event of a specified type
      
      - AMDKFD_IOC_DESTROY_EVENT:
      	Destroys an existing event
      
      - AMDKFD_IOC_SET_EVENT:
      	Signal an existing event
      
      - AMDKFD_IOC_RESET_EVENT:
      	Reset an existing event
      
      - AMDKFD_IOC_WAIT_EVENTS:
      	Wait on event(s) until they are signaled
      
      v2:
      
      - Move the limit of the signal events to kfd_ioctl.h so it
        can be used by userspace
      
      v3:
      - Change all bool fields in struct kfd_memory_exception_failure
      to uint32_t
      Signed-off-by: NAndrew Lewycky <Andrew.Lewycky@amd.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
      29a5d3eb
  13. 07 1月, 2015 1 次提交
  14. 16 7月, 2014 1 次提交
    • O
      amdkfd: Add IOCTL set definitions of amdkfd · b7facbae
      Oded Gabbay 提交于
      - KFD_IOC_GET_VERSION:
      	Retrieves the interface version of amdkfd
      
      - KFD_IOC_CREATE_QUEUE:
      	Creates a usermode queue that runs on a specific GPU device
      
      - KFD_IOC_DESTROY_QUEUE:
      	Destroys an existing usermode queue
      
      - KFD_IOC_SET_MEMORY_POLICY:
      	Sets the memory policy of the default and alternate aperture of the
              calling process
      
      - KFD_IOC_GET_CLOCK_COUNTERS:
      	Retrieves counters (timestamps) of CPU and GPU
      
      - KFD_IOC_GET_PROCESS_APERTURES:
      	Retrieves information about process apertures that were initialized
              during the open() call of the amdkfd device
      
      - KFD_IOC_UPDATE_QUEUE:
      	Updates configuration of an existing usermode queue
      
      v3: Remove pragma pack and pmc ioctls. Added parameter for doorbell offset and
      a comment on counters
      
      v5:
      
      Add define for AQL queues.
      Fix arguments of Get Version IOCTL
      Make IOCTL's structures to be the same size on 32/64 bit
      
      v6: Change the version of the amdkfd-thunk interface
      Signed-off-by: NOded Gabbay <oded.gabbay@amd.com>
      b7facbae