diff options
author | Rex Zhu <Rex.Zhu@amd.com> | 2015-09-23 20:11:54 +0800 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-12-21 16:42:06 -0500 |
commit | 5e6186991a75ea192d7dd88b9d3f7e166eaae801 (patch) | |
tree | f4dc2d5f93a8defa61ca365174e5ad9fe504aa36 /drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | |
parent | 3f1d35a03b3cc7e0fb85c92f4ac6eafd1780d5dc (diff) | |
download | linux-5e6186991a75ea192d7dd88b9d3f7e166eaae801.tar.gz linux-5e6186991a75ea192d7dd88b9d3f7e166eaae801.tar.bz2 linux-5e6186991a75ea192d7dd88b9d3f7e166eaae801.zip |
drm/amdgpu: implement cgs interface to query system info
Add a query to get the bus number and function of the
device.
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c index f901cdce7c5f..19f46d0b6ca7 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c @@ -736,6 +736,28 @@ static int amdgpu_cgs_get_firmware_info(void *cgs_device, return 0; } +static int amdgpu_cgs_query_system_info(void *cgs_device, + struct cgs_system_info *sys_info) +{ + CGS_FUNC_ADEV; + + if (NULL == sys_info) + return -ENODEV; + + if (sizeof(struct cgs_system_info) != sys_info->size) + return -ENODEV; + + switch (sys_info->info_id) { + case CGS_SYSTEM_INFO_ADAPTER_BDF_ID: + sys_info->value = adev->pdev->devfn | (adev->pdev->bus->number << 8); + break; + default: + return -ENODEV; + } + + return 0; +} + /** \brief evaluate acpi namespace object, handle or pathname must be valid * \param cgs_device * \param info input/output arguments for the control method @@ -985,6 +1007,7 @@ static const struct cgs_ops amdgpu_cgs_ops = { amdgpu_cgs_set_powergating_state, amdgpu_cgs_set_clockgating_state, amdgpu_cgs_call_acpi_method, + amdgpu_cgs_query_system_info, }; static const struct cgs_os_ops amdgpu_cgs_os_ops = { |