Re: [PATCH] drm/amdgpu: Enable chained IB MCBP support
Am 27.04.2017 um 09:18 schrieb Trigger Huang: Support for MCBP/Virtualization in combination with chained IBs is formal released on firmware feature version #46. So enable it according to firmware feature version, otherwise, world switch will hang. Signed-off-by: Trigger HuangReviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 17 +++-- 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c index 2ff5f19..9a8c042 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c @@ -941,12 +941,6 @@ static int gfx_v8_0_init_microcode(struct amdgpu_device *adev) cp_hdr = (const struct gfx_firmware_header_v1_0 *)adev->gfx.me_fw->data; adev->gfx.me_fw_version = le32_to_cpu(cp_hdr->header.ucode_version); - /* chain ib ucode isn't formal released, just disable it by far -* TODO: when ucod ready we should use ucode version to judge if -* chain-ib support or not. -*/ - adev->virt.chained_ib_support = false; - adev->gfx.me_feature_version = le32_to_cpu(cp_hdr->ucode_feature_version); snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_ce.bin", chip_name); @@ -960,6 +954,17 @@ static int gfx_v8_0_init_microcode(struct amdgpu_device *adev) adev->gfx.ce_fw_version = le32_to_cpu(cp_hdr->header.ucode_version); adev->gfx.ce_feature_version = le32_to_cpu(cp_hdr->ucode_feature_version); + /* +* Support for MCBP/Virtualization in combination with chained IBs is +* formal released on feature version #46 +*/ + if (adev->gfx.ce_feature_version >= 46 && + adev->gfx.pfp_feature_version >= 46) { + adev->virt.chained_ib_support = true; + DRM_INFO("Chained IB support enabled!\n"); + } else + adev->virt.chained_ib_support = false; + snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_rlc.bin", chip_name); err = request_firmware(>gfx.rlc_fw, fw_name, adev->dev); if (err) ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
RE: [PATCH] drm/amdgpu: Enable chained IB MCBP support
Reviewed-by: Xiangliang YuThanks! Xiangliang Yu > -Original Message- > From: Trigger Huang [mailto:trigger.hu...@amd.com] > Sent: Thursday, April 27, 2017 3:18 PM > To: amd-gfx@lists.freedesktop.org > Cc: Liu, Monk ; Yu, Xiangliang > ; Huang, Trigger > Subject: [PATCH] drm/amdgpu: Enable chained IB MCBP support > > Support for MCBP/Virtualization in combination with chained IBs is formal > released on firmware feature version #46. So enable it according to firmware > feature version, otherwise, world switch will hang. > > Signed-off-by: Trigger Huang > --- > drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 17 +++-- > 1 file changed, 11 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c > b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c > index 2ff5f19..9a8c042 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c > @@ -941,12 +941,6 @@ static int gfx_v8_0_init_microcode(struct > amdgpu_device *adev) > cp_hdr = (const struct gfx_firmware_header_v1_0 *)adev- > >gfx.me_fw->data; > adev->gfx.me_fw_version = le32_to_cpu(cp_hdr- > >header.ucode_version); > > - /* chain ib ucode isn't formal released, just disable it by far > - * TODO: when ucod ready we should use ucode version to judge if > - * chain-ib support or not. > - */ > - adev->virt.chained_ib_support = false; > - > adev->gfx.me_feature_version = le32_to_cpu(cp_hdr- > >ucode_feature_version); > > snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_ce.bin", > chip_name); @@ -960,6 +954,17 @@ static int > gfx_v8_0_init_microcode(struct amdgpu_device *adev) > adev->gfx.ce_fw_version = le32_to_cpu(cp_hdr- > >header.ucode_version); > adev->gfx.ce_feature_version = le32_to_cpu(cp_hdr- > >ucode_feature_version); > > + /* > + * Support for MCBP/Virtualization in combination with chained IBs is > + * formal released on feature version #46 > + */ > + if (adev->gfx.ce_feature_version >= 46 && > + adev->gfx.pfp_feature_version >= 46) { > + adev->virt.chained_ib_support = true; > + DRM_INFO("Chained IB support enabled!\n"); > + } else > + adev->virt.chained_ib_support = false; > + > snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_rlc.bin", > chip_name); > err = request_firmware(>gfx.rlc_fw, fw_name, adev->dev); > if (err) > -- > 2.7.4 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
RE: [PATCH] drm/amdgpu: Enable chained IB MCBP support
Reviewed-by: Monk Liu-Original Message- From: Trigger Huang [mailto:trigger.hu...@amd.com] Sent: Thursday, April 27, 2017 3:18 PM To: amd-gfx@lists.freedesktop.org Cc: Liu, Monk ; Yu, Xiangliang ; Huang, Trigger Subject: [PATCH] drm/amdgpu: Enable chained IB MCBP support Support for MCBP/Virtualization in combination with chained IBs is formal released on firmware feature version #46. So enable it according to firmware feature version, otherwise, world switch will hang. Signed-off-by: Trigger Huang --- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 17 +++-- 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c index 2ff5f19..9a8c042 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c @@ -941,12 +941,6 @@ static int gfx_v8_0_init_microcode(struct amdgpu_device *adev) cp_hdr = (const struct gfx_firmware_header_v1_0 *)adev->gfx.me_fw->data; adev->gfx.me_fw_version = le32_to_cpu(cp_hdr->header.ucode_version); - /* chain ib ucode isn't formal released, just disable it by far -* TODO: when ucod ready we should use ucode version to judge if -* chain-ib support or not. -*/ - adev->virt.chained_ib_support = false; - adev->gfx.me_feature_version = le32_to_cpu(cp_hdr->ucode_feature_version); snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_ce.bin", chip_name); @@ -960,6 +954,17 @@ static int gfx_v8_0_init_microcode(struct amdgpu_device *adev) adev->gfx.ce_fw_version = le32_to_cpu(cp_hdr->header.ucode_version); adev->gfx.ce_feature_version = le32_to_cpu(cp_hdr->ucode_feature_version); + /* +* Support for MCBP/Virtualization in combination with chained IBs is +* formal released on feature version #46 +*/ + if (adev->gfx.ce_feature_version >= 46 && + adev->gfx.pfp_feature_version >= 46) { + adev->virt.chained_ib_support = true; + DRM_INFO("Chained IB support enabled!\n"); + } else + adev->virt.chained_ib_support = false; + snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_rlc.bin", chip_name); err = request_firmware(>gfx.rlc_fw, fw_name, adev->dev); if (err) -- 2.7.4 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx