-
Notifications
You must be signed in to change notification settings - Fork 150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
powercap: intel_rapl: Add support for RAPTORLAKE and RAPTORLAKE_P #372
Open
6ZhangWei
wants to merge
10,000
commits into
projectacrn:master
Choose a base branch
from
6ZhangWei:zw_thermal
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This reverts commit 250195f. The job should now be initialized when we reach the parser functions. v2: merge improved application check into this patch v3: back to the original test, but use the right ring Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
drivers/gpu/drm/drm_atomic_helper.c:802: warning: expecting prototype for drm_atomic_helper_check_wb_connector_state(). Prototype was for drm_atomic_helper_check_wb_encoder_state() instead. Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=2216 Reported-by: Abaci Robot <[email protected]> Signed-off-by: Jiapeng Chong <[email protected]> Signed-off-by: Thomas Zimmermann <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Open-code drm_plane_init() and remove the function from DRM. The implementation of drm_plane_init() is a simple wrapper around a call to drm_universal_plane_init(), so drivers can just use that instead. Signed-off-by: Thomas Zimmermann <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Reviewed-by: Lyude Paul <[email protected]> # nouveau Acked-by: Jyri Sarha <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Provide drm_univeral_plane_alloc() to allocate and initialize a plane. Code for non-atomic drivers uses this pattern. Convert them to the new function. The modeset helpers contain a quirk for handling their color formats differently. Set the flag outside plane allocation. The new function is already deprecated to some extend. Drivers should rather use drmm_univeral_plane_alloc() or drm_universal_plane_init(). v2: * kerneldoc fixes (Javier) * grammar fixes in commit message Signed-off-by: Thomas Zimmermann <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Lyude Paul <[email protected]> # nouveau Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
The plane update and disable helpers are only useful for non-atomic drivers. Print a warning if an atomic driver calls them. Suggested-by: Daniel Vetter <[email protected]> Signed-off-by: Thomas Zimmermann <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Provide DRM_PLANE_NON_ATOMIC_FUNCS, which initializes plane functions of non-atomic drivers to default values. The macro is not supposed to be used in new code, but helps with documenting and finding existing users. Signed-off-by: Thomas Zimmermann <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Reviewed-by: Lyude Paul <[email protected]> # nouveau Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Add 1152x864 into support list. Signed-off-by: Jammy Huang <[email protected]> Signed-off-by: Thomas Zimmermann <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Some cases are not handled well for ast2600. Signed-off-by: Jammy Huang <[email protected]> Signed-off-by: Thomas Zimmermann <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
The implementation of strscpy() is more robust and safer. That's now the recommended way to copy NUL terminated strings. Reported-by: Zeal Robot <[email protected]> Signed-off-by: Minghao Chi <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Neil Armstrong <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Instead of using RPM speed, we will use a function from vega20 based on PWM registers. Reviewed-by: Evan Quan <[email protected]> Signed-off-by: Yury Zhuravlev <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Similar to what we did for VCN3 use the job instead of the parser entity. Cleanup the coding style quite a bit as well. v2: merge improved application check into this patch v3: finally fix the check v4: limit to the correct engine Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Allows submitting jobs as gang which needs to run on multiple engines at the same time. Basic idea is that we have a global gang submit fence representing when the gang leader is finally pushed to run on the hardware last. Jobs submitted as gang are never re-submitted in case of a GPU reset since this won't work and will just deadlock the hardware immediately again. v2: fix logic inversion, improve documentation, fix rcu Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Allows submitting jobs as gang which needs to run on multiple engines at the same time. All members of the gang get the same implicit, explicit and VM dependencies. So no gang member will start running until everything else is ready. The last job is considered the gang leader (usually a submission to the GFX ring) and used for signaling output dependencies. Each job is remembered individually as user of a buffer object, so there is no joining of work at the end. v2: rebase and fix review comments from Andrey and Yogesh v3: use READ instead of BOOKKEEP for now because of VM unmaps, set gang leader only when necessary v4: fix order of pushing jobs and adding fences found by Trigger. v5: fix job index calculation and adding IBs to jobs v6: fix typo found by Alex Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Enable 3794 pptable support for SMU13.0.0. Signed-off-by: Evan Quan <[email protected]> Acked-by: Guchun Chen <[email protected]> Reviewed-by: Lijo Lazar <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
The pptable in the vbios is fully ready. The related workarounds in driver are not needed any more. Signed-off-by: Evan Quan <[email protected]> Acked-by: Guchun Chen <[email protected]> Reviewed-by: Lijo Lazar <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
The return value is no longer initialized before the loop because of moving code around. Signed-off-by: Christian König <[email protected]> Fixes: c2b08e7 ("drm/amdgpu: move entity selection and job init earlier during CS") Reviewed-by: Guchun Chen <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Since that has now landed bump the minor to let userspace know about it. Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
…rmarksAndDRAMSpeedChangeSupport() Most of the arguments are identical between the two call sites and they can be accessed through the 'struct vba_vars_st' pointer. This reduces the total amount of stack space that dml314_ModeSupportAndSystemConfigurationFull() uses by 240 bytes with LLVM 16 (2216 -> 1976), helping clear up the following clang warning: drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn314/display_mode_vba_314.c:4020:6: error: stack frame size (2216) exceeds limit (2048) in 'dml314_ModeSupportAndSystemConfigurationFull' [-Werror,-Wframe-larger-than] void dml314_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_lib) ^ 1 error generated. Link: ClangBuiltLinux/linux#1710 Reported-by: "kernelci.org bot" <[email protected]> Tested-by: Maíra Canal <[email protected]> Signed-off-by: Nathan Chancellor <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
…Schedule() Most of the arguments are identical between the two call sites and they can be accessed through the 'struct vba_vars_st' pointer. This reduces the total amount of stack space that dml314_ModeSupportAndSystemConfigurationFull() uses by 112 bytes with LLVM 16 (1976 -> 1864), helping clear up the following clang warning: drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn314/display_mode_vba_314.c:4020:6: error: stack frame size (2216) exceeds limit (2048) in 'dml314_ModeSupportAndSystemConfigurationFull' [-Werror,-Wframe-larger-than] void dml314_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_lib) ^ 1 error generated. Link: ClangBuiltLinux/linux#1710 Reported-by: "kernelci.org bot" <[email protected]> Tested-by: Maíra Canal <[email protected]> Signed-off-by: Nathan Chancellor <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
This got lost somewhere along the way, This fixes audio not working until set_property was called. Signed-off-by: hongao <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Return the value append_vbios_pptable() directly instead of storing it in another redundant variable. Reported-by: Zeal Robot <[email protected]> Signed-off-by: ye xingchen <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Return the value atomctrl_initialize_mc_reg_table_v2_2() directly instead of storing it in another redundant variable. Reported-by: Zeal Robot <[email protected]> Signed-off-by: ye xingchen <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
If the copy of the description string from userspace fails, then the page for the instance descriptor doesn't get freed before returning -EFAULT, which leads to a memleak. Fixes: 7a7a933 ("drm/vmwgfx: Introduce VMware mks-guest-stats") Signed-off-by: Rafael Mendonca <[email protected]> Reviewed-by: Martin Krastev <[email protected]> Signed-off-by: Zack Rusin <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
The vm status_lock will be used to protect all vm status lists. Signed-off-by: Philip Yang <[email protected]> Reviewed-by: Christian König <[email protected]> Acked-by: Felix Kuehling <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Use vm_status_lock to protect all vm_status state transitions to allow them to happen without a reservation lock in unlocked page table updates. Signed-off-by: Philip Yang <[email protected]> Acked-by: Felix Kuehling <[email protected]> Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Use vm_status_lock to protect all vm_status state transitions to allow them to happen without a reservation lock in unlocked page table updates. Signed-off-by: Philip Yang <[email protected]> Acked-by: Felix Kuehling <[email protected]> Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Use vm_status_lock to protect all vm_status state transitions to allow them to happen without a reservation lock in unlocked page table updates. Signed-off-by: Philip Yang <[email protected]> Acked-by: Felix Kuehling <[email protected]> Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Use vm_status_lock to protect all vm_status state transitions to allow them to happen without a reservation lock in unlocked page table updates. Signed-off-by: Philip Yang <[email protected]> Acked-by: Felix Kuehling <[email protected]> Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Use vm_status_lock to protect all vm_status state transitions to allow them to happen without a reservation lock in unlocked page table updates. Signed-off-by: Philip Yang <[email protected]> Acked-by: Felix Kuehling <[email protected]> Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Free page table BO from vm resv unlocked context generate below warnings. Add a pt_free_work in vm to free page table BO from vm->pt_freed list. pass vm resv unlock status from page table update caller, and add vm_bo entry to vm->pt_freed list and schedule the pt_free_work if calling with vm resv unlocked. WARNING: CPU: 12 PID: 3238 at drivers/gpu/drm/ttm/ttm_bo.c:106 ttm_bo_set_bulk_move+0xa1/0xc0 Call Trace: amdgpu_vm_pt_free+0x42/0xd0 [amdgpu] amdgpu_vm_pt_free_dfs+0xb3/0xf0 [amdgpu] amdgpu_vm_ptes_update+0x52d/0x850 [amdgpu] amdgpu_vm_update_range+0x2a6/0x640 [amdgpu] svm_range_unmap_from_gpus+0x110/0x300 [amdgpu] svm_range_cpu_invalidate_pagetables+0x535/0x600 [amdgpu] __mmu_notifier_invalidate_range_start+0x1cd/0x230 unmap_vmas+0x9d/0x140 unmap_region+0xa8/0x110 Signed-off-by: Philip Yang <[email protected]> Reviewed-by: Felix Kuehling <[email protected]> Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Enable PTM for PTM_enabling test on I225 NIC Tracked-On: projectacrn/acrn-hypervisor#6544 Signed-off-by: zhongru.gu <[email protected]>
From ACRN release 2.5, hypervisor supports relocate kernel to the guest free space. So specify the kernel physical start address is not needed any more. Tracked-On: projectacrn/acrn-hypervisor#6557 Signed-off-by: pengfujx <[email protected]>
Rename Acrn kernel config name to kernel_config_uefi_service_vm. Tracked-On: projectacrn/acrn-hypervisor#6744 Signed-off-by: Liu Long <[email protected]>
The CONFIG_SERIAL_8250_NR_UARTS should be increased to at least 48, and CONFIG_SERIAL_8250_RUNTIME_UARTS should be increased to at least 32 in order to support multi port serial cards out of the box. This will cover at least the situation, where two 8 port cards are used simultaneously and there is still some room for internal ports or the other card or vUARTs. Signed-off-by: Xiangyang Wu <[email protected]>
Signed-off-by: Yifan Liu <[email protected]>
Add Intel TCC buffer driver support for ACRN service VM. Tracked-On: projectacrn/acrn-hypervisor#7010 Signed-off-by: Yonghua Huang <[email protected]>
Signed-off-by: Yifan Liu <[email protected]>
Signed-off-by: Zhao Yakui <[email protected]> Signed-off-by: Yifan Liu <[email protected]>
Enable vsock kernel config in Service VM and Guest VM. Tracked-On: projectacrn/acrn-hypervisor#7456 Signed-off-by: Liu Long <[email protected]>
Signed-off-by: Yifan Liu <[email protected]>
Description: - Added XFS support in Kernel Service VM config file Signed-off-by: Ionut Nechita <[email protected]> Change-Id: Ic76684b701ff5cf7ba90850776240eb2d77287c1
Description: - Added XFS support in Kernel User VM config file Signed-off-by: Ionut Nechita <[email protected]> Change-Id: I109ea86c3af303b3d86150d07d2d4d966e8d549d
Use 'make savedefconfig' to convert the extensive kernel configuration files to simplified ones. Signed-off-by: Geoffroy Van Cutsem <[email protected]>
Signed-off-by: Yifan Liu <[email protected]>
Signed-off-by: Yifan Liu <[email protected]>
Signed-off-by: Yifan Liu <[email protected]>
Signed-off-by: Yifan Liu <[email protected]>
This patch extends UIO PCI generic driver to support MSI-X interrupt. Tracked-On:projectacrn/acrn-hypervisor#5407 Signed-off-by: Yonghua Huang <[email protected]> Signed-off-by: Yuan Liu <[email protected]>
Signed-off-by: Yifan Liu <[email protected]>
In ACRN, the shared buffer is created to shared data between hypervisor, kernel and device model (in userpace). This buffer can be allocated and initialized by kernel or device model. Add hypercall to register shared buffer(sbuf) to ACRN hyperviosr. The 'vm_id' is used to indicate who owns this sbuf. The 'buffer' is the base address for sbuf. Signed-off-by: Conghui <[email protected]> Reviewed-by: Fei Li <[email protected]>
Asyncio is a new mechanism in ACRN, which is special for these devices which need high I/O performance. ACRN hypervisor would process the I/O request from User VM in an async mode. For this kind of I/O reqeusts, a new shared page is created by device model in userspace, and register to kernel with ioctl. ACRN hsm driver will pin the page to avoid page swapping. Use hypercall to pass the base addresses to hypervisor, so that hypervisor can put asyncio requests to this buffer. When User VM traps to hypervisor due to an IO/MMIO access, hypervisor need to distinguish it between original syncronize IO and asyncronize IO. So, the hypercalls are added to assign or deassign the aynscio info to hypervisor. In ACRN, we use the ioeventfd in vhost device. We also support the virtio device using ioveventfd for FE to NOTIFY BE. But in current implementation, when the User VM write the NOTIFY register to notify BE, it will trap to hypervisor. After the write access is finished, User VM can return. To return earlier, we provide an asyncio mode for an I/O request. For asyncio, hypervisor directly put the request in an asyncio shared buffer, and then return to User VM. To take use of this mechanism, add a new flag ACRN_IOEVENTFD_FLAG_ASYNCIO to indicate that the IO is asyncio. And use hypercall to register the asyncio info to hypervisor. When the User VM do an IO/MMIO access and traps to hypervisor, hypervisor will parse the I/O base address, and check if it was registered. If yes, hypervisor will queue the corresponding ioeventfd to the aysncio buffer, and inject an interrupt to Service VM. ACRN HSM driver in Service VM will traverse the fd list and signal the eventfd. Signed-off-by: Conghui <[email protected]> Reviewed-by: Fei Li <[email protected]>
Due to the two level schedule model in type 1 hypervisor, Service OS kernel's scheduler does not aware the running status of the User VM, which means, a thread may be schedule to a CPU which is idle in Service OS but actually running in User VM. For the ioreq dispatch workqueue, as it was in the critical path of I/O request, and ACRN hypervisor only inject the ioreq interrupt to CPU0, so migrate to other CPU is meaningless and will bring more latency. So, remove the WQ_UNBOUND flag, and let CPU0 do the dispatch directly. Signed-off-by: Conghui <[email protected]> Reviewed-by: Fei Li <[email protected]>
Signed-off-by: Conghui <[email protected]>
Add acrn hvlog back for ACRN Hypervisor debug. Signed-off-by: Fei Li <[email protected]>
Add RAPTORLAKE and RAPTORLAKE_P to the list of supported processor models in the Intel RAPL power capping driver. Signed-off-by: Zhangwei6 <[email protected]>
Can one of the admins verify this patch? |
start to run premerge test |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add RAPTORLAKE and RAPTORLAKE_P to the list of supported processor models in the Intel RAPL power capping driver.