Source
* @port_list: List of Master Ports configured for this stream, can be zero.
// SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)
// Copyright(c) 2015-17 Intel Corporation.
int sdw_acpi_find_slaves(struct sdw_bus *bus);
static inline int sdw_acpi_find_slaves(struct sdw_bus *bus)
{
return -ENOTSUPP;
}
void sdw_extract_slave_id(struct sdw_bus *bus,
u64 addr, struct sdw_slave_id *id);
enum {
SDW_MSG_FLAG_READ = 0,
SDW_MSG_FLAG_WRITE,
};
/**
* struct sdw_msg - Message structure
* @addr: Register address accessed in the Slave
* @len: number of messages
* @dev_num: Slave device number
* @addr_page1: SCP address page 1 Slave register
* @addr_page2: SCP address page 2 Slave register
* @flags: transfer flags, indicate if xfer is read or write
* @buf: message data buffer
* @ssp_sync: Send message at SSP (Stream Synchronization Point)
* @page: address requires paging
*/
struct sdw_msg {
u16 addr;
u16 len;
u8 dev_num;
u8 addr_page1;
u8 addr_page2;
u8 flags;
u8 *buf;
bool ssp_sync;
bool page;
};
extern int rows[SDW_FRAME_ROWS];
extern int cols[SDW_FRAME_COLS];
/**
* sdw_port_runtime: Runtime port parameters for Master or Slave
*
* @num: Port number. For audio streams, valid port number ranges from
* [1,14]
* @ch_mask: Channel mask
* @transport_params: Transport parameters
* @port_params: Port parameters
* @port_node: List node for Master or Slave port_list