diff options
Diffstat (limited to 'drivers/gpu/drm/amd/include')
9 files changed, 60 insertions, 50 deletions
| diff --git a/drivers/gpu/drm/amd/include/amd_shared.h b/drivers/gpu/drm/amd/include/amd_shared.h index 4b9e68a79f06..f57a1478f0fe 100644 --- a/drivers/gpu/drm/amd/include/amd_shared.h +++ b/drivers/gpu/drm/amd/include/amd_shared.h @@ -231,6 +231,8 @@ enum DC_FEATURE_MASK {  	DC_DISABLE_FRACTIONAL_PWM_MASK = (1 << 2), //0x4, disabled by default  	DC_PSR_MASK = (1 << 3), //0x8, disabled by default for dcn < 3.1  	DC_EDP_NO_POWER_SEQUENCING = (1 << 4), //0x10, disabled by default +	DC_DISABLE_LTTPR_DP1_4A = (1 << 5), //0x20, disabled by default +	DC_DISABLE_LTTPR_DP2_0 = (1 << 6), //0x40, disabled by default  };  enum DC_DEBUG_MASK { diff --git a/drivers/gpu/drm/amd/include/asic_reg/mp/mp_11_0_offset.h b/drivers/gpu/drm/amd/include/asic_reg/mp/mp_11_0_offset.h index 6d0052ce6bed..da6d380c948b 100644 --- a/drivers/gpu/drm/amd/include/asic_reg/mp/mp_11_0_offset.h +++ b/drivers/gpu/drm/amd/include/asic_reg/mp/mp_11_0_offset.h @@ -354,5 +354,12 @@  #define mmMP1_SMN_EXT_SCRATCH7                                                                         0x03c7  #define mmMP1_SMN_EXT_SCRATCH7_BASE_IDX                                                                0 +/* + * addressBlock: mp_SmuMp1Pub_MmuDec + * base address: 0x0 + */ +#define smnMP1_PMI_3_START                                                                              0x3030204 +#define smnMP1_PMI_3_FIFO                                                                               0x3030208 +#define smnMP1_PMI_3                                                                                    0x3030600  #endif diff --git a/drivers/gpu/drm/amd/include/asic_reg/mp/mp_11_0_sh_mask.h b/drivers/gpu/drm/amd/include/asic_reg/mp/mp_11_0_sh_mask.h index 136fb5de6a4c..a5ae2a801254 100644 --- a/drivers/gpu/drm/amd/include/asic_reg/mp/mp_11_0_sh_mask.h +++ b/drivers/gpu/drm/amd/include/asic_reg/mp/mp_11_0_sh_mask.h @@ -959,5 +959,17 @@  #define MP1_SMN_EXT_SCRATCH7__DATA__SHIFT                                                                     0x0  #define MP1_SMN_EXT_SCRATCH7__DATA_MASK                                                                       0xFFFFFFFFL +// MP1_PMI_3_START +#define MP1_PMI_3_START__ENABLE_MASK                       0x80000000L +// MP1_PMI_3_FIFO +#define MP1_PMI_3_FIFO__DEPTH_MASK                         0x00000fffL + +// MP1_PMI_3_START +#define MP1_PMI_3_START__ENABLE__SHIFT                     0x0000001f +// MP1_PMI_3_FIFO +#define MP1_PMI_3_FIFO__DEPTH__SHIFT                       0x00000000 + + +  #endif diff --git a/drivers/gpu/drm/amd/include/asic_reg/nbio/nbio_7_2_0_offset.h b/drivers/gpu/drm/amd/include/asic_reg/nbio/nbio_7_2_0_offset.h index 79eae0256dbd..8072b0a6376d 100644 --- a/drivers/gpu/drm/amd/include/asic_reg/nbio/nbio_7_2_0_offset.h +++ b/drivers/gpu/drm/amd/include/asic_reg/nbio/nbio_7_2_0_offset.h @@ -20753,8 +20753,6 @@  // addressBlock: nbio_nbif0_gdc_GDCDEC  // base address: 0xd0000000 -#define regGDC1_LOGAN_FAST_WRITE_RESPONSE_CNTL                                                          0x2ffc0eda -#define regGDC1_LOGAN_FAST_WRITE_RESPONSE_CNTL_BASE_IDX                                                 5  #define regGDC1_NGDC_SDP_PORT_CTRL                                                                      0x2ffc0ee2  #define regGDC1_NGDC_SDP_PORT_CTRL_BASE_IDX                                                             5  #define regGDC1_SHUB_REGS_IF_CTL                                                                        0x2ffc0ee3 diff --git a/drivers/gpu/drm/amd/include/asic_reg/nbio/nbio_7_2_0_sh_mask.h b/drivers/gpu/drm/amd/include/asic_reg/nbio/nbio_7_2_0_sh_mask.h index e27fdc0c643c..54b0e4623971 100644 --- a/drivers/gpu/drm/amd/include/asic_reg/nbio/nbio_7_2_0_sh_mask.h +++ b/drivers/gpu/drm/amd/include/asic_reg/nbio/nbio_7_2_0_sh_mask.h @@ -1,4 +1,3 @@ -  /*   * Copyright (C) 2020  Advanced Micro Devices, Inc.   * @@ -108541,17 +108540,6 @@  // addressBlock: nbio_nbif0_gdc_GDCDEC -//GDC1_LOGAN_FAST_WRITE_RESPONSE_CNTL -#define GDC1_LOGAN_FAST_WRITE_RESPONSE_CNTL__LOGAN0_FAST_WRITE_RESPONSE_EN__SHIFT                             0x0 -#define GDC1_LOGAN_FAST_WRITE_RESPONSE_CNTL__LOGAN1_FAST_WRITE_RESPONSE_EN__SHIFT                             0x1 -#define GDC1_LOGAN_FAST_WRITE_RESPONSE_CNTL__LOGAN2_FAST_WRITE_RESPONSE_EN__SHIFT                             0x2 -#define GDC1_LOGAN_FAST_WRITE_RESPONSE_CNTL__LOGAN3_FAST_WRITE_RESPONSE_EN__SHIFT                             0x3 -#define GDC1_LOGAN_FAST_WRITE_RESPONSE_CNTL__FWR_NORMAL_ARB_MODE__SHIFT                                       0x10 -#define GDC1_LOGAN_FAST_WRITE_RESPONSE_CNTL__LOGAN0_FAST_WRITE_RESPONSE_EN_MASK                               0x00000001L -#define GDC1_LOGAN_FAST_WRITE_RESPONSE_CNTL__LOGAN1_FAST_WRITE_RESPONSE_EN_MASK                               0x00000002L -#define GDC1_LOGAN_FAST_WRITE_RESPONSE_CNTL__LOGAN2_FAST_WRITE_RESPONSE_EN_MASK                               0x00000004L -#define GDC1_LOGAN_FAST_WRITE_RESPONSE_CNTL__LOGAN3_FAST_WRITE_RESPONSE_EN_MASK                               0x00000008L -#define GDC1_LOGAN_FAST_WRITE_RESPONSE_CNTL__FWR_NORMAL_ARB_MODE_MASK                                         0x00010000L  //GDC1_NGDC_SDP_PORT_CTRL  #define GDC1_NGDC_SDP_PORT_CTRL__SDP_DISCON_HYSTERESIS__SHIFT                                                 0x0  #define GDC1_NGDC_SDP_PORT_CTRL__NGDC_OBFF_HW_URGENT_EARLY_WAKEUP_EN__SHIFT                                   0xf diff --git a/drivers/gpu/drm/amd/include/cyan_skillfish_ip_offset.h b/drivers/gpu/drm/amd/include/cyan_skillfish_ip_offset.h index 9cb5f3631c60..ce79e5de8ce3 100644 --- a/drivers/gpu/drm/amd/include/cyan_skillfish_ip_offset.h +++ b/drivers/gpu/drm/amd/include/cyan_skillfish_ip_offset.h @@ -25,15 +25,15 @@  #define MAX_SEGMENT                                        5 -struct IP_BASE_INSTANCE  +struct IP_BASE_INSTANCE  {      unsigned int segment[MAX_SEGMENT]; -}; -  -struct IP_BASE  +} __maybe_unused; + +struct IP_BASE  {      struct IP_BASE_INSTANCE instance[MAX_INSTANCE]; -}; +} __maybe_unused;  static const struct IP_BASE ATHUB_BASE            ={ { { { 0x00000C00, 0, 0, 0, 0 } }, diff --git a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h index c84bd7b2cf59..ac941f62cbed 100644 --- a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h +++ b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h @@ -33,12 +33,11 @@  #include <linux/dma-fence.h>  struct pci_dev; +struct amdgpu_device;  #define KGD_MAX_QUEUES 128  struct kfd_dev; -struct kgd_dev; -  struct kgd_mem;  enum kfd_preempt_type { @@ -228,61 +227,61 @@ struct tile_config {   */  struct kfd2kgd_calls {  	/* Register access functions */ -	void (*program_sh_mem_settings)(struct kgd_dev *kgd, uint32_t vmid, +	void (*program_sh_mem_settings)(struct amdgpu_device *adev, uint32_t vmid,  			uint32_t sh_mem_config,	uint32_t sh_mem_ape1_base,  			uint32_t sh_mem_ape1_limit, uint32_t sh_mem_bases); -	int (*set_pasid_vmid_mapping)(struct kgd_dev *kgd, u32 pasid, +	int (*set_pasid_vmid_mapping)(struct amdgpu_device *adev, u32 pasid,  					unsigned int vmid); -	int (*init_interrupts)(struct kgd_dev *kgd, uint32_t pipe_id); +	int (*init_interrupts)(struct amdgpu_device *adev, uint32_t pipe_id); -	int (*hqd_load)(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id, +	int (*hqd_load)(struct amdgpu_device *adev, void *mqd, uint32_t pipe_id,  			uint32_t queue_id, uint32_t __user *wptr,  			uint32_t wptr_shift, uint32_t wptr_mask,  			struct mm_struct *mm); -	int (*hiq_mqd_load)(struct kgd_dev *kgd, void *mqd, +	int (*hiq_mqd_load)(struct amdgpu_device *adev, void *mqd,  			    uint32_t pipe_id, uint32_t queue_id,  			    uint32_t doorbell_off); -	int (*hqd_sdma_load)(struct kgd_dev *kgd, void *mqd, +	int (*hqd_sdma_load)(struct amdgpu_device *adev, void *mqd,  			     uint32_t __user *wptr, struct mm_struct *mm); -	int (*hqd_dump)(struct kgd_dev *kgd, +	int (*hqd_dump)(struct amdgpu_device *adev,  			uint32_t pipe_id, uint32_t queue_id,  			uint32_t (**dump)[2], uint32_t *n_regs); -	int (*hqd_sdma_dump)(struct kgd_dev *kgd, +	int (*hqd_sdma_dump)(struct amdgpu_device *adev,  			     uint32_t engine_id, uint32_t queue_id,  			     uint32_t (**dump)[2], uint32_t *n_regs); -	bool (*hqd_is_occupied)(struct kgd_dev *kgd, uint64_t queue_address, -				uint32_t pipe_id, uint32_t queue_id); - -	int (*hqd_destroy)(struct kgd_dev *kgd, void *mqd, uint32_t reset_type, -				unsigned int timeout, uint32_t pipe_id, +	bool (*hqd_is_occupied)(struct amdgpu_device *adev, +				uint64_t queue_address, uint32_t pipe_id,  				uint32_t queue_id); -	bool (*hqd_sdma_is_occupied)(struct kgd_dev *kgd, void *mqd); +	int (*hqd_destroy)(struct amdgpu_device *adev, void *mqd, +				uint32_t reset_type, unsigned int timeout, +				uint32_t pipe_id, uint32_t queue_id); + +	bool (*hqd_sdma_is_occupied)(struct amdgpu_device *adev, void *mqd); -	int (*hqd_sdma_destroy)(struct kgd_dev *kgd, void *mqd, +	int (*hqd_sdma_destroy)(struct amdgpu_device *adev, void *mqd,  				unsigned int timeout); -	int (*address_watch_disable)(struct kgd_dev *kgd); -	int (*address_watch_execute)(struct kgd_dev *kgd, +	int (*address_watch_disable)(struct amdgpu_device *adev); +	int (*address_watch_execute)(struct amdgpu_device *adev,  					unsigned int watch_point_id,  					uint32_t cntl_val,  					uint32_t addr_hi,  					uint32_t addr_lo); -	int (*wave_control_execute)(struct kgd_dev *kgd, +	int (*wave_control_execute)(struct amdgpu_device *adev,  					uint32_t gfx_index_val,  					uint32_t sq_cmd); -	uint32_t (*address_watch_get_offset)(struct kgd_dev *kgd, +	uint32_t (*address_watch_get_offset)(struct amdgpu_device *adev,  					unsigned int watch_point_id,  					unsigned int reg_offset); -	bool (*get_atc_vmid_pasid_mapping_info)( -					struct kgd_dev *kgd, +	bool (*get_atc_vmid_pasid_mapping_info)(struct amdgpu_device *adev,  					uint8_t vmid,  					uint16_t *p_pasid); @@ -290,16 +289,16 @@ struct kfd2kgd_calls {  	 * passed to the shader by the CP. It's the user mode driver's  	 * responsibility.  	 */ -	void (*set_scratch_backing_va)(struct kgd_dev *kgd, +	void (*set_scratch_backing_va)(struct amdgpu_device *adev,  				uint64_t va, uint32_t vmid); -	void (*set_vm_context_page_table_base)(struct kgd_dev *kgd, +	void (*set_vm_context_page_table_base)(struct amdgpu_device *adev,  			uint32_t vmid, uint64_t page_table_base); -	uint32_t (*read_vmid_from_vmfault_reg)(struct kgd_dev *kgd); +	uint32_t (*read_vmid_from_vmfault_reg)(struct amdgpu_device *adev); -	void (*get_cu_occupancy)(struct kgd_dev *kgd, int pasid, int *wave_cnt, -			int *max_waves_per_cu); -	void (*program_trap_handler_settings)(struct kgd_dev *kgd, +	void (*get_cu_occupancy)(struct amdgpu_device *adev, int pasid, +			int *wave_cnt, int *max_waves_per_cu); +	void (*program_trap_handler_settings)(struct amdgpu_device *adev,  			uint32_t vmid, uint64_t tba_addr, uint64_t tma_addr);  }; diff --git a/drivers/gpu/drm/amd/include/kgd_pp_interface.h b/drivers/gpu/drm/amd/include/kgd_pp_interface.h index bac15c466733..5c0867ebcfce 100644 --- a/drivers/gpu/drm/amd/include/kgd_pp_interface.h +++ b/drivers/gpu/drm/amd/include/kgd_pp_interface.h @@ -153,6 +153,10 @@ enum PP_SMC_POWER_PROFILE {  	PP_SMC_POWER_PROFILE_COUNT,  }; +extern const char * const amdgpu_pp_profile_name[PP_SMC_POWER_PROFILE_COUNT]; + + +  enum {  	PP_GROUP_UNKNOWN = 0,  	PP_GROUP_GFX = 1, diff --git a/drivers/gpu/drm/amd/include/yellow_carp_offset.h b/drivers/gpu/drm/amd/include/yellow_carp_offset.h index 76b9eb3f441d..28a56b56bcaf 100644 --- a/drivers/gpu/drm/amd/include/yellow_carp_offset.h +++ b/drivers/gpu/drm/amd/include/yellow_carp_offset.h @@ -9,12 +9,12 @@  struct IP_BASE_INSTANCE  {      unsigned int segment[MAX_SEGMENT]; -}; +} __maybe_unused;  struct IP_BASE  {      struct IP_BASE_INSTANCE instance[MAX_INSTANCE]; -}; +} __maybe_unused;  static const struct IP_BASE ACP_BASE = { { { { 0x02403800, 0x00480000, 0, 0, 0, 0 } }, |