Lines Matching refs:rdev
277 static int rv770_set_smc_sram_address(struct radeon_device *rdev, in rv770_set_smc_sram_address() argument
295 int rv770_copy_bytes_to_smc(struct radeon_device *rdev, in rv770_copy_bytes_to_smc() argument
311 spin_lock_irqsave(&rdev->smc_idx_lock, flags); in rv770_copy_bytes_to_smc()
316 ret = rv770_set_smc_sram_address(rdev, addr, limit); in rv770_copy_bytes_to_smc()
331 ret = rv770_set_smc_sram_address(rdev, addr, limit); in rv770_copy_bytes_to_smc()
349 ret = rv770_set_smc_sram_address(rdev, addr, limit); in rv770_copy_bytes_to_smc()
357 spin_unlock_irqrestore(&rdev->smc_idx_lock, flags); in rv770_copy_bytes_to_smc()
362 static int rv770_program_interrupt_vectors(struct radeon_device *rdev, in rv770_program_interrupt_vectors() argument
392 void rv770_start_smc(struct radeon_device *rdev) in rv770_start_smc() argument
397 void rv770_reset_smc(struct radeon_device *rdev) in rv770_reset_smc() argument
402 void rv770_stop_smc_clock(struct radeon_device *rdev) in rv770_stop_smc_clock() argument
407 void rv770_start_smc_clock(struct radeon_device *rdev) in rv770_start_smc_clock() argument
412 bool rv770_is_smc_running(struct radeon_device *rdev) in rv770_is_smc_running() argument
424 PPSMC_Result rv770_send_msg_to_smc(struct radeon_device *rdev, PPSMC_Msg msg) in rv770_send_msg_to_smc() argument
430 if (!rv770_is_smc_running(rdev)) in rv770_send_msg_to_smc()
435 for (i = 0; i < rdev->usec_timeout; i++) { in rv770_send_msg_to_smc()
450 PPSMC_Result rv770_wait_for_smc_inactive(struct radeon_device *rdev) in rv770_wait_for_smc_inactive() argument
455 if (!rv770_is_smc_running(rdev)) in rv770_wait_for_smc_inactive()
458 for (i = 0; i < rdev->usec_timeout; i++) { in rv770_wait_for_smc_inactive()
467 static void rv770_clear_smc_sram(struct radeon_device *rdev, u16 limit) in rv770_clear_smc_sram() argument
472 spin_lock_irqsave(&rdev->smc_idx_lock, flags); in rv770_clear_smc_sram()
474 rv770_set_smc_sram_address(rdev, i, limit); in rv770_clear_smc_sram()
477 spin_unlock_irqrestore(&rdev->smc_idx_lock, flags); in rv770_clear_smc_sram()
480 int rv770_load_smc_ucode(struct radeon_device *rdev, in rv770_load_smc_ucode() argument
491 if (!rdev->smc_fw) in rv770_load_smc_ucode()
494 rv770_clear_smc_sram(rdev, limit); in rv770_load_smc_ucode()
496 switch (rdev->family) { in rv770_load_smc_ucode()
588 ucode_data = (const u8 *)rdev->smc_fw->data; in rv770_load_smc_ucode()
589 ret = rv770_copy_bytes_to_smc(rdev, ucode_start_address, in rv770_load_smc_ucode()
595 ret = rv770_program_interrupt_vectors(rdev, int_vect_start_address, in rv770_load_smc_ucode()
603 int rv770_read_smc_sram_dword(struct radeon_device *rdev, in rv770_read_smc_sram_dword() argument
609 spin_lock_irqsave(&rdev->smc_idx_lock, flags); in rv770_read_smc_sram_dword()
610 ret = rv770_set_smc_sram_address(rdev, smc_address, limit); in rv770_read_smc_sram_dword()
613 spin_unlock_irqrestore(&rdev->smc_idx_lock, flags); in rv770_read_smc_sram_dword()
618 int rv770_write_smc_sram_dword(struct radeon_device *rdev, in rv770_write_smc_sram_dword() argument
624 spin_lock_irqsave(&rdev->smc_idx_lock, flags); in rv770_write_smc_sram_dword()
625 ret = rv770_set_smc_sram_address(rdev, smc_address, limit); in rv770_write_smc_sram_dword()
628 spin_unlock_irqrestore(&rdev->smc_idx_lock, flags); in rv770_write_smc_sram_dword()