drm/radeon/kms: add module option for pcie gen2
Switching to pcie gen2 causes problems on some boards. Add a module option to turn it on/off. There are gen2 compatability issues with some motherboards it seems. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=33027 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Родитель
394d83c17f
Коммит
d42dd579ac
|
@ -3158,6 +3158,9 @@ static void evergreen_pcie_gen2_enable(struct radeon_device *rdev)
|
|||
{
|
||||
u32 link_width_cntl, speed_cntl;
|
||||
|
||||
if (radeon_pcie_gen2 == 0)
|
||||
return;
|
||||
|
||||
if (rdev->flags & RADEON_IS_IGP)
|
||||
return;
|
||||
|
||||
|
|
|
@ -3658,6 +3658,9 @@ static void r600_pcie_gen2_enable(struct radeon_device *rdev)
|
|||
u32 link_width_cntl, lanes, speed_cntl, training_cntl, tmp;
|
||||
u16 link_cntl2;
|
||||
|
||||
if (radeon_pcie_gen2 == 0)
|
||||
return;
|
||||
|
||||
if (rdev->flags & RADEON_IS_IGP)
|
||||
return;
|
||||
|
||||
|
|
|
@ -92,6 +92,7 @@ extern int radeon_tv;
|
|||
extern int radeon_audio;
|
||||
extern int radeon_disp_priority;
|
||||
extern int radeon_hw_i2c;
|
||||
extern int radeon_pcie_gen2;
|
||||
|
||||
/*
|
||||
* Copy from radeon_drv.h so we don't have to include both and have conflicting
|
||||
|
|
|
@ -104,6 +104,7 @@ int radeon_tv = 1;
|
|||
int radeon_audio = 1;
|
||||
int radeon_disp_priority = 0;
|
||||
int radeon_hw_i2c = 0;
|
||||
int radeon_pcie_gen2 = 0;
|
||||
|
||||
MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers");
|
||||
module_param_named(no_wb, radeon_no_wb, int, 0444);
|
||||
|
@ -147,6 +148,9 @@ module_param_named(disp_priority, radeon_disp_priority, int, 0444);
|
|||
MODULE_PARM_DESC(hw_i2c, "hw i2c engine enable (0 = disable)");
|
||||
module_param_named(hw_i2c, radeon_hw_i2c, int, 0444);
|
||||
|
||||
MODULE_PARM_DESC(pcie_gen2, "PCIE Gen2 mode (1 = enable)");
|
||||
module_param_named(pcie_gen2, radeon_pcie_gen2, int, 0444);
|
||||
|
||||
static int radeon_suspend(struct drm_device *dev, pm_message_t state)
|
||||
{
|
||||
drm_radeon_private_t *dev_priv = dev->dev_private;
|
||||
|
|
|
@ -1372,6 +1372,9 @@ static void rv770_pcie_gen2_enable(struct radeon_device *rdev)
|
|||
u32 link_width_cntl, lanes, speed_cntl, tmp;
|
||||
u16 link_cntl2;
|
||||
|
||||
if (radeon_pcie_gen2 == 0)
|
||||
return;
|
||||
|
||||
if (rdev->flags & RADEON_IS_IGP)
|
||||
return;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче