Lines Matching full:slave

85  * enum sdw_slave_status - Slave status
86 * @SDW_SLAVE_UNATTACHED: Slave is not attached with the bus.
87 * @SDW_SLAVE_ATTACHED: Slave is attached with bus.
88 * @SDW_SLAVE_ALERT: Some alert condition on the Slave
202 * enum sdw_p15_behave - Slave Port 15 behaviour when the Master attempts a
229 * @SDW_CLK_STOP_MODE0: Slave can continue operation seamlessly on clock
231 * @SDW_CLK_STOP_MODE1: Slave may have entered a deeper power-saving mode,
248 * @BRA_flow_controlled: Slave implementation results in an OK_NotReady
332 * struct sdw_slave_prop - SoundWire Slave properties
345 * @reset_behave: Slave keeps the status of the SlaveStopClockPrepare
347 * @high_PHY_capable: Slave is HighPHY capable
348 * @paging_support: Slave implements paging registers SCP_AddrPage1 and
350 * @bank_delay_support: Slave implements bank delay/bridge support registers
352 * @lane_control_support: Slave supports lane control
353 * @p15_behave: Slave behavior when the Master attempts a read to the Port15
355 * @master_count: Number of Masters present on this Slave
363 * @lane_maps: Lane mapping for the slave, only valid if lane_control_support is set
367 * @use_domain_irq: call actual IRQ handler on slave, as well as callback
448 * Some Slave devices have known issues with incorrect parity errors
450 * parity errors can be reported by Slave devices, possibly due to electrical
458 int sdw_slave_read_prop(struct sdw_slave *slave);
459 int sdw_slave_read_lane_mapping(struct sdw_slave *slave);
462 * SDW Slave Structures and APIs
468 * struct sdw_slave_id - Slave ID
520 * struct sdw_slave_intr_status - Slave interrupt status
521 * @sdca_cascade: set if the Slave device reports an SDCA interrupt
547 * @bank: Register bank, which bank Slave/Master driver should program for
585 * @s_data_mode: NORMAL, STATIC or PRBS mode for all Slave ports
603 * struct sdw_slave_ops: Slave driver callback ops
605 * @read_prop: Read Slave properties
608 * @update_status: Update Slave status
609 * @bus_config: Update the bus config for Slave
615 int (*interrupt_callback)(struct sdw_slave *slave,
617 int (*update_status)(struct sdw_slave *slave,
619 int (*bus_config)(struct sdw_slave *slave,
621 int (*port_prep)(struct sdw_slave *slave,
624 int (*clk_stop)(struct sdw_slave *slave,
630 * struct sdw_slave - SoundWire Slave
634 * @status: Status reported by the Slave
636 * @prop: Slave properties
637 * @debugfs: Slave debugfs
639 * @port_ready: Port ready completion flag for each Slave port
640 * @m_port_map: static Master port map for each Slave port
646 * Slave device
649 * @unattach_request: mask field to keep track why the Slave re-attached and
652 * when the Master triggered a reset the Slave is properly enumerated and
655 * for a Slave happens for the first time after enumeration
866 int (*get_device_num)(struct sdw_bus *bus, struct sdw_slave *slave);
867 void (*put_device_num)(struct sdw_bus *bus, struct sdw_slave *slave);
869 struct sdw_slave *slave,
871 int (*bpt_send_async)(struct sdw_bus *bus, struct sdw_slave *slave,
873 int (*bpt_wait)(struct sdw_bus *bus, struct sdw_slave *slave, struct sdw_bpt_msg *msg);
883 * sdw_port_config: Master or Slave Port configuration
894 * sdw_stream_config: Master or Slave stream configuration
996 * @assigned: Bitmap for Slave device numbers.
1065 int sdw_compare_devid(struct sdw_slave *slave, struct sdw_slave_id id);
1067 bool is_clock_scaling_supported_by_slave(struct sdw_slave *slave);
1069 int sdw_bpt_send_async(struct sdw_bus *bus, struct sdw_slave *slave, struct sdw_bpt_msg *msg);
1070 int sdw_bpt_wait(struct sdw_bus *bus, struct sdw_slave *slave, struct sdw_bpt_msg *msg);
1071 int sdw_bpt_send_sync(struct sdw_bus *bus, struct sdw_slave *slave, struct sdw_bpt_msg *msg);
1075 int sdw_stream_add_slave(struct sdw_slave *slave,
1080 int sdw_stream_remove_slave(struct sdw_slave *slave,
1083 int sdw_slave_get_scale_index(struct sdw_slave *slave, u8 *base);
1086 int sdw_read(struct sdw_slave *slave, u32 addr);
1087 int sdw_write(struct sdw_slave *slave, u32 addr, u8 value);
1088 int sdw_write_no_pm(struct sdw_slave *slave, u32 addr, u8 value);
1089 int sdw_read_no_pm(struct sdw_slave *slave, u32 addr);
1090 int sdw_nread(struct sdw_slave *slave, u32 addr, size_t count, u8 *val);
1091 int sdw_nread_no_pm(struct sdw_slave *slave, u32 addr, size_t count, u8 *val);
1092 int sdw_nwrite(struct sdw_slave *slave, u32 addr, size_t count, const u8 *val);
1093 int sdw_nwrite_no_pm(struct sdw_slave *slave, u32 addr, size_t count, const u8 *val);
1094 int sdw_update(struct sdw_slave *slave, u32 addr, u8 mask, u8 val);
1095 int sdw_update_no_pm(struct sdw_slave *slave, u32 addr, u8 mask, u8 val);
1099 static inline int sdw_stream_add_slave(struct sdw_slave *slave, in sdw_stream_add_slave() argument
1109 static inline int sdw_stream_remove_slave(struct sdw_slave *slave, in sdw_stream_remove_slave() argument
1117 static inline int sdw_read(struct sdw_slave *slave, u32 addr) in sdw_read() argument
1123 static inline int sdw_write(struct sdw_slave *slave, u32 addr, u8 value) in sdw_write() argument
1129 static inline int sdw_write_no_pm(struct sdw_slave *slave, u32 addr, u8 value) in sdw_write_no_pm() argument
1135 static inline int sdw_read_no_pm(struct sdw_slave *slave, u32 addr) in sdw_read_no_pm() argument
1141 static inline int sdw_nread(struct sdw_slave *slave, u32 addr, size_t count, u8 *val) in sdw_nread() argument
1147 static inline int sdw_nread_no_pm(struct sdw_slave *slave, u32 addr, size_t count, u8 *val) in sdw_nread_no_pm() argument
1153 static inline int sdw_nwrite(struct sdw_slave *slave, u32 addr, size_t count, const u8 *val) in sdw_nwrite() argument
1159 static inline int sdw_nwrite_no_pm(struct sdw_slave *slave, u32 addr, size_t count, const u8 *val) in sdw_nwrite_no_pm() argument
1165 static inline int sdw_update(struct sdw_slave *slave, u32 addr, u8 mask, u8 val) in sdw_update() argument
1171 static inline int sdw_update_no_pm(struct sdw_slave *slave, u32 addr, u8 mask, u8 val) in sdw_update_no_pm() argument