Lines Matching refs:ddat

58 	struct hwm_drvdata ddat;  member
68 hwm_locked_with_pm_intel_uncore_rmw(struct hwm_drvdata *ddat, in hwm_locked_with_pm_intel_uncore_rmw() argument
71 struct i915_hwmon *hwmon = ddat->hwmon; in hwm_locked_with_pm_intel_uncore_rmw()
72 struct intel_uncore *uncore = ddat->uncore; in hwm_locked_with_pm_intel_uncore_rmw()
90 hwm_field_read_and_scale(struct hwm_drvdata *ddat, i915_reg_t rgadr, in hwm_field_read_and_scale() argument
93 struct intel_uncore *uncore = ddat->uncore; in hwm_field_read_and_scale()
126 hwm_energy(struct hwm_drvdata *ddat, long *energy) in hwm_energy() argument
128 struct intel_uncore *uncore = ddat->uncore; in hwm_energy()
129 struct i915_hwmon *hwmon = ddat->hwmon; in hwm_energy()
130 struct hwm_energy_info *ei = &ddat->ei; in hwm_energy()
135 if (ddat->gt_n >= 0) in hwm_energy()
161 struct hwm_drvdata *ddat = dev_get_drvdata(dev); in hwm_power1_max_interval_show() local
162 struct i915_hwmon *hwmon = ddat->hwmon; in hwm_power1_max_interval_show()
167 with_intel_runtime_pm(ddat->uncore->rpm, wakeref) in hwm_power1_max_interval_show()
168 r = intel_uncore_read(ddat->uncore, hwmon->rg.pkg_rapl_limit); in hwm_power1_max_interval_show()
192 struct hwm_drvdata *ddat = dev_get_drvdata(dev); in hwm_power1_max_interval_store() local
193 struct i915_hwmon *hwmon = ddat->hwmon; in hwm_power1_max_interval_store()
237 hwm_locked_with_pm_intel_uncore_rmw(ddat, hwmon->rg.pkg_rapl_limit, in hwm_power1_max_interval_store()
255 struct hwm_drvdata *ddat = dev_get_drvdata(dev); in hwm_attributes_visible() local
256 struct i915_hwmon *hwmon = ddat->hwmon; in hwm_attributes_visible()
305 hwm_in_is_visible(const struct hwm_drvdata *ddat, u32 attr) in hwm_in_is_visible() argument
307 struct drm_i915_private *i915 = ddat->uncore->i915; in hwm_in_is_visible()
318 hwm_in_read(struct hwm_drvdata *ddat, u32 attr, long *val) in hwm_in_read() argument
320 struct i915_hwmon *hwmon = ddat->hwmon; in hwm_in_read()
326 with_intel_runtime_pm(ddat->uncore->rpm, wakeref) in hwm_in_read()
327 reg_value = intel_uncore_read(ddat->uncore, hwmon->rg.gt_perf_status); in hwm_in_read()
337 hwm_power_is_visible(const struct hwm_drvdata *ddat, u32 attr, int chan) in hwm_power_is_visible() argument
339 struct drm_i915_private *i915 = ddat->uncore->i915; in hwm_power_is_visible()
340 struct i915_hwmon *hwmon = ddat->hwmon; in hwm_power_is_visible()
365 hwm_power_max_read(struct hwm_drvdata *ddat, long *val) in hwm_power_max_read() argument
367 struct i915_hwmon *hwmon = ddat->hwmon; in hwm_power_max_read()
372 with_intel_runtime_pm(ddat->uncore->rpm, wakeref) in hwm_power_max_read()
373 r = intel_uncore_read(ddat->uncore, hwmon->rg.pkg_rapl_limit); in hwm_power_max_read()
379 *val = hwm_field_read_and_scale(ddat, in hwm_power_max_read()
385 with_intel_runtime_pm(ddat->uncore->rpm, wakeref) in hwm_power_max_read()
386 r = intel_uncore_read64(ddat->uncore, hwmon->rg.pkg_power_sku); in hwm_power_max_read()
399 hwm_power_max_write(struct hwm_drvdata *ddat, long val) in hwm_power_max_write() argument
401 struct i915_hwmon *hwmon = ddat->hwmon; in hwm_power_max_write()
409 wakeref = intel_runtime_pm_get(ddat->uncore->rpm); in hwm_power_max_write()
412 prepare_to_wait(&ddat->waitq, &wait, TASK_INTERRUPTIBLE); in hwm_power_max_write()
414 if (!hwmon->ddat.reset_in_progress) in hwm_power_max_write()
423 intel_runtime_pm_put(ddat->uncore->rpm, wakeref); in hwm_power_max_write()
427 finish_wait(&ddat->waitq, &wait); in hwm_power_max_write()
433 intel_uncore_rmw(ddat->uncore, hwmon->rg.pkg_rapl_limit, in hwm_power_max_write()
435 nval = intel_uncore_read(ddat->uncore, hwmon->rg.pkg_rapl_limit); in hwm_power_max_write()
446 intel_uncore_rmw(ddat->uncore, hwmon->rg.pkg_rapl_limit, in hwm_power_max_write()
450 intel_runtime_pm_put(ddat->uncore->rpm, wakeref); in hwm_power_max_write()
455 hwm_power_read(struct hwm_drvdata *ddat, u32 attr, int chan, long *val) in hwm_power_read() argument
457 struct i915_hwmon *hwmon = ddat->hwmon; in hwm_power_read()
463 return hwm_power_max_read(ddat, val); in hwm_power_read()
465 *val = hwm_field_read_and_scale(ddat, in hwm_power_read()
472 ret = hwm_pcode_read_i1(ddat->uncore->i915, &uval); in hwm_power_read()
486 hwm_power_write(struct hwm_drvdata *ddat, u32 attr, int chan, long val) in hwm_power_write() argument
492 return hwm_power_max_write(ddat, val); in hwm_power_write()
495 return hwm_pcode_write_i1(ddat->uncore->i915, uval); in hwm_power_write()
511 hwmon->ddat.reset_in_progress = true; in i915_hwmon_power_max_disable()
512 r = intel_uncore_rmw(hwmon->ddat.uncore, hwmon->rg.pkg_rapl_limit, in i915_hwmon_power_max_disable()
528 intel_uncore_rmw(hwmon->ddat.uncore, hwmon->rg.pkg_rapl_limit, in i915_hwmon_power_max_restore()
530 hwmon->ddat.reset_in_progress = false; in i915_hwmon_power_max_restore()
531 wake_up_all(&hwmon->ddat.waitq); in i915_hwmon_power_max_restore()
537 hwm_energy_is_visible(const struct hwm_drvdata *ddat, u32 attr) in hwm_energy_is_visible() argument
539 struct i915_hwmon *hwmon = ddat->hwmon; in hwm_energy_is_visible()
544 if (ddat->gt_n >= 0) in hwm_energy_is_visible()
555 hwm_energy_read(struct hwm_drvdata *ddat, u32 attr, long *val) in hwm_energy_read() argument
559 hwm_energy(ddat, val); in hwm_energy_read()
567 hwm_curr_is_visible(const struct hwm_drvdata *ddat, u32 attr) in hwm_curr_is_visible() argument
569 struct drm_i915_private *i915 = ddat->uncore->i915; in hwm_curr_is_visible()
582 hwm_curr_read(struct hwm_drvdata *ddat, u32 attr, long *val) in hwm_curr_read() argument
589 ret = hwm_pcode_read_i1(ddat->uncore->i915, &uval); in hwm_curr_read()
603 hwm_curr_write(struct hwm_drvdata *ddat, u32 attr, long val) in hwm_curr_write() argument
610 return hwm_pcode_write_i1(ddat->uncore->i915, uval); in hwm_curr_write()
620 struct hwm_drvdata *ddat = (struct hwm_drvdata *)drvdata; in hwm_is_visible() local
624 return hwm_in_is_visible(ddat, attr); in hwm_is_visible()
626 return hwm_power_is_visible(ddat, attr, channel); in hwm_is_visible()
628 return hwm_energy_is_visible(ddat, attr); in hwm_is_visible()
630 return hwm_curr_is_visible(ddat, attr); in hwm_is_visible()
640 struct hwm_drvdata *ddat = dev_get_drvdata(dev); in hwm_read() local
644 return hwm_in_read(ddat, attr, val); in hwm_read()
646 return hwm_power_read(ddat, attr, channel, val); in hwm_read()
648 return hwm_energy_read(ddat, attr, val); in hwm_read()
650 return hwm_curr_read(ddat, attr, val); in hwm_read()
660 struct hwm_drvdata *ddat = dev_get_drvdata(dev); in hwm_write() local
664 return hwm_power_write(ddat, attr, channel, val); in hwm_write()
666 return hwm_curr_write(ddat, attr, val); in hwm_write()
687 struct hwm_drvdata *ddat = (struct hwm_drvdata *)drvdata; in hwm_gt_is_visible() local
691 return hwm_energy_is_visible(ddat, attr); in hwm_gt_is_visible()
701 struct hwm_drvdata *ddat = dev_get_drvdata(dev); in hwm_gt_read() local
705 return hwm_energy_read(ddat, attr, val); in hwm_gt_read()
726 struct hwm_drvdata *ddat = &hwmon->ddat; in hwm_get_preregistration_info() local
775 hwm_energy(ddat, &energy); in hwm_get_preregistration_info()
787 struct hwm_drvdata *ddat; in i915_hwmon_register() local
802 ddat = &hwmon->ddat; in i915_hwmon_register()
804 ddat->hwmon = hwmon; in i915_hwmon_register()
805 ddat->uncore = &i915->uncore; in i915_hwmon_register()
806 snprintf(ddat->name, sizeof(ddat->name), "i915"); in i915_hwmon_register()
807 ddat->gt_n = -1; in i915_hwmon_register()
808 init_waitqueue_head(&ddat->waitq); in i915_hwmon_register()
822 hwmon_dev = hwmon_device_register_with_info(dev, ddat->name, in i915_hwmon_register()
823 ddat, in i915_hwmon_register()
829 ddat->hwmon_dev = hwmon_dev; in i915_hwmon_register()
865 if (hwmon->ddat.hwmon_dev) in i915_hwmon_unregister()
866 hwmon_device_unregister(hwmon->ddat.hwmon_dev); in i915_hwmon_unregister()