• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/staging/dream/qdsp5/

Lines Matching refs:module

32 #include <linux/module.h>
103 static int rpc_adsp_rtos_app_to_modem(uint32_t cmd, uint32_t module,
118 rpc_req.module = cpu_to_be32(module);
156 if (adsp_info.module[mod_idx].id == id)
209 * queue offsets and module entries (init info) as part of the event.
235 rpc_req.module = 0;
247 struct msm_adsp_module *module;
266 module = find_adsp_module_by_name(&adsp_info, name);
267 if (!module)
270 mutex_lock(&module->lock);
271 pr_info("adsp: opening module %s\n", module->name);
272 if (module->open_count++ == 0 && module->clk)
273 clk_enable(module->clk);
282 if (module->ops) {
287 rc = adsp_rpc_init(module);
291 module->ops = ops;
292 module->driver_data = driver_data;
293 *out = module;
295 module->id, module);
297 module->ops = NULL;
298 module->driver_data = NULL;
304 pr_info("adsp: module %s has been registered\n", module->name);
312 if (rc && --module->open_count == 0 && module->clk)
313 clk_disable(module->clk);
315 mutex_unlock(&module->lock);
320 static int msm_adsp_disable_locked(struct msm_adsp_module *module);
322 void msm_adsp_put(struct msm_adsp_module *module)
326 mutex_lock(&module->lock);
327 if (--module->open_count == 0 && module->clk)
328 clk_disable(module->clk);
329 if (module->ops) {
330 pr_info("adsp: closing module %s\n", module->name);
336 module->ops = NULL;
337 module->driver_data = NULL;
340 if (module->state != ADSP_STATE_DISABLED) {
341 pr_info("adsp: disabling module %s\n", module->name);
342 msm_adsp_disable_locked(module);
345 msm_rpc_close(module->rpc_client);
346 module->rpc_client = 0;
353 pr_info("adsp: module %s is already closed\n", module->name);
355 mutex_unlock(&module->lock);
381 int __msm_adsp_write(struct msm_adsp_module *module, unsigned dsp_queue_addr,
391 struct adsp_info *info = module->info;
395 if (module->state != ADSP_STATE_ENABLED) {
397 pr_err("adsp: module %s not enabled before write\n",
398 module->name);
401 if (adsp_validate_module(module->id)) {
403 pr_info("adsp: module id validation failed %s %d\n",
404 module->name, module->id);
525 module->num_commands++;
533 int msm_adsp_write(struct msm_adsp_module *module, unsigned dsp_queue_addr,
538 rc = __msm_adsp_write(module, dsp_queue_addr, cmd_buf, cmd_size);
544 module->name, retries, rc);
561 dptr[1] = be32_to_cpu(pkt_ptr->module);
571 dptr[1] = be32_to_cpu(sptr->module);
585 struct msm_adsp_module *module;
592 module_id = be32_to_cpu(pkt_ptr->module);
654 module_id = be32_to_cpu(args->module);
658 pr_info("adsp: rpc event=%d, proc_id=%d, module=%d, image=%d\n",
661 module = find_adsp_module_by_id(&adsp_info, module_id);
662 if (!module) {
663 pr_err("adsp: module %d is not supported!\n", module_id);
669 mutex_lock(&module->lock);
672 pr_info("adsp: module %s: READY\n", module->name);
673 module->state = ADSP_STATE_ENABLED;
674 wake_up(&module->state_wait);
675 adsp_set_image(module->info, image);
678 pr_info("adsp: module %s: DISABLED\n", module->name);
679 module->state = ADSP_STATE_DISABLED;
680 wake_up(&module->state_wait);
683 pr_info("adsp: module %s: SERVICE_RESET\n", module->name);
684 module->state = ADSP_STATE_DISABLED;
685 wake_up(&module->state_wait);
688 pr_info("adsp: module %s: CMD_SUCCESS\n", module->name);
691 pr_info("adsp: module %s: CMD_FAIL\n", module->name);
695 pr_info("adsp: module %s: DISABLE_FAIL\n", module->name);
702 mutex_unlock(&module->lock);
707 mutex_unlock(&module->lock);
710 module->ops->event(module->driver_data, EVENT_MSG_ID,
807 struct msm_adsp_module *module;
837 module = find_adsp_module_by_id(info,
840 if (!module) {
841 pr_err("adsp: no module for task id %d\n", rtos_task_id);
845 module->num_events++;
847 if (!module->ops) {
848 pr_err("adsp: module %s is not open\n", module->name);
852 module->ops->event(module->driver_data, msg_id, msg_length, func);
954 int adsp_set_clkrate(struct msm_adsp_module *module, unsigned long clk_rate)
956 if (module->clk && clk_rate)
957 return clk_set_rate(module->clk, clk_rate);
962 int msm_adsp_enable(struct msm_adsp_module *module)
967 module->name, module->state, module->id);
969 mutex_lock(&module->lock);
970 switch (module->state) {
973 module->id, module);
976 module->state = ADSP_STATE_ENABLING;
977 mutex_unlock(&module->lock);
978 rc = wait_event_timeout(module->state_wait,
979 module->state != ADSP_STATE_ENABLING,
981 mutex_lock(&module->lock);
982 if (module->state == ADSP_STATE_ENABLED) {
985 pr_err("adsp: module '%s' enable timed out\n",
986 module->name);
991 pr_warning("adsp: module '%s' enable in progress\n",
992 module->name);
995 pr_warning("adsp: module '%s' already enabled\n",
996 module->name);
999 pr_err("adsp: module '%s' disable in progress\n",
1000 module->name);
1004 mutex_unlock(&module->lock);
1009 static int msm_adsp_disable_locked(struct msm_adsp_module *module)
1013 switch (module->state) {
1015 pr_warning("adsp: module '%s' already disabled\n",
1016 module->name);
1021 module->id, module);
1022 module->state = ADSP_STATE_DISABLED;
1027 int msm_adsp_disable(struct msm_adsp_module *module)
1030 pr_info("msm_adsp_disable() '%s'\n", module->name);
1031 mutex_lock(&module->lock);
1032 rc = msm_adsp_disable_locked(module);
1033 mutex_unlock(&module->lock);
1107 mod->name = adsp_info.module[i].name;
1108 mod->id = adsp_info.module[i].id;
1109 if (adsp_info.module[i].clk_name)
1110 mod->clk = clk_get(NULL, adsp_info.module[i].clk_name);
1113 if (mod->clk && adsp_info.module[i].clk_rate)
1114 clk_set_rate(mod->clk, adsp_info.module[i].clk_rate);
1115 mod->verify_cmd = adsp_info.module[i].verify_cmd;
1116 mod->patch_event = adsp_info.module[i].patch_event;
1118 mod->pdev.name = adsp_info.module[i].pdev_name;