Commit 6f3b631e authored by Yo-Jung Leo Lin (AMD)'s avatar Yo-Jung Leo Lin (AMD) Committed by Alex Deucher
Browse files

drm/amdgpu: parse UMA size-getting/setting bits in ATCS mask



The capabilities of getting and setting VRAM carveout size are exposed
in the ATCS mask. Parse and store these capabilities for future use.

Co-developed-by: default avatarMario Limonciello (AMD) <superm1@kernel.org>
Signed-off-by: default avatarMario Limonciello (AMD) <superm1@kernel.org>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarYo-Jung Leo Lin (AMD) <Leo.Lin@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 155a748f
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -116,7 +116,9 @@ struct amdgpu_atcs_functions {
	bool pcie_perf_req;
	bool pcie_dev_rdy;
	bool pcie_bus_width;
	bool get_uma_size;
	bool power_shift_control;
	bool set_uma_allocation_size;
};

struct amdgpu_atcs {
@@ -590,7 +592,9 @@ static void amdgpu_atcs_parse_functions(struct amdgpu_atcs_functions *f, u32 mas
	f->pcie_perf_req = mask & ATCS_PCIE_PERFORMANCE_REQUEST_SUPPORTED;
	f->pcie_dev_rdy = mask & ATCS_PCIE_DEVICE_READY_NOTIFICATION_SUPPORTED;
	f->pcie_bus_width = mask & ATCS_SET_PCIE_BUS_WIDTH_SUPPORTED;
	f->get_uma_size = mask & ACPI_ATCS_GET_UMA_SIZE_SUPPORTED;
	f->power_shift_control = mask & ATCS_SET_POWER_SHIFT_CONTROL_SUPPORTED;
	f->set_uma_allocation_size = mask & ACPI_ATCS_SET_UMA_ALLOCATION_SIZE_SUPPORTED;
}

/**
+3 −1
Original line number Diff line number Diff line
@@ -427,7 +427,9 @@ struct atcs_pwr_shift_input {
#       define ATCS_PCIE_PERFORMANCE_REQUEST_SUPPORTED             (1 << 1)
#       define ATCS_PCIE_DEVICE_READY_NOTIFICATION_SUPPORTED       (1 << 2)
#       define ATCS_SET_PCIE_BUS_WIDTH_SUPPORTED                   (1 << 3)
#       define ACPI_ATCS_GET_UMA_SIZE_SUPPORTED                    (1 << 5)
#       define ATCS_SET_POWER_SHIFT_CONTROL_SUPPORTED              (1 << 7)
#       define ACPI_ATCS_SET_UMA_ALLOCATION_SIZE_SUPPORTED         (1 << 9)
#define ATCS_FUNCTION_GET_EXTERNAL_STATE                           0x1
/* ARG0: ATCS_FUNCTION_GET_EXTERNAL_STATE
 * ARG1: none