drm/amd/display: Fixed Silence complier warnings in dc[Why]Resolve compiler warnings by marking unused parameters explicitly.[How]In .c and .h function definitions, keep parameter namesin sign
drm/amd/display: Fixed Silence complier warnings in dc[Why]Resolve compiler warnings by marking unused parameters explicitly.[How]In .c and .h function definitions, keep parameter namesin signatures and add a line with `(void)param;` in function bodyPreserved function signatures and avoids breaking code paths thatmay reference the parameter under conditional compilation.Reviewed-by: Dillon Varone <dillon.varone@amd.com>Reviewed-by: Austin Zheng <austin.zheng@amd.com>Signed-off-by: Gaghik Khachatrian <gaghik.khachatrian@amd.com>Signed-off-by: Chuanyu Tseng <chuanyu.tseng@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
show more ...
drm/amd/display: Add missing DCCG register entries for DCN20-DCN316Commit 4c595e75110e ("drm/amd/display: Migrate DCCG registers accessfrom hwseq to dccg component.") moved register writes from hw
drm/amd/display: Add missing DCCG register entries for DCN20-DCN316Commit 4c595e75110e ("drm/amd/display: Migrate DCCG registers accessfrom hwseq to dccg component.") moved register writes from hwseq todccg2_*() functions but did not add the registers to the DCCG registerlist macros. The struct fields default to 0, so REG_WRITE() targetsMMIO offset 0, causing a GPU hang on resume (seen on DCN21/DCN30during IGT kms_cursor_crc@cursor-suspend).Add- MICROSECOND_TIME_BASE_DIV- MILLISECOND_TIME_BASE_DIV- DCCG_GATE_DISABLE_CNTL- DCCG_GATE_DISABLE_CNTL2- DC_MEM_GLOBAL_PWR_REQ_CNTLto macros in dcn20_dccg.h, dcn301_dccg.h, dcn31_dccg.h, and dcn314_dccg.h.Fixes: 4c595e75110e ("drm/amd/display: Migrate DCCG registers access from hwseq to dccg component.")Reported-by: Rafael Passos <rafael@rcpassos.me>Reviewed-by: Aurabindo Pillai <aurabindo.pillai@amd.com>Signed-off-by: Ivan Lipski <ivan.lipski@amd.com>Signed-off-by: Alex Hung <alex.hung@amd.com>Tested-by: Dan Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Convert 'alloc_obj' family to use the new default GFP_KERNEL argumentThis was done entirely with mindless brute force, using git grep -l '\<k[vmz]*alloc_objs*(.*, GFP_KERNEL)' | xargs
Convert 'alloc_obj' family to use the new default GFP_KERNEL argumentThis was done entirely with mindless brute force, using git grep -l '\<k[vmz]*alloc_objs*(.*, GFP_KERNEL)' | xargs sed -i 's/\(alloc_objs*(.*\), GFP_KERNEL)/\1)/'to convert the new alloc_obj() users that had a simple GFP_KERNELargument to just drop that argument.Note that due to the extreme simplicity of the scripting, any slightlymore complex cases spread over multiple lines would not be triggered:they definitely exist, but this covers the vast bulk of the cases, andthe resulting diff is also then easier to check automatically.For the same reason the 'flex' versions will be done as a separateconversion.Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
treewide: Replace kmalloc with kmalloc_obj for non-scalar typesThis is the result of running the Coccinelle script fromscripts/coccinelle/api/kmalloc_objs.cocci. The script is designed toavoid sc
treewide: Replace kmalloc with kmalloc_obj for non-scalar typesThis is the result of running the Coccinelle script fromscripts/coccinelle/api/kmalloc_objs.cocci. The script is designed toavoid scalar types (which need careful case-by-case checking), andinstead replace kmalloc-family calls that allocate struct or unionobject instances:Single allocations: kmalloc(sizeof(TYPE), ...)are replaced with: kmalloc_obj(TYPE, ...)Array allocations: kmalloc_array(COUNT, sizeof(TYPE), ...)are replaced with: kmalloc_objs(TYPE, COUNT, ...)Flex array allocations: kmalloc(struct_size(PTR, FAM, COUNT), ...)are replaced with: kmalloc_flex(*PTR, FAM, COUNT, ...)(where TYPE may also be *VAR)The resulting allocations no longer return "void *", instead returning"TYPE *".Signed-off-by: Kees Cook <kees@kernel.org>
drm/amd/display: Migrate DCCG registers access from hwseq to dccg component.[Why]Direct DCCG register access in hwseq layer was creating register conflicts.[How]Migrated DCCG registers from hws
drm/amd/display: Migrate DCCG registers access from hwseq to dccg component.[Why]Direct DCCG register access in hwseq layer was creating register conflicts.[How]Migrated DCCG registers from hwseq-dccg component.Reviewed-by: Martin Leung <Martin.Leung@amd.com>Signed-off-by: Bhuvanachandra Pinninti <BhuvanaChandra.Pinninti@amd.com>Signed-off-by: Ray Wu <ray.wu@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: Add more DC HW state info to underflow logging[Why]Debugging underflow issues frequently requires knowing theHW state at the time of underflow. To enable capturing thisHW state
drm/amd/display: Add more DC HW state info to underflow logging[Why]Debugging underflow issues frequently requires knowing theHW state at the time of underflow. To enable capturing thisHW state information, interface functions are needed for thevarious DC HW blocks.[How]This change adds the interface functions to read HW state forthe following DC HW blocks:- HUBBUB- HUBP- DPP- MPC- OPP- DSC- OPTC- DCCGReviewed-by: George Shen <george.shen@amd.com>Signed-off-by: Karen Chen <Karen.Chen@amd.com>Signed-off-by: Wayne Lin <wayne.lin@amd.com>Tested-by: Dan Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: Adjust incorrect indentations and spacesThis fixes indentations and adjust spaces for better readability andcode styles.Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
drm/amd/display: Adjust incorrect indentations and spacesThis fixes indentations and adjust spaces for better readability andcode styles.Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>Signed-off-by: Alex Hung <alex.hung@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: Refactor DCCG into component folder[why]cleaning up the code refactor requires dccg to be in its own component.[how]move all files under newly created dccg folder and fixing th
drm/amd/display: Refactor DCCG into component folder[why]cleaning up the code refactor requires dccg to be in its own component.[how]move all files under newly created dccg folder and fixing themakefiles.Reviewed-by: Martin Leung <martin.leung@amd.com>Acked-by: Tom Chung <chiahsuan.chung@amd.com>Signed-off-by: Revalla Hari Krishna <harikrishna.revalla@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>