162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/* Copyright(c) 2023 Advanced Micro Devices, Inc. */
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci#ifndef _CMDS_H_
562306a36Sopenharmony_ci#define _CMDS_H_
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciint pds_vfio_register_client_cmd(struct pds_vfio_pci_device *pds_vfio);
862306a36Sopenharmony_civoid pds_vfio_unregister_client_cmd(struct pds_vfio_pci_device *pds_vfio);
962306a36Sopenharmony_ciint pds_vfio_suspend_device_cmd(struct pds_vfio_pci_device *pds_vfio, u8 type);
1062306a36Sopenharmony_ciint pds_vfio_resume_device_cmd(struct pds_vfio_pci_device *pds_vfio, u8 type);
1162306a36Sopenharmony_ciint pds_vfio_get_lm_state_size_cmd(struct pds_vfio_pci_device *pds_vfio, u64 *size);
1262306a36Sopenharmony_ciint pds_vfio_get_lm_state_cmd(struct pds_vfio_pci_device *pds_vfio);
1362306a36Sopenharmony_ciint pds_vfio_set_lm_state_cmd(struct pds_vfio_pci_device *pds_vfio);
1462306a36Sopenharmony_civoid pds_vfio_send_host_vf_lm_status_cmd(struct pds_vfio_pci_device *pds_vfio,
1562306a36Sopenharmony_ci					 enum pds_lm_host_vf_status vf_status);
1662306a36Sopenharmony_ciint pds_vfio_dirty_status_cmd(struct pds_vfio_pci_device *pds_vfio,
1762306a36Sopenharmony_ci			      u64 regions_dma, u8 *max_regions,
1862306a36Sopenharmony_ci			      u8 *num_regions);
1962306a36Sopenharmony_ciint pds_vfio_dirty_enable_cmd(struct pds_vfio_pci_device *pds_vfio,
2062306a36Sopenharmony_ci			      u64 regions_dma, u8 num_regions);
2162306a36Sopenharmony_ciint pds_vfio_dirty_disable_cmd(struct pds_vfio_pci_device *pds_vfio);
2262306a36Sopenharmony_ciint pds_vfio_dirty_seq_ack_cmd(struct pds_vfio_pci_device *pds_vfio,
2362306a36Sopenharmony_ci			       u64 sgl_dma, u16 num_sge, u32 offset,
2462306a36Sopenharmony_ci			       u32 total_len, bool read_seq);
2562306a36Sopenharmony_ci#endif /* _CMDS_H_ */
26