On Mon, Jul 8, 2019 at 10:42 AM Arnd Bergmann <arnd@xxxxxxxx> wrote: > > 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. DC is not limited to x86. I can drop the warning if that is the concern. Alex > > Add another Kconfig symbol to handle the SOC15 and navi, making > sure that we implicitly enable DC. > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > --- > 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 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx