Lines Matching refs:m_rt

260  * @m_rt: Master stream runtime
262 static int sdw_program_port_params(struct sdw_master_runtime *m_rt)
265 struct sdw_bus *bus = m_rt->bus;
270 list_for_each_entry(s_rt, &m_rt->slave_rt_list, m_rt_node) {
279 list_for_each_entry(p_rt, &m_rt->port_list, port_node) {
330 static int sdw_enable_disable_master_ports(struct sdw_master_runtime *m_rt,
335 struct sdw_bus *bus = m_rt->bus;
368 * @m_rt: Master stream runtime
371 static int sdw_enable_disable_ports(struct sdw_master_runtime *m_rt, bool en)
378 list_for_each_entry(s_rt, &m_rt->slave_rt_list, m_rt_node) {
380 ret = sdw_enable_disable_slave_ports(m_rt->bus, s_rt,
388 list_for_each_entry(m_port, &m_rt->port_list, port_node) {
389 ret = sdw_enable_disable_master_ports(m_rt, m_port, en);
504 static int sdw_prep_deprep_master_ports(struct sdw_master_runtime *m_rt,
509 struct sdw_bus *bus = m_rt->bus;
536 * @m_rt: Master runtime handle
539 static int sdw_prep_deprep_ports(struct sdw_master_runtime *m_rt, bool prep)
546 list_for_each_entry(s_rt, &m_rt->slave_rt_list, m_rt_node) {
548 ret = sdw_prep_deprep_slave_ports(m_rt->bus, s_rt,
556 list_for_each_entry(p_rt, &m_rt->port_list, port_node) {
557 ret = sdw_prep_deprep_master_ports(m_rt, p_rt, prep);
568 * @m_rt: Master runtime handle
573 static int sdw_notify_config(struct sdw_master_runtime *m_rt)
576 struct sdw_bus *bus = m_rt->bus;
586 list_for_each_entry(s_rt, &m_rt->slave_rt_list, m_rt_node) {
611 struct sdw_master_runtime *m_rt;
614 list_for_each_entry(m_rt, &bus->m_rt_list, bus_node) {
623 m_rt->stream->state == SDW_STREAM_CONFIGURED)
626 ret = sdw_program_port_params(m_rt);
633 ret = sdw_notify_config(m_rt);
641 if (m_rt->stream->state != SDW_STREAM_ENABLED)
644 ret = sdw_enable_disable_ports(m_rt, true);
760 struct sdw_master_runtime *m_rt;
769 list_for_each_entry(m_rt, &stream->master_list, stream_node) {
770 bus = m_rt->bus;
807 list_for_each_entry(m_rt, &stream->master_list, stream_node) {
808 bus = m_rt->bus;
845 list_for_each_entry(m_rt, &stream->master_list, stream_node) {
846 bus = m_rt->bus;
856 list_for_each_entry(m_rt, &stream->master_list, stream_node) {
857 bus = m_rt->bus;
909 struct sdw_master_runtime *m_rt;
912 list_for_each_entry(m_rt, &stream->master_list, stream_node) {
913 if (m_rt->bus == bus)
914 return m_rt;
934 struct sdw_master_runtime *m_rt;
940 m_rt = sdw_find_master_rt(bus, stream);
941 if (m_rt)
944 m_rt = kzalloc(sizeof(*m_rt), GFP_KERNEL);
945 if (!m_rt)
949 INIT_LIST_HEAD(&m_rt->port_list);
950 INIT_LIST_HEAD(&m_rt->slave_rt_list);
951 list_add_tail(&m_rt->stream_node, &stream->master_list);
953 list_add_tail(&m_rt->bus_node, &bus->m_rt_list);
956 m_rt->ch_count = stream_config->ch_count;
957 m_rt->bus = bus;
958 m_rt->stream = stream;
959 m_rt->direction = stream_config->direction;
961 return m_rt;
993 struct sdw_master_runtime *m_rt)
997 list_for_each_entry_safe(p_rt, _p_rt, &m_rt->port_list, port_node) {
1008 struct sdw_master_runtime *m_rt;
1011 list_for_each_entry(m_rt, &stream->master_list, stream_node) {
1012 list_for_each_entry(s_rt, &m_rt->slave_rt_list, m_rt_node) {
1037 struct sdw_master_runtime *m_rt;
1039 list_for_each_entry(m_rt, &stream->master_list, stream_node) {
1042 &m_rt->slave_rt_list, m_rt_node) {
1055 * @m_rt: Master runtime node
1063 static void sdw_release_master_stream(struct sdw_master_runtime *m_rt,
1068 list_for_each_entry_safe(s_rt, _s_rt, &m_rt->slave_rt_list, m_rt_node) {
1073 list_del(&m_rt->stream_node);
1074 list_del(&m_rt->bus_node);
1075 kfree(m_rt);
1089 struct sdw_master_runtime *m_rt, *_m_rt;
1093 list_for_each_entry_safe(m_rt, _m_rt,
1095 if (m_rt->bus != bus)
1098 sdw_master_port_release(bus, m_rt);
1099 sdw_release_master_stream(m_rt, stream);
1210 struct sdw_master_runtime *m_rt,
1228 list_add_tail(&p_rt->port_node, &m_rt->port_list);
1284 struct sdw_master_runtime *m_rt;
1301 m_rt = sdw_alloc_master_rt(bus, stream_config, stream);
1302 if (!m_rt) {
1314 ret = sdw_master_port_config(bus, m_rt, port_config, num_ports);
1323 sdw_release_master_stream(m_rt, stream);
1350 struct sdw_master_runtime *m_rt;
1356 * If this API is invoked by Slave first then m_rt is not valid.
1357 * So, allocate m_rt and add Slave to it.
1359 m_rt = sdw_alloc_master_rt(slave->bus, stream_config, stream);
1360 if (!m_rt) {
1389 list_add_tail(&s_rt->m_rt_node, &m_rt->slave_rt_list);
1409 sdw_release_master_stream(m_rt, stream);
1452 * Acquire bus_lock for each of the master runtime(m_rt) part of this
1459 struct sdw_master_runtime *m_rt;
1463 list_for_each_entry(m_rt, &stream->master_list, stream_node) {
1464 bus = m_rt->bus;
1481 struct sdw_master_runtime *m_rt = NULL;
1485 list_for_each_entry_reverse(m_rt, &stream->master_list, stream_node) {
1486 bus = m_rt->bus;
1494 struct sdw_master_runtime *m_rt;
1501 list_for_each_entry(m_rt, &stream->master_list, stream_node) {
1502 bus = m_rt->bus;
1517 bus->params.bandwidth += m_rt->stream->params.rate *
1518 m_rt->ch_count * m_rt->stream->params.bps;
1550 list_for_each_entry(m_rt, &stream->master_list, stream_node) {
1551 bus = m_rt->bus;
1554 ret = sdw_prep_deprep_ports(m_rt, true);
1623 struct sdw_master_runtime *m_rt;
1628 list_for_each_entry(m_rt, &stream->master_list, stream_node) {
1629 bus = m_rt->bus;
1639 ret = sdw_enable_disable_ports(m_rt, true);
1698 struct sdw_master_runtime *m_rt;
1701 list_for_each_entry(m_rt, &stream->master_list, stream_node) {
1702 struct sdw_bus *bus = m_rt->bus;
1705 ret = sdw_enable_disable_ports(m_rt, false);
1713 list_for_each_entry(m_rt, &stream->master_list, stream_node) {
1714 struct sdw_bus *bus = m_rt->bus;
1731 list_for_each_entry(m_rt, &stream->master_list, stream_node) {
1732 struct sdw_bus *bus = m_rt->bus;
1735 ret = sdw_enable_disable_ports(m_rt, false);
1780 struct sdw_master_runtime *m_rt;
1784 list_for_each_entry(m_rt, &stream->master_list, stream_node) {
1785 bus = m_rt->bus;
1787 ret = sdw_prep_deprep_ports(m_rt, false);
1795 bus->params.bandwidth -= m_rt->stream->params.rate *
1796 m_rt->ch_count * m_rt->stream->params.bps;