1*55d42f61SPratap Nirujogi /* SPDX-License-Identifier: MIT */ 2*55d42f61SPratap Nirujogi /* 3*55d42f61SPratap Nirujogi * Copyright (C) 2025 Advanced Micro Devices, Inc. All rights reserved. 4*55d42f61SPratap Nirujogi * All Rights Reserved. 5*55d42f61SPratap Nirujogi * 6*55d42f61SPratap Nirujogi * Permission is hereby granted, free of charge, to any person obtaining a 7*55d42f61SPratap Nirujogi * copy of this software and associated documentation files (the 8*55d42f61SPratap Nirujogi * "Software"), to deal in the Software without restriction, including 9*55d42f61SPratap Nirujogi * without limitation the rights to use, copy, modify, merge, publish, 10*55d42f61SPratap Nirujogi * distribute, sub license, and/or sell copies of the Software, and to 11*55d42f61SPratap Nirujogi * permit persons to whom the Software is furnished to do so, subject to 12*55d42f61SPratap Nirujogi * the following conditions: 13*55d42f61SPratap Nirujogi * 14*55d42f61SPratap Nirujogi * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15*55d42f61SPratap Nirujogi * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16*55d42f61SPratap Nirujogi * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 17*55d42f61SPratap Nirujogi * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, 18*55d42f61SPratap Nirujogi * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 19*55d42f61SPratap Nirujogi * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 20*55d42f61SPratap Nirujogi * USE OR OTHER DEALINGS IN THE SOFTWARE. 21*55d42f61SPratap Nirujogi * 22*55d42f61SPratap Nirujogi * The above copyright notice and this permission notice (including the 23*55d42f61SPratap Nirujogi * next paragraph) shall be included in all copies or substantial portions 24*55d42f61SPratap Nirujogi * of the Software. 25*55d42f61SPratap Nirujogi * 26*55d42f61SPratap Nirujogi */ 27*55d42f61SPratap Nirujogi 28*55d42f61SPratap Nirujogi #ifndef __ISP_H__ 29*55d42f61SPratap Nirujogi #define __ISP_H__ 30*55d42f61SPratap Nirujogi 31*55d42f61SPratap Nirujogi #include <linux/types.h> 32*55d42f61SPratap Nirujogi 33*55d42f61SPratap Nirujogi struct device; 34*55d42f61SPratap Nirujogi 35*55d42f61SPratap Nirujogi struct isp_platform_data { 36*55d42f61SPratap Nirujogi void *adev; 37*55d42f61SPratap Nirujogi u32 asic_type; 38*55d42f61SPratap Nirujogi resource_size_t base_rmmio_size; 39*55d42f61SPratap Nirujogi }; 40*55d42f61SPratap Nirujogi 41*55d42f61SPratap Nirujogi int isp_user_buffer_alloc(struct device *dev, void *dmabuf, 42*55d42f61SPratap Nirujogi void **buf_obj, u64 *buf_addr); 43*55d42f61SPratap Nirujogi 44*55d42f61SPratap Nirujogi void isp_user_buffer_free(void *buf_obj); 45*55d42f61SPratap Nirujogi 46*55d42f61SPratap Nirujogi int isp_kernel_buffer_alloc(struct device *dev, u64 size, 47*55d42f61SPratap Nirujogi void **buf_obj, u64 *gpu_addr, void **cpu_addr); 48*55d42f61SPratap Nirujogi 49*55d42f61SPratap Nirujogi void isp_kernel_buffer_free(void **buf_obj, u64 *gpu_addr, void **cpu_addr); 50*55d42f61SPratap Nirujogi 51*55d42f61SPratap Nirujogi #endif 52