Build error on - Ampere Altra Q80-30(Neverse-N1 aarch64), Ubuntu 20.04.5, Kernel 5.11.0-27
I equipped AMD GPU MI200 on my Ampere Altra Arm server.
To install the Mi200 GPU driver on the server, I downloaded the latest version of the ROCK-Kernel-Driver, and executed the kernel compilation as follows: (I used recent ROCm (v5.2.x))
make mrproper make menuconfig make -j 75
The following error came out, and I need your help.
- implicit declaration of function : drm_sched_job_add, and so on
- -mgeneral-regs-only’ is incompatible with the use of floating-point types
I would appreciate it if you could tell me how to install the MI200 driver on the Altra Arm server.
=================================================================================== drivers/gpu/drm/panfrost/panfrost_drv.c: In function ‘panfrost_copy_in_sync’: drivers/gpu/drm/lima/lima_gem.c: In function ‘lima_gem_sync_bo’: drivers/gpu/drm/panfrost/panfrost_drv.c:221:9: error: implicit declaration of function ‘drm_sched_job_add_dependency’; did you mean ‘drm_sched_rq_add_entity’? [-Werror=implicit-function-declaration] 221 | ret = drm_sched_job_add_dependency(&job->base, fence); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | drm_sched_rq_add_entity drivers/gpu/drm/lima/lima_gem.c:270:9: error: implicit declaration of function ‘drm_sched_job_add_implicit_dependencies’ [-Werror=implicit-function-declaration] 270 | return drm_sched_job_add_implicit_dependencies(&task->base, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC [M] drivers/gpu/drm/drm_scdc_helper.o CC [M] drivers/gpu/drm/msm/dsi/dsi.o CC [M] drivers/gpu/drm/drm_gem_atomic_helper.o CC [M] drivers/gpu/drm/drm_gem_framebuffer_helper.o CC [M] drivers/gpu/drm/drm_atomic_state_helper.o CC [M] drivers/gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.o CC [M] drivers/gpu/drm/drm_damage_helper.o CC [M] drivers/gpu/drm/drm_format_helper.o CC [M] drivers/gpu/drm/drm_self_refresh_helper.o drivers/gpu/drm/lima/lima_gem.c: In function ‘lima_gem_add_deps’: drivers/gpu/drm/lima/lima_gem.c:290:9: error: implicit declaration of function ‘drm_sched_job_add_dependency’; did you mean ‘drm_sched_rq_add_entity’? [-Werror=implicit-function-declaration] 290 | err = drm_sched_job_add_dependency(&submit->task->base, fence); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | drm_sched_rq_add_entity
drivers/gpu/drm/panfrost/panfrost_job.c: In function ‘panfrost_acquire_object_fences’: drivers/gpu/drm/panfrost/panfrost_job.c:251:9: error: implicit declaration of function ‘drm_sched_job_add_implicit_dependencies’ [-Werror=implicit-function-declaration] 251 | ret = drm_sched_job_add_implicit_dependencies(job, bos[i], | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/msm/msm_ringbuffer.c: In function ‘msm_ringbuffer_new’: drivers/gpu/drm/msm/msm_ringbuffer.c:90:8: error: too few arguments to function ‘drm_sched_init’ 90 | ret = drm_sched_init(&ring->sched, &msm_sched_ops, | ^~~~~~~~~~~~~~ In file included from drivers/gpu/drm/msm/msm_ringbuffer.h:10, from drivers/gpu/drm/msm/msm_ringbuffer.c:7: ./include/drm/gpu_scheduler.h:465:5: note: declared here 465 | int drm_sched_init(struct drm_gpu_scheduler *sched, | ^~~~~~~~~~~~~~ make[4]: *** [scripts/Makefile.build:287: drivers/gpu/drm/msm/msm_ringbuffer.o] Error 1 make[4]: *** Waiting for unfinished jobs.... drivers/gpu/drm/msm/msm_gem_submit.c: In function ‘submit_fence_sync’: drivers/gpu/drm/msm/msm_gem_submit.c:338:9: error: implicit declaration of function ‘drm_sched_job_add_implicit_dependencies’ [-Werror=implicit-function-declaration] 338 | ret = drm_sched_job_add_implicit_dependencies(&submit->base, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/msm/msm_gem_submit.c: In function ‘msm_parse_deps’: drivers/gpu/drm/msm/msm_gem_submit.c:584:9: error: implicit declaration of function ‘drm_sched_job_add_dependency’; did you mean ‘drm_sched_rq_add_entity’? [-Werror=implicit-function-declaration] 584 | ret = drm_sched_job_add_dependency(&submit->base, fence); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | drm_sched_rq_add_entity
. . . . . . . . drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml_inline_defs.h: In function ‘dml_log2’: drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml_inline_defs.h:98:19: error: ‘-mgeneral-regs-only’ is incompatible with the use of floating-point types 98 | static inline int dml_log2(double x) | ^~~~~~~~ drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml_inline_defs.h: In function ‘dml_floor’: drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml_inline_defs.h:72:22: error: ‘-mgeneral-regs-only’ is incompatible with the use of floating-point types 72 | static inline double dml_floor(double a, double granularity) | ^~~~~~~~~ drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml_inline_defs.h:72:22: error: ‘-mgeneral-regs-only’ is incompatible with the use of floating-point types drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml_inline_defs.h: In function ‘dml_ceil’: drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml_inline_defs.h:67:22: error: ‘-mgeneral-regs-only’ is incompatible with the use of floating-point types 67 | static inline double dml_ceil(double a, double granularity) | ^~~~~~~~ drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml_inline_defs.h:67:22: error: ‘-mgeneral-regs-only’ is incompatible with the use of floating-point types drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml1_display_rq_dlg_calc.c: In function ‘get_swath_need’: drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml1_display_rq_dlg_calc.c:170:13: error: ‘-mgeneral-regs-only’ is incompatible with the use of floating-point types 170 | static void get_swath_need( | ^~~~~~~~~~~~~~ In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml1_display_rq_dlg_calc.c:29: drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml_inline_defs.h: In function ‘dml_max’: drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml_inline_defs.h:47:22: error: ‘-mgeneral-regs-only’ is incompatible with the use of floating-point types 47 | static inline double dml_max(double a, double b) | ^~~~~~~ drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml_inline_defs.h:47:22: error: ‘-mgeneral-regs-only’ is incompatible with the use of floating-point types drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml1_display_rq_dlg_calc.c: In function ‘get_vratio_pre’: drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml1_display_rq_dlg_calc.c:128:15: error: ‘-mgeneral-regs-only’ is incompatible with the use of floating-point types 128 | static double get_vratio_pre( | ^~~~~~~~~~~~~~ drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml1_display_rq_dlg_calc.c:128:15: error: ‘-mgeneral-regs-only’ is incompatible with the use of floating-point types drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml1_display_rq_dlg_calc.c: In function ‘get_refcyc_per_delivery’: drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml1_display_rq_dlg_calc.c:97:15: error: ‘-mgeneral-regs-only’ is incompatible with the use of floating-point types 97 | static double get_refcyc_per_delivery( | ^~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml1_display_rq_dlg_calc.c:97:15: error: ‘-mgeneral-regs-only’ is incompatible with the use of floating-point types drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml1_display_rq_dlg_calc.c:97:15: error: ‘-mgeneral-regs-only’ is incompatible with the use of floating-point types drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml1_display_rq_dlg_calc.c:97:15: error: ‘-mgeneral-regs-only’ is incompatible with the use of floating-point types In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml1_display_rq_dlg_calc.c:29: drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml_inline_defs.h: In function ‘dml_pow’: drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml_inline_defs.h:105:22: error: ‘-mgeneral-regs-only’ is incompatible with the use of floating-point types 105 | static inline double dml_pow(double a, int exp)
===========================done========================
@HTCTeam Apologies for the lack of response. Do you still need assistance with this ticket? If not, please close the ticket. Thanks!
Should be addressed with newer amdgpu-dkms builds