1. 02 Dec, 2014 1 commit
    • Ben Goz's avatar
      drm/amdkfd: Add initial VI support for KQ · 6898f0a5
      Ben Goz authored
      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: default avatarBen Goz <ben.goz@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@amd.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      6898f0a5
  2. 12 Jan, 2015 4 commits
    • Oded Gabbay's avatar
      drm/amdkfd: Encapsulate KQ functions in ops structure · 443fbd5f
      Oded Gabbay authored
      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: default avatarOded Gabbay <oded.gabbay@amd.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      443fbd5f
    • Ben Goz's avatar
      drm/amdkfd: Add initial VI support for DQM · a22fc854
      Ben Goz authored
      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: default avatarBen Goz <ben.goz@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@amd.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      a22fc854
    • Oded Gabbay's avatar
      drm/amdkfd: Encapsulate DQM functions in ops structure · 45c9a5e4
      Oded Gabbay authored
      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: default avatarOded Gabbay <oded.gabbay@amd.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      45c9a5e4
    • Oded Gabbay's avatar
      drm/amdkfd: Don't BUG on freeing GART sub-allocation · 9216ed29
      Oded Gabbay authored
      Instead of creating a BUG if trying to free a NULL GART sub-allocation object,
      just return 0 (success).
      
      This is done to mirror behavior of kfree.
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@amd.com>
      9216ed29
  3. 18 Aug, 2014 1 commit
  4. 05 Jan, 2015 1 commit
  5. 04 Jan, 2015 1 commit
    • Ben Goz's avatar
      drm/amdkfd: Change MQD manager to be H/W specific · 4b8f589b
      Ben Goz authored
      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: default avatarBen Goz <ben.goz@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@amd.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      4b8f589b
  6. 01 Jan, 2015 1 commit
    • Ben Goz's avatar
      drm/amdkfd: Add asic property to kfd_device_info · 0da7558c
      Ben Goz authored
      This patch adds a new property to kfd_device_info structure. That structure
      holds information that is H/W specific.
      
      The new property is called asic_family and its purpose is to distinguish
      between different asic families in amdkfd operations, mainly in QCM (queue
      control & management)
      
      This patch also adds a new enum, to select different ASICs. We set the current
      kfd_device_info instance as Kaveri and create a new instance which describes
      the new AMD APU, codenamed 'Carrizo'.
      Signed-off-by: default avatarBen Goz <ben.goz@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@amd.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      0da7558c
  7. 04 Jan, 2015 2 commits
  8. 02 Jan, 2015 4 commits
  9. 26 Oct, 2014 1 commit
  10. 02 Jan, 2015 1 commit
    • Ben Goz's avatar
      drm/radeon: Initialize compute vmid · 08dcc57f
      Ben Goz authored
      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: default avatarBen Goz <ben.goz@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@amd.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      08dcc57f
  11. 21 Jan, 2015 3 commits
    • Dave Airlie's avatar
      Merge tag 'imx-drm-next-2015-01-09' of git://git.pengutronix.de/git/pza/linux into drm-next · fc839753
      Dave Airlie authored
      imx-drm mode fixup support, imx-hdmi bridge conversion and imx-drm cleanup
      
      - Implement mode_fixup for a DI vertical timing limitation
      - Use generic DRM OF helpers in DRM core
      - Convert imx-hdmi to dw_hdmi drm_bridge and add rockchip
        driver
      - Add DC use counter to fix multi-display support
      - Simplify handling of DI clock flags
      - A few small fixes and cleanup
      
      * tag 'imx-drm-next-2015-01-09' of git://git.pengutronix.de/git/pza/linux: (26 commits)
        imx-drm: core: handling of DI clock flags to ipu_crtc_mode_set()
        gpu: ipu-di: Switch to DIV_ROUND_CLOSEST for DI clock divider calc
        gpu: ipu-v3: Use videomode in struct ipu_di_signal_cfg
        imx-drm: encoder prepare/mode_set must use adjusted mode
        imx-drm: ipuv3-crtc: Implement mode_fixup
        drm_modes: add drm_display_mode_to_videomode
        gpu: ipu-di: remove some non-functional code
        gpu: ipu-di: Add ipu_di_adjust_videomode()
        drm: rockchip: export functions needed by rockchip dw_hdmi bridge driver
        drm: bridge/dw_hdmi: request interrupt only after initializing the mutes
        drm: bridge/dw_hdmi: add rockchip rk3288 support
        dt-bindings: Add documentation for rockchip dw hdmi
        drm: bridge/dw_hdmi: add function dw_hdmi_phy_enable_spare
        drm: bridge/dw_hdmi: clear i2cmphy_stat0 reg in hdmi_phy_wait_i2c_done
        drm: bridge/dw_hdmi: add mode_valid support
        drm: bridge/dw_hdmi: add support for multi-byte register width access
        dt-bindings: add document for dw_hdmi
        drm: imx: imx-hdmi: move imx-hdmi to bridge/dw_hdmi
        drm: imx: imx-hdmi: split phy configuration to platform driver
        drm: imx: imx-hdmi: convert imx-hdmi to drm_bridge mode
        ...
      fc839753
    • Dave Airlie's avatar
      Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-next · b2eb0489
      Dave Airlie authored
      * 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev:
        drm: rcar-du: Implement support for interlaced modes
        drm: rcar-du: Clamp DPMS states to on and off
        drm: rcar-du: Enable hotplug detection on HDMI connector
        drm: rcar-du: Output HSYNC instead of CSYNC
        drm: rcar-du: Add support for external pixel clock
        drm: rcar-du: Refactor DEFR8 feature
        drm: rcar-du: Remove LVDS and HDMI encoders chaining restriction
        drm: rcar-du: Configure pitch for chroma plane of multiplanar formats
        drm: rcar-du: Don't fail probe in case of partial encoder init error
        drm: adv7511: Remove interlaced mode check
      b2eb0489
    • Dave Airlie's avatar
      Merge tag 'drm-amdkfd-next-2015-01-09' of git://people.freedesktop.org/~gabbayo/linux into drm-next · 4f4d89af
      Dave Airlie authored
      - Add support for SDMA usermode queues
      - Replace logic of sub-allocating from GART buffer in amdkfd. Instead
        of using radeon_sa module, use a new module that is more suited for
        this purpose
      - Add the number of watch points to amdkfd topology
      - Split a function that did two things into two seperate functions.
      
      * tag 'drm-amdkfd-next-2015-01-09' of git://people.freedesktop.org/~gabbayo/linux:
        drm/amd: Remove old radeon_sa funcs from kfd-->kgd interface
        drm/radeon: Remove old radeon_sa usage from kfd-->kgd interface
        drm/amdkfd: Using new gtt sa in amdkfd
        drm/amdkfd: Allocate gart memory using new interface
        drm/amdkfd: Fixed calculation of gart buffer size
        drm/amdkfd: Add kfd gtt sub-allocator functions
        drm/amdkfd: Add gtt sa related data to kfd_dev struct
        drm/radeon: Impl. new gtt allocate/free functions
        drm/amd: Add new kfd-->kgd interface for gart usage
        drm/radeon: Enable sdma preemption
        drm/amdkfd: Pass queue type to pqm_create_queue()
        drm/amdkfd: Identify SDMA queue in create queue ioctl
        drm/amdkfd: Add SDMA user-mode queues support to QCM
        drm/amdkfd: Add SDMA mqd support
        drm/radeon: Implement SDMA interface functions
        drm/amd: Add SDMA functions to kfd-->kgd interface
        drm/amdkfd: Process-device data creation and lookup split
        drm/amdkfd: Add number of watch points to topology
      4f4d89af
  12. 12 Jan, 2015 1 commit
  13. 09 Jan, 2015 19 commits