Lines Matching refs:rdev

33 static int ci_set_smc_sram_address(struct radeon_device *rdev,  in ci_set_smc_sram_address()  argument
47 int ci_copy_bytes_to_smc(struct radeon_device *rdev, in ci_copy_bytes_to_smc() argument
64 spin_lock_irqsave(&rdev->smc_idx_lock, flags); in ci_copy_bytes_to_smc()
69 ret = ci_set_smc_sram_address(rdev, addr, limit); in ci_copy_bytes_to_smc()
84 ret = ci_set_smc_sram_address(rdev, addr, limit); in ci_copy_bytes_to_smc()
101 ret = ci_set_smc_sram_address(rdev, addr, limit); in ci_copy_bytes_to_smc()
109 spin_unlock_irqrestore(&rdev->smc_idx_lock, flags); in ci_copy_bytes_to_smc()
114 void ci_start_smc(struct radeon_device *rdev) in ci_start_smc() argument
122 void ci_reset_smc(struct radeon_device *rdev) in ci_reset_smc() argument
130 int ci_program_jump_on_start(struct radeon_device *rdev) in ci_program_jump_on_start() argument
134 return ci_copy_bytes_to_smc(rdev, 0x0, data, 4, sizeof(data)+1); in ci_program_jump_on_start()
137 void ci_stop_smc_clock(struct radeon_device *rdev) in ci_stop_smc_clock() argument
146 void ci_start_smc_clock(struct radeon_device *rdev) in ci_start_smc_clock() argument
155 bool ci_is_smc_running(struct radeon_device *rdev) in ci_is_smc_running() argument
166 PPSMC_Result ci_send_msg_to_smc(struct radeon_device *rdev, PPSMC_Msg msg) in ci_send_msg_to_smc() argument
171 if (!ci_is_smc_running(rdev)) in ci_send_msg_to_smc()
176 for (i = 0; i < rdev->usec_timeout; i++) { in ci_send_msg_to_smc()
188 PPSMC_Result ci_wait_for_smc_inactive(struct radeon_device *rdev)
193 if (!ci_is_smc_running(rdev))
196 for (i = 0; i < rdev->usec_timeout; i++) {
207 int ci_load_smc_ucode(struct radeon_device *rdev, u32 limit) in ci_load_smc_ucode() argument
215 if (!rdev->smc_fw) in ci_load_smc_ucode()
218 if (rdev->new_fw) { in ci_load_smc_ucode()
220 (const struct smc_firmware_header_v1_0 *)rdev->smc_fw->data; in ci_load_smc_ucode()
227 (rdev->smc_fw->data + le32_to_cpu(hdr->header.ucode_array_offset_bytes)); in ci_load_smc_ucode()
229 switch (rdev->family) { in ci_load_smc_ucode()
243 src = (const u8 *)rdev->smc_fw->data; in ci_load_smc_ucode()
249 spin_lock_irqsave(&rdev->smc_idx_lock, flags); in ci_load_smc_ucode()
262 spin_unlock_irqrestore(&rdev->smc_idx_lock, flags); in ci_load_smc_ucode()
267 int ci_read_smc_sram_dword(struct radeon_device *rdev, in ci_read_smc_sram_dword() argument
273 spin_lock_irqsave(&rdev->smc_idx_lock, flags); in ci_read_smc_sram_dword()
274 ret = ci_set_smc_sram_address(rdev, smc_address, limit); in ci_read_smc_sram_dword()
277 spin_unlock_irqrestore(&rdev->smc_idx_lock, flags); in ci_read_smc_sram_dword()
282 int ci_write_smc_sram_dword(struct radeon_device *rdev, in ci_write_smc_sram_dword() argument
288 spin_lock_irqsave(&rdev->smc_idx_lock, flags); in ci_write_smc_sram_dword()
289 ret = ci_set_smc_sram_address(rdev, smc_address, limit); in ci_write_smc_sram_dword()
292 spin_unlock_irqrestore(&rdev->smc_idx_lock, flags); in ci_write_smc_sram_dword()