Lines Matching refs:hda
188 static void hda_tegra_init(struct hda_tegra *hda) in hda_tegra_init() argument
193 v = readl(hda->regs + HDA_IPFS_CONFIG); in hda_tegra_init()
195 writel(v, hda->regs + HDA_IPFS_CONFIG); in hda_tegra_init()
198 v = readl(hda->regs + HDA_CFG_CMD); in hda_tegra_init()
202 writel(v, hda->regs + HDA_CFG_CMD); in hda_tegra_init()
204 writel(HDA_BAR0_INIT_PROGRAM, hda->regs + HDA_CFG_BAR0); in hda_tegra_init()
205 writel(HDA_BAR0_FINAL_PROGRAM, hda->regs + HDA_CFG_BAR0); in hda_tegra_init()
206 writel(HDA_FPCI_BAR0_START, hda->regs + HDA_IPFS_FPCI_BAR0); in hda_tegra_init()
208 v = readl(hda->regs + HDA_IPFS_INTR_MASK); in hda_tegra_init()
210 writel(v, hda->regs + HDA_IPFS_INTR_MASK); in hda_tegra_init()
251 struct hda_tegra *hda = container_of(chip, struct hda_tegra, chip); in hda_tegra_suspend() local
257 hda_tegra_disable_clocks(hda); in hda_tegra_suspend()
266 struct hda_tegra *hda = container_of(chip, struct hda_tegra, chip); in hda_tegra_resume() local
268 hda_tegra_enable_clocks(hda); in hda_tegra_resume()
270 hda_tegra_init(hda); in hda_tegra_resume()
298 struct hda_tegra *hda = container_of(chip, struct hda_tegra, chip); in hda_tegra_dev_free() local
300 cancel_work_sync(&hda->probe_work); in hda_tegra_dev_free()
315 struct hda_tegra *hda = container_of(chip, struct hda_tegra, chip); in hda_tegra_init_chip() local
317 struct device *dev = hda->dev; in hda_tegra_init_chip()
321 hda->hda_clk = devm_clk_get(dev, "hda"); in hda_tegra_init_chip()
322 if (IS_ERR(hda->hda_clk)) { in hda_tegra_init_chip()
324 return PTR_ERR(hda->hda_clk); in hda_tegra_init_chip()
326 hda->hda2codec_2x_clk = devm_clk_get(dev, "hda2codec_2x"); in hda_tegra_init_chip()
327 if (IS_ERR(hda->hda2codec_2x_clk)) { in hda_tegra_init_chip()
329 return PTR_ERR(hda->hda2codec_2x_clk); in hda_tegra_init_chip()
331 hda->hda2hdmi_clk = devm_clk_get(dev, "hda2hdmi"); in hda_tegra_init_chip()
332 if (IS_ERR(hda->hda2hdmi_clk)) { in hda_tegra_init_chip()
334 return PTR_ERR(hda->hda2hdmi_clk); in hda_tegra_init_chip()
338 hda->regs = devm_ioremap_resource(dev, res); in hda_tegra_init_chip()
339 if (IS_ERR(hda->regs)) in hda_tegra_init_chip()
340 return PTR_ERR(hda->regs); in hda_tegra_init_chip()
342 bus->remap_addr = hda->regs + HDA_BAR0; in hda_tegra_init_chip()
345 err = hda_tegra_enable_clocks(hda); in hda_tegra_init_chip()
351 hda_tegra_init(hda); in hda_tegra_init_chip()
437 struct hda_tegra *hda) in hda_tegra_create() argument
446 chip = &hda->chip; in hda_tegra_create()
461 INIT_WORK(&hda->probe_work, hda_tegra_probe_work); in hda_tegra_create()
488 struct hda_tegra *hda; in hda_tegra_probe() local
491 hda = devm_kzalloc(&pdev->dev, sizeof(*hda), GFP_KERNEL); in hda_tegra_probe()
492 if (!hda) in hda_tegra_probe()
494 hda->dev = &pdev->dev; in hda_tegra_probe()
495 chip = &hda->chip; in hda_tegra_probe()
504 err = hda_tegra_create(card, driver_flags, hda); in hda_tegra_probe()
510 schedule_work(&hda->probe_work); in hda_tegra_probe()
521 struct hda_tegra *hda = container_of(work, struct hda_tegra, probe_work); in hda_tegra_probe_work() local
522 struct azx *chip = &hda->chip; in hda_tegra_probe_work()
523 struct platform_device *pdev = to_platform_device(hda->dev); in hda_tegra_probe_work()