History

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.

Trigger Huang committed 9 years ago

Commit 63a7c741 parent fe723cd1 file · +11 −6Browse files

Unified · Split

drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c+11−6
@@ -941,12 +941,6 @@ static int gfx_v8_0_init_microcode(struct amdgpu_device *adev) · 940 unmodified lines
941941 cp_hdr = (const struct gfx_firmware_header_v1_0 *)adev->gfx.me_fw->data;
942942 adev->gfx.me_fw_version = le32_to_cpu(cp_hdr->header.ucode_version);
943943
944− /* chain ib ucode isn't formal released, just disable it by far
945− * TODO: when ucod ready we should use ucode version to judge if
946− * chain-ib support or not.
947− */
948− adev->virt.chained_ib_support = false;
949−
950944 adev->gfx.me_feature_version = le32_to_cpu(cp_hdr->ucode_feature_version);
951945
952946 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) · 7 unmodified lines
960954 adev->gfx.ce_fw_version = le32_to_cpu(cp_hdr->header.ucode_version);
961955 adev->gfx.ce_feature_version = le32_to_cpu(cp_hdr->ucode_feature_version);
962956
957+ /*
958+ * Support for MCBP/Virtualization in combination with chained IBs is
959+ * formal released on feature version #46
960+ */
961+ if (adev->gfx.ce_feature_version >= 46 &&
962+ adev->gfx.pfp_feature_version >= 46) {
963+ adev->virt.chained_ib_support = true;
964+ DRM_INFO("Chained IB support enabled!\n");
965+ } else
966+ adev->virt.chained_ib_support = false;
967+
963968 snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_rlc.bin", chip_name);
964969 err = request_firmware(&adev->gfx.rlc_fw, fw_name, adev->dev);
965970 if (err)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t