Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  * Copyright (C) 2019-2020 Linaro Ltd.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) #ifndef _IPA_GSI_TRANS_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) #define _IPA_GSI_TRANS_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) #include <linux/types.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) struct gsi;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) struct gsi_trans;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) struct ipa_gsi_endpoint_data;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) /**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)  * ipa_gsi_trans_complete() - GSI transaction completion callback
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)  * @trans:	Transaction that has completed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)  * This called from the GSI layer to notify the IPA layer that a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)  * transaction has completed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) void ipa_gsi_trans_complete(struct gsi_trans *trans);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) /**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)  * ipa_gsi_trans_release() - GSI transaction release callback
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)  * @trans:	Transaction whose resources should be freed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)  * This called from the GSI layer to notify the IPA layer that a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)  * transaction is about to be freed, so any resources associated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)  * with it should be released.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) void ipa_gsi_trans_release(struct gsi_trans *trans);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) /**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)  * ipa_gsi_channel_tx_queued() - GSI queued to hardware notification
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)  * @gsi:	GSI pointer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)  * @channel_id:	Channel number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)  * @count:	Number of transactions queued
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)  * @byte_count:	Number of bytes to transfer represented by transactions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)  * This called from the GSI layer to notify the IPA layer that some
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)  * number of transactions have been queued to hardware for execution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) void ipa_gsi_channel_tx_queued(struct gsi *gsi, u32 channel_id, u32 count,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 			       u32 byte_count);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) /**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)  * ipa_gsi_channel_tx_completed() - GSI transaction completion callback
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)  * @gsi:	GSI pointer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)  * @channel_id:	Channel number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)  * @count:	Number of transactions completed since last report
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)  * @byte_count:	Number of bytes transferred represented by transactions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)  * This called from the GSI layer to notify the IPA layer that the hardware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)  * has reported the completion of some number of transactions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) void ipa_gsi_channel_tx_completed(struct gsi *gsi, u32 channel_id, u32 count,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) 				  u32 byte_count);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) /* ipa_gsi_endpoint_data_empty() - Empty endpoint config data test
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)  * @data:	endpoint configuration data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)  * Determines whether an endpoint configuration data entry is empty,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)  * meaning it contains no valid configuration information and should
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)  * be ignored.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)  * Return:	true if empty; false otherwise
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) bool ipa_gsi_endpoint_data_empty(const struct ipa_gsi_endpoint_data *data);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) #endif /* _IPA_GSI_TRANS_H_ */