1*2a226927SNipun Gupta /* SPDX-License-Identifier: GPL-2.0 2*2a226927SNipun Gupta * 3*2a226927SNipun Gupta * Header file for the CDX Controller 4*2a226927SNipun Gupta * 5*2a226927SNipun Gupta * Copyright (C) 2022-2023, Advanced Micro Devices, Inc. 6*2a226927SNipun Gupta */ 7*2a226927SNipun Gupta 8*2a226927SNipun Gupta #ifndef _CDX_CONTROLLER_H_ 9*2a226927SNipun Gupta #define _CDX_CONTROLLER_H_ 10*2a226927SNipun Gupta 11*2a226927SNipun Gupta #include <linux/cdx/cdx_bus.h> 12*2a226927SNipun Gupta #include "mcdi_functions.h" 13*2a226927SNipun Gupta 14*2a226927SNipun Gupta void cdx_rpmsg_post_probe(struct cdx_controller *cdx); 15*2a226927SNipun Gupta 16*2a226927SNipun Gupta void cdx_rpmsg_pre_remove(struct cdx_controller *cdx); 17*2a226927SNipun Gupta 18*2a226927SNipun Gupta int cdx_rpmsg_send(struct cdx_mcdi *cdx_mcdi, 19*2a226927SNipun Gupta const struct cdx_dword *hdr, size_t hdr_len, 20*2a226927SNipun Gupta const struct cdx_dword *sdu, size_t sdu_len); 21*2a226927SNipun Gupta 22*2a226927SNipun Gupta void cdx_rpmsg_read_resp(struct cdx_mcdi *cdx_mcdi, 23*2a226927SNipun Gupta struct cdx_dword *outbuf, size_t offset, 24*2a226927SNipun Gupta size_t outlen); 25*2a226927SNipun Gupta 26*2a226927SNipun Gupta int cdx_setup_rpmsg(struct platform_device *pdev); 27*2a226927SNipun Gupta 28*2a226927SNipun Gupta void cdx_destroy_rpmsg(struct platform_device *pdev); 29*2a226927SNipun Gupta 30*2a226927SNipun Gupta #endif /* _CDX_CONT_PRIV_H_ */ 31