IMG Rogue drivers depend on !GPU_TRACEPOINTS |
|||||
Issue descriptionThe latest MALI code drop enables GPU_TRACEPOINTS if ANDROID is enabled. This exposes that the IMG rogue drivers only build if GPU_TRACEPOINTS is disabled or if they are built as module, since they declare their own GPU tracepoints which overlap with those defined by GPU_TRACEPOINTS. This results in the following build error, seen if GPU_TRACEPOINTS is enabled and one if the ROGUE drivers is built into the kernel. drivers/built-in.o:(__tracepoints+0x1030): multiple definition of `__tracepoint_gpu_sched_switch' kernel/built-in.o:(__tracepoints+0x1c00): first defined here drivers/built-in.o:(__tracepoints+0xff8): multiple definition of `__tracepoint_gpu_job_enqueue' kernel/built-in.o:(__tracepoints+0x1bc8): first defined here At the same time, making DRM_POWERVR_ROGUE_1_9 and DRM_POWERVR_ROGUE_1_8 dependent on !GPU_TRACEPOINT does not work either because it results in a recursive dependency. $ make-arm64 allmodconfig scripts/kconfig/conf --allmodconfig Kconfig drivers/video/fbdev/Kconfig:5:error: recursive dependency detected! For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" drivers/gpu/drm/Kconfig:43: symbol DRM_KMS_FB_HELPER depends on DRM_KMS_HELPER For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" drivers/gpu/drm/Kconfig:37: symbol DRM_KMS_HELPER is selected by DRM_ROCKCHIP For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" drivers/gpu/drm/rockchip/Kconfig:1: symbol DRM_ROCKCHIP depends on ARM_RK3399_DMC_DEVFREQ For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" drivers/devfreq/Kconfig:101: symbol ARM_RK3399_DMC_DEVFREQ depends on PM_DEVFREQ For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" drivers/devfreq/Kconfig:1: symbol PM_DEVFREQ is selected by DRM_POWERVR_ROGUE_1_9 For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" drivers/gpu/drm/img-rogue/Kconfig:1: symbol DRM_POWERVR_ROGUE_1_9 depends on GPU_TRACEPOINTS For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" kernel/trace/Kconfig:80: symbol GPU_TRACEPOINTS is selected by MALI_MIDGARD For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" drivers/gpu/arm/midgard/Kconfig:23: symbol MALI_MIDGARD depends on THERMAL For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" drivers/thermal/Kconfig:5: symbol THERMAL is selected by ACPI_VIDEO For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" drivers/acpi/Kconfig:169: symbol ACPI_VIDEO is selected by BACKLIGHT_CLASS_DEVICE For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" drivers/video/backlight/Kconfig:158: symbol BACKLIGHT_CLASS_DEVICE is selected by FB_BACKLIGHT For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" drivers/video/fbdev/Kconfig:188: symbol FB_BACKLIGHT is selected by PMAC_BACKLIGHT For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" drivers/macintosh/Kconfig:135: symbol PMAC_BACKLIGHT depends on FB warning: (PMAC_BACKLIGHT && DRM_NOUVEAU && FB_TFT) selects FB_BACKLIGHT which has unmet direct dependencies (HAS_IOMEM && FB) This in turn exposes that the DRM and PM_DEVFREQ dependencies in the Rockchip drivers are not well defined.
,
Mar 16 2018
,
Mar 16 2018
,
Mar 16 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/854d52377073b25e7f3bb2c81ee043d10fc9233b commit 854d52377073b25e7f3bb2c81ee043d10fc9233b Author: Frank Binns <frank.binns@imgtec.com> Date: Fri Mar 16 18:14:01 2018 CHROMIUM: drm/img-rogue: stop defining gpu tracepoints This is unnecessary since this is done for us by CONFIG_GPU_TRACEPOINTS. This meant that when this option was enabled that the gpu tracepoint functions would be defined multiple times, resulting in the following errors: drivers/built-in.o:(__tracepoints+0x1030): multiple definition of `__tracepoint_gpu_sched_switch' kernel/built-in.o:(__tracepoints+0x1c00): first defined here drivers/built-in.o:(__tracepoints+0xff8): multiple definition of `__tracepoint_gpu_job_enqueue' kernel/built-in.o:(__tracepoints+0x1bc8): first defined here BUG= chromium:822555 TEST=Build the kernel for Elm Change-Id: I8657a10e0331a05d2ff9eefccbcdd6fae46ca29e Signed-off-by: Frank Binns <frank.binns@imgtec.com> Reviewed-on: https://chromium-review.googlesource.com/966281 Commit-Ready: Guenter Roeck <groeck@chromium.org> Reviewed-by: Guenter Roeck <groeck@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> [modify] https://crrev.com/854d52377073b25e7f3bb2c81ee043d10fc9233b/drivers/gpu/drm/img-rogue/Kconfig [modify] https://crrev.com/854d52377073b25e7f3bb2c81ee043d10fc9233b/drivers/gpu/drm/img-rogue/1.8/pvr_gputrace.c [modify] https://crrev.com/854d52377073b25e7f3bb2c81ee043d10fc9233b/drivers/gpu/drm/img-rogue/1.9/pvr_gputrace.c
,
Mar 16 2018
,
Mar 16 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/2d599f4089af9b559540fd332663de875739af91 commit 2d599f4089af9b559540fd332663de875739af91 Author: Frank Binns <frank.binns@imgtec.com> Date: Fri Mar 16 20:30:04 2018 CHROMIUM: drm/img-rogue: stop defining gpu tracepoints This is unnecessary since this is done for us by CONFIG_GPU_TRACEPOINTS. This meant that when this option was enabled that the gpu tracepoint functions would be defined multiple times, resulting in the following errors: drivers/built-in.o:(__tracepoints+0x1030): multiple definition of `__tracepoint_gpu_sched_switch' kernel/built-in.o:(__tracepoints+0x1c00): first defined here drivers/built-in.o:(__tracepoints+0xff8): multiple definition of `__tracepoint_gpu_job_enqueue' kernel/built-in.o:(__tracepoints+0x1bc8): first defined here BUG= chromium:822555 TEST=Build the kernel for Elm Change-Id: I8657a10e0331a05d2ff9eefccbcdd6fae46ca29e Signed-off-by: Frank Binns <frank.binns@imgtec.com> Reviewed-on: https://chromium-review.googlesource.com/966063 Reviewed-by: Guenter Roeck <groeck@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> [modify] https://crrev.com/2d599f4089af9b559540fd332663de875739af91/drivers/gpu/drm/img-rogue/Kconfig [modify] https://crrev.com/2d599f4089af9b559540fd332663de875739af91/drivers/gpu/drm/img-rogue/1.8/pvr_gputrace.c [modify] https://crrev.com/2d599f4089af9b559540fd332663de875739af91/drivers/gpu/drm/img-rogue/1.9/pvr_gputrace.c |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by groeck@chromium.org
, Mar 16 2018