From: Arnd Bergmann <arnd@arndb.de>
To: "Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"David (ChunMing) Zhou" <David1.Zhou@amd.com>,
"David Airlie" <airlied@linux.ie>,
"Daniel Vetter" <daniel@ffwll.ch>,
"Oded Gabbay" <oded.gabbay@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>,
Felix Kuehling <Felix.Kuehling@amd.com>,
Philip Yang <Philip.Yang@amd.com>, Amber Lin <Amber.Lin@amd.com>,
Thomas Gleixner <tglx@linutronix.de>,
Hawking Zhang <Hawking.Zhang@amd.com>,
Huang Rui <ray.huang@amd.com>, Feifei Xu <Feifei.Xu@amd.com>,
Jack Xiao <Jack.Xiao@amd.com>, Shaoyun Liu <Shaoyun.Liu@amd.com>,
Oak Zeng <Oak.Zeng@amd.com>, Yong Zhao <Yong.Zhao@amd.com>,
Andrey Grodzovsky <andrey.grodzovsky@amd.com>,
Rex Zhu <Rex.Zhu@amd.com>, Emily Deng <Emily.Deng@amd.com>,
xinhui pan <xinhui.pan@amd.com>, Evan Quan <evan.quan@amd.com>,
amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org
Subject: [PATCH 2/2] amdgpu: make SOC15/navi support conditional
Date: Mon, 8 Jul 2019 16:41:44 +0200 [thread overview]
Message-ID: <20190708144205.2770771-2-arnd@arndb.de> (raw)
In-Reply-To: <20190708144205.2770771-1-arnd@arndb.de>
Enabling amdgpu but not CONFIG_DRM_AMD_DC leads to a warning:
drivers/gpu/drm/amd/amdgpu/nv.c: In function 'nv_set_ip_blocks':
drivers/gpu/drm/amd/amdgpu/nv.c:400:3: error: #warning "Enable CONFIG_DRM_AMD_DC for display support on navi." [-Werror=cpp]
# warning "Enable CONFIG_DRM_AMD_DC for display support on navi."
^~~~~~~
drivers/gpu/drm/amd/amdgpu/soc15.c: In function 'soc15_set_ip_blocks':
drivers/gpu/drm/amd/amdgpu/soc15.c:653:3: error: #warning "Enable CONFIG_DRM_AMD_DC for display support on SOC15." [-Werror=cpp]
However, CONFIG_DRM_AMD_DC can only be enabled on x86, so we
cannot do that when building for other architectures.
Add another Kconfig symbol to handle the SOC15 and navi, making
sure that we implicitly enable DC.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/gpu/drm/amd/amdgpu/Kconfig | 7 +++++
drivers/gpu/drm/amd/amdgpu/Makefile | 32 +++++++++++++++-------
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 2 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 ++
4 files changed, 33 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig b/drivers/gpu/drm/amd/amdgpu/Kconfig
index a04f2fc7bf37..d7186dd88dbc 100644
--- a/drivers/gpu/drm/amd/amdgpu/Kconfig
+++ b/drivers/gpu/drm/amd/amdgpu/Kconfig
@@ -24,6 +24,13 @@ config DRM_AMDGPU_CIK
radeon.cik_support=0 amdgpu.cik_support=1
+config DRM_AMDGPU_SOC15
+ bool "Enable amdgpu support for SOC15 parts"
+ depends on DRM_AMDGPU
+ select DRM_AMD_DC
+ help
+ Choose this option if you want to enable support for SOC15 asics.
+
config DRM_AMDGPU_USERPTR
bool "Always enable userptr write support"
depends on DRM_AMDGPU
diff --git a/drivers/gpu/drm/amd/amdgpu/Makefile b/drivers/gpu/drm/amd/amdgpu/Makefile
index 3f5329906fce..e95ae468eaa1 100644
--- a/drivers/gpu/drm/amd/amdgpu/Makefile
+++ b/drivers/gpu/drm/amd/amdgpu/Makefile
@@ -64,9 +64,10 @@ amdgpu-$(CONFIG_DRM_AMDGPU_CIK)+= cik.o cik_ih.o kv_smc.o kv_dpm.o \
amdgpu-$(CONFIG_DRM_AMDGPU_SI)+= si.o gmc_v6_0.o gfx_v6_0.o si_ih.o si_dma.o dce_v6_0.o si_dpm.o si_smc.o
-amdgpu-y += \
- vi.o mxgpu_vi.o nbio_v6_1.o soc15.o emu_soc.o mxgpu_ai.o nbio_v7_0.o vega10_reg_init.o \
- vega20_reg_init.o nbio_v7_4.o nbio_v2_3.o nv.o navi10_reg_init.o navi14_reg_init.o
+amdgpu-y += vi.o mxgpu_vi.o emu_soc.o nbio_v7_4.o
+
+amdgpu-$(CONFIG_DRM_AMDGPU_SOC15) += gmc_v9_0.o nbio_v6_1.o soc15.o mxgpu_ai.o nbio_v7_0.o \
+ vega10_reg_init.o vega20_reg_init.o nbio_v2_3.o nv.o navi10_reg_init.o navi14_reg_init.o
# add DF block
amdgpu-y += \
@@ -77,7 +78,10 @@ amdgpu-y += \
amdgpu-y += \
gmc_v7_0.o \
gmc_v8_0.o \
- gfxhub_v1_0.o mmhub_v1_0.o gmc_v9_0.o gfxhub_v1_1.o \
+ gfxhub_v1_0.o mmhub_v1_0.o gfxhub_v1_1.o
+
+amdgpu-$(CONFIG_DRM_AMDGPU_SOC15) += \
+ gmc_v9_0.o \
gfxhub_v2_0.o mmhub_v2_0.o gmc_v10_0.o
# add IH block
@@ -86,7 +90,9 @@ amdgpu-y += \
amdgpu_ih.o \
iceland_ih.o \
tonga_ih.o \
- cz_ih.o \
+ cz_ih.o
+
+amdgpu-$(CONFIG_DRM_AMDGPU_SOC15) += \
vega10_ih.o \
navi10_ih.o
@@ -111,7 +117,9 @@ amdgpu-y += \
amdgpu-y += \
amdgpu_gfx.o \
amdgpu_rlc.o \
- gfx_v8_0.o \
+ gfx_v8_0.o
+
+amdgpu-$(CONFIG_DRM_AMDGPU_SOC15) += \
gfx_v9_0.o \
gfx_v10_0.o
@@ -119,12 +127,14 @@ amdgpu-y += \
amdgpu-y += \
amdgpu_sdma.o \
sdma_v2_4.o \
- sdma_v3_0.o \
+ sdma_v3_0.o
+
+amdgpu-$(CONFIG_DRM_AMDGPU_SOC15) += \
sdma_v4_0.o \
sdma_v5_0.o
# add MES block
-amdgpu-y += \
+amdgpu-$(CONFIG_DRM_AMDGPU_SOC15) += \
mes_v10_1.o
# add UVD block
@@ -161,8 +171,10 @@ amdgpu-y += \
amdgpu_amdkfd_fence.o \
amdgpu_amdkfd_gpuvm.o \
amdgpu_amdkfd_gfx_v8.o \
- amdgpu_amdkfd_gfx_v9.o \
- amdgpu_amdkfd_gfx_v10.o
+
+amdgpu-$(CONFIG_DRM_AMDGPU_SOC15) += \
+ amdgpu_amdkfd_gfx_v9.o \
+ amdgpu_amdkfd_gfx_v10.o
ifneq ($(CONFIG_DRM_AMDGPU_CIK),)
amdgpu-y += amdgpu_amdkfd_gfx_v7.o
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
index 9fa4f25a3745..101d806ff996 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
@@ -81,6 +81,7 @@ void amdgpu_amdkfd_device_probe(struct amdgpu_device *adev)
case CHIP_VEGAM:
kfd2kgd = amdgpu_amdkfd_gfx_8_0_get_functions();
break;
+#ifdef CONFIG_DRM_AMDGPU_SOC15
case CHIP_VEGA10:
case CHIP_VEGA12:
case CHIP_VEGA20:
@@ -90,6 +91,7 @@ void amdgpu_amdkfd_device_probe(struct amdgpu_device *adev)
case CHIP_NAVI10:
kfd2kgd = amdgpu_amdkfd_gfx_10_0_get_functions();
break;
+#endif
default:
dev_info(adev->dev, "kfd not supported on this ASIC\n");
return;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index a02ccce7bf53..2a6447febcb0 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1530,6 +1530,7 @@ static int amdgpu_device_ip_early_init(struct amdgpu_device *adev)
return r;
break;
#endif
+#ifdef CONFIG_DRM_AMDGPU_SOC15
case CHIP_VEGA10:
case CHIP_VEGA12:
case CHIP_VEGA20:
@@ -1551,6 +1552,7 @@ static int amdgpu_device_ip_early_init(struct amdgpu_device *adev)
if (r)
return r;
break;
+#endif
default:
/* FIXME: not supported yet */
return -EINVAL;
--
2.20.0
next prev parent reply other threads:[~2019-07-08 14:42 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-08 14:41 [PATCH 1/2] amdgpu: make pmu support optional Arnd Bergmann
2019-07-08 14:41 ` Arnd Bergmann [this message]
2019-07-08 14:46 ` [PATCH 2/2] amdgpu: make SOC15/navi support conditional Alex Deucher
2019-07-08 16:08 ` Arnd Bergmann
2019-07-08 15:58 ` [PATCH 1/2] amdgpu: make pmu support optional Alex Deucher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190708144205.2770771-2-arnd@arndb.de \
--to=arnd@arndb.de \
--cc=Amber.Lin@amd.com \
--cc=David1.Zhou@amd.com \
--cc=Emily.Deng@amd.com \
--cc=Feifei.Xu@amd.com \
--cc=Felix.Kuehling@amd.com \
--cc=Hawking.Zhang@amd.com \
--cc=Jack.Xiao@amd.com \
--cc=Oak.Zeng@amd.com \
--cc=Philip.Yang@amd.com \
--cc=Rex.Zhu@amd.com \
--cc=Shaoyun.Liu@amd.com \
--cc=Yong.Zhao@amd.com \
--cc=airlied@linux.ie \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=andrey.grodzovsky@amd.com \
--cc=christian.koenig@amd.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=evan.quan@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=oded.gabbay@gmail.com \
--cc=ray.huang@amd.com \
--cc=tglx@linutronix.de \
--cc=xinhui.pan@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox