• Home
  • Raw
  • Download

Lines Matching refs:port

714 	struct q6afe_port *port;  in q6afe_port_free()  local
718 port = container_of(ref, struct q6afe_port, refcount); in q6afe_port_free()
719 afe = port->afe; in q6afe_port_free()
721 list_del(&port->node); in q6afe_port_free()
723 kfree(port->scfg); in q6afe_port_free()
724 kfree(port); in q6afe_port_free()
750 struct q6afe_port *port; in q6afe_callback() local
767 port = q6afe_find_port(afe, hdr->token); in q6afe_callback()
768 if (port) { in q6afe_callback()
769 port->result = *res; in q6afe_callback()
770 wake_up(&port->wait); in q6afe_callback()
771 kref_put(&port->refcount, q6afe_port_free); in q6afe_callback()
812 struct q6afe_port *port) in afe_apr_send_pkt() argument
814 wait_queue_head_t *wait = &port->wait; in afe_apr_send_pkt()
819 port->result.opcode = 0; in afe_apr_send_pkt()
820 port->result.status = 0; in afe_apr_send_pkt()
829 ret = wait_event_timeout(*wait, (port->result.opcode == hdr->opcode), in afe_apr_send_pkt()
833 } else if (port->result.status > 0) { in afe_apr_send_pkt()
835 port->result.status); in afe_apr_send_pkt()
847 static int q6afe_port_set_param(struct q6afe_port *port, void *data, in q6afe_port_set_param() argument
852 struct q6afe *afe = port->afe; in q6afe_port_set_param()
854 u16 port_id = port->id; in q6afe_port_set_param()
875 pkt->hdr.token = port->token; in q6afe_port_set_param()
886 ret = afe_apr_send_pkt(afe, pkt, port); in q6afe_port_set_param()
895 static int q6afe_port_set_param_v2(struct q6afe_port *port, void *data, in q6afe_port_set_param_v2() argument
900 struct q6afe *afe = port->afe; in q6afe_port_set_param_v2()
902 u16 port_id = port->id; in q6afe_port_set_param_v2()
923 pkt->hdr.token = port->token; in q6afe_port_set_param_v2()
935 ret = afe_apr_send_pkt(afe, pkt, port); in q6afe_port_set_param_v2()
944 static int q6afe_set_lpass_clock(struct q6afe_port *port, in q6afe_set_lpass_clock() argument
947 return q6afe_port_set_param_v2(port, cfg, in q6afe_set_lpass_clock()
953 static int q6afe_set_lpass_clock_v2(struct q6afe_port *port, in q6afe_set_lpass_clock_v2() argument
956 return q6afe_port_set_param(port, cfg, AFE_PARAM_ID_CLOCK_SET, in q6afe_set_lpass_clock_v2()
960 static int q6afe_set_digital_codec_core_clock(struct q6afe_port *port, in q6afe_set_digital_codec_core_clock() argument
963 return q6afe_port_set_param_v2(port, cfg, in q6afe_set_digital_codec_core_clock()
969 int q6afe_port_set_sysclk(struct q6afe_port *port, int clk_id, in q6afe_port_set_sysclk() argument
983 ret = q6afe_set_digital_codec_core_clock(port, &dcfg); in q6afe_port_set_sysclk()
991 ret = q6afe_set_lpass_clock(port, &ccfg); in q6afe_port_set_sysclk()
1000 ret = q6afe_set_lpass_clock(port, &ccfg); in q6afe_port_set_sysclk()
1011 ret = q6afe_set_lpass_clock_v2(port, &cset); in q6afe_port_set_sysclk()
1029 int q6afe_port_stop(struct q6afe_port *port) in q6afe_port_stop() argument
1032 struct q6afe *afe = port->afe; in q6afe_port_stop()
1034 int port_id = port->id; in q6afe_port_stop()
1039 port_id = port->id; in q6afe_port_stop()
1040 index = port->token; in q6afe_port_stop()
1065 ret = afe_apr_send_pkt(afe, pkt, port); in q6afe_port_stop()
1081 void q6afe_slim_port_prepare(struct q6afe_port *port, in q6afe_slim_port_prepare() argument
1084 union afe_port_config *pcfg = &port->port_cfg; in q6afe_slim_port_prepare()
1106 void q6afe_tdm_port_prepare(struct q6afe_port *port, in q6afe_tdm_port_prepare() argument
1109 union afe_port_config *pcfg = &port->port_cfg; in q6afe_tdm_port_prepare()
1122 port->scfg = kzalloc(sizeof(*port->scfg), GFP_KERNEL); in q6afe_tdm_port_prepare()
1123 if (!port->scfg) in q6afe_tdm_port_prepare()
1126 port->scfg->minor_version = AFE_API_VERSION_SLOT_MAPPING_CONFIG; in q6afe_tdm_port_prepare()
1127 port->scfg->num_channels = cfg->num_channels; in q6afe_tdm_port_prepare()
1128 port->scfg->bitwidth = cfg->bit_width; in q6afe_tdm_port_prepare()
1129 port->scfg->data_align_type = cfg->data_align_type; in q6afe_tdm_port_prepare()
1130 memcpy(port->scfg->ch_mapping, cfg->ch_mapping, in q6afe_tdm_port_prepare()
1142 void q6afe_hdmi_port_prepare(struct q6afe_port *port, in q6afe_hdmi_port_prepare() argument
1145 union afe_port_config *pcfg = &port->port_cfg; in q6afe_hdmi_port_prepare()
1163 int q6afe_i2s_port_prepare(struct q6afe_port *port, struct q6afe_i2s_cfg *cfg) in q6afe_i2s_port_prepare() argument
1165 union afe_port_config *pcfg = &port->port_cfg; in q6afe_i2s_port_prepare()
1166 struct device *dev = port->afe->dev; in q6afe_i2s_port_prepare()
1306 int q6afe_port_start(struct q6afe_port *port) in q6afe_port_start() argument
1309 struct q6afe *afe = port->afe; in q6afe_port_start()
1310 int port_id = port->id; in q6afe_port_start()
1311 int ret, param_id = port->cfg_type; in q6afe_port_start()
1316 ret = q6afe_port_set_param_v2(port, &port->port_cfg, param_id, in q6afe_port_start()
1318 sizeof(port->port_cfg)); in q6afe_port_start()
1325 if (port->scfg) { in q6afe_port_start()
1326 ret = q6afe_port_set_param_v2(port, port->scfg, in q6afe_port_start()
1328 AFE_MODULE_TDM, sizeof(*port->scfg)); in q6afe_port_start()
1350 pkt->hdr.token = port->token; in q6afe_port_start()
1355 ret = afe_apr_send_pkt(afe, pkt, port); in q6afe_port_start()
1378 struct q6afe_port *port; in q6afe_port_get_from_id() local
1388 port = q6afe_find_port(afe, id); in q6afe_port_get_from_id()
1389 if (port) { in q6afe_port_get_from_id()
1391 return port; in q6afe_port_get_from_id()
1437 port = kzalloc(sizeof(*port), GFP_KERNEL); in q6afe_port_get_from_id()
1438 if (!port) in q6afe_port_get_from_id()
1441 init_waitqueue_head(&port->wait); in q6afe_port_get_from_id()
1443 port->token = id; in q6afe_port_get_from_id()
1444 port->id = port_id; in q6afe_port_get_from_id()
1445 port->afe = afe; in q6afe_port_get_from_id()
1446 port->cfg_type = cfg_type; in q6afe_port_get_from_id()
1447 kref_init(&port->refcount); in q6afe_port_get_from_id()
1450 list_add_tail(&port->node, &afe->port_list); in q6afe_port_get_from_id()
1453 return port; in q6afe_port_get_from_id()
1463 void q6afe_port_put(struct q6afe_port *port) in q6afe_port_put() argument
1465 kref_put(&port->refcount, q6afe_port_free); in q6afe_port_put()