mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
drm/amdgpu: update the handle ptr in early_init
update the handle ptr to amdgpu_ip_block ptr for all functions pointers on early_init. Signed-off-by: Sunil Khatri <sunil.khatri@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
1007264254
commit
146b085ead
|
|
@ -585,7 +585,7 @@ static int acp_resume(void *handle)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int acp_early_init(void *handle)
|
||||
static int acp_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2611,25 +2611,25 @@ static int amdgpu_device_ip_early_init(struct amdgpu_device *adev)
|
|||
|
||||
total = true;
|
||||
for (i = 0; i < adev->num_ip_blocks; i++) {
|
||||
ip_block = &adev->ip_blocks[i];
|
||||
|
||||
if ((amdgpu_ip_block_mask & (1 << i)) == 0) {
|
||||
DRM_WARN("disabled ip block: %d <%s>\n",
|
||||
i, adev->ip_blocks[i].version->funcs->name);
|
||||
adev->ip_blocks[i].status.valid = false;
|
||||
} else {
|
||||
if (adev->ip_blocks[i].version->funcs->early_init) {
|
||||
r = adev->ip_blocks[i].version->funcs->early_init((void *)adev);
|
||||
if (r == -ENOENT) {
|
||||
adev->ip_blocks[i].status.valid = false;
|
||||
} else if (r) {
|
||||
DRM_ERROR("early_init of IP block <%s> failed %d\n",
|
||||
adev->ip_blocks[i].version->funcs->name, r);
|
||||
total = false;
|
||||
} else {
|
||||
adev->ip_blocks[i].status.valid = true;
|
||||
}
|
||||
} else if (ip_block->version->funcs->early_init) {
|
||||
r = ip_block->version->funcs->early_init(ip_block);
|
||||
if (r == -ENOENT) {
|
||||
adev->ip_blocks[i].status.valid = false;
|
||||
} else if (r) {
|
||||
DRM_ERROR("early_init of IP block <%s> failed %d\n",
|
||||
adev->ip_blocks[i].version->funcs->name, r);
|
||||
total = false;
|
||||
} else {
|
||||
adev->ip_blocks[i].status.valid = true;
|
||||
}
|
||||
} else {
|
||||
adev->ip_blocks[i].status.valid = true;
|
||||
}
|
||||
/* get the vbios after the asic_funcs are set up */
|
||||
if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON) {
|
||||
|
|
|
|||
|
|
@ -122,9 +122,10 @@ static int isp_load_fw_by_psp(struct amdgpu_device *adev)
|
|||
return r;
|
||||
}
|
||||
|
||||
static int isp_early_init(void *handle)
|
||||
static int isp_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
struct amdgpu_isp *isp = &adev->isp;
|
||||
|
||||
switch (amdgpu_ip_version(adev, ISP_HWIP, 0)) {
|
||||
|
|
|
|||
|
|
@ -159,9 +159,9 @@ static int psp_init_sriov_microcode(struct psp_context *psp)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int psp_early_init(void *handle)
|
||||
static int psp_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
struct psp_context *psp = &adev->psp;
|
||||
|
||||
psp->autoload_supported = true;
|
||||
|
|
|
|||
|
|
@ -765,9 +765,9 @@ static int umsch_mm_init(struct amdgpu_device *adev)
|
|||
}
|
||||
|
||||
|
||||
static int umsch_mm_early_init(void *handle)
|
||||
static int umsch_mm_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
switch (amdgpu_ip_version(adev, VCN_HWIP, 0)) {
|
||||
case IP_VERSION(4, 0, 5):
|
||||
|
|
|
|||
|
|
@ -295,9 +295,9 @@ int amdgpu_vpe_ring_fini(struct amdgpu_vpe *vpe)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int vpe_early_init(void *handle)
|
||||
static int vpe_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
struct amdgpu_vpe *vpe = &adev->vpe;
|
||||
|
||||
switch (amdgpu_ip_version(adev, VPE_HWIP, 0)) {
|
||||
|
|
|
|||
|
|
@ -1985,9 +1985,9 @@ static const struct amdgpu_asic_funcs cik_asic_funcs =
|
|||
.query_video_codecs = &cik_query_video_codecs,
|
||||
};
|
||||
|
||||
static int cik_common_early_init(void *handle)
|
||||
static int cik_common_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->smc_rreg = &cik_smc_rreg;
|
||||
adev->smc_wreg = &cik_smc_wreg;
|
||||
|
|
|
|||
|
|
@ -283,9 +283,9 @@ static void cik_ih_set_rptr(struct amdgpu_device *adev,
|
|||
WREG32(mmIH_RB_RPTR, ih->rptr);
|
||||
}
|
||||
|
||||
static int cik_ih_early_init(void *handle)
|
||||
static int cik_ih_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
ret = amdgpu_irq_add_domain(adev);
|
||||
|
|
|
|||
|
|
@ -918,9 +918,9 @@ static void cik_enable_sdma_mgls(struct amdgpu_device *adev,
|
|||
}
|
||||
}
|
||||
|
||||
static int cik_sdma_early_init(void *handle)
|
||||
static int cik_sdma_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int r;
|
||||
|
||||
adev->sdma.num_instances = SDMA_MAX_INSTANCE;
|
||||
|
|
|
|||
|
|
@ -274,9 +274,9 @@ static void cz_ih_set_rptr(struct amdgpu_device *adev,
|
|||
WREG32(mmIH_RB_RPTR, ih->rptr);
|
||||
}
|
||||
|
||||
static int cz_ih_early_init(void *handle)
|
||||
static int cz_ih_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
ret = amdgpu_irq_add_domain(adev);
|
||||
|
|
|
|||
|
|
@ -2738,9 +2738,9 @@ static int dce_v10_0_crtc_init(struct amdgpu_device *adev, int index)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int dce_v10_0_early_init(void *handle)
|
||||
static int dce_v10_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->audio_endpt_rreg = &dce_v10_0_audio_endpt_rreg;
|
||||
adev->audio_endpt_wreg = &dce_v10_0_audio_endpt_wreg;
|
||||
|
|
|
|||
|
|
@ -2851,9 +2851,9 @@ static int dce_v11_0_crtc_init(struct amdgpu_device *adev, int index)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int dce_v11_0_early_init(void *handle)
|
||||
static int dce_v11_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->audio_endpt_rreg = &dce_v11_0_audio_endpt_rreg;
|
||||
adev->audio_endpt_wreg = &dce_v11_0_audio_endpt_wreg;
|
||||
|
|
|
|||
|
|
@ -2633,9 +2633,9 @@ static int dce_v6_0_crtc_init(struct amdgpu_device *adev, int index)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int dce_v6_0_early_init(void *handle)
|
||||
static int dce_v6_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->audio_endpt_rreg = &dce_v6_0_audio_endpt_rreg;
|
||||
adev->audio_endpt_wreg = &dce_v6_0_audio_endpt_wreg;
|
||||
|
|
|
|||
|
|
@ -2644,9 +2644,9 @@ static int dce_v8_0_crtc_init(struct amdgpu_device *adev, int index)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int dce_v8_0_early_init(void *handle)
|
||||
static int dce_v8_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->audio_endpt_rreg = &dce_v8_0_audio_endpt_rreg;
|
||||
adev->audio_endpt_wreg = &dce_v8_0_audio_endpt_wreg;
|
||||
|
|
|
|||
|
|
@ -7678,9 +7678,9 @@ static void gfx_v10_0_ring_emit_gds_switch(struct amdgpu_ring *ring,
|
|||
(1 << (oa_size + oa_base)) - (1 << oa_base));
|
||||
}
|
||||
|
||||
static int gfx_v10_0_early_init(void *handle)
|
||||
static int gfx_v10_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->gfx.funcs = &gfx_v10_0_gfx_funcs;
|
||||
|
||||
|
|
|
|||
|
|
@ -4997,9 +4997,9 @@ static void gfx_v11_0_ring_emit_gds_switch(struct amdgpu_ring *ring,
|
|||
(1 << (oa_size + oa_base)) - (1 << oa_base));
|
||||
}
|
||||
|
||||
static int gfx_v11_0_early_init(void *handle)
|
||||
static int gfx_v11_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->gfx.funcs = &gfx_v11_0_gfx_funcs;
|
||||
|
||||
|
|
|
|||
|
|
@ -3695,9 +3695,9 @@ static uint64_t gfx_v12_0_get_gpu_clock_counter(struct amdgpu_device *adev)
|
|||
return clock;
|
||||
}
|
||||
|
||||
static int gfx_v12_0_early_init(void *handle)
|
||||
static int gfx_v12_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->gfx.funcs = &gfx_v12_0_gfx_funcs;
|
||||
|
||||
|
|
|
|||
|
|
@ -3023,9 +3023,9 @@ static const struct amdgpu_rlc_funcs gfx_v6_0_rlc_funcs = {
|
|||
.start = gfx_v6_0_rlc_start
|
||||
};
|
||||
|
||||
static int gfx_v6_0_early_init(void *handle)
|
||||
static int gfx_v6_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->gfx.xcc_mask = 1;
|
||||
adev->gfx.num_gfx_rings = GFX6_NUM_GFX_RINGS;
|
||||
|
|
|
|||
|
|
@ -4134,9 +4134,9 @@ static const struct amdgpu_rlc_funcs gfx_v7_0_rlc_funcs = {
|
|||
.update_spm_vmid = gfx_v7_0_update_spm_vmid
|
||||
};
|
||||
|
||||
static int gfx_v7_0_early_init(void *handle)
|
||||
static int gfx_v7_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->gfx.xcc_mask = 1;
|
||||
adev->gfx.num_gfx_rings = GFX7_NUM_GFX_RINGS;
|
||||
|
|
|
|||
|
|
@ -5254,9 +5254,9 @@ static const struct amdgpu_gfx_funcs gfx_v8_0_gfx_funcs = {
|
|||
.select_me_pipe_q = &gfx_v8_0_select_me_pipe_q
|
||||
};
|
||||
|
||||
static int gfx_v8_0_early_init(void *handle)
|
||||
static int gfx_v8_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->gfx.xcc_mask = 1;
|
||||
adev->gfx.num_gfx_rings = GFX8_NUM_GFX_RINGS;
|
||||
|
|
|
|||
|
|
@ -4766,9 +4766,9 @@ static int gfx_v9_0_do_edc_gpr_workarounds(struct amdgpu_device *adev)
|
|||
return r;
|
||||
}
|
||||
|
||||
static int gfx_v9_0_early_init(void *handle)
|
||||
static int gfx_v9_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->gfx.funcs = &gfx_v9_0_gfx_funcs;
|
||||
|
||||
|
|
|
|||
|
|
@ -2511,9 +2511,9 @@ static void gfx_v9_4_3_ring_emit_gds_switch(struct amdgpu_ring *ring,
|
|||
(1 << (oa_size + oa_base)) - (1 << oa_base));
|
||||
}
|
||||
|
||||
static int gfx_v9_4_3_early_init(void *handle)
|
||||
static int gfx_v9_4_3_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->gfx.num_compute_rings = min(amdgpu_gfx_get_num_kcq(adev),
|
||||
AMDGPU_MAX_COMPUTE_RINGS);
|
||||
|
|
|
|||
|
|
@ -630,9 +630,9 @@ static void gmc_v10_0_set_gfxhub_funcs(struct amdgpu_device *adev)
|
|||
}
|
||||
|
||||
|
||||
static int gmc_v10_0_early_init(void *handle)
|
||||
static int gmc_v10_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
gmc_v10_0_set_mmhub_funcs(adev);
|
||||
gmc_v10_0_set_gfxhub_funcs(adev);
|
||||
|
|
|
|||
|
|
@ -601,9 +601,9 @@ static void gmc_v11_0_set_gfxhub_funcs(struct amdgpu_device *adev)
|
|||
}
|
||||
}
|
||||
|
||||
static int gmc_v11_0_early_init(void *handle)
|
||||
static int gmc_v11_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
gmc_v11_0_set_gfxhub_funcs(adev);
|
||||
gmc_v11_0_set_mmhub_funcs(adev);
|
||||
|
|
|
|||
|
|
@ -604,9 +604,9 @@ static void gmc_v12_0_set_gfxhub_funcs(struct amdgpu_device *adev)
|
|||
}
|
||||
}
|
||||
|
||||
static int gmc_v12_0_early_init(void *handle)
|
||||
static int gmc_v12_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
gmc_v12_0_set_gfxhub_funcs(adev);
|
||||
gmc_v12_0_set_mmhub_funcs(adev);
|
||||
|
|
|
|||
|
|
@ -762,9 +762,9 @@ static int gmc_v6_0_convert_vram_type(int mc_seq_vram_type)
|
|||
}
|
||||
}
|
||||
|
||||
static int gmc_v6_0_early_init(void *handle)
|
||||
static int gmc_v6_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
gmc_v6_0_set_gmc_funcs(adev);
|
||||
gmc_v6_0_set_irq_funcs(adev);
|
||||
|
|
|
|||
|
|
@ -921,9 +921,9 @@ static int gmc_v7_0_convert_vram_type(int mc_seq_vram_type)
|
|||
}
|
||||
}
|
||||
|
||||
static int gmc_v7_0_early_init(void *handle)
|
||||
static int gmc_v7_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
gmc_v7_0_set_gmc_funcs(adev);
|
||||
gmc_v7_0_set_irq_funcs(adev);
|
||||
|
|
|
|||
|
|
@ -1027,9 +1027,9 @@ static int gmc_v8_0_convert_vram_type(int mc_seq_vram_type)
|
|||
}
|
||||
}
|
||||
|
||||
static int gmc_v8_0_early_init(void *handle)
|
||||
static int gmc_v8_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
gmc_v8_0_set_gmc_funcs(adev);
|
||||
gmc_v8_0_set_irq_funcs(adev);
|
||||
|
|
|
|||
|
|
@ -1545,9 +1545,9 @@ static void gmc_v9_0_set_xgmi_ras_funcs(struct amdgpu_device *adev)
|
|||
adev->gmc.xgmi.ras = &xgmi_ras;
|
||||
}
|
||||
|
||||
static int gmc_v9_0_early_init(void *handle)
|
||||
static int gmc_v9_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
/*
|
||||
* 9.4.0, 9.4.1 and 9.4.3 don't have XGMI defined
|
||||
|
|
|
|||
|
|
@ -273,9 +273,9 @@ static void iceland_ih_set_rptr(struct amdgpu_device *adev,
|
|||
WREG32(mmIH_RB_RPTR, ih->rptr);
|
||||
}
|
||||
|
||||
static int iceland_ih_early_init(void *handle)
|
||||
static int iceland_ih_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
ret = amdgpu_irq_add_domain(adev);
|
||||
|
|
|
|||
|
|
@ -559,9 +559,9 @@ static void ih_v6_0_set_self_irq_funcs(struct amdgpu_device *adev)
|
|||
adev->irq.self_irq.funcs = &ih_v6_0_self_irq_funcs;
|
||||
}
|
||||
|
||||
static int ih_v6_0_early_init(void *handle)
|
||||
static int ih_v6_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
ih_v6_0_set_interrupt_funcs(adev);
|
||||
ih_v6_0_set_self_irq_funcs(adev);
|
||||
|
|
|
|||
|
|
@ -532,9 +532,9 @@ static void ih_v6_1_set_self_irq_funcs(struct amdgpu_device *adev)
|
|||
adev->irq.self_irq.funcs = &ih_v6_1_self_irq_funcs;
|
||||
}
|
||||
|
||||
static int ih_v6_1_early_init(void *handle)
|
||||
static int ih_v6_1_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
ret = amdgpu_irq_add_domain(adev);
|
||||
|
|
|
|||
|
|
@ -528,9 +528,9 @@ static void ih_v7_0_set_self_irq_funcs(struct amdgpu_device *adev)
|
|||
adev->irq.self_irq.funcs = &ih_v7_0_self_irq_funcs;
|
||||
}
|
||||
|
||||
static int ih_v7_0_early_init(void *handle)
|
||||
static int ih_v7_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
ih_v7_0_set_interrupt_funcs(adev);
|
||||
ih_v7_0_set_self_irq_funcs(adev);
|
||||
|
|
|
|||
|
|
@ -462,9 +462,9 @@ static int jpeg_v1_0_process_interrupt(struct amdgpu_device *adev,
|
|||
*
|
||||
* Set ring and irq function pointers
|
||||
*/
|
||||
int jpeg_v1_0_early_init(void *handle)
|
||||
int jpeg_v1_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->jpeg.num_jpeg_inst = 1;
|
||||
adev->jpeg.num_jpeg_rings = 1;
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
#ifndef __JPEG_V1_0_H__
|
||||
#define __JPEG_V1_0_H__
|
||||
|
||||
int jpeg_v1_0_early_init(void *handle);
|
||||
int jpeg_v1_0_early_init(struct amdgpu_ip_block *ip_block);
|
||||
int jpeg_v1_0_sw_init(void *handle);
|
||||
void jpeg_v1_0_sw_fini(void *handle);
|
||||
void jpeg_v1_0_start(struct amdgpu_device *adev, int mode);
|
||||
|
|
|
|||
|
|
@ -45,9 +45,9 @@ static int jpeg_v2_0_set_powergating_state(void *handle,
|
|||
*
|
||||
* Set ring and irq function pointers
|
||||
*/
|
||||
static int jpeg_v2_0_early_init(void *handle)
|
||||
static int jpeg_v2_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->jpeg.num_jpeg_inst = 1;
|
||||
adev->jpeg.num_jpeg_rings = 1;
|
||||
|
|
|
|||
|
|
@ -54,9 +54,9 @@ static int amdgpu_ih_clientid_jpeg[] = {
|
|||
*
|
||||
* Set ring and irq function pointers
|
||||
*/
|
||||
static int jpeg_v2_5_early_init(void *handle)
|
||||
static int jpeg_v2_5_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
u32 harvest;
|
||||
int i;
|
||||
|
||||
|
|
|
|||
|
|
@ -46,9 +46,9 @@ static int jpeg_v3_0_set_powergating_state(void *handle,
|
|||
*
|
||||
* Set ring and irq function pointers
|
||||
*/
|
||||
static int jpeg_v3_0_early_init(void *handle)
|
||||
static int jpeg_v3_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
u32 harvest;
|
||||
|
||||
|
|
|
|||
|
|
@ -52,9 +52,9 @@ static void jpeg_v4_0_dec_ring_set_wptr(struct amdgpu_ring *ring);
|
|||
*
|
||||
* Set ring and irq function pointers
|
||||
*/
|
||||
static int jpeg_v4_0_early_init(void *handle)
|
||||
static int jpeg_v4_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
|
||||
adev->jpeg.num_jpeg_inst = 1;
|
||||
|
|
|
|||
|
|
@ -72,9 +72,9 @@ static inline bool jpeg_v4_0_3_normalizn_reqd(struct amdgpu_device *adev)
|
|||
*
|
||||
* Set ring and irq function pointers
|
||||
*/
|
||||
static int jpeg_v4_0_3_early_init(void *handle)
|
||||
static int jpeg_v4_0_3_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->jpeg.num_jpeg_rings = AMDGPU_MAX_JPEG_RINGS;
|
||||
|
||||
|
|
|
|||
|
|
@ -65,9 +65,9 @@ static int amdgpu_ih_clientid_jpeg[] = {
|
|||
*
|
||||
* Set ring and irq function pointers
|
||||
*/
|
||||
static int jpeg_v4_0_5_early_init(void *handle)
|
||||
static int jpeg_v4_0_5_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
switch (amdgpu_ip_version(adev, UVD_HWIP, 0)) {
|
||||
case IP_VERSION(4, 0, 5):
|
||||
|
|
|
|||
|
|
@ -46,9 +46,9 @@ static int jpeg_v5_0_0_set_powergating_state(void *handle,
|
|||
*
|
||||
* Set ring and irq function pointers
|
||||
*/
|
||||
static int jpeg_v5_0_0_early_init(void *handle)
|
||||
static int jpeg_v5_0_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->jpeg.num_jpeg_inst = 1;
|
||||
adev->jpeg.num_jpeg_rings = 1;
|
||||
|
|
|
|||
|
|
@ -1653,9 +1653,9 @@ static int mes_v11_0_resume(void *handle)
|
|||
return amdgpu_mes_resume(adev);
|
||||
}
|
||||
|
||||
static int mes_v11_0_early_init(void *handle)
|
||||
static int mes_v11_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int pipe, r;
|
||||
|
||||
for (pipe = 0; pipe < AMDGPU_MAX_MES_PIPES; pipe++) {
|
||||
|
|
|
|||
|
|
@ -1617,9 +1617,9 @@ static int mes_v12_0_resume(void *handle)
|
|||
return amdgpu_mes_resume(adev);
|
||||
}
|
||||
|
||||
static int mes_v12_0_early_init(void *handle)
|
||||
static int mes_v12_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int pipe, r;
|
||||
|
||||
for (pipe = 0; pipe < AMDGPU_MAX_MES_PIPES; pipe++) {
|
||||
|
|
|
|||
|
|
@ -542,9 +542,9 @@ static void navi10_ih_set_self_irq_funcs(struct amdgpu_device *adev)
|
|||
adev->irq.self_irq.funcs = &navi10_ih_self_irq_funcs;
|
||||
}
|
||||
|
||||
static int navi10_ih_early_init(void *handle)
|
||||
static int navi10_ih_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
navi10_ih_set_interrupt_funcs(adev);
|
||||
navi10_ih_set_self_irq_funcs(adev);
|
||||
|
|
|
|||
|
|
@ -634,9 +634,9 @@ static const struct amdgpu_asic_funcs nv_asic_funcs = {
|
|||
.query_video_codecs = &nv_query_video_codecs,
|
||||
};
|
||||
|
||||
static int nv_common_early_init(void *handle)
|
||||
static int nv_common_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->nbio.funcs->set_reg_remap(adev);
|
||||
adev->smc_rreg = NULL;
|
||||
|
|
|
|||
|
|
@ -807,9 +807,9 @@ static void sdma_v2_4_ring_emit_wreg(struct amdgpu_ring *ring,
|
|||
amdgpu_ring_write(ring, val);
|
||||
}
|
||||
|
||||
static int sdma_v2_4_early_init(void *handle)
|
||||
static int sdma_v2_4_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int r;
|
||||
|
||||
adev->sdma.num_instances = SDMA_MAX_INSTANCE;
|
||||
|
|
|
|||
|
|
@ -1080,9 +1080,9 @@ static void sdma_v3_0_ring_emit_wreg(struct amdgpu_ring *ring,
|
|||
amdgpu_ring_write(ring, val);
|
||||
}
|
||||
|
||||
static int sdma_v3_0_early_init(void *handle)
|
||||
static int sdma_v3_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int r;
|
||||
|
||||
switch (adev->asic_type) {
|
||||
|
|
|
|||
|
|
@ -1751,9 +1751,9 @@ static bool sdma_v4_0_fw_support_paging_queue(struct amdgpu_device *adev)
|
|||
}
|
||||
}
|
||||
|
||||
static int sdma_v4_0_early_init(void *handle)
|
||||
static int sdma_v4_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int r;
|
||||
|
||||
r = sdma_v4_0_init_microcode(adev);
|
||||
|
|
|
|||
|
|
@ -1290,9 +1290,9 @@ static bool sdma_v4_4_2_fw_support_paging_queue(struct amdgpu_device *adev)
|
|||
}
|
||||
}
|
||||
|
||||
static int sdma_v4_4_2_early_init(void *handle)
|
||||
static int sdma_v4_4_2_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int r;
|
||||
|
||||
r = sdma_v4_4_2_init_microcode(adev);
|
||||
|
|
|
|||
|
|
@ -1389,9 +1389,9 @@ static void sdma_v5_0_ring_emit_reg_write_reg_wait(struct amdgpu_ring *ring,
|
|||
amdgpu_ring_emit_reg_wait(ring, reg1, mask, mask);
|
||||
}
|
||||
|
||||
static int sdma_v5_0_early_init(void *handle)
|
||||
static int sdma_v5_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int r;
|
||||
|
||||
r = sdma_v5_0_init_microcode(adev);
|
||||
|
|
|
|||
|
|
@ -1262,9 +1262,9 @@ static void sdma_v5_2_ring_emit_reg_write_reg_wait(struct amdgpu_ring *ring,
|
|||
amdgpu_ring_emit_reg_wait(ring, reg1, mask, mask);
|
||||
}
|
||||
|
||||
static int sdma_v5_2_early_init(void *handle)
|
||||
static int sdma_v5_2_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int r;
|
||||
|
||||
r = amdgpu_sdma_init_microcode(adev, 0, true);
|
||||
|
|
|
|||
|
|
@ -1294,9 +1294,9 @@ static void sdma_v6_0_set_ras_funcs(struct amdgpu_device *adev)
|
|||
}
|
||||
}
|
||||
|
||||
static int sdma_v6_0_early_init(void *handle)
|
||||
static int sdma_v6_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int r;
|
||||
|
||||
r = amdgpu_sdma_init_microcode(adev, 0, true);
|
||||
|
|
|
|||
|
|
@ -1253,9 +1253,9 @@ static void sdma_v7_0_ring_emit_reg_write_reg_wait(struct amdgpu_ring *ring,
|
|||
amdgpu_ring_emit_reg_wait(ring, reg1, mask, mask);
|
||||
}
|
||||
|
||||
static int sdma_v7_0_early_init(void *handle)
|
||||
static int sdma_v7_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int r;
|
||||
|
||||
r = amdgpu_sdma_init_microcode(adev, 0, true);
|
||||
|
|
|
|||
|
|
@ -2022,9 +2022,9 @@ static uint32_t si_get_rev_id(struct amdgpu_device *adev)
|
|||
>> CC_DRM_ID_STRAPS__ATI_REV_ID__SHIFT;
|
||||
}
|
||||
|
||||
static int si_common_early_init(void *handle)
|
||||
static int si_common_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->smc_rreg = &si_smc_rreg;
|
||||
adev->smc_wreg = &si_smc_wreg;
|
||||
|
|
|
|||
|
|
@ -457,9 +457,9 @@ static void si_dma_ring_emit_wreg(struct amdgpu_ring *ring,
|
|||
amdgpu_ring_write(ring, val);
|
||||
}
|
||||
|
||||
static int si_dma_early_init(void *handle)
|
||||
static int si_dma_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->sdma.num_instances = 2;
|
||||
|
||||
|
|
|
|||
|
|
@ -156,9 +156,9 @@ static void si_ih_set_rptr(struct amdgpu_device *adev,
|
|||
WREG32(IH_RB_RPTR, ih->rptr);
|
||||
}
|
||||
|
||||
static int si_ih_early_init(void *handle)
|
||||
static int si_ih_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
si_ih_set_interrupt_funcs(adev);
|
||||
|
||||
|
|
|
|||
|
|
@ -933,9 +933,9 @@ static const struct amdgpu_asic_funcs aqua_vanjaram_asic_funcs =
|
|||
.get_reg_state = &aqua_vanjaram_get_reg_state,
|
||||
};
|
||||
|
||||
static int soc15_common_early_init(void *handle)
|
||||
static int soc15_common_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->nbio.funcs->set_reg_remap(adev);
|
||||
adev->smc_rreg = NULL;
|
||||
|
|
|
|||
|
|
@ -556,9 +556,9 @@ static const struct amdgpu_asic_funcs soc21_asic_funcs = {
|
|||
.update_umd_stable_pstate = &soc21_update_umd_stable_pstate,
|
||||
};
|
||||
|
||||
static int soc21_common_early_init(void *handle)
|
||||
static int soc21_common_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->nbio.funcs->set_reg_remap(adev);
|
||||
adev->smc_rreg = NULL;
|
||||
|
|
|
|||
|
|
@ -363,9 +363,9 @@ static const struct amdgpu_asic_funcs soc24_asic_funcs = {
|
|||
.update_umd_stable_pstate = &soc24_update_umd_stable_pstate,
|
||||
};
|
||||
|
||||
static int soc24_common_early_init(void *handle)
|
||||
static int soc24_common_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->nbio.funcs->set_reg_remap(adev);
|
||||
adev->smc_rreg = NULL;
|
||||
|
|
|
|||
|
|
@ -283,9 +283,9 @@ static void tonga_ih_set_rptr(struct amdgpu_device *adev,
|
|||
}
|
||||
}
|
||||
|
||||
static int tonga_ih_early_init(void *handle)
|
||||
static int tonga_ih_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int ret;
|
||||
|
||||
ret = amdgpu_irq_add_domain(adev);
|
||||
|
|
|
|||
|
|
@ -531,9 +531,9 @@ static void uvd_v3_1_set_irq_funcs(struct amdgpu_device *adev)
|
|||
}
|
||||
|
||||
|
||||
static int uvd_v3_1_early_init(void *handle)
|
||||
static int uvd_v3_1_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
adev->uvd.num_uvd_inst = 1;
|
||||
|
||||
uvd_v3_1_set_ring_funcs(adev);
|
||||
|
|
|
|||
|
|
@ -90,9 +90,9 @@ static void uvd_v4_2_ring_set_wptr(struct amdgpu_ring *ring)
|
|||
WREG32(mmUVD_RBC_RB_WPTR, lower_32_bits(ring->wptr));
|
||||
}
|
||||
|
||||
static int uvd_v4_2_early_init(void *handle)
|
||||
static int uvd_v4_2_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
adev->uvd.num_uvd_inst = 1;
|
||||
|
||||
uvd_v4_2_set_ring_funcs(adev);
|
||||
|
|
|
|||
|
|
@ -88,9 +88,9 @@ static void uvd_v5_0_ring_set_wptr(struct amdgpu_ring *ring)
|
|||
WREG32(mmUVD_RBC_RB_WPTR, lower_32_bits(ring->wptr));
|
||||
}
|
||||
|
||||
static int uvd_v5_0_early_init(void *handle)
|
||||
static int uvd_v5_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
adev->uvd.num_uvd_inst = 1;
|
||||
|
||||
uvd_v5_0_set_ring_funcs(adev);
|
||||
|
|
|
|||
|
|
@ -354,9 +354,9 @@ static int uvd_v6_0_enc_ring_test_ib(struct amdgpu_ring *ring, long timeout)
|
|||
return r;
|
||||
}
|
||||
|
||||
static int uvd_v6_0_early_init(void *handle)
|
||||
static int uvd_v6_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
adev->uvd.num_uvd_inst = 1;
|
||||
|
||||
if (!(adev->flags & AMD_IS_APU) &&
|
||||
|
|
|
|||
|
|
@ -361,9 +361,9 @@ static int uvd_v7_0_enc_ring_test_ib(struct amdgpu_ring *ring, long timeout)
|
|||
return r;
|
||||
}
|
||||
|
||||
static int uvd_v7_0_early_init(void *handle)
|
||||
static int uvd_v7_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (adev->asic_type == CHIP_VEGA20) {
|
||||
u32 harvest;
|
||||
|
|
|
|||
|
|
@ -398,9 +398,9 @@ static void vce_v2_0_enable_mgcg(struct amdgpu_device *adev, bool enable,
|
|||
}
|
||||
}
|
||||
|
||||
static int vce_v2_0_early_init(void *handle)
|
||||
static int vce_v2_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->vce.num_rings = 2;
|
||||
|
||||
|
|
|
|||
|
|
@ -396,9 +396,9 @@ static unsigned vce_v3_0_get_harvest_config(struct amdgpu_device *adev)
|
|||
}
|
||||
}
|
||||
|
||||
static int vce_v3_0_early_init(void *handle)
|
||||
static int vce_v3_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->vce.harvest_config = vce_v3_0_get_harvest_config(adev);
|
||||
|
||||
|
|
|
|||
|
|
@ -407,9 +407,9 @@ static int vce_v4_0_stop(struct amdgpu_device *adev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int vce_v4_0_early_init(void *handle)
|
||||
static int vce_v4_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (amdgpu_sriov_vf(adev)) /* currently only VCN0 support SRIOV */
|
||||
adev->vce.num_rings = 1;
|
||||
|
|
|
|||
|
|
@ -100,9 +100,9 @@ static void vcn_v1_0_ring_begin_use(struct amdgpu_ring *ring);
|
|||
* Set ring and irq function pointers
|
||||
* Load microcode from filesystem
|
||||
*/
|
||||
static int vcn_v1_0_early_init(void *handle)
|
||||
static int vcn_v1_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->vcn.num_enc_rings = 2;
|
||||
|
||||
|
|
@ -110,7 +110,7 @@ static int vcn_v1_0_early_init(void *handle)
|
|||
vcn_v1_0_set_enc_ring_funcs(adev);
|
||||
vcn_v1_0_set_irq_funcs(adev);
|
||||
|
||||
jpeg_v1_0_early_init(handle);
|
||||
jpeg_v1_0_early_init(ip_block);
|
||||
|
||||
return amdgpu_vcn_early_init(adev);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -105,9 +105,9 @@ static int vcn_v2_0_start_sriov(struct amdgpu_device *adev);
|
|||
* Set ring and irq function pointers
|
||||
* Load microcode from filesystem
|
||||
*/
|
||||
static int vcn_v2_0_early_init(void *handle)
|
||||
static int vcn_v2_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (amdgpu_sriov_vf(adev))
|
||||
adev->vcn.num_enc_rings = 1;
|
||||
|
|
|
|||
|
|
@ -115,9 +115,9 @@ static int amdgpu_ih_clientid_vcns[] = {
|
|||
* Set ring and irq function pointers
|
||||
* Load microcode from filesystem
|
||||
*/
|
||||
static int vcn_v2_5_early_init(void *handle)
|
||||
static int vcn_v2_5_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (amdgpu_sriov_vf(adev)) {
|
||||
adev->vcn.num_vcn_inst = 2;
|
||||
|
|
|
|||
|
|
@ -121,9 +121,9 @@ static void vcn_v3_0_enc_ring_set_wptr(struct amdgpu_ring *ring);
|
|||
* Set ring and irq function pointers
|
||||
* Load microcode from filesystem
|
||||
*/
|
||||
static int vcn_v3_0_early_init(void *handle)
|
||||
static int vcn_v3_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (amdgpu_sriov_vf(adev)) {
|
||||
adev->vcn.num_vcn_inst = VCN_INSTANCES_SIENNA_CICHLID;
|
||||
|
|
|
|||
|
|
@ -111,9 +111,9 @@ static void vcn_v4_0_set_ras_funcs(struct amdgpu_device *adev);
|
|||
* Set ring and irq function pointers
|
||||
* Load microcode from filesystem
|
||||
*/
|
||||
static int vcn_v4_0_early_init(void *handle)
|
||||
static int vcn_v4_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
int i;
|
||||
|
||||
if (amdgpu_sriov_vf(adev)) {
|
||||
|
|
|
|||
|
|
@ -102,9 +102,9 @@ static void vcn_v4_0_3_enable_ras(struct amdgpu_device *adev,
|
|||
*
|
||||
* Set ring and irq function pointers
|
||||
*/
|
||||
static int vcn_v4_0_3_early_init(void *handle)
|
||||
static int vcn_v4_0_3_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
/* re-use enc ring as unified ring */
|
||||
adev->vcn.num_enc_rings = 1;
|
||||
|
|
|
|||
|
|
@ -109,9 +109,9 @@ static void vcn_v4_0_5_unified_ring_set_wptr(struct amdgpu_ring *ring);
|
|||
* Set ring and irq function pointers
|
||||
* Load microcode from filesystem
|
||||
*/
|
||||
static int vcn_v4_0_5_early_init(void *handle)
|
||||
static int vcn_v4_0_5_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
/* re-use enc ring as unified ring */
|
||||
adev->vcn.num_enc_rings = 1;
|
||||
|
|
|
|||
|
|
@ -92,9 +92,9 @@ static void vcn_v5_0_0_unified_ring_set_wptr(struct amdgpu_ring *ring);
|
|||
* Set ring and irq function pointers
|
||||
* Load microcode from filesystem
|
||||
*/
|
||||
static int vcn_v5_0_0_early_init(void *handle)
|
||||
static int vcn_v5_0_0_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
/* re-use enc ring as unified ring */
|
||||
adev->vcn.num_enc_rings = 1;
|
||||
|
|
|
|||
|
|
@ -472,9 +472,9 @@ static void vega10_ih_set_self_irq_funcs(struct amdgpu_device *adev)
|
|||
adev->irq.self_irq.funcs = &vega10_ih_self_irq_funcs;
|
||||
}
|
||||
|
||||
static int vega10_ih_early_init(void *handle)
|
||||
static int vega10_ih_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
vega10_ih_set_interrupt_funcs(adev);
|
||||
vega10_ih_set_self_irq_funcs(adev);
|
||||
|
|
|
|||
|
|
@ -526,9 +526,9 @@ static void vega20_ih_set_self_irq_funcs(struct amdgpu_device *adev)
|
|||
adev->irq.self_irq.funcs = &vega20_ih_self_irq_funcs;
|
||||
}
|
||||
|
||||
static int vega20_ih_early_init(void *handle)
|
||||
static int vega20_ih_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
vega20_ih_set_interrupt_funcs(adev);
|
||||
vega20_ih_set_self_irq_funcs(adev);
|
||||
|
|
|
|||
|
|
@ -1455,9 +1455,9 @@ static const struct amdgpu_asic_funcs vi_asic_funcs =
|
|||
#define CZ_REV_BRISTOL(rev) \
|
||||
((rev >= 0xC8 && rev <= 0xCE) || (rev >= 0xE1 && rev <= 0xE6))
|
||||
|
||||
static int vi_common_early_init(void *handle)
|
||||
static int vi_common_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
if (adev->flags & AMD_IS_APU) {
|
||||
adev->smc_rreg = &cz_smc_rreg;
|
||||
|
|
|
|||
|
|
@ -968,7 +968,7 @@ static int dm_set_powergating_state(void *handle,
|
|||
}
|
||||
|
||||
/* Prototypes of private functions */
|
||||
static int dm_early_init(void *handle);
|
||||
static int dm_early_init(struct amdgpu_ip_block *ip_block);
|
||||
|
||||
/* Allocate memory for FBC compressed data */
|
||||
static void amdgpu_dm_fbc_init(struct drm_connector *connector)
|
||||
|
|
@ -5256,9 +5256,9 @@ static int dm_init_microcode(struct amdgpu_device *adev)
|
|||
return r;
|
||||
}
|
||||
|
||||
static int dm_early_init(void *handle)
|
||||
static int dm_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
struct amdgpu_mode_info *mode_info = &adev->mode_info;
|
||||
struct atom_context *ctx = mode_info->atom_context;
|
||||
int index = GetIndexIntoMasterTable(DATA, Object_Header);
|
||||
|
|
|
|||
|
|
@ -379,7 +379,7 @@ struct amdgpu_ip_block;
|
|||
|
||||
struct amd_ip_funcs {
|
||||
char *name;
|
||||
int (*early_init)(void *handle);
|
||||
int (*early_init)(struct amdgpu_ip_block *ip_block);
|
||||
int (*late_init)(void *handle);
|
||||
int (*sw_init)(void *handle);
|
||||
int (*sw_fini)(void *handle);
|
||||
|
|
|
|||
|
|
@ -2954,9 +2954,9 @@ static int kv_dpm_get_temp(void *handle)
|
|||
return actual_temp;
|
||||
}
|
||||
|
||||
static int kv_dpm_early_init(void *handle)
|
||||
static int kv_dpm_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->powerplay.pp_funcs = &kv_dpm_funcs;
|
||||
adev->powerplay.pp_handle = adev;
|
||||
|
|
|
|||
|
|
@ -7930,10 +7930,10 @@ static void si_dpm_print_power_state(void *handle,
|
|||
amdgpu_dpm_print_ps_status(adev, rps);
|
||||
}
|
||||
|
||||
static int si_dpm_early_init(void *handle)
|
||||
static int si_dpm_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
|
||||
adev->powerplay.pp_funcs = &si_dpm_funcs;
|
||||
adev->powerplay.pp_handle = adev;
|
||||
|
|
|
|||
|
|
@ -75,11 +75,10 @@ static void amd_powerplay_destroy(struct amdgpu_device *adev)
|
|||
hwmgr = NULL;
|
||||
}
|
||||
|
||||
static int pp_early_init(void *handle)
|
||||
static int pp_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
int ret;
|
||||
struct amdgpu_device *adev = handle;
|
||||
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
ret = amd_powerplay_create(adev);
|
||||
|
||||
if (ret != 0)
|
||||
|
|
|
|||
|
|
@ -742,9 +742,9 @@ static int smu_set_funcs(struct amdgpu_device *adev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int smu_early_init(void *handle)
|
||||
static int smu_early_init(struct amdgpu_ip_block *ip_block)
|
||||
{
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
struct amdgpu_device *adev = ip_block->adev;
|
||||
struct smu_context *smu;
|
||||
int r;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user