Lines Matching refs:m_rt
265 static int sdw_program_port_params(struct sdw_master_runtime *m_rt) in sdw_program_port_params() argument
268 struct sdw_bus *bus = m_rt->bus; in sdw_program_port_params()
273 list_for_each_entry(s_rt, &m_rt->slave_rt_list, m_rt_node) { in sdw_program_port_params()
282 list_for_each_entry(p_rt, &m_rt->port_list, port_node) { in sdw_program_port_params()
333 static int sdw_enable_disable_master_ports(struct sdw_master_runtime *m_rt, in sdw_enable_disable_master_ports() argument
338 struct sdw_bus *bus = m_rt->bus; in sdw_enable_disable_master_ports()
374 static int sdw_enable_disable_ports(struct sdw_master_runtime *m_rt, bool en) in sdw_enable_disable_ports() argument
381 list_for_each_entry(s_rt, &m_rt->slave_rt_list, m_rt_node) { in sdw_enable_disable_ports()
383 ret = sdw_enable_disable_slave_ports(m_rt->bus, s_rt, in sdw_enable_disable_ports()
391 list_for_each_entry(m_port, &m_rt->port_list, port_node) { in sdw_enable_disable_ports()
392 ret = sdw_enable_disable_master_ports(m_rt, m_port, en); in sdw_enable_disable_ports()
507 static int sdw_prep_deprep_master_ports(struct sdw_master_runtime *m_rt, in sdw_prep_deprep_master_ports() argument
512 struct sdw_bus *bus = m_rt->bus; in sdw_prep_deprep_master_ports()
542 static int sdw_prep_deprep_ports(struct sdw_master_runtime *m_rt, bool prep) in sdw_prep_deprep_ports() argument
549 list_for_each_entry(s_rt, &m_rt->slave_rt_list, m_rt_node) { in sdw_prep_deprep_ports()
551 ret = sdw_prep_deprep_slave_ports(m_rt->bus, s_rt, in sdw_prep_deprep_ports()
559 list_for_each_entry(p_rt, &m_rt->port_list, port_node) { in sdw_prep_deprep_ports()
560 ret = sdw_prep_deprep_master_ports(m_rt, p_rt, prep); in sdw_prep_deprep_ports()
576 static int sdw_notify_config(struct sdw_master_runtime *m_rt) in sdw_notify_config() argument
579 struct sdw_bus *bus = m_rt->bus; in sdw_notify_config()
589 list_for_each_entry(s_rt, &m_rt->slave_rt_list, m_rt_node) { in sdw_notify_config()
614 struct sdw_master_runtime *m_rt; in sdw_program_params() local
617 list_for_each_entry(m_rt, &bus->m_rt_list, bus_node) { in sdw_program_params()
626 m_rt->stream->state == SDW_STREAM_CONFIGURED) in sdw_program_params()
629 ret = sdw_program_port_params(m_rt); in sdw_program_params()
636 ret = sdw_notify_config(m_rt); in sdw_program_params()
644 if (m_rt->stream->state != SDW_STREAM_ENABLED) in sdw_program_params()
647 ret = sdw_enable_disable_ports(m_rt, true); in sdw_program_params()
762 struct sdw_master_runtime *m_rt; in do_bank_switch() local
771 list_for_each_entry(m_rt, &stream->master_list, stream_node) { in do_bank_switch()
772 bus = m_rt->bus; in do_bank_switch()
809 list_for_each_entry(m_rt, &stream->master_list, stream_node) { in do_bank_switch()
810 bus = m_rt->bus; in do_bank_switch()
847 list_for_each_entry(m_rt, &stream->master_list, stream_node) { in do_bank_switch()
848 bus = m_rt->bus; in do_bank_switch()
858 list_for_each_entry(m_rt, &stream->master_list, stream_node) { in do_bank_switch()
859 bus = m_rt->bus; in do_bank_switch()
911 struct sdw_master_runtime *m_rt; in sdw_find_master_rt() local
914 list_for_each_entry(m_rt, &stream->master_list, stream_node) { in sdw_find_master_rt()
915 if (m_rt->bus == bus) in sdw_find_master_rt()
916 return m_rt; in sdw_find_master_rt()
936 struct sdw_master_runtime *m_rt; in sdw_alloc_master_rt() local
942 m_rt = sdw_find_master_rt(bus, stream); in sdw_alloc_master_rt()
943 if (m_rt) in sdw_alloc_master_rt()
946 m_rt = kzalloc(sizeof(*m_rt), GFP_KERNEL); in sdw_alloc_master_rt()
947 if (!m_rt) in sdw_alloc_master_rt()
951 INIT_LIST_HEAD(&m_rt->port_list); in sdw_alloc_master_rt()
952 INIT_LIST_HEAD(&m_rt->slave_rt_list); in sdw_alloc_master_rt()
953 list_add_tail(&m_rt->stream_node, &stream->master_list); in sdw_alloc_master_rt()
955 list_add_tail(&m_rt->bus_node, &bus->m_rt_list); in sdw_alloc_master_rt()
958 m_rt->ch_count = stream_config->ch_count; in sdw_alloc_master_rt()
959 m_rt->bus = bus; in sdw_alloc_master_rt()
960 m_rt->stream = stream; in sdw_alloc_master_rt()
961 m_rt->direction = stream_config->direction; in sdw_alloc_master_rt()
963 return m_rt; in sdw_alloc_master_rt()
995 struct sdw_master_runtime *m_rt) in sdw_master_port_release() argument
999 list_for_each_entry_safe(p_rt, _p_rt, &m_rt->port_list, port_node) { in sdw_master_port_release()
1010 struct sdw_master_runtime *m_rt; in sdw_slave_port_release() local
1013 list_for_each_entry(m_rt, &stream->master_list, stream_node) { in sdw_slave_port_release()
1014 list_for_each_entry(s_rt, &m_rt->slave_rt_list, m_rt_node) { in sdw_slave_port_release()
1039 struct sdw_master_runtime *m_rt; in sdw_release_slave_stream() local
1041 list_for_each_entry(m_rt, &stream->master_list, stream_node) { in sdw_release_slave_stream()
1044 &m_rt->slave_rt_list, m_rt_node) { in sdw_release_slave_stream()
1065 static void sdw_release_master_stream(struct sdw_master_runtime *m_rt, in sdw_release_master_stream() argument
1070 list_for_each_entry_safe(s_rt, _s_rt, &m_rt->slave_rt_list, m_rt_node) { in sdw_release_master_stream()
1075 list_del(&m_rt->stream_node); in sdw_release_master_stream()
1076 list_del(&m_rt->bus_node); in sdw_release_master_stream()
1077 kfree(m_rt); in sdw_release_master_stream()
1091 struct sdw_master_runtime *m_rt, *_m_rt; in sdw_stream_remove_master() local
1095 list_for_each_entry_safe(m_rt, _m_rt, in sdw_stream_remove_master()
1097 if (m_rt->bus != bus) in sdw_stream_remove_master()
1100 sdw_master_port_release(bus, m_rt); in sdw_stream_remove_master()
1101 sdw_release_master_stream(m_rt, stream); in sdw_stream_remove_master()
1212 struct sdw_master_runtime *m_rt, in sdw_master_port_config() argument
1230 list_add_tail(&p_rt->port_node, &m_rt->port_list); in sdw_master_port_config()
1286 struct sdw_master_runtime *m_rt; in sdw_stream_add_master() local
1303 m_rt = sdw_alloc_master_rt(bus, stream_config, stream); in sdw_stream_add_master()
1304 if (!m_rt) { in sdw_stream_add_master()
1316 ret = sdw_master_port_config(bus, m_rt, port_config, num_ports); in sdw_stream_add_master()
1325 sdw_release_master_stream(m_rt, stream); in sdw_stream_add_master()
1352 struct sdw_master_runtime *m_rt; in sdw_stream_add_slave() local
1361 m_rt = sdw_alloc_master_rt(slave->bus, stream_config, stream); in sdw_stream_add_slave()
1362 if (!m_rt) { in sdw_stream_add_slave()
1391 list_add_tail(&s_rt->m_rt_node, &m_rt->slave_rt_list); in sdw_stream_add_slave()
1411 sdw_release_master_stream(m_rt, stream); in sdw_stream_add_slave()
1461 struct sdw_master_runtime *m_rt; in sdw_acquire_bus_lock() local
1465 list_for_each_entry(m_rt, &stream->master_list, stream_node) { in sdw_acquire_bus_lock()
1466 bus = m_rt->bus; in sdw_acquire_bus_lock()
1483 struct sdw_master_runtime *m_rt; in sdw_release_bus_lock() local
1487 list_for_each_entry_reverse(m_rt, &stream->master_list, stream_node) { in sdw_release_bus_lock()
1488 bus = m_rt->bus; in sdw_release_bus_lock()
1496 struct sdw_master_runtime *m_rt; in _sdw_prepare_stream() local
1503 list_for_each_entry(m_rt, &stream->master_list, stream_node) { in _sdw_prepare_stream()
1504 bus = m_rt->bus; in _sdw_prepare_stream()
1519 bus->params.bandwidth += m_rt->stream->params.rate * in _sdw_prepare_stream()
1520 m_rt->ch_count * m_rt->stream->params.bps; in _sdw_prepare_stream()
1552 list_for_each_entry(m_rt, &stream->master_list, stream_node) { in _sdw_prepare_stream()
1553 bus = m_rt->bus; in _sdw_prepare_stream()
1556 ret = sdw_prep_deprep_ports(m_rt, true); in _sdw_prepare_stream()
1625 struct sdw_master_runtime *m_rt; in _sdw_enable_stream() local
1630 list_for_each_entry(m_rt, &stream->master_list, stream_node) { in _sdw_enable_stream()
1631 bus = m_rt->bus; in _sdw_enable_stream()
1641 ret = sdw_enable_disable_ports(m_rt, true); in _sdw_enable_stream()
1700 struct sdw_master_runtime *m_rt; in _sdw_disable_stream() local
1703 list_for_each_entry(m_rt, &stream->master_list, stream_node) { in _sdw_disable_stream()
1704 struct sdw_bus *bus = m_rt->bus; in _sdw_disable_stream()
1707 ret = sdw_enable_disable_ports(m_rt, false); in _sdw_disable_stream()
1715 list_for_each_entry(m_rt, &stream->master_list, stream_node) { in _sdw_disable_stream()
1716 struct sdw_bus *bus = m_rt->bus; in _sdw_disable_stream()
1733 list_for_each_entry(m_rt, &stream->master_list, stream_node) { in _sdw_disable_stream()
1734 struct sdw_bus *bus = m_rt->bus; in _sdw_disable_stream()
1737 ret = sdw_enable_disable_ports(m_rt, false); in _sdw_disable_stream()
1782 struct sdw_master_runtime *m_rt; in _sdw_deprepare_stream() local
1786 list_for_each_entry(m_rt, &stream->master_list, stream_node) { in _sdw_deprepare_stream()
1787 bus = m_rt->bus; in _sdw_deprepare_stream()
1789 ret = sdw_prep_deprep_ports(m_rt, false); in _sdw_deprepare_stream()
1797 bus->params.bandwidth -= m_rt->stream->params.rate * in _sdw_deprepare_stream()
1798 m_rt->ch_count * m_rt->stream->params.bps; in _sdw_deprepare_stream()