ROCm / ROCK-Kernel-Driver

AMDGPU Driver with KFD used by the ROCm project. Also contains the current Linux Kernel that matches this base driver
Other
320 stars 97 forks source link

Build error on - Ampere Altra Q80-30(Neverse-N1 aarch64), Ubuntu 20.04.5, Kernel 5.11.0-27 #139

Open HTCTeam opened 2 years ago

HTCTeam commented 2 years ago

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.

  1. implicit declaration of function : drm_sched_job_add, and so on
  2. -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========================

ppanchad-amd commented 3 weeks ago

@HTCTeam Apologies for the lack of response. Do you still need assistance with this ticket? If not, please close the ticket. Thanks!