/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef _PAPR_HVPIPE_H #define _PAPR_HVPIPE_H #define HVPIPE_HMC_ID_MASK 0x02000000 /*02-HMC,00-reserved and HMC ID */ #define HVPIPE_MAX_WRITE_BUFFER_SIZE 4048 /* * hvpipe specific RTAS return values */ #define RTAS_HVPIPE_CLOSED -4 #define HVPIPE_HDR_LEN sizeof(struct papr_hvpipe_hdr) enum hvpipe_migrate_action { HVPIPE_SUSPEND, HVPIPE_RESUME, }; struct hvpipe_source_info { struct list_head list; /* list of sources */ u32 srcID; u32 hvpipe_status; wait_queue_head_t recv_wqh; /* wake up poll() waitq */ struct task_struct *tsk; }; /* * Source ID Format 0xCCRRQQQQ * CC = indicating value is source type (ex: 0x02 for HMC) * RR = 0x00 (reserved) * QQQQ = 0x0000 – 0xFFFF indicating the source index indetifier */ struct hvpipe_event_buf { __be32 srcID; /* Source ID */ u8 event_type; /* 0x01 for hvpipe message available */ /* from specified src ID */ /* 0x02 for loss of pipe connection */ /* with specified src ID */ }; void hvpipe_migration_handler(int action); #endif /* _PAPR_HVPIPE_H */