Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A amd
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,304
    • Issues 1,304
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • drm
  • amd
  • Issues
  • #984
Closed
Open
Created Dec 05, 2019 by Evan Lojewski@meklort

No output ports detected with Navi 10 (Radeon 5700 XT) on ppc64le (Fedora Rawhide)

I'm attempting to use a Radeon 5700 XT card on and OpenPOWER machine, specifically the talos II, and I'm running into an issue where no display output connections are found.

Relevant dmesg when drm.debug=0xff (note the lack of dm):

[    3.174834] [drm] add ip block number 0 <nv_common>
[    3.174834] [drm] add ip block number 1 <gmc_v10_0>
[    3.174835] [drm] add ip block number 2 <navi10_ih>
[    3.174837] [drm] add ip block number 3 <psp>
[    3.174838] [drm] add ip block number 4 <smu>
[    3.174839] [drm] add ip block number 5 <gfx_v10_0>
[    3.174840] [drm] add ip block number 6 <sdma_v5_0>
[    3.174841] [drm] add ip block number 7 <vcn_v2_0>

Relevant kernel config:

CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU_USERPTR=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMD_ACP=y
CONFIG_DRM_AMD_DC=y
Kernel: 5.4.0-2.fc32.ppc64le
Mesa/libdri: 19.3.0~rc5-1.fc32

I've tracked this down to the following: https://github.com/torvalds/linux/blob/v5.4/drivers/gpu/drm/amd/display/Kconfig#L23

Essentially, the DNC 2.0 code is only being enabled on x86 and not on any other architecture. When I change this to enable it, I run into the reason why - the DCN 2.0 code is using floating point math within the kernel which is only supported on x86 (and it looks like s390). An example can be see here: https://github.com/torvalds/linux/blob/v5.4/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c#L629

Additionally, the associated makefiles assume that we are always running on a machine with sse support (x86): https://github.com/torvalds/linux/blob/v5.4/drivers/gpu/drm/amd/display/dc/calcs/Makefile#L27

Edited Dec 05, 2019 by Evan Lojewski
Assignee
Assign to
Time tracking