radeon: only enable dynclks if asked for

This commit is contained in:
Dave Airlie 2008-11-03 09:44:32 +10:00
parent 31f8d4218c
commit be3dac976e
2 changed files with 15 additions and 11 deletions

View file

@ -37,7 +37,7 @@
#include "drm_pciids.h" #include "drm_pciids.h"
int radeon_no_wb; int radeon_no_wb;
int radeon_dynclks = 1; int radeon_dynclks = -1;
int radeon_r4xx_atom = 0; int radeon_r4xx_atom = 0;
int radeon_agpmode = 0; int radeon_agpmode = 0;

View file

@ -2601,19 +2601,23 @@ int radeon_static_clocks_init(struct drm_device *dev)
{ {
drm_radeon_private_t *dev_priv = dev->dev_private; drm_radeon_private_t *dev_priv = dev->dev_private;
if (dev_priv->chip_family == CHIP_RS400 || if (radeon_dynclks != -1) {
dev_priv->chip_family == CHIP_RS480)
radeon_dynclks = 0;
if ((dev_priv->flags & RADEON_IS_MOBILITY) && !radeon_is_avivo(dev_priv)) { if (dev_priv->chip_family == CHIP_RS400 ||
radeon_set_dynamic_clock(dev, radeon_dynclks); dev_priv->chip_family == CHIP_RS480)
} else if (radeon_is_avivo(dev_priv)) { radeon_dynclks = 0;
if (radeon_dynclks) {
radeon_atom_static_pwrmgt_setup(dev, 1); if ((dev_priv->flags & RADEON_IS_MOBILITY) && !radeon_is_avivo(dev_priv)) {
radeon_atom_dyn_clk_setup(dev, 1); radeon_set_dynamic_clock(dev, radeon_dynclks);
} else if (radeon_is_avivo(dev_priv)) {
if (radeon_dynclks) {
radeon_atom_static_pwrmgt_setup(dev, 1);
radeon_atom_dyn_clk_setup(dev, 1);
}
} }
} }
radeon_force_some_clocks(dev); if (radeon_is_r300(dev_priv) || radeon_is_rv100(dev_priv))
radeon_force_some_clocks(dev);
return 0; return 0;
} }