Merge branch 'drm-next-4.15' of git://people.freedesktop.org/~agd5f/linux into drm-next
More new stuff for 4.15. Highlights: - Add clock query interface for raven - Add new FENCE_TO_HANDLE ioctl - UVD video encode ring support on polaris - transparent huge page DMA support - deadlock fixes - compute pipe lru tweaks - powerplay cleanups and regression fixes - fix duplicate symbol issue with radeon and amdgpu - misc bug fixes * 'drm-next-4.15' of git://people.freedesktop.org/~agd5f/linux: (72 commits) drm/radeon/dp: make radeon_dp_get_dp_link_config static drm/radeon: move ci_send_msg_to_smc to where it's used drm/amd/sched: fix deadlock caused by unsignaled fences of deleted jobs drm/amd/sched: NULL out the s_fence field after run_job drm/amd/sched: move adding finish callback to amd_sched_job_begin drm/amd/sched: fix an outdated comment drm/amd/sched: rename amd_sched_entity_pop_job drm/amdgpu: minor coding style fix drm/ttm: add transparent huge page support for DMA allocations v2 drm/ttm: add support for different pool sizes drm/ttm: remove unsued options from ttm_mem_global_alloc_page drm/amdgpu: add uvd enc irq drm/amdgpu: add uvd enc ib test drm/amdgpu: add uvd enc ring test drm/amdgpu: add uvd enc vm functions (v2) drm/amdgpu: add uvd enc into run queue drm/amdgpu: add uvd enc rings drm/amdgpu: add new uvd enc ring methods drm/amdgpu: add uvd enc command in header drm/amdgpu: add uvd enc registers in header ...
This commit is contained in:
@@ -304,10 +304,10 @@ static int convert_bpc_to_bpp(int bpc)
|
||||
|
||||
/***** radeon specific DP functions *****/
|
||||
|
||||
int radeon_dp_get_dp_link_config(struct drm_connector *connector,
|
||||
const u8 dpcd[DP_DPCD_SIZE],
|
||||
unsigned pix_clock,
|
||||
unsigned *dp_lanes, unsigned *dp_rate)
|
||||
static int radeon_dp_get_dp_link_config(struct drm_connector *connector,
|
||||
const u8 dpcd[DP_DPCD_SIZE],
|
||||
unsigned pix_clock,
|
||||
unsigned *dp_lanes, unsigned *dp_rate)
|
||||
{
|
||||
int bpp = convert_bpc_to_bpp(radeon_get_monitor_bpc(connector));
|
||||
static const unsigned link_rates[3] = { 162000, 270000, 540000 };
|
||||
|
@@ -184,6 +184,7 @@ static int ci_set_overdrive_target_tdp(struct radeon_device *rdev,
|
||||
u32 target_tdp);
|
||||
static int ci_update_uvd_dpm(struct radeon_device *rdev, bool gate);
|
||||
|
||||
static PPSMC_Result ci_send_msg_to_smc(struct radeon_device *rdev, PPSMC_Msg msg);
|
||||
static PPSMC_Result ci_send_msg_to_smc_with_parameter(struct radeon_device *rdev,
|
||||
PPSMC_Msg msg, u32 parameter);
|
||||
|
||||
@@ -1651,6 +1652,27 @@ static int ci_notify_hw_of_power_source(struct radeon_device *rdev,
|
||||
}
|
||||
#endif
|
||||
|
||||
static PPSMC_Result ci_send_msg_to_smc(struct radeon_device *rdev, PPSMC_Msg msg)
|
||||
{
|
||||
u32 tmp;
|
||||
int i;
|
||||
|
||||
if (!ci_is_smc_running(rdev))
|
||||
return PPSMC_Result_Failed;
|
||||
|
||||
WREG32(SMC_MESSAGE_0, msg);
|
||||
|
||||
for (i = 0; i < rdev->usec_timeout; i++) {
|
||||
tmp = RREG32(SMC_RESP_0);
|
||||
if (tmp != 0)
|
||||
break;
|
||||
udelay(1);
|
||||
}
|
||||
tmp = RREG32(SMC_RESP_0);
|
||||
|
||||
return (PPSMC_Result)tmp;
|
||||
}
|
||||
|
||||
static PPSMC_Result ci_send_msg_to_smc_with_parameter(struct radeon_device *rdev,
|
||||
PPSMC_Msg msg, u32 parameter)
|
||||
{
|
||||
|
@@ -330,7 +330,6 @@ int ci_program_jump_on_start(struct radeon_device *rdev);
|
||||
void ci_stop_smc_clock(struct radeon_device *rdev);
|
||||
void ci_start_smc_clock(struct radeon_device *rdev);
|
||||
bool ci_is_smc_running(struct radeon_device *rdev);
|
||||
PPSMC_Result ci_send_msg_to_smc(struct radeon_device *rdev, PPSMC_Msg msg);
|
||||
PPSMC_Result ci_wait_for_smc_inactive(struct radeon_device *rdev);
|
||||
int ci_load_smc_ucode(struct radeon_device *rdev, u32 limit);
|
||||
int ci_read_smc_sram_dword(struct radeon_device *rdev,
|
||||
|
@@ -163,27 +163,6 @@ bool ci_is_smc_running(struct radeon_device *rdev)
|
||||
return false;
|
||||
}
|
||||
|
||||
PPSMC_Result ci_send_msg_to_smc(struct radeon_device *rdev, PPSMC_Msg msg)
|
||||
{
|
||||
u32 tmp;
|
||||
int i;
|
||||
|
||||
if (!ci_is_smc_running(rdev))
|
||||
return PPSMC_Result_Failed;
|
||||
|
||||
WREG32(SMC_MESSAGE_0, msg);
|
||||
|
||||
for (i = 0; i < rdev->usec_timeout; i++) {
|
||||
tmp = RREG32(SMC_RESP_0);
|
||||
if (tmp != 0)
|
||||
break;
|
||||
udelay(1);
|
||||
}
|
||||
tmp = RREG32(SMC_RESP_0);
|
||||
|
||||
return (PPSMC_Result)tmp;
|
||||
}
|
||||
|
||||
#if 0
|
||||
PPSMC_Result ci_wait_for_smc_inactive(struct radeon_device *rdev)
|
||||
{
|
||||
|
@@ -352,7 +352,7 @@ static uint32_t get_max_engine_clock_in_mhz(struct kgd_dev *kgd)
|
||||
*/
|
||||
static DEFINE_IDA(pasid_ida);
|
||||
|
||||
int alloc_pasid(unsigned int bits)
|
||||
static int alloc_pasid(unsigned int bits)
|
||||
{
|
||||
int pasid = -EINVAL;
|
||||
|
||||
@@ -367,7 +367,7 @@ int alloc_pasid(unsigned int bits)
|
||||
return pasid;
|
||||
}
|
||||
|
||||
void free_pasid(unsigned int pasid)
|
||||
static void free_pasid(unsigned int pasid)
|
||||
{
|
||||
ida_simple_remove(&pasid_ida, pasid);
|
||||
}
|
||||
|
@@ -762,10 +762,6 @@ extern u8 radeon_dp_getsinktype(struct radeon_connector *radeon_connector);
|
||||
extern bool radeon_dp_getdpcd(struct radeon_connector *radeon_connector);
|
||||
extern int radeon_dp_get_panel_mode(struct drm_encoder *encoder,
|
||||
struct drm_connector *connector);
|
||||
extern int radeon_dp_get_dp_link_config(struct drm_connector *connector,
|
||||
const u8 *dpcd,
|
||||
unsigned pix_clock,
|
||||
unsigned *dp_lanes, unsigned *dp_rate);
|
||||
extern void radeon_dp_set_rx_power_state(struct drm_connector *connector,
|
||||
u8 power_state);
|
||||
extern void radeon_dp_aux_init(struct radeon_connector *radeon_connector);
|
||||
|
Reference in New Issue
Block a user