Lines Matching refs:info

71 static inline u32 tegra_rtc_check_busy(struct tegra_rtc_info *info)  in tegra_rtc_check_busy()  argument
73 return readl(info->rtc_base + TEGRA_RTC_REG_BUSY) & 1; in tegra_rtc_check_busy()
87 struct tegra_rtc_info *info = dev_get_drvdata(dev); in tegra_rtc_wait_while_busy() local
93 while (tegra_rtc_check_busy(info)) { in tegra_rtc_wait_while_busy()
109 struct tegra_rtc_info *info = dev_get_drvdata(dev); in tegra_rtc_read_time() local
115 spin_lock_irqsave(&info->tegra_rtc_lock, sl_irq_flags); in tegra_rtc_read_time()
117 msec = readl(info->rtc_base + TEGRA_RTC_REG_MILLI_SECONDS); in tegra_rtc_read_time()
118 sec = readl(info->rtc_base + TEGRA_RTC_REG_SHADOW_SECONDS); in tegra_rtc_read_time()
120 spin_unlock_irqrestore(&info->tegra_rtc_lock, sl_irq_flags); in tegra_rtc_read_time()
139 struct tegra_rtc_info *info = dev_get_drvdata(dev); in tegra_rtc_set_time() local
163 writel(sec, info->rtc_base + TEGRA_RTC_REG_SECONDS); in tegra_rtc_set_time()
166 readl(info->rtc_base + TEGRA_RTC_REG_SECONDS)); in tegra_rtc_set_time()
173 struct tegra_rtc_info *info = dev_get_drvdata(dev); in tegra_rtc_read_alarm() local
177 sec = readl(info->rtc_base + TEGRA_RTC_REG_SECONDS_ALARM0); in tegra_rtc_read_alarm()
194 tmp = readl(info->rtc_base + TEGRA_RTC_REG_INTR_STATUS); in tegra_rtc_read_alarm()
202 struct tegra_rtc_info *info = dev_get_drvdata(dev); in tegra_rtc_alarm_irq_enable() local
207 spin_lock_irqsave(&info->tegra_rtc_lock, sl_irq_flags); in tegra_rtc_alarm_irq_enable()
210 status = readl(info->rtc_base + TEGRA_RTC_REG_INTR_MASK); in tegra_rtc_alarm_irq_enable()
216 writel(status, info->rtc_base + TEGRA_RTC_REG_INTR_MASK); in tegra_rtc_alarm_irq_enable()
218 spin_unlock_irqrestore(&info->tegra_rtc_lock, sl_irq_flags); in tegra_rtc_alarm_irq_enable()
225 struct tegra_rtc_info *info = dev_get_drvdata(dev); in tegra_rtc_set_alarm() local
234 writel(sec, info->rtc_base + TEGRA_RTC_REG_SECONDS_ALARM0); in tegra_rtc_set_alarm()
236 readl(info->rtc_base + TEGRA_RTC_REG_SECONDS_ALARM0)); in tegra_rtc_set_alarm()
272 struct tegra_rtc_info *info = dev_get_drvdata(dev); in tegra_rtc_irq_handler() local
277 status = readl(info->rtc_base + TEGRA_RTC_REG_INTR_STATUS); in tegra_rtc_irq_handler()
281 spin_lock_irqsave(&info->tegra_rtc_lock, sl_irq_flags); in tegra_rtc_irq_handler()
282 writel(0, info->rtc_base + TEGRA_RTC_REG_INTR_MASK); in tegra_rtc_irq_handler()
283 writel(status, info->rtc_base + TEGRA_RTC_REG_INTR_STATUS); in tegra_rtc_irq_handler()
284 spin_unlock_irqrestore(&info->tegra_rtc_lock, sl_irq_flags); in tegra_rtc_irq_handler()
295 rtc_update_irq(info->rtc_dev, 1, events); in tegra_rtc_irq_handler()
317 struct tegra_rtc_info *info; in tegra_rtc_probe() local
321 info = devm_kzalloc(&pdev->dev, sizeof(struct tegra_rtc_info), in tegra_rtc_probe()
323 if (!info) in tegra_rtc_probe()
327 info->rtc_base = devm_ioremap_resource(&pdev->dev, res); in tegra_rtc_probe()
328 if (IS_ERR(info->rtc_base)) in tegra_rtc_probe()
329 return PTR_ERR(info->rtc_base); in tegra_rtc_probe()
331 info->tegra_rtc_irq = platform_get_irq(pdev, 0); in tegra_rtc_probe()
332 if (info->tegra_rtc_irq <= 0) in tegra_rtc_probe()
336 info->pdev = pdev; in tegra_rtc_probe()
337 spin_lock_init(&info->tegra_rtc_lock); in tegra_rtc_probe()
339 platform_set_drvdata(pdev, info); in tegra_rtc_probe()
342 writel(0, info->rtc_base + TEGRA_RTC_REG_SECONDS_ALARM0); in tegra_rtc_probe()
343 writel(0xffffffff, info->rtc_base + TEGRA_RTC_REG_INTR_STATUS); in tegra_rtc_probe()
344 writel(0, info->rtc_base + TEGRA_RTC_REG_INTR_MASK); in tegra_rtc_probe()
348 info->rtc_dev = devm_rtc_device_register(&pdev->dev, in tegra_rtc_probe()
351 if (IS_ERR(info->rtc_dev)) { in tegra_rtc_probe()
352 ret = PTR_ERR(info->rtc_dev); in tegra_rtc_probe()
358 ret = devm_request_irq(&pdev->dev, info->tegra_rtc_irq, in tegra_rtc_probe()
376 struct tegra_rtc_info *info = dev_get_drvdata(dev); in tegra_rtc_suspend() local
381 writel(0xffffffff, info->rtc_base + TEGRA_RTC_REG_INTR_STATUS); in tegra_rtc_suspend()
383 info->rtc_base + TEGRA_RTC_REG_INTR_MASK); in tegra_rtc_suspend()
386 readl(info->rtc_base + TEGRA_RTC_REG_SECONDS_ALARM0)); in tegra_rtc_suspend()
389 device_may_wakeup(dev), info->tegra_rtc_irq); in tegra_rtc_suspend()
393 enable_irq_wake(info->tegra_rtc_irq); in tegra_rtc_suspend()
400 struct tegra_rtc_info *info = dev_get_drvdata(dev); in tegra_rtc_resume() local
406 disable_irq_wake(info->tegra_rtc_irq); in tegra_rtc_resume()