Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: add JPEG HW IP and SW structures

It will be used for JPEG IP 1.0, 2.0, 2.5 and later.

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Leo Liu and committed by
Alex Deucher
88a1c40a 0bb419c7

+51
+5
drivers/gpu/drm/amd/amdgpu/amdgpu.h
··· 69 69 #include "amdgpu_uvd.h" 70 70 #include "amdgpu_vce.h" 71 71 #include "amdgpu_vcn.h" 72 + #include "amdgpu_jpeg.h" 72 73 #include "amdgpu_mn.h" 73 74 #include "amdgpu_gmc.h" 74 75 #include "amdgpu_gfx.h" ··· 705 704 MP1_HWIP, 706 705 UVD_HWIP, 707 706 VCN_HWIP = UVD_HWIP, 707 + JPEG_HWIP = VCN_HWIP, 708 708 VCE_HWIP, 709 709 DF_HWIP, 710 710 DCE_HWIP, ··· 900 898 901 899 /* vcn */ 902 900 struct amdgpu_vcn vcn; 901 + 902 + /* jpeg */ 903 + struct amdgpu_jpeg jpeg; 903 904 904 905 /* firmwares */ 905 906 struct amdgpu_firmware firmware;
+46
drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.h
··· 1 + /* 2 + * Copyright 2019 Advanced Micro Devices, Inc. 3 + * 4 + * Permission is hereby granted, free of charge, to any person obtaining a 5 + * copy of this software and associated documentation files (the "Software"), 6 + * to deal in the Software without restriction, including without limitation 7 + * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 + * and/or sell copies of the Software, and to permit persons to whom the 9 + * Software is furnished to do so, subject to the following conditions: 10 + * 11 + * The above copyright notice and this permission notice shall be included in 12 + * all copies or substantial portions of the Software. 13 + * 14 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17 + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 18 + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19 + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20 + * OTHER DEALINGS IN THE SOFTWARE. 21 + * 22 + */ 23 + 24 + #ifndef __AMDGPU_JPEG_H__ 25 + #define __AMDGPU_JPEG_H__ 26 + 27 + #define AMDGPU_MAX_JPEG_INSTANCES 2 28 + 29 + struct amdgpu_jpeg_reg{ 30 + unsigned jpeg_pitch; 31 + }; 32 + 33 + struct amdgpu_jpeg_inst { 34 + struct amdgpu_ring ring_dec; 35 + struct amdgpu_irq_src irq; 36 + struct amdgpu_jpeg_reg external; 37 + }; 38 + 39 + struct amdgpu_jpeg { 40 + uint8_t num_jpeg_inst; 41 + struct amdgpu_jpeg_inst inst[AMDGPU_MAX_JPEG_INSTANCES]; 42 + struct amdgpu_jpeg_reg internal; 43 + unsigned harvest_config; 44 + }; 45 + 46 + #endif /*__AMDGPU_JPEG_H__*/