Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amd/display: Migrate HUBBUB register access from hwseq to hubbub component.

[why]
Direct HUBBUB register access in the hwseq layer was creating register conflicts.

[how]
Migrated HUBBUB registers from hwseq to the hubbub component.

Reviewed-by: Martin Leung <martin.leung@amd.com>
Signed-off-by: Bhuvanachandra Pinninti <bpinnint@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Bhuvanachandra Pinninti and committed by
Alex Deucher
592c5b80 ba448f9e

+29 -4
+18
drivers/gpu/drm/amd/display/dc/hubbub/dcn10/dcn10_hubbub.c
··· 944 944 hubbub1->debug_test_index_pstate = 0xB; 945 945 } 946 946 947 + void dcn10_hubbub_global_timer_enable(struct hubbub *hubbub, bool enable, uint32_t refdiv) 948 + { 949 + struct dcn10_hubbub *hubbub1 = TO_DCN10_HUBBUB(hubbub); 950 + 951 + if (refdiv > 0) 952 + REG_UPDATE(DCHUBBUB_GLOBAL_TIMER_CNTL, DCHUBBUB_GLOBAL_TIMER_REFDIV, refdiv); 953 + 954 + REG_UPDATE(DCHUBBUB_GLOBAL_TIMER_CNTL, DCHUBBUB_GLOBAL_TIMER_ENABLE, enable ? 1 : 0); 955 + } 956 + 957 + void dcn10_hubbub_read_fb_aperture(struct hubbub *hubbub, uint32_t *fb_base_value, uint32_t *fb_offset_value) 958 + { 959 + struct dcn10_hubbub *hubbub1 = TO_DCN10_HUBBUB(hubbub); 960 + 961 + REG_GET(DCHUBBUB_SDPIF_FB_BASE, SDPIF_FB_BASE, fb_base_value); 962 + REG_GET(DCHUBBUB_SDPIF_FB_OFFSET, SDPIF_FB_OFFSET, fb_offset_value); 963 + } 964 +
+4
drivers/gpu/drm/amd/display/dc/hubbub/dcn10/dcn10_hubbub.h
··· 519 519 unsigned int refclk_mhz, 520 520 bool safe_to_lower); 521 521 522 + void dcn10_hubbub_global_timer_enable(struct hubbub *hubbub, bool enable, uint32_t refdiv); 523 + 524 + void dcn10_hubbub_read_fb_aperture(struct hubbub *hubbub, uint32_t *fb_base_value, uint32_t *fb_offset_value); 525 + 522 526 #endif
+1 -2
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
··· 2678 2678 uint32_t fb_base_value; 2679 2679 uint32_t fb_offset_value; 2680 2680 2681 - REG_GET(DCHUBBUB_SDPIF_FB_BASE, SDPIF_FB_BASE, &fb_base_value); 2682 - REG_GET(DCHUBBUB_SDPIF_FB_OFFSET, SDPIF_FB_OFFSET, &fb_offset_value); 2681 + dcn10_hubbub_read_fb_aperture(hws->ctx->dc->res_pool->hubbub, &fb_base_value, &fb_offset_value); 2683 2682 2684 2683 REG_GET(VM_CONTEXT0_PAGE_TABLE_BASE_ADDR_HI32, 2685 2684 PAGE_DIRECTORY_ENTRY_HI32, &vm0->pte_base.high_part);
+2 -2
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
··· 46 46 #include "dchubbub.h" 47 47 #include "reg_helper.h" 48 48 #include "dcn10/dcn10_cm_common.h" 49 + #include "dcn10/dcn10_hubbub.h" 49 50 #include "vm_helper.h" 50 51 #include "dccg.h" 51 52 #include "dc_dmub_srv.h" ··· 3154 3153 REG_WRITE(RBBMIF_TIMEOUT_DIS, 0xFFFFFFFF); 3155 3154 REG_WRITE(RBBMIF_TIMEOUT_DIS_2, 0xFFFFFFFF); 3156 3155 3157 - REG_UPDATE(DCHUBBUB_GLOBAL_TIMER_CNTL, DCHUBBUB_GLOBAL_TIMER_REFDIV, 2); 3158 - REG_UPDATE(DCHUBBUB_GLOBAL_TIMER_CNTL, DCHUBBUB_GLOBAL_TIMER_ENABLE, 1); 3156 + dcn10_hubbub_global_timer_enable(dc->res_pool->hubbub, true, 2); 3159 3157 if (REG(REFCLK_CNTL)) 3160 3158 REG_WRITE(REFCLK_CNTL, 0); 3161 3159 //
+1
drivers/gpu/drm/amd/display/dc/hwss/dcn201/dcn201_hwseq.c
··· 39 39 #include "dccg.h" 40 40 #include "clk_mgr.h" 41 41 #include "reg_helper.h" 42 + #include "dcn10/dcn10_hubbub.h" 42 43 43 44 #define CTX \ 44 45 hws->ctx
+1
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
··· 36 36 #include "dcn10/dcn10_cm_common.h" 37 37 #include "dcn30/dcn30_cm_common.h" 38 38 #include "reg_helper.h" 39 + #include "dcn10/dcn10_hubbub.h" 39 40 #include "abm.h" 40 41 #include "clk_mgr.h" 41 42 #include "hubp.h"
+1
drivers/gpu/drm/amd/display/dc/hwss/dcn31/dcn31_hwseq.c
··· 32 32 #include "dce/dce_hwseq.h" 33 33 #include "clk_mgr.h" 34 34 #include "reg_helper.h" 35 + #include "dcn10/dcn10_hubbub.h" 35 36 #include "abm.h" 36 37 #include "hubp.h" 37 38 #include "dchubbub.h"
+1
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c
··· 32 32 #include "dce/dce_hwseq.h" 33 33 #include "clk_mgr.h" 34 34 #include "reg_helper.h" 35 + #include "dcn10/dcn10_hubbub.h" 35 36 #include "abm.h" 36 37 #include "hubp.h" 37 38 #include "dchubbub.h"