drm/amdgpu:invoke new implemented AI MB func
Implement the sr-iov mailbox for soc15 asics. Signed-off-by: Monk Liu <Monk.Liu@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:
@@ -563,6 +563,7 @@ static int soc15_common_early_init(void *handle)
|
|||||||
|
|
||||||
if (amdgpu_sriov_vf(adev)) {
|
if (amdgpu_sriov_vf(adev)) {
|
||||||
amdgpu_virt_init_setting(adev);
|
amdgpu_virt_init_setting(adev);
|
||||||
|
xgpu_ai_mailbox_set_irq_funcs(adev);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -615,8 +616,23 @@ static int soc15_common_early_init(void *handle)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int soc15_common_late_init(void *handle)
|
||||||
|
{
|
||||||
|
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||||
|
|
||||||
|
if (amdgpu_sriov_vf(adev))
|
||||||
|
xgpu_ai_mailbox_get_irq(adev);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int soc15_common_sw_init(void *handle)
|
static int soc15_common_sw_init(void *handle)
|
||||||
{
|
{
|
||||||
|
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||||
|
|
||||||
|
if (amdgpu_sriov_vf(adev))
|
||||||
|
xgpu_ai_mailbox_add_irq_id(adev);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -647,6 +663,8 @@ static int soc15_common_hw_fini(void *handle)
|
|||||||
|
|
||||||
/* disable the doorbell aperture */
|
/* disable the doorbell aperture */
|
||||||
soc15_enable_doorbell_aperture(adev, false);
|
soc15_enable_doorbell_aperture(adev, false);
|
||||||
|
if (amdgpu_sriov_vf(adev))
|
||||||
|
xgpu_ai_mailbox_put_irq(adev);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -860,7 +878,7 @@ static int soc15_common_set_powergating_state(void *handle,
|
|||||||
const struct amd_ip_funcs soc15_common_ip_funcs = {
|
const struct amd_ip_funcs soc15_common_ip_funcs = {
|
||||||
.name = "soc15_common",
|
.name = "soc15_common",
|
||||||
.early_init = soc15_common_early_init,
|
.early_init = soc15_common_early_init,
|
||||||
.late_init = NULL,
|
.late_init = soc15_common_late_init,
|
||||||
.sw_init = soc15_common_sw_init,
|
.sw_init = soc15_common_sw_init,
|
||||||
.sw_fini = soc15_common_sw_fini,
|
.sw_fini = soc15_common_sw_fini,
|
||||||
.hw_init = soc15_common_hw_init,
|
.hw_init = soc15_common_hw_init,
|
||||||
|
Reference in New Issue
Block a user