1. 22 1月, 2015 1 次提交
  2. 15 1月, 2015 1 次提交
    • O
      drm/amdkfd: Remove sync_with_hw() from amdkfd · 939f4a20
      Oded Gabbay 提交于
      This patch completely removes the sync_with_hw() because it was broken and
      actually there is no point of using it.
      
      This function was used to:
      
      - Make sure that the submitted packet to the HIQ (which is a kernel queue) was
        read by the CP. However, it was discovered that the method this function used
        to do that (checking wptr == rptr) is not consistent with how the actual CP
        firmware works in all cases.
      
      - Make sure that the queue is empty before issuing the next packet. To achieve
        that, the function blocked amdkfd from continuing until the recently
        submitted packet was consumed. However, the acquire_packet_buffer() already
        checks if there is enough room for a new packet so calling sync_with_hw() is
        redundant.
      Signed-off-by: NOded Gabbay <oded.gabbay@amd.com>
      Acked-by: NAlex Deucher <alexander.deucher@amd.com>
      939f4a20
  3. 10 1月, 2015 1 次提交
  4. 04 12月, 2014 1 次提交
  5. 02 12月, 2014 1 次提交
    • B
      drm/amdkfd: Add initial VI support for KQ · 6898f0a5
      Ben Goz 提交于
      This patch starts to add support for the VI APU in the KQ (kernel queue)
      module.
      
      Because most (more than 90%) of the KQ code is shared among AMD's APUs, we
      chose a design that performs most/all the code in the shared KQ file
      (kfd_kernel_queue.c). If there is H/W specific code to be executed,
      than it is written in an asic-specific extension function for that H/W.
      
      That asic-specific extension function is called from the shared function at the
      appropriate time. This requires that for every asic-specific extension function
      that is implemented in a specific ASIC, there will be an equivalent
      implementation in ALL ASICs, even if those implementations are just stubs.
      
      That way we achieve:
      
      - Maintainability: by having one copy of most of the code, we only need to
        fix bugs at one locations
      
      - Readability: very clear what is the shared code and what is done per ASIC
      
      - Extensibility: very easy to add new H/W specific files/functions
      Signed-off-by: NBen Goz <ben.goz@amd.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@amd.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      6898f0a5
  6. 12 1月, 2015 2 次提交
  7. 17 11月, 2014 1 次提交
    • O
      amdkfd: use schedule() in sync_with_hw · 9a5634a7
      Oded Gabbay 提交于
      amdkfd uses cpu_relax() in its sync_with_hw() function. Because cpu_relax() is
      defined as 'REP; NOP' on x86_64, it will block the CPU from servicing
      IOMMU PPR requests.
      
      This may cause a deadlock, because sync_with_hw() won't be completed
      until the PPR request has been served.
      
      Therefore, we need to use schedule() instead of cpu_relax() as it is the
      minimum requirement to allow other threads to execute.
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@amd.com>
      9a5634a7
  8. 20 11月, 2014 2 次提交
  9. 04 1月, 2015 1 次提交
  10. 17 7月, 2014 1 次提交
    • B
      amdkfd: Add kernel queue module · ed6e6a34
      Ben Goz 提交于
      The kernel queue module enables the amdkfd to establish kernel queues, not
      exposed to user space.
      
      The kernel queues are used for HIQ (HSA Interface Queue) and DIQ (Debug
      Interface Queue) operations
      
      v3: Removed use of internal typedefs and added use of the new gart allocation
      functions
      
      v4: Fixed a miscalculation in kernel queue wrapping
      
      v5:
      
      Move amdkfd from drm/radeon/ to drm/amd/
      Change format of mqd structure to match latest KV firmware
      Add support for AQL queues creation to enable working with open-source HSA
      runtime
      Add define for kernel queue size
      Various fixes
      Signed-off-by: NBen Goz <ben.goz@amd.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@amd.com>
      ed6e6a34