Lines Matching refs:ch
30 void scmi_get_channel(scmi_channel_t *ch) in scmi_get_channel() argument
32 assert(ch->lock); in scmi_get_channel()
33 scmi_lock_get(ch->lock); in scmi_get_channel()
37 ((mailbox_mem_t *)(ch->info->scmi_mbx_mem))->status)); in scmi_get_channel()
43 void scmi_send_sync_command(scmi_channel_t *ch) in scmi_send_sync_command() argument
45 mailbox_mem_t *mbx_mem = (mailbox_mem_t *)(ch->info->scmi_mbx_mem); in scmi_send_sync_command()
56 ch->info->ring_doorbell(ch->info); in scmi_send_sync_command()
65 if (ch->info->delay != 0) in scmi_send_sync_command()
66 udelay(ch->info->delay); in scmi_send_sync_command()
80 void scmi_put_channel(scmi_channel_t *ch) in scmi_put_channel() argument
84 ((mailbox_mem_t *)(ch->info->scmi_mbx_mem))->status)); in scmi_put_channel()
86 assert(ch->lock); in scmi_put_channel()
87 scmi_lock_release(ch->lock); in scmi_put_channel()
98 scmi_channel_t *ch = (scmi_channel_t *)p; in scmi_proto_version() local
100 validate_scmi_channel(ch); in scmi_proto_version()
102 scmi_get_channel(ch); in scmi_proto_version()
104 mbx_mem = (mailbox_mem_t *)(ch->info->scmi_mbx_mem); in scmi_proto_version()
110 scmi_send_sync_command(ch); in scmi_proto_version()
117 scmi_put_channel(ch); in scmi_proto_version()
131 scmi_channel_t *ch = (scmi_channel_t *)p; in scmi_proto_msg_attr() local
133 validate_scmi_channel(ch); in scmi_proto_msg_attr()
135 scmi_get_channel(ch); in scmi_proto_msg_attr()
137 mbx_mem = (mailbox_mem_t *)(ch->info->scmi_mbx_mem); in scmi_proto_msg_attr()
144 scmi_send_sync_command(ch); in scmi_proto_msg_attr()
151 scmi_put_channel(ch); in scmi_proto_msg_attr()
160 void *scmi_init(scmi_channel_t *ch) in scmi_init() argument
165 assert(ch && ch->info); in scmi_init()
166 assert(ch->info->db_reg_addr); in scmi_init()
167 assert(ch->info->db_modify_mask); in scmi_init()
168 assert(ch->info->db_preserve_mask); in scmi_init()
169 assert(ch->info->ring_doorbell != NULL); in scmi_init()
171 assert(ch->lock); in scmi_init()
173 scmi_lock_init(ch->lock); in scmi_init()
175 ch->is_initialized = 1; in scmi_init()
177 ret = scmi_proto_version(ch, SCMI_PWR_DMN_PROTO_ID, &version); in scmi_init()
191 ret = scmi_proto_version(ch, SCMI_SYS_PWR_PROTO_ID, &version); in scmi_init()
208 return (void *)ch; in scmi_init()
211 ch->is_initialized = 0; in scmi_init()