#5 enable CONFIG_DRM_AMDGPU_SI on master
Closed a year ago by jcline. Opened a year ago by fcami.
https://github.com/fcami/fedora-kernel enable_radeon_si  into  master

enable CONFIG_DRM_AMDGPU_SI so that Southern Island devices work with amdgpu & radv
François Cami • a year ago  
configs/fedora/generic/CONFIG_DRM_AMDGPU_SI
file modified
+1 -1

@@ -1,1 +1,1 @@

- # CONFIG_DRM_AMDGPU_SI is not set

+ CONFIG_DRM_AMDGPU_SI=y

kernel-x86_64-debug.config
file modified
+1 -1

@@ -1182,7 +1182,7 @@

  CONFIG_DRM_AMDGPU_CIK=y

  # CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set

  CONFIG_DRM_AMDGPU=m

- # CONFIG_DRM_AMDGPU_SI is not set

+ CONFIG_DRM_AMDGPU_SI=y

  CONFIG_DRM_AMDGPU_USERPTR=y

  CONFIG_DRM_AMD_POWERPLAY=y

  CONFIG_DRM_ANALOGIX_ANX78XX=m

kernel-x86_64.config
file modified
+1 -1

@@ -1171,7 +1171,7 @@

  CONFIG_DRM_AMDGPU_CIK=y

  # CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set

  CONFIG_DRM_AMDGPU=m

- # CONFIG_DRM_AMDGPU_SI is not set

+ CONFIG_DRM_AMDGPU_SI=y

  CONFIG_DRM_AMDGPU_USERPTR=y

  CONFIG_DRM_AMD_POWERPLAY=y

  CONFIG_DRM_ANALOGIX_ANX78XX=m

kernel.spec
file modified
+3

@@ -1866,6 +1866,9 @@

  #

  #

  %changelog

+ * Thu Feb 15 2018 François Cami <fcami@fedoraproject.org>

+ - Enable CONFIG_DRM_AMDGPU_SI 

+ 

  * Thu Feb 15 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.0-0.rc1.git3.1

  - Linux v4.16-rc1-88-ge525de3ab046

  

no initial comment

By default this change only enables amdgpu to address Southern Island boards, but radeon is still the preferred module as amdgpu.c contains the following code (Linux 4.15.2):
amdgpu_drv.c-#ifdef CONFIG_DRM_AMDGPU_SI
amdgpu_drv.c-
amdgpu_drv.c-#if defined(CONFIG_DRM_RADEON) || defined(CONFIG_DRM_RADEON_MODULE)
amdgpu_drv.c:int amdgpu_si_support = 0;
amdgpu_drv.c-MODULE_PARM_DESC(si_support, "SI support (1 = enabled, 0 = disabled (default))");
amdgpu_drv.c-#else
amdgpu_drv.c:int amdgpu_si_support = 1;
amdgpu_drv.c-MODULE_PARM_DESC(si_support, "SI support (1 = enabled (default), 0 = disabled)");
amdgpu_drv.c-#endif

So this commit should not change anything unless radeon_si_support is disabled and amdgpu.si_support is enabled on the kernel CLI:
grubby --args="radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1" --update-kernel DEFAULT

Tested on a R7 250:
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde PRO [Radeon HD 7750/8740 / R7 250E] (prog-if 00 [VGA controller])
Subsystem: PC Partner Limited / Sapphire Technology Device a001
Physical Slot: 2
Flags: bus master, fast devsel, latency 0, IRQ 25
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f0100000 (64-bit, non-prefetchable) [size=256K]
I/O ports at 3100 [size=256]
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: [48] Vendor Specific Information: Len=08 <?>
Capabilities: [50] Power Management version 3
Capabilities: [58] Express Legacy Endpoint, MSI 00
Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
Capabilities: [150] Advanced Error Reporting
Capabilities: [200] #15
Capabilities: [270] #19
Kernel driver in use: amdgpu
Kernel modules: radeon, amdgpu

This is necessary to get Vulkan working with radv:
$ vulkaninfo
(...)
Presentable Surfaces:
=====================
GPU id : 0 (AMD RADV CAPE VERDE)
Surface type : VK_KHR_xcb_surface
Formats: count = 2
B8G8R8A8_SRGB
B8G8R8A8_UNORM
Present Modes: count = 3
IMMEDIATE_KHR
MAILBOX_KHR
FIFO_KHR

I merged this outside the Pagure UI and it doesn't know to close PRs as merged automatically

Pull-Request has been closed by jcline

a year ago