Lines Matching refs:dev

163 	ret = firmware_request_nowarn(firmware, *filename, cs35l41->dev);
165 dev_dbg(cs35l41->dev, "Failed to request '%s'\n", *filename);
272 dev_warn(cs35l41->dev, "Falling back to default firmware.\n");
291 dev_warn(cs35l41->dev, "Unable to find firmware and tuning\n");
369 dev_err(cs35l41->dev, "Cannot Write Control: %s - %d\n", CAL_AMBIENT_DSP_CTL_NAME,
376 dev_err(cs35l41->dev, "Cannot Write Control: %s - %d\n", CAL_R_DSP_CTL_NAME, ret);
382 dev_err(cs35l41->dev, "Cannot Write Control: %s - %d\n", CAL_STATUS_DSP_CTL_NAME,
389 dev_err(cs35l41->dev, "Cannot Write Control: %s - %d\n", CAL_CHECKSUM_DSP_CTL_NAME,
422 dev_dbg(cs35l41->dev, "Calibration: Size=%d, Amp Count=%d\n",
426 dev_dbg(cs35l41->dev,
445 dev_warn(cs35l41->dev, "Calibration not supported without EFI support.\n");
460 cs35l41_configure_cs_dsp(cs35l41->dev, cs35l41->regmap, dsp);
474 dev_dbg(cs35l41->dev, "Loading WMFW Firmware: %s\n", wmfw_filename);
476 dev_dbg(cs35l41->dev, "Loading Coefficient File: %s\n", coeff_filename);
478 dev_warn(cs35l41->dev, "No Coefficient File available.\n");
505 dev_dbg(cs35l41->dev, "Unloaded Firmware\n");
522 static void cs35l41_error_release(struct device *dev, struct regmap *regmap, unsigned int mask)
532 cs35l41_error_release(cs35l41->dev, cs35l41->regmap, cs35l41->irq_errors);
536 static void cs35l41_hda_play_start(struct device *dev)
538 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
541 dev_dbg(dev, "Play (Start)\n");
544 dev_dbg(dev, "Playback already started.");
556 cs35l41_set_cspl_mbox_cmd(cs35l41->dev, reg, CSPL_MBOX_CMD_RESUME);
566 static void cs35l41_hda_play_done(struct device *dev)
568 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
571 dev_dbg(dev, "Play (Complete)\n");
573 cs35l41_global_enable(dev, reg, cs35l41->hw_cfg.bst_type, 1,
584 static void cs35l41_hda_pause_start(struct device *dev)
586 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
589 dev_dbg(dev, "Pause (Start)\n");
592 cs35l41_global_enable(dev, reg, cs35l41->hw_cfg.bst_type, 0,
596 static void cs35l41_hda_pause_done(struct device *dev)
598 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
601 dev_dbg(dev, "Pause (Complete)\n");
607 cs35l41_set_cspl_mbox_cmd(dev, reg, CSPL_MBOX_CMD_PAUSE);
616 static void cs35l41_hda_pre_playback_hook(struct device *dev, int action)
618 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
623 cs35l41_hda_pause_start(dev);
630 static void cs35l41_hda_playback_hook(struct device *dev, int action)
632 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
642 pm_runtime_get_sync(dev);
646 cs35l41_hda_play_start(dev);
651 cs35l41_hda_pause_done(dev);
658 dev_info(dev, "Requesting Firmware Load after HDA_GEN_PCM_ACT_CLOSE\n");
668 pm_runtime_mark_last_busy(dev);
669 pm_runtime_put_autosuspend(dev);
676 static void cs35l41_hda_post_playback_hook(struct device *dev, int action)
678 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
683 cs35l41_hda_play_done(dev);
691 static int cs35l41_hda_channel_map(struct device *dev, unsigned int tx_num, unsigned int *tx_slot,
694 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
701 cs35l41->amp_name = devm_kasprintf(cs35l41->dev, GFP_KERNEL, "%s%d",
707 return cs35l41_set_channels(cs35l41->dev, cs35l41->regmap, tx_num, tx_slot, rx_num,
720 ret = cs35l41_exit_hibernate(cs35l41->dev, cs35l41->regmap);
722 dev_warn(cs35l41->dev, "Unable to exit Hibernate.");
727 cs35l41_test_key_unlock(cs35l41->dev, cs35l41->regmap);
729 cs35l41_test_key_lock(cs35l41->dev, cs35l41->regmap);
731 dev_err(cs35l41->dev, "Failed to restore register cache: %d\n", ret);
736 cs35l41_init_boost(cs35l41->dev, cs35l41->regmap, &cs35l41->hw_cfg);
750 static int cs35l41_system_suspend_prep(struct device *dev)
752 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
754 dev_dbg(cs35l41->dev, "System Suspend Prepare\n");
757 dev_err_once(cs35l41->dev, "System Suspend not supported\n");
763 cs35l41_hda_pause_start(dev);
769 static int cs35l41_system_suspend(struct device *dev)
771 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
774 dev_dbg(cs35l41->dev, "System Suspend\n");
777 dev_err_once(cs35l41->dev, "System Suspend not supported\n");
783 cs35l41_hda_pause_done(dev);
786 ret = pm_runtime_force_suspend(dev);
788 dev_err(dev, "System Suspend Failed, unable to runtime suspend: %d\n", ret);
796 dev_err(dev, "System Suspend Failed, not ready for Reset: %d\n", ret);
805 static int cs35l41_system_resume(struct device *dev)
807 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
810 dev_dbg(cs35l41->dev, "System Resume\n");
813 dev_err_once(cs35l41->dev, "System Resume not supported\n");
824 ret = pm_runtime_force_resume(dev);
826 dev_err(dev, "System Resume Failed: Unable to runtime resume: %d\n", ret);
841 static int cs35l41_runtime_idle(struct device *dev)
843 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
850 static int cs35l41_runtime_suspend(struct device *dev)
852 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
855 dev_dbg(cs35l41->dev, "Runtime Suspend\n");
858 dev_dbg(cs35l41->dev, "Runtime Suspend not supported\n");
865 ret = cs35l41_enter_hibernate(cs35l41->dev, cs35l41->regmap,
882 static int cs35l41_runtime_resume(struct device *dev)
884 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
887 dev_dbg(cs35l41->dev, "Runtime Resume\n");
890 dev_dbg(cs35l41->dev, "Runtime Resume not supported\n");
899 ret = cs35l41_exit_hibernate(cs35l41->dev, cs35l41->regmap);
901 dev_warn(cs35l41->dev, "Unable to exit Hibernate.");
907 cs35l41_test_key_unlock(cs35l41->dev, cs35l41->regmap);
909 cs35l41_test_key_lock(cs35l41->dev, cs35l41->regmap);
911 dev_err(cs35l41->dev, "Failed to restore register cache: %d\n", ret);
916 cs35l41_init_boost(cs35l41->dev, cs35l41->regmap, &cs35l41->hw_cfg);
931 dev_warn(cs35l41->dev, "Cannot Initialize Firmware. Error: %d\n", ret);
935 ret = cs35l41_write_fs_errata(cs35l41->dev, cs35l41->regmap);
937 dev_err(cs35l41->dev, "Cannot Write FS Errata: %d\n", ret);
943 dev_err(cs35l41->dev, "Fail to start dsp: %d\n", ret);
954 dev_err(cs35l41->dev, "Timeout waiting for HALO Core to start. State: %u\n",
959 ret = cs35l41_set_cspl_mbox_cmd(cs35l41->dev, cs35l41->regmap, CSPL_MBOX_CMD_PAUSE);
961 dev_err(cs35l41->dev, "Error waiting for DSP to pause: %u\n", ret);
977 dev_dbg(cs35l41->dev, "Unloading Firmware\n");
980 dev_dbg(cs35l41->dev, "Loading Firmware\n");
983 dev_dbg(cs35l41->dev, "Unable to Load firmware.\n");
1000 pm_runtime_get_sync(cs35l41->dev);
1006 dev_err(cs35l41->dev, "Cannot Load/Unload firmware during Playback. Retrying...\n");
1013 pm_runtime_mark_last_busy(cs35l41->dev);
1014 pm_runtime_put_autosuspend(cs35l41->dev);
1026 dev_dbg(cs35l41->dev, "Existing request not complete\n");
1032 dev_err(cs35l41->dev, "Cannot Load/Unload firmware during Playback\n");
1102 dev_err(cs35l41->dev, "Failed to add KControl %s = %d\n", fw_type_ctl.name, ret);
1106 dev_dbg(cs35l41->dev, "Added Control %s\n", fw_type_ctl.name);
1110 dev_err(cs35l41->dev, "Failed to add KControl %s = %d\n", fw_load_ctl.name, ret);
1114 dev_dbg(cs35l41->dev, "Added Control %s\n", fw_load_ctl.name);
1119 static int cs35l41_hda_bind(struct device *dev, struct device *master, void *master_data)
1121 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
1130 if (comps->dev)
1133 pm_runtime_get_sync(dev);
1137 comps->dev = dev;
1142 strscpy(comps->name, dev_name(dev), sizeof(comps->name));
1147 dev_dbg(cs35l41->dev, "Firmware Autostart.\n");
1150 dev_warn(cs35l41->dev, "Cannot Run Firmware, reverting to dsp bypass...\n");
1152 dev_dbg(cs35l41->dev, "Firmware Autostart is disabled.\n");
1164 if (!device_link_add(&comps->codec->core.dev, cs35l41->dev, DL_FLAG_STATELESS))
1165 dev_warn(dev, "Unable to create device link\n");
1168 pm_runtime_mark_last_busy(dev);
1169 pm_runtime_put_autosuspend(dev);
1171 dev_info(cs35l41->dev,
1181 static void cs35l41_hda_unbind(struct device *dev, struct device *master, void *master_data)
1183 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
1187 if (comps[cs35l41->index].dev == dev) {
1190 device_link_remove(&comps->codec->core.dev, cs35l41->dev);
1204 dev_crit_ratelimited(cs35l41->dev, "LBST Error\n");
1214 dev_crit_ratelimited(cs35l41->dev, "DCM VBST Under Voltage Error\n");
1224 dev_crit_ratelimited(cs35l41->dev, "VBST Over Voltage error\n");
1234 dev_crit_ratelimited(cs35l41->dev, "Over temperature error\n");
1244 dev_crit_ratelimited(cs35l41->dev, "Over temperature warning\n");
1254 dev_crit_ratelimited(cs35l41->dev, "Amp short error\n");
1300 ret = cs35l41_init_boost(cs35l41->dev, cs35l41->regmap, hw_cfg);
1316 dev_err(cs35l41->dev, "Invalid function %d for GPIO1\n",
1331 dev_err(cs35l41->dev, "Invalid GPIO2 function %d\n", hw_cfg->gpio2.func);
1339 ret = devm_regmap_add_irq_chip(cs35l41->dev, cs35l41->regmap, cs35l41->irq,
1350 ret = devm_request_threaded_irq(cs35l41->dev, irq, NULL,
1359 return cs35l41_hda_channel_map(cs35l41->dev, 0, NULL, 1, &hw_cfg->spk_pos);
1362 int cs35l41_get_speaker_id(struct device *dev, int amp_index, int num_amps, int fixed_gpio_id)
1368 dev_dbg(dev, "Found Fixed Speaker ID GPIO (index = %d)\n", fixed_gpio_id);
1369 speaker_id_desc = gpiod_get_index(dev, NULL, fixed_gpio_id, GPIOD_IN);
1376 dev_dbg(dev, "Speaker ID = %d\n", speaker_id);
1384 count = gpiod_count(dev, "spk-id");
1393 dev_dbg(dev, "Found %d Speaker ID GPIOs per Amp\n", gpios_per_amp);
1396 speaker_id_desc = gpiod_get_index(dev, "spk-id", i + base_index,
1410 dev_dbg(dev, "Speaker ID = %d\n", speaker_id);
1429 dev_err(cs35l41->dev, "Failed to find an ACPI device for %s\n", hid);
1443 dev_info(cs35l41->dev, "Using extra _DSD properties, bypassing _DSD in ACPI\n");
1447 property = "cirrus,dev-index";
1470 dev_err(cs35l41->dev, "No index found in %s\n", property);
1540 dev_err(cs35l41->dev, "Failed property %s: %d\n", property, ret);
1550 int cs35l41_hda_probe(struct device *dev, const char *device_name, int id, int irq,
1563 cs35l41 = devm_kzalloc(dev, sizeof(*cs35l41), GFP_KERNEL);
1567 cs35l41->dev = dev;
1570 dev_set_drvdata(dev, cs35l41);
1574 return dev_err_probe(cs35l41->dev, ret, "Platform not supported\n");
1580 dev_info(cs35l41->dev, "Reset line busy, assuming shared reset\n");
1582 dev_err_probe(cs35l41->dev, ret, "Failed to get reset GPIO\n");
1596 dev_err(cs35l41->dev, "Failed waiting for OTP_BOOT_DONE: %d\n", ret);
1602 dev_err(cs35l41->dev, "OTP Boot status %x error: %d\n",
1610 dev_err(cs35l41->dev, "Get Device ID failed: %d\n", ret);
1616 dev_err(cs35l41->dev, "Get Revision ID failed: %d\n", ret);
1624 dev_err(cs35l41->dev, "CS35L41 Device ID (%X). Expected ID %X\n", regid, chipid);
1629 ret = cs35l41_test_key_unlock(cs35l41->dev, cs35l41->regmap);
1633 ret = cs35l41_register_errata_patch(cs35l41->dev, cs35l41->regmap, reg_revid);
1637 ret = cs35l41_otp_unpack(cs35l41->dev, cs35l41->regmap);
1639 dev_err(cs35l41->dev, "OTP Unpack failed: %d\n", ret);
1643 ret = cs35l41_test_key_lock(cs35l41->dev, cs35l41->regmap);
1655 pm_runtime_set_autosuspend_delay(cs35l41->dev, 3000);
1656 pm_runtime_use_autosuspend(cs35l41->dev);
1657 pm_runtime_mark_last_busy(cs35l41->dev);
1658 pm_runtime_set_active(cs35l41->dev);
1659 pm_runtime_get_noresume(cs35l41->dev);
1660 pm_runtime_enable(cs35l41->dev);
1666 pm_runtime_put_autosuspend(cs35l41->dev);
1668 ret = component_add(cs35l41->dev, &cs35l41_hda_comp_ops);
1670 dev_err(cs35l41->dev, "Register component failed: %d\n", ret);
1674 dev_info(cs35l41->dev, "Cirrus Logic CS35L41 (%x), Revision: %02X\n", regid, reg_revid);
1679 pm_runtime_dont_use_autosuspend(cs35l41->dev);
1680 pm_runtime_disable(cs35l41->dev);
1681 pm_runtime_put_noidle(cs35l41->dev);
1693 void cs35l41_hda_remove(struct device *dev)
1695 struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
1697 pm_runtime_get_sync(cs35l41->dev);
1698 pm_runtime_dont_use_autosuspend(cs35l41->dev);
1699 pm_runtime_disable(cs35l41->dev);
1704 component_del(cs35l41->dev, &cs35l41_hda_comp_ops);
1706 pm_runtime_put_noidle(cs35l41->dev);