[PATCH 1/3] drm/radeon: Make CIK support in Radeon conditional (v2)

Felix Kuehling felix.kuehling at amd.com
Mon Apr 10 18:13:05 UTC 2017


On 17-04-09 09:28 PM, Michel Dänzer wrote:
> On 10/04/17 09:56 AM, Michel Dänzer wrote:
>> On 08/04/17 05:15 AM, Felix Kuehling wrote:
>>> Advertise CIK PCI IDs only when they are not supported by amdgpu.
>>> Use the CONFIG_DRM_AMDGPU_CIK to check so that a single option in
>>> the kernel config keeps both drivers in sync.
>>>
>>> This is the simplest possible change. A more complete solution
>>> may want to conditionally disable more CIK-specific code in the
>>> Radeon driver.
>>>
>>> v2: Add CONFIG_DRM_RADEON_FORCE_CIK option
>>>
>>> Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com>
>> I don't think this is good enough a solution.
> To elaborate, my main objection is that people who still want to be able
> to use the radeon driver for CIK/SI GPUs with CONFIG_DRM_AMDGPU_CIK
> enabled have to enable the new CONFIG_DRM_RADEON_FORCE_CIK/SI option,
> and then they're merely back to square one, in the current situation
> where it's not clearly defined which driver will end up being used for
> such GPUs.

So what's the usage model here? I think the situation that both AMDGPU
and Radeon support CIK is for developers only. "Normal end users" would
never be in this situation.

For developers, Christian is OK with having just a compile time option,
and probably choosing the driver by loading the right module manually.
You want to have a boot time kernel option.

Are there any other ideas or requests, before I go spend more time on this?

>
>
>> CONFIG_DRM_AMDGPU_CIK/SI would then simply define which driver gets to
>> drive CIK/SI GPUs by default.
> To avoid the above, I'd say this should be the first step: Make
> CONFIG_DRM_AMDGPU_CIK/SI define which driver will register for CIK/SI
> GPUs by default. This does require some way to override it at runtime,
> though. A simple initial solution for that might be
> "force_cik"/"force_si" module parameters in both drivers. Setting
> force_cik/si=1/0 would make the driver register for / not register for
> CIK/SI GPUs.

Currently the options control the PCI ID aliases that are listed in the
module description. This affects which module will be loaded by
modprobe. If I make this a runtime option, I need some other mechanism
to reject certain GPUs even though modprobe loaded the module (probably
return failure from the driver->load() callback).

I'm also not sure whether modprobe would load both modules, or only one.
If it loads only one, you may end up with no graphics until you manually
insmod the other module.

Regards,
  Felix


More information about the amd-gfx mailing list