linux/drivers/gpu/drm
Xiaomeng Hou ae07970a06 drm/amd/pm: add support for hwmon control of slow and fast PPT limit on vangogh
Implement hwmon API for reading/setting slow and fast PPT limit.

APU power is managed to system-level requirements through the PPT
(package power tracking) feature. PPT is intended to limit power to the
requirements of the power source and could be dynamically updated to
maximize APU performance within the system power budget.

Here FAST_PPT_LIMIT manages the ~10 ms moving average of APU power,
while SLOW_PPT_LIMIT manages the configurable, thermally significant
moving average of APU power (default ~5000 ms).

User could read slow/fast ppt limit using command "cat power*_cap" or
"sensors" in the hwmon device directory. User could adjust values of
slow/fast ppt limit as needed depending on workloads through command
"echo ## > power*_cap".

Example:
$ echo 15000000 > power1_cap
$ echo 18000000 > power2_cap
$ sensors
amdgpu-pci-0300
Adapter: PCI adapter
slowPPT:     9.04W (cap = 15.00 W)
fastPPT:     9.04W (cap = 18.00 W)

v2: align with existing interfaces for the getting/setting of PPT
    limits. Encode the upper 8 bits of limit value to distinguish
    slow and fast power limit type.

Signed-off-by: Xiaomeng Hou <Xiaomeng.Hou@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-09 15:29:28 -05:00
..
amd drm/amd/pm: add support for hwmon control of slow and fast PPT limit on vangogh 2021-02-09 15:29:28 -05:00
arc
arm
armada
aspeed
ast
atmel-hlcdc
bochs
bridge
etnaviv
exynos
fsl-dcu
gma500 drm/gma500/mdfld_intel_display: Demote three kernel-doc formatting abuses 2021-01-18 15:51:51 +01:00
hisilicon drm/hisilicon/hibmc: Remove hibmc_ttm.c 2021-01-15 10:06:00 +01:00
i2c
i810
i915 - WARN if plane src coords are too big (Ville) 2021-02-04 12:57:28 +10:00
imx
ingenic
kmb
lib
lima
mcde
mediatek Mediatek DRM Next for Linux 5.12 2021-02-05 09:25:26 +10:00
meson
mga drm/mga/mga_ioc32: Fix some formatting issues in 'mga_compat_ioctl's header 2021-01-18 15:41:12 +01:00
mgag200
msm - HDCP 2.2 and HDCP 1.4 Gen12 DP MST support (Anshuman) 2021-01-29 17:05:15 +10:00
mxsfb
nouveau drm/nouveau/kms: handle mDP connectors 2021-01-29 16:49:15 +10:00
omapdrm
panel drm/panel: panel-simple: add bus-format and connector-type to Innolux n116bge 2021-01-18 13:12:20 +01:00
panfrost drm/panfrost: Use delayed timer as default in devfreq profile 2021-01-13 15:38:27 +00:00
pl111
qxl
r128 drm/r128/r128_ioc32: Fix formatting issues in 'r128_compat_ioctl()'s header 2021-01-18 15:41:04 +01:00
radeon Linux 5.11-rc5 2021-01-25 14:35:44 +10:00
rcar-du
rockchip
savage
scheduler drm/sched: Cancel and flush all outstanding jobs before finish. 2021-01-19 10:22:35 +01:00
selftests
shmobile
sis
sti
stm
sun4i drm/sun4i: tcon: fix inverted DCLK polarity 2021-01-14 12:37:28 +01:00
tdfx
tegra drm/tegra: Fix reference leak when pm_runtime_get_sync() fails 2021-01-15 17:24:51 +01:00
tidss
tilcdc
tiny
ttm Linux 5.11-rc5 2021-01-25 14:35:44 +10:00
tve200
udl
v3d
vboxvideo
vc4 Linux 5.11-rc5 2021-01-25 14:35:44 +10:00
vgem
via
virtio
vkms drm/vkms: Fix missing kmalloc allocation failure check 2021-01-15 17:45:07 -03:00
vmwgfx drm/vmwgfx: Always evict vram _before_ disabling it 2021-01-18 14:15:20 +01:00
xen
xlnx
zte
drm_agpsupport.c drm: Upcast struct drm_device.dev to struct pci_device; replace pdev 2021-01-19 09:06:38 +01:00
drm_atomic.c
drm_atomic_helper.c Linux 5.11-rc5 2021-01-25 14:35:44 +10:00
drm_atomic_state_helper.c
drm_atomic_uapi.c
drm_auth.c
drm_blend.c
drm_bridge.c
drm_bridge_connector.c
drm_bufs.c drm: Upcast struct drm_device.dev to struct pci_device; replace pdev 2021-01-19 09:06:38 +01:00
drm_cache.c drm: Include <linux/mem_encrypt.h> in drm_cache.c 2021-01-14 09:42:31 +01:00
drm_client.c
drm_client_modeset.c
drm_color_mgmt.c
drm_connector.c
drm_context.c
drm_crtc.c
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h
drm_damage_helper.c
drm_debugfs.c
drm_debugfs_crc.c
drm_dma.c
drm_dp_aux_dev.c
drm_dp_cec.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c - HDCP 2.2 and HDCP 1.4 Gen12 DP MST support (Anshuman) 2021-01-29 17:05:15 +10:00
drm_dp_mst_topology.c - WARN if plane src coords are too big (Ville) 2021-02-04 12:57:28 +10:00
drm_dp_mst_topology_internal.h
drm_drv.c drm: Unamp the entire device address space on device unplug 2021-01-19 10:22:14 +01:00
drm_dsc.c
drm_dumb_buffers.c
drm_edid.c drm: Upcast struct drm_device.dev to struct pci_device; replace pdev 2021-01-19 09:06:38 +01:00
drm_edid_load.c
drm_encoder.c
drm_encoder_slave.c
drm_fb_cma_helper.c
drm_fb_helper.c
drm_file.c drm: Move struct drm_device.hose to legacy section 2021-01-13 14:22:37 +01:00
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c
drm_framebuffer.c
drm_gem.c drm: Set vm_ops to GEM object's values during mmap 2021-01-18 10:37:26 +01:00
drm_gem_cma_helper.c
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c
drm_gem_ttm_helper.c
drm_gem_vram_helper.c drm/vram-helper: Reuse existing page mappings in vmap 2021-01-19 15:37:14 +01:00
drm_hashtab.c
drm_hdcp.c
drm_internal.h
drm_ioc32.c
drm_ioctl.c
drm_irq.c drm: Upcast struct drm_device.dev to struct pci_device; replace pdev 2021-01-19 09:06:38 +01:00
drm_kms_helper_common.c
drm_lease.c
drm_legacy.h drm: Merge CONFIG_DRM_VM into CONFIG_DRM_LEGACY 2021-01-13 14:22:37 +01:00
drm_legacy_misc.c
drm_lock.c
drm_managed.c
drm_memory.c drm: Implement drm_need_swiotlb() in drm_cache.c 2021-01-13 14:22:29 +01:00
drm_mipi_dbi.c
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c
drm_mode_object.c
drm_modes.c drm/modes: Switch to 64bit maths to avoid integer overflow 2021-01-14 19:37:53 +02:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c
drm_panel.c
drm_panel_orientation_quirks.c
drm_pci.c drm: Upcast struct drm_device.dev to struct pci_device; replace pdev 2021-01-19 09:06:38 +01:00
drm_plane.c Linux 5.11-rc5 2021-01-25 14:35:44 +10:00
drm_plane_helper.c
drm_prime.c drm: Set vm_ops to GEM object's values during mmap 2021-01-18 10:37:26 +01:00
drm_print.c
drm_probe_helper.c
drm_property.c
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_syncobj.c drm/syncobj: Fix use-after-free 2021-01-20 10:28:39 +01:00
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c drm/vblank: Fix typo in docs 2021-01-14 15:47:45 +01:00
drm_vblank_work.c
drm_vm.c drm: Upcast struct drm_device.dev to struct pci_device; replace pdev 2021-01-19 09:06:38 +01:00
drm_vma_manager.c
drm_writeback.c
Kconfig drm: Merge CONFIG_DRM_VM into CONFIG_DRM_LEGACY 2021-01-13 14:22:37 +01:00
Makefile drm: Merge CONFIG_DRM_VM into CONFIG_DRM_LEGACY 2021-01-13 14:22:37 +01:00