Patch "drm/amdgpu/gmc11: implement get_vbios_fb_size()" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/amdgpu/gmc11: implement get_vbios_fb_size()

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-amdgpu-gmc11-implement-get_vbios_fb_size.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From 68518294d00da6a2433357af75a63abc6030676e Mon Sep 17 00:00:00 2001
From: Alex Deucher <alexander.deucher@xxxxxxx>
Date: Thu, 11 May 2023 10:40:03 -0400
Subject: drm/amdgpu/gmc11: implement get_vbios_fb_size()

From: Alex Deucher <alexander.deucher@xxxxxxx>

commit 68518294d00da6a2433357af75a63abc6030676e upstream.

Implement get_vbios_fb_size() so we can properly reserve
the vbios splash screen to avoid potential artifacts on the
screen during the transition from the pre-OS console to the
OS console.

Acked-by: Sunil Khatri <sunil.khatri@xxxxxxx>
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # 6.1.x
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c |   21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

--- a/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c
@@ -31,6 +31,8 @@
 #include "umc_v8_10.h"
 #include "athub/athub_3_0_0_sh_mask.h"
 #include "athub/athub_3_0_0_offset.h"
+#include "dcn/dcn_3_2_0_offset.h"
+#include "dcn/dcn_3_2_0_sh_mask.h"
 #include "oss/osssys_6_0_0_offset.h"
 #include "ivsrcid/vmc/irqsrcs_vmc_1_0.h"
 #include "navi10_enum.h"
@@ -523,7 +525,24 @@ static void gmc_v11_0_get_vm_pte(struct
 
 static unsigned gmc_v11_0_get_vbios_fb_size(struct amdgpu_device *adev)
 {
-	return 0;
+	u32 d1vga_control = RREG32_SOC15(DCE, 0, regD1VGA_CONTROL);
+	unsigned size;
+
+	if (REG_GET_FIELD(d1vga_control, D1VGA_CONTROL, D1VGA_MODE_ENABLE)) {
+		size = AMDGPU_VBIOS_VGA_ALLOCATION;
+	} else {
+		u32 viewport;
+		u32 pitch;
+
+		viewport = RREG32_SOC15(DCE, 0, regHUBP0_DCSURF_PRI_VIEWPORT_DIMENSION);
+		pitch = RREG32_SOC15(DCE, 0, regHUBPREQ0_DCSURF_SURFACE_PITCH);
+		size = (REG_GET_FIELD(viewport,
+					HUBP0_DCSURF_PRI_VIEWPORT_DIMENSION, PRI_VIEWPORT_HEIGHT) *
+				REG_GET_FIELD(pitch, HUBPREQ0_DCSURF_SURFACE_PITCH, PITCH) *
+				4);
+	}
+
+	return size;
 }
 
 static const struct amdgpu_gmc_funcs gmc_v11_0_gmc_funcs = {


Patches currently in stable-queue which might be from alexander.deucher@xxxxxxx are

queue-6.1/drm-amdgpu-gfx11-update-gpu_clock_counter-logic.patch
queue-6.1/drm-amdgpu-gfx10-disable-gfxoff-before-disabling-powergating.patch
queue-6.1/drm-amd-pm-fix-possible-power-mode-mismatch-between-driver-and-pmfw.patch
queue-6.1/drm-amdgpu-refine-get-gpu-clock-counter-method.patch
queue-6.1/drm-amd-display-use-dc_log_dc-in-the-trasform-pixel-.patch
queue-6.1/drm-amdgpu-gfx11-adjust-gfxoff-before-powergating-on-gfx11-as-well.patch
queue-6.1/drm-amd-display-enable-hostvm-based-on-riommu-active.patch
queue-6.1/drm-amd-display-populate-subvp-cmd-info-only-for-the.patch
queue-6.1/drm-amd-display-correct-dml-calculation-to-follow-hw.patch
queue-6.1/drm-amd-fix-an-out-of-bounds-error-in-bios-parser.patch
queue-6.1/drm-amdgpu-fix-sdma-v4-sw-fini-error.patch
queue-6.1/drm-amd-display-correct-dml-calculation-to-align-hw-.patch
queue-6.1/drm-amd-display-fixed-dcn30-underflow-issue.patch
queue-6.1/drm-amdgpu-gmc11-implement-get_vbios_fb_size.patch
queue-6.1/drm-amdgpu-drop-gfx_v11_0_cp_ecc_error_irq_funcs.patch



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux