diff options
Diffstat (limited to 'drivers/gpu/drm/amd/include')
| -rw-r--r-- | drivers/gpu/drm/amd/include/amd_shared.h | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/include/atomfirmware.h | 7 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 115 | 
3 files changed, 9 insertions, 117 deletions
| diff --git a/drivers/gpu/drm/amd/include/amd_shared.h b/drivers/gpu/drm/amd/include/amd_shared.h index 2083c308007c..470d7b89071a 100644 --- a/drivers/gpu/drm/amd/include/amd_shared.h +++ b/drivers/gpu/drm/amd/include/amd_shared.h @@ -133,6 +133,10 @@ enum PP_FEATURE_MASK {  	PP_AVFS_MASK = 0x40000,  }; +enum DC_FEATURE_MASK { +	DC_FBC_MASK = 0x1, +}; +  /**   * struct amd_ip_funcs - general hooks for managing amdgpu IP Blocks   */ diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h index d2e7c0fa96c2..8eb0bb241210 100644 --- a/drivers/gpu/drm/amd/include/atomfirmware.h +++ b/drivers/gpu/drm/amd/include/atomfirmware.h @@ -1325,7 +1325,7 @@ struct atom_smu_info_v3_3 {    struct   atom_common_table_header  table_header;    uint8_t  smuip_min_ver;    uint8_t  smuip_max_ver; -  uint8_t  smu_rsd1; +  uint8_t  waflclk_ss_mode;    uint8_t  gpuclk_ss_mode;    uint16_t sclk_ss_percentage;    uint16_t sclk_ss_rate_10hz; @@ -1355,7 +1355,10 @@ struct atom_smu_info_v3_3 {    uint32_t syspll3_1_vco_freq_10khz;    uint32_t bootup_fclk_10khz;    uint32_t bootup_waflclk_10khz; -  uint32_t reserved[3]; +  uint32_t smu_info_caps; +  uint16_t waflclk_ss_percentage;    // in unit of 0.001% +  uint16_t smuinitoffset; +  uint32_t reserved;  };  /* diff --git a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h index 64ecffd52126..58ac0b90c310 100644 --- a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h +++ b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h @@ -205,20 +205,6 @@ struct tile_config {  /**   * struct kfd2kgd_calls   * - * @init_gtt_mem_allocation: Allocate a buffer on the gart aperture. - * The buffer can be used for mqds, hpds, kernel queue, fence and runlists - * - * @free_gtt_mem: Frees a buffer that was allocated on the gart aperture - * - * @get_local_mem_info: Retrieves information about GPU local memory - * - * @get_gpu_clock_counter: Retrieves GPU clock counter - * - * @get_max_engine_clock_in_mhz: Retrieves maximum GPU clock in MHz - * - * @alloc_pasid: Allocate a PASID - * @free_pasid: Free a PASID - *   * @program_sh_mem_settings: A function that should initiate the memory   * properties such as main aperture memory type (cache / non cached) and   * secondary aperture base address, size and memory type. @@ -255,64 +241,16 @@ struct tile_config {   *   * @get_tile_config: Returns GPU-specific tiling mode information   * - * @get_cu_info: Retrieves activated cu info - * - * @get_vram_usage: Returns current VRAM usage - * - * @create_process_vm: Create a VM address space for a given process and GPU - * - * @destroy_process_vm: Destroy a VM - * - * @get_process_page_dir: Get physical address of a VM page directory - *   * @set_vm_context_page_table_base: Program page table base for a VMID   * - * @alloc_memory_of_gpu: Allocate GPUVM memory - * - * @free_memory_of_gpu: Free GPUVM memory - * - * @map_memory_to_gpu: Map GPUVM memory into a specific VM address - * space. Allocates and updates page tables and page directories as - * needed. This function may return before all page table updates have - * completed. This allows multiple map operations (on multiple GPUs) - * to happen concurrently. Use sync_memory to synchronize with all - * pending updates. - * - * @unmap_memor_to_gpu: Unmap GPUVM memory from a specific VM address space - * - * @sync_memory: Wait for pending page table updates to complete - * - * @map_gtt_bo_to_kernel: Map a GTT BO for kernel access - * Pins the BO, maps it to kernel address space. Such BOs are never evicted. - * The kernel virtual address remains valid until the BO is freed. - * - * @restore_process_bos: Restore all BOs that belong to the - * process. This is intended for restoring memory mappings after a TTM - * eviction. - *   * @invalidate_tlbs: Invalidate TLBs for a specific PASID   *   * @invalidate_tlbs_vmid: Invalidate TLBs for a specific VMID   * - * @submit_ib: Submits an IB to the engine specified by inserting the - * IB to the corresponding ring (ring type). The IB is executed with the - * specified VMID in a user mode context. - * - * @get_vm_fault_info: Return information about a recent VM fault on - * GFXv7 and v8. If multiple VM faults occurred since the last call of - * this function, it will return information about the first of those - * faults. On GFXv9 VM fault information is fully contained in the IH - * packet and this function is not needed. - *   * @read_vmid_from_vmfault_reg: On Hawaii the VMID is not set in the   * IH ring entry. This function allows the KFD ISR to get the VMID   * from the fault status register as early as possible.   * - * @gpu_recover: let kgd reset gpu after kfd detect CPC hang - * - * @set_compute_idle: Indicates that compute is idle on a device. This - * can be used to change power profiles depending on compute activity. - *   * @get_hive_id: Returns hive id of current  device,  0 if xgmi is not enabled   *   * This structure contains function pointers to services that the kgd driver @@ -320,21 +258,6 @@ struct tile_config {   *   */  struct kfd2kgd_calls { -	int (*init_gtt_mem_allocation)(struct kgd_dev *kgd, size_t size, -					void **mem_obj, uint64_t *gpu_addr, -					void **cpu_ptr, bool mqd_gfx9); - -	void (*free_gtt_mem)(struct kgd_dev *kgd, void *mem_obj); - -	void (*get_local_mem_info)(struct kgd_dev *kgd, -			struct kfd_local_mem_info *mem_info); -	uint64_t (*get_gpu_clock_counter)(struct kgd_dev *kgd); - -	uint32_t (*get_max_engine_clock_in_mhz)(struct kgd_dev *kgd); - -	int (*alloc_pasid)(unsigned int bits); -	void (*free_pasid)(unsigned int pasid); -  	/* Register access functions */  	void (*program_sh_mem_settings)(struct kgd_dev *kgd, uint32_t vmid,  			uint32_t sh_mem_config,	uint32_t sh_mem_ape1_base, @@ -398,49 +321,11 @@ struct kfd2kgd_calls {  				uint64_t va, uint32_t vmid);  	int (*get_tile_config)(struct kgd_dev *kgd, struct tile_config *config); -	void (*get_cu_info)(struct kgd_dev *kgd, -			struct kfd_cu_info *cu_info); -	uint64_t (*get_vram_usage)(struct kgd_dev *kgd); - -	int (*create_process_vm)(struct kgd_dev *kgd, unsigned int pasid, void **vm, -			void **process_info, struct dma_fence **ef); -	int (*acquire_process_vm)(struct kgd_dev *kgd, struct file *filp, -			unsigned int pasid, void **vm, void **process_info, -			struct dma_fence **ef); -	void (*destroy_process_vm)(struct kgd_dev *kgd, void *vm); -	void (*release_process_vm)(struct kgd_dev *kgd, void *vm); -	uint64_t (*get_process_page_dir)(void *vm);  	void (*set_vm_context_page_table_base)(struct kgd_dev *kgd,  			uint32_t vmid, uint64_t page_table_base); -	int (*alloc_memory_of_gpu)(struct kgd_dev *kgd, uint64_t va, -			uint64_t size, void *vm, -			struct kgd_mem **mem, uint64_t *offset, -			uint32_t flags); -	int (*free_memory_of_gpu)(struct kgd_dev *kgd, struct kgd_mem *mem); -	int (*map_memory_to_gpu)(struct kgd_dev *kgd, struct kgd_mem *mem, -			void *vm); -	int (*unmap_memory_to_gpu)(struct kgd_dev *kgd, struct kgd_mem *mem, -			void *vm); -	int (*sync_memory)(struct kgd_dev *kgd, struct kgd_mem *mem, bool intr); -	int (*map_gtt_bo_to_kernel)(struct kgd_dev *kgd, struct kgd_mem *mem, -			void **kptr, uint64_t *size); -	int (*restore_process_bos)(void *process_info, struct dma_fence **ef); -  	int (*invalidate_tlbs)(struct kgd_dev *kgd, uint16_t pasid);  	int (*invalidate_tlbs_vmid)(struct kgd_dev *kgd, uint16_t vmid); - -	int (*submit_ib)(struct kgd_dev *kgd, enum kgd_engine_type engine, -			uint32_t vmid, uint64_t gpu_addr, -			uint32_t *ib_cmd, uint32_t ib_len); - -	int (*get_vm_fault_info)(struct kgd_dev *kgd, -			struct kfd_vm_fault_info *info);  	uint32_t (*read_vmid_from_vmfault_reg)(struct kgd_dev *kgd); - -	void (*gpu_recover)(struct kgd_dev *kgd); - -	void (*set_compute_idle)(struct kgd_dev *kgd, bool idle); -  	uint64_t (*get_hive_id)(struct kgd_dev *kgd);  }; | 
