The new vkms virtual display code is atomic so there is no need to call drm_helper_disable_unused_functions() when it is enabled. Doing so can result in a segfault. When the driver switched from the old virtual display code to the new atomic virtual display code, it was missed that we enable virtual display unconditionally under SR-IOV so the checks here missed that case. Add the missing check for SR-IOV.
There is no equivalent of this patch for Linus' tree because the relevant code no longer exists. This patch is only relevant to kernels 5.15 and 5.16.
Fixes: 84ec374bd580 ("drm/amdgpu: create amdgpu_vkms (v4)") Signed-off-by: Alex Deucher alexander.deucher@amd.com Cc: stable@vger.kernel.org # 5.15.x Cc: hgoffin@amazon.com --- drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c index cd0acbea75da..d58ab9deb028 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c @@ -341,7 +341,8 @@ int amdgpu_fbdev_init(struct amdgpu_device *adev) }
/* disable all the possible outputs/crtcs before entering KMS mode */ - if (!amdgpu_device_has_dc_support(adev) && !amdgpu_virtual_display) + if (!amdgpu_device_has_dc_support(adev) && !amdgpu_virtual_display && + !amdgpu_sriov_vf(adev)) drm_helper_disable_unused_functions(adev_to_drm(adev));
drm_fb_helper_initial_config(&rfbdev->helper, bpp_sel);
On Tue, Jul 19, 2022 at 2:57 PM Alex Deucher alexander.deucher@amd.com wrote:
The new vkms virtual display code is atomic so there is no need to call drm_helper_disable_unused_functions() when it is enabled. Doing so can result in a segfault. When the driver switched from the old virtual display code to the new atomic virtual display code, it was missed that we enable virtual display unconditionally under SR-IOV so the checks here missed that case. Add the missing check for SR-IOV.
There is no equivalent of this patch for Linus' tree because the relevant code no longer exists. This patch is only relevant to kernels 5.15 and 5.16.
Fixes: 84ec374bd580 ("drm/amdgpu: create amdgpu_vkms (v4)") Signed-off-by: Alex Deucher alexander.deucher@amd.com Cc: stable@vger.kernel.org # 5.15.x Cc: hgoffin@amazon.com
Hi Greg,
Is there any chance this can get applied? It fixes a regression on 5.15 and 5.16.
Thanks,
Alex
drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c index cd0acbea75da..d58ab9deb028 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c @@ -341,7 +341,8 @@ int amdgpu_fbdev_init(struct amdgpu_device *adev) }
/* disable all the possible outputs/crtcs before entering KMS mode */
if (!amdgpu_device_has_dc_support(adev) && !amdgpu_virtual_display)
if (!amdgpu_device_has_dc_support(adev) && !amdgpu_virtual_display &&
!amdgpu_sriov_vf(adev)) drm_helper_disable_unused_functions(adev_to_drm(adev)); drm_fb_helper_initial_config(&rfbdev->helper, bpp_sel);
-- 2.35.3
On Wed, Aug 10, 2022 at 11:28:18AM -0400, Alex Deucher wrote:
On Tue, Jul 19, 2022 at 2:57 PM Alex Deucher alexander.deucher@amd.com wrote:
The new vkms virtual display code is atomic so there is no need to call drm_helper_disable_unused_functions() when it is enabled. Doing so can result in a segfault. When the driver switched from the old virtual display code to the new atomic virtual display code, it was missed that we enable virtual display unconditionally under SR-IOV so the checks here missed that case. Add the missing check for SR-IOV.
There is no equivalent of this patch for Linus' tree because the relevant code no longer exists. This patch is only relevant to kernels 5.15 and 5.16.
Fixes: 84ec374bd580 ("drm/amdgpu: create amdgpu_vkms (v4)") Signed-off-by: Alex Deucher alexander.deucher@amd.com Cc: stable@vger.kernel.org # 5.15.x Cc: hgoffin@amazon.com
Hi Greg,
Is there any chance this can get applied? It fixes a regression on 5.15 and 5.16.
Ah, missed this as it was not obvious that this was a not-upstream commit at all, sorry.
I'll dig it out of lore.kernel.org and queue it up for the next round of releases, but note, this is our "busy time" with many patches marked for stable.
Oh and 5.16 is long end-of-life, nothing anyone can do there, and no one should be using that kernel version anymore, so no issues there.
thanks,
greg k-h
On Wed, Aug 10, 2022 at 11:38 AM Greg KH gregkh@linuxfoundation.org wrote:
On Wed, Aug 10, 2022 at 11:28:18AM -0400, Alex Deucher wrote:
On Tue, Jul 19, 2022 at 2:57 PM Alex Deucher alexander.deucher@amd.com wrote:
The new vkms virtual display code is atomic so there is no need to call drm_helper_disable_unused_functions() when it is enabled. Doing so can result in a segfault. When the driver switched from the old virtual display code to the new atomic virtual display code, it was missed that we enable virtual display unconditionally under SR-IOV so the checks here missed that case. Add the missing check for SR-IOV.
There is no equivalent of this patch for Linus' tree because the relevant code no longer exists. This patch is only relevant to kernels 5.15 and 5.16.
Fixes: 84ec374bd580 ("drm/amdgpu: create amdgpu_vkms (v4)") Signed-off-by: Alex Deucher alexander.deucher@amd.com Cc: stable@vger.kernel.org # 5.15.x Cc: hgoffin@amazon.com
Hi Greg,
Is there any chance this can get applied? It fixes a regression on 5.15 and 5.16.
Ah, missed this as it was not obvious that this was a not-upstream commit at all, sorry.
I'll dig it out of lore.kernel.org and queue it up for the next round of releases, but note, this is our "busy time" with many patches marked for stable.
Oh and 5.16 is long end-of-life, nothing anyone can do there, and no one should be using that kernel version anymore, so no issues there.
Thanks Greg. Much appreciated.
Alex
thanks,
greg k-h
On Wed, Aug 10, 2022 at 11:39:39AM -0400, Alex Deucher wrote:
On Wed, Aug 10, 2022 at 11:38 AM Greg KH gregkh@linuxfoundation.org wrote:
On Wed, Aug 10, 2022 at 11:28:18AM -0400, Alex Deucher wrote:
On Tue, Jul 19, 2022 at 2:57 PM Alex Deucher alexander.deucher@amd.com wrote:
The new vkms virtual display code is atomic so there is no need to call drm_helper_disable_unused_functions() when it is enabled. Doing so can result in a segfault. When the driver switched from the old virtual display code to the new atomic virtual display code, it was missed that we enable virtual display unconditionally under SR-IOV so the checks here missed that case. Add the missing check for SR-IOV.
There is no equivalent of this patch for Linus' tree because the relevant code no longer exists. This patch is only relevant to kernels 5.15 and 5.16.
Fixes: 84ec374bd580 ("drm/amdgpu: create amdgpu_vkms (v4)") Signed-off-by: Alex Deucher alexander.deucher@amd.com Cc: stable@vger.kernel.org # 5.15.x Cc: hgoffin@amazon.com
Hi Greg,
Is there any chance this can get applied? It fixes a regression on 5.15 and 5.16.
Ah, missed this as it was not obvious that this was a not-upstream commit at all, sorry.
I'll dig it out of lore.kernel.org and queue it up for the next round of releases, but note, this is our "busy time" with many patches marked for stable.
Oh and 5.16 is long end-of-life, nothing anyone can do there, and no one should be using that kernel version anymore, so no issues there.
Thanks Greg. Much appreciated.
Sorry for the delay, now queued up.
greg k-h
linux-stable-mirror@lists.linaro.org