[Mesa-dev] [PATCH] radeon uvd add uvd fw version for amdgpu
Christian König
deathsimple at vodafone.de
Wed Jun 29 19:20:21 UTC 2016
Am 29.06.2016 um 18:35 schrieb Alex Deucher:
> On Wed, Jun 29, 2016 at 11:38 AM, Leo Liu <leo.liu at amd.com> wrote:
>> From: sonjiang <sonny.jiang at amd.com>
>>
>> Signed-off-by: sonjiang <sonny.jiang at amd.com>
>> Cc: "12.0" <mesa-stable at lists.freedesktop.org>
> For the series:
> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Christian König <christian.koenig at amd.com> as well.
Christian.
>
>> ---
>> src/gallium/drivers/radeon/radeon_winsys.h | 1 +
>> src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c | 11 ++++++++++-
>> 2 files changed, 11 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/gallium/drivers/radeon/radeon_winsys.h b/src/gallium/drivers/radeon/radeon_winsys.h
>> index afb970e..f32edf0 100644
>> --- a/src/gallium/drivers/radeon/radeon_winsys.h
>> +++ b/src/gallium/drivers/radeon/radeon_winsys.h
>> @@ -258,6 +258,7 @@ struct radeon_info {
>> bool gfx_ib_pad_with_type2;
>> bool has_sdma;
>> bool has_uvd;
>> + uint32_t uvd_fw_version;
>> uint32_t vce_fw_version;
>> uint32_t vce_harvest_config;
>> uint32_t clock_crystal_freq;
>> diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
>> index 72afc76..b8fb4dd 100644
>> --- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
>> +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
>> @@ -98,7 +98,7 @@ static bool do_winsys_init(struct amdgpu_winsys *ws, int fd)
>> struct amdgpu_buffer_size_alignments alignment_info = {};
>> struct amdgpu_heap_info vram, gtt;
>> struct drm_amdgpu_info_hw_ip dma = {}, uvd = {}, vce = {};
>> - uint32_t vce_version = 0, vce_feature = 0;
>> + uint32_t vce_version = 0, vce_feature = 0, uvd_version = 0, uvd_feature = 0;
>> int r, i, j;
>> drmDevicePtr devinfo;
>>
>> @@ -151,6 +151,13 @@ static bool do_winsys_init(struct amdgpu_winsys *ws, int fd)
>> goto fail;
>> }
>>
>> + r = amdgpu_query_firmware_version(ws->dev, AMDGPU_INFO_FW_UVD, 0, 0,
>> + &uvd_version, &uvd_feature);
>> + if (r) {
>> + fprintf(stderr, "amdgpu: amdgpu_query_firmware_version(uvd) failed.\n");
>> + goto fail;
>> + }
>> +
>> r = amdgpu_query_hw_ip_info(ws->dev, AMDGPU_HW_IP_VCE, 0, &vce);
>> if (r) {
>> fprintf(stderr, "amdgpu: amdgpu_query_hw_ip_info(vce) failed.\n");
>> @@ -268,6 +275,8 @@ static bool do_winsys_init(struct amdgpu_winsys *ws, int fd)
>> ws->info.max_se = ws->amdinfo.num_shader_engines;
>> ws->info.max_sh_per_se = ws->amdinfo.num_shader_arrays_per_engine;
>> ws->info.has_uvd = uvd.available_rings != 0;
>> + ws->info.uvd_fw_version =
>> + uvd.available_rings ? uvd_version : 0;
>> ws->info.vce_fw_version =
>> vce.available_rings ? vce_version : 0;
>> ws->info.has_userptr = true;
>> --
>> 2.7.4
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list