1. 15 1月, 2015 3 次提交
  2. 13 1月, 2015 1 次提交
    • B
      drm/amdkfd: Fix for-loop when allocating HQD (non-HWS) · f0ec5b99
      Ben Goz 提交于
      This patch fixes a minor bug in allocate_hqd(), where the loop run from the
      next-to-allocate pipe until the number of pipes.
      
      This is wrong because we need to consider the possibility where
      next-to-allocate pipe is not 0, and thus, the for-loop only checks part of the
      pipes and doesn't wrap-around, as it supposed to do.
      
      Therefore, we add another counting variable to make sure we go over all the
      pipes, regardless of where we start to look at the first iteration of the loop.
      
      This bug only affected non-HWS mode. In HWS mode, the CP fw is responsible for
      allocating the HQD.
      Signed-off-by: NBen Goz <ben.goz@amd.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@amd.com>
      Acked-by: NAlex Deucher <alexander.deucher@amd.com>
      f0ec5b99
  3. 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
  4. 12 1月, 2015 3 次提交
    • O
      drm/amdkfd: Encapsulate KQ functions in ops structure · 443fbd5f
      Oded Gabbay 提交于
      This patch does some re-org on the kernel_queue structure. It takes out
      all the function pointers from the structure and puts them in a new structure,
      called kernel_queue_ops. Then, it puts an instance of that structure
      inside kernel_queue.
      
      This re-org is done to prepare the KQ module to support more than one AMD APU
      (Kaveri).
      Signed-off-by: NOded Gabbay <oded.gabbay@amd.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      443fbd5f
    • B
      drm/amdkfd: Add initial VI support for DQM · a22fc854
      Ben Goz 提交于
      This patch starts to add support for the VI APU in the DQM module.
      
      Because most (more than 90%) of the DQM code is shared among AMD's APUs, we
      chose a design that performs most/all the code in the shared DQM file
      (kfd_device_queue_manager.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>
      a22fc854
    • O
      drm/amdkfd: Encapsulate DQM functions in ops structure · 45c9a5e4
      Oded Gabbay 提交于
      This patch does some re-org on the device_queue_manager structure. It takes out
      all the function pointers from the structure and puts them in a new structure,
      called device_queue_manager_ops. Then, it puts an instance of that structure
      inside device_queue_manager.
      
      This re-org is done to prepare the DQM module to support more than one AMD APU
      (Kaveri).
      Signed-off-by: NOded Gabbay <oded.gabbay@amd.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      45c9a5e4
  5. 13 1月, 2015 1 次提交
  6. 18 8月, 2014 1 次提交
  7. 04 1月, 2015 1 次提交
    • B
      drm/amdkfd: Change MQD manager to be H/W specific · 4b8f589b
      Ben Goz 提交于
      The MQDs for CI and VI are different. Therefore, the MQD manager module need to
      be H/W specific.
      
      This patch splits the current MQD manager into three files:
      
      - kfd_mqd_manager.c, which contains common functions and initializes the
        specific mqd manager module according to the H/W
      
      - kfd_mqd_manager_cik.c, which contains Kaveri specific functions. This is
        basically the old kfd_mqd_manager.c
      
      - kfd_mqd_manager_vi.c, which will contain VI specific functions. Currently it
        is not implemented except for returning NULL on initialization.
      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>
      4b8f589b
  8. 01 1月, 2015 1 次提交
  9. 04 1月, 2015 2 次提交
  10. 03 1月, 2015 4 次提交
  11. 27 10月, 2014 1 次提交
  12. 03 1月, 2015 1 次提交
    • B
      drm/radeon: Initialize compute vmid · 08dcc57f
      Ben Goz 提交于
      This patch moves to radeon the initialization of compute vmid.
      
      That initializations was done in kfd-->kgd interface, but doing it in radeon
      as part of radeon's H/W initialization routines is more appropriate.
      
      In addition, this simplifies the kfd-->kgd interface.
      
      The patch removes the function from the interface file and from the interface
      declaration file.
      
      The function initializes memory apertures to fixed base/limit address and non
      cached memory types.
      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>
      08dcc57f
  13. 13 1月, 2015 1 次提交
  14. 10 1月, 2015 18 次提交
  15. 08 1月, 2015 1 次提交
    • R
      imx-drm: core: handling of DI clock flags to ipu_crtc_mode_set() · d50141d8
      Russell King 提交于
      We do not need to track the state of the IPU DI's clock flags by having
      each display bridge calling back into imx-drm-core, and then back out
      into ipuv3-crtc.c.
      
      ipuv3-crtc can instead just scan the list of encoders to retrieve their
      type, and build up a picture of which types of encoders are attached.
      We can then use this information to configure the IPU DI clocking mode
      without any uncertainty - if we have multiple bridges connected to the
      same DI, if one of them requires a synchronous DI clock, that's what we
      must use.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de>
      d50141d8
反馈
建议
客服 返回
顶部