mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-03 15:47:36 +00:00
net: ipa: move endpoint configuration data definitions
Move the definitions of the structures defining endpoint-specific configuration data out of "ipa_data.h" and into "ipa_endpoint.h". This is a trivial movement of code without any other change, to prepare for the next few patches. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
75944b040b
commit
f0488c540e
2 changed files with 62 additions and 62 deletions
|
@ -95,68 +95,6 @@ struct gsi_channel_data {
|
||||||
u8 tlv_count;
|
u8 tlv_count;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* struct ipa_endpoint_tx_data - configuration data for TX endpoints
|
|
||||||
* @seq_type: primary packet processing sequencer type
|
|
||||||
* @seq_rep_type: sequencer type for replication processing
|
|
||||||
* @status_endpoint: endpoint to which status elements are sent
|
|
||||||
*
|
|
||||||
* The @status_endpoint is only valid if the endpoint's @status_enable
|
|
||||||
* flag is set.
|
|
||||||
*/
|
|
||||||
struct ipa_endpoint_tx_data {
|
|
||||||
enum ipa_seq_type seq_type;
|
|
||||||
enum ipa_seq_rep_type seq_rep_type;
|
|
||||||
enum ipa_endpoint_name status_endpoint;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* struct ipa_endpoint_rx_data - configuration data for RX endpoints
|
|
||||||
* @buffer_size: requested receive buffer size (bytes)
|
|
||||||
* @pad_align: power-of-2 boundary to which packet payload is aligned
|
|
||||||
* @aggr_close_eof: whether aggregation closes on end-of-frame
|
|
||||||
*
|
|
||||||
* With each packet it transfers, the IPA hardware can perform certain
|
|
||||||
* transformations of its packet data. One of these is adding pad bytes
|
|
||||||
* to the end of the packet data so the result ends on a power-of-2 boundary.
|
|
||||||
*
|
|
||||||
* It is also able to aggregate multiple packets into a single receive buffer.
|
|
||||||
* Aggregation is "open" while a buffer is being filled, and "closes" when
|
|
||||||
* certain criteria are met. One of those criteria is the sender indicating
|
|
||||||
* a "frame" consisting of several transfers has ended.
|
|
||||||
*/
|
|
||||||
struct ipa_endpoint_rx_data {
|
|
||||||
u32 buffer_size;
|
|
||||||
u32 pad_align;
|
|
||||||
bool aggr_close_eof;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* struct ipa_endpoint_config_data - IPA endpoint hardware configuration
|
|
||||||
* @resource_group: resource group to assign endpoint to
|
|
||||||
* @checksum: whether checksum offload is enabled
|
|
||||||
* @qmap: whether endpoint uses QMAP protocol
|
|
||||||
* @aggregation: whether endpoint supports aggregation
|
|
||||||
* @status_enable: whether endpoint uses status elements
|
|
||||||
* @dma_mode: whether endpoint operates in DMA mode
|
|
||||||
* @dma_endpoint: peer endpoint, if operating in DMA mode
|
|
||||||
* @tx: TX-specific endpoint information (see above)
|
|
||||||
* @rx: RX-specific endpoint information (see above)
|
|
||||||
*/
|
|
||||||
struct ipa_endpoint_config_data {
|
|
||||||
u32 resource_group;
|
|
||||||
bool checksum;
|
|
||||||
bool qmap;
|
|
||||||
bool aggregation;
|
|
||||||
bool status_enable;
|
|
||||||
bool dma_mode;
|
|
||||||
enum ipa_endpoint_name dma_endpoint;
|
|
||||||
union {
|
|
||||||
struct ipa_endpoint_tx_data tx;
|
|
||||||
struct ipa_endpoint_rx_data rx;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct ipa_endpoint_data - IPA endpoint configuration data
|
* struct ipa_endpoint_data - IPA endpoint configuration data
|
||||||
* @filter_support: whether endpoint supports filtering
|
* @filter_support: whether endpoint supports filtering
|
||||||
|
|
|
@ -40,6 +40,68 @@ enum ipa_endpoint_name {
|
||||||
|
|
||||||
#define IPA_ENDPOINT_MAX 32 /* Max supported by driver */
|
#define IPA_ENDPOINT_MAX 32 /* Max supported by driver */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct ipa_endpoint_tx_data - configuration data for TX endpoints
|
||||||
|
* @seq_type: primary packet processing sequencer type
|
||||||
|
* @seq_rep_type: sequencer type for replication processing
|
||||||
|
* @status_endpoint: endpoint to which status elements are sent
|
||||||
|
*
|
||||||
|
* The @status_endpoint is only valid if the endpoint's @status_enable
|
||||||
|
* flag is set.
|
||||||
|
*/
|
||||||
|
struct ipa_endpoint_tx_data {
|
||||||
|
enum ipa_seq_type seq_type;
|
||||||
|
enum ipa_seq_rep_type seq_rep_type;
|
||||||
|
enum ipa_endpoint_name status_endpoint;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct ipa_endpoint_rx_data - configuration data for RX endpoints
|
||||||
|
* @buffer_size: requested receive buffer size (bytes)
|
||||||
|
* @pad_align: power-of-2 boundary to which packet payload is aligned
|
||||||
|
* @aggr_close_eof: whether aggregation closes on end-of-frame
|
||||||
|
*
|
||||||
|
* With each packet it transfers, the IPA hardware can perform certain
|
||||||
|
* transformations of its packet data. One of these is adding pad bytes
|
||||||
|
* to the end of the packet data so the result ends on a power-of-2 boundary.
|
||||||
|
*
|
||||||
|
* It is also able to aggregate multiple packets into a single receive buffer.
|
||||||
|
* Aggregation is "open" while a buffer is being filled, and "closes" when
|
||||||
|
* certain criteria are met. One of those criteria is the sender indicating
|
||||||
|
* a "frame" consisting of several transfers has ended.
|
||||||
|
*/
|
||||||
|
struct ipa_endpoint_rx_data {
|
||||||
|
u32 buffer_size;
|
||||||
|
u32 pad_align;
|
||||||
|
bool aggr_close_eof;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct ipa_endpoint_config_data - IPA endpoint hardware configuration
|
||||||
|
* @resource_group: resource group to assign endpoint to
|
||||||
|
* @checksum: whether checksum offload is enabled
|
||||||
|
* @qmap: whether endpoint uses QMAP protocol
|
||||||
|
* @aggregation: whether endpoint supports aggregation
|
||||||
|
* @status_enable: whether endpoint uses status elements
|
||||||
|
* @dma_mode: whether endpoint operates in DMA mode
|
||||||
|
* @dma_endpoint: peer endpoint, if operating in DMA mode
|
||||||
|
* @tx: TX-specific endpoint information (see above)
|
||||||
|
* @rx: RX-specific endpoint information (see above)
|
||||||
|
*/
|
||||||
|
struct ipa_endpoint_config_data {
|
||||||
|
u32 resource_group;
|
||||||
|
bool checksum;
|
||||||
|
bool qmap;
|
||||||
|
bool aggregation;
|
||||||
|
bool status_enable;
|
||||||
|
bool dma_mode;
|
||||||
|
enum ipa_endpoint_name dma_endpoint;
|
||||||
|
union {
|
||||||
|
struct ipa_endpoint_tx_data tx;
|
||||||
|
struct ipa_endpoint_rx_data rx;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* enum ipa_replenish_flag: RX buffer replenish flags
|
* enum ipa_replenish_flag: RX buffer replenish flags
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue