Lines Matching refs:data

111 static void imx_set_panic_temp(struct imx_thermal_data *data,  in imx_set_panic_temp()  argument
114 struct regmap *map = data->tempmon; in imx_set_panic_temp()
117 critical_value = (data->c2 - panic_temp) / data->c1; in imx_set_panic_temp()
123 static void imx_set_alarm_temp(struct imx_thermal_data *data, in imx_set_alarm_temp() argument
126 struct regmap *map = data->tempmon; in imx_set_alarm_temp()
129 data->alarm_temp = alarm_temp; in imx_set_alarm_temp()
130 alarm_value = (data->c2 - alarm_temp) / data->c1; in imx_set_alarm_temp()
138 struct imx_thermal_data *data = tz->devdata; in imx_get_temp() local
139 struct regmap *map = data->tempmon; in imx_get_temp()
144 if (data->mode == THERMAL_DEVICE_ENABLED) { in imx_get_temp()
169 if (data->mode != THERMAL_DEVICE_ENABLED) { in imx_get_temp()
182 *temp = data->c2 - n_meas * data->c1; in imx_get_temp()
185 if (data->socdata->version == TEMPMON_IMX6Q) { in imx_get_temp()
186 if (data->alarm_temp == data->temp_passive && in imx_get_temp()
187 *temp >= data->temp_passive) in imx_get_temp()
188 imx_set_alarm_temp(data, data->temp_critical); in imx_get_temp()
189 if (data->alarm_temp == data->temp_critical && in imx_get_temp()
190 *temp < data->temp_passive) { in imx_get_temp()
191 imx_set_alarm_temp(data, data->temp_passive); in imx_get_temp()
193 data->alarm_temp / 1000); in imx_get_temp()
197 if (*temp != data->last_temp) { in imx_get_temp()
199 data->last_temp = *temp; in imx_get_temp()
203 if (!data->irq_enabled && *temp < data->alarm_temp) { in imx_get_temp()
204 data->irq_enabled = true; in imx_get_temp()
205 enable_irq(data->irq); in imx_get_temp()
214 struct imx_thermal_data *data = tz->devdata; in imx_get_mode() local
216 *mode = data->mode; in imx_get_mode()
224 struct imx_thermal_data *data = tz->devdata; in imx_set_mode() local
225 struct regmap *map = data->tempmon; in imx_set_mode()
234 if (!data->irq_enabled) { in imx_set_mode()
235 data->irq_enabled = true; in imx_set_mode()
236 enable_irq(data->irq); in imx_set_mode()
245 if (data->irq_enabled) { in imx_set_mode()
246 disable_irq(data->irq); in imx_set_mode()
247 data->irq_enabled = false; in imx_set_mode()
251 data->mode = mode; in imx_set_mode()
268 struct imx_thermal_data *data = tz->devdata; in imx_get_crit_temp() local
270 *temp = data->temp_critical; in imx_get_crit_temp()
277 struct imx_thermal_data *data = tz->devdata; in imx_get_trip_temp() local
279 *temp = (trip == IMX_TRIP_PASSIVE) ? data->temp_passive : in imx_get_trip_temp()
280 data->temp_critical; in imx_get_trip_temp()
287 struct imx_thermal_data *data = tz->devdata; in imx_set_trip_temp() local
295 data->temp_passive = temp; in imx_set_trip_temp()
297 imx_set_alarm_temp(data, temp); in imx_set_trip_temp()
350 struct imx_thermal_data *data = platform_get_drvdata(pdev); in imx_get_sensor_data() local
404 data->c1 = temp64; in imx_get_sensor_data()
405 data->c2 = n1 * data->c1 + 1000 * t1; in imx_get_sensor_data()
411 data->temp_passive = IMX_TEMP_PASSIVE; in imx_get_sensor_data()
417 data->temp_critical = 1000 * 20 + data->temp_passive; in imx_get_sensor_data()
424 struct imx_thermal_data *data = dev; in imx_thermal_alarm_irq() local
427 data->irq_enabled = false; in imx_thermal_alarm_irq()
434 struct imx_thermal_data *data = dev; in imx_thermal_alarm_irq_thread() local
436 dev_dbg(&data->tz->device, "THERMAL ALARM: T > %lu\n", in imx_thermal_alarm_irq_thread()
437 data->alarm_temp / 1000); in imx_thermal_alarm_irq_thread()
439 thermal_zone_device_update(data->tz); in imx_thermal_alarm_irq_thread()
445 { .compatible = "fsl,imx6q-tempmon", .data = &thermal_imx6q_data, },
446 { .compatible = "fsl,imx6sx-tempmon", .data = &thermal_imx6sx_data, },
455 struct imx_thermal_data *data; in imx_thermal_probe() local
460 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); in imx_thermal_probe()
461 if (!data) in imx_thermal_probe()
470 data->tempmon = map; in imx_thermal_probe()
472 data->socdata = of_id->data; in imx_thermal_probe()
475 if (data->socdata->version == TEMPMON_IMX6SX) { in imx_thermal_probe()
486 data->irq = platform_get_irq(pdev, 0); in imx_thermal_probe()
487 if (data->irq < 0) in imx_thermal_probe()
488 return data->irq; in imx_thermal_probe()
490 ret = devm_request_threaded_irq(&pdev->dev, data->irq, in imx_thermal_probe()
492 0, "imx_thermal", data); in imx_thermal_probe()
498 platform_set_drvdata(pdev, data); in imx_thermal_probe()
513 data->cdev = cpufreq_cooling_register(cpu_present_mask); in imx_thermal_probe()
514 if (IS_ERR(data->cdev)) { in imx_thermal_probe()
515 ret = PTR_ERR(data->cdev); in imx_thermal_probe()
523 data->thermal_clk = devm_clk_get(&pdev->dev, NULL); in imx_thermal_probe()
524 if (IS_ERR(data->thermal_clk)) { in imx_thermal_probe()
525 ret = PTR_ERR(data->thermal_clk); in imx_thermal_probe()
529 cpufreq_cooling_unregister(data->cdev); in imx_thermal_probe()
540 ret = clk_prepare_enable(data->thermal_clk); in imx_thermal_probe()
543 cpufreq_cooling_unregister(data->cdev); in imx_thermal_probe()
547 data->tz = thermal_zone_device_register("imx_thermal_zone", in imx_thermal_probe()
549 BIT(IMX_TRIP_PASSIVE), data, in imx_thermal_probe()
553 if (IS_ERR(data->tz)) { in imx_thermal_probe()
554 ret = PTR_ERR(data->tz); in imx_thermal_probe()
557 clk_disable_unprepare(data->thermal_clk); in imx_thermal_probe()
558 cpufreq_cooling_unregister(data->cdev); in imx_thermal_probe()
566 imx_set_alarm_temp(data, data->temp_passive); in imx_thermal_probe()
568 if (data->socdata->version == TEMPMON_IMX6SX) in imx_thermal_probe()
569 imx_set_panic_temp(data, data->temp_critical); in imx_thermal_probe()
574 data->irq_enabled = true; in imx_thermal_probe()
575 data->mode = THERMAL_DEVICE_ENABLED; in imx_thermal_probe()
582 struct imx_thermal_data *data = platform_get_drvdata(pdev); in imx_thermal_remove() local
583 struct regmap *map = data->tempmon; in imx_thermal_remove()
587 if (!IS_ERR(data->thermal_clk)) in imx_thermal_remove()
588 clk_disable_unprepare(data->thermal_clk); in imx_thermal_remove()
590 thermal_zone_device_unregister(data->tz); in imx_thermal_remove()
591 cpufreq_cooling_unregister(data->cdev); in imx_thermal_remove()
599 struct imx_thermal_data *data = dev_get_drvdata(dev); in imx_thermal_suspend() local
600 struct regmap *map = data->tempmon; in imx_thermal_suspend()
610 data->mode = THERMAL_DEVICE_DISABLED; in imx_thermal_suspend()
611 clk_disable_unprepare(data->thermal_clk); in imx_thermal_suspend()
618 struct imx_thermal_data *data = dev_get_drvdata(dev); in imx_thermal_resume() local
619 struct regmap *map = data->tempmon; in imx_thermal_resume()
621 clk_prepare_enable(data->thermal_clk); in imx_thermal_resume()
625 data->mode = THERMAL_DEVICE_ENABLED; in imx_thermal_resume()