2010/6/3 Alex Deucher <alexdeucher@xxxxxxxxx>: > 2010/6/3 Rafał Miłecki <zajec5@xxxxxxxxx>: >> 2010/5/28 Alex Deucher <alexdeucher@xxxxxxxxx>: >>> diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c >>> index dac2534..d84d7cf 100644 >>> --- a/drivers/gpu/drm/radeon/r600.c >>> +++ b/drivers/gpu/drm/radeon/r600.c >>> @@ -475,6 +475,12 @@ void r600_pm_init_profile(struct radeon_device *rdev) >>> >>> void r600_pm_misc(struct radeon_device *rdev) >>> { >>> + int requested_index = rdev->pm.requested_power_state_index; >>> + struct radeon_power_state *ps = &rdev->pm.power_state[requested_index]; >>> + struct radeon_voltage *voltage = &ps->clock_info[0].voltage; >>> + >>> + if ((voltage->type == VOLTAGE_SW) && voltage->voltage) >>> + radeon_atom_set_voltage(rdev, voltage->voltage); >>> >>> } >>> >> >> In case of my RV620 I can see (using AtomDis): >> 0004: UCHAR ucVoltageType = 0x01 (1) >> so it looks that my GPU uses VOLTAGE_GPIO (it's 0x01). >> >> You seem to do not use SetVoltage AtomBIOS command for VOLTAGE_GPIO. >> However in case of my BIOS there is SetVoltage command table. >> >> Could you comment on this, please? > > The VOLTAGE_GPIO, VOLTAGE_SW, etc. enums in the driver are a little > confusing I guess. They refer to the interface used to program the Just to clarify, they refer to the interface used to *store* the voltage in the power tables. Alex > voltage. We could have called them VOLTAGE_TYPE1, VOLTAGE_TYPE2, > etc., but I wanted to provide a bit more info about the type. > > VOLTAGE_GPIO refers to the cases where the power table specifies the > GPIO reg and a mask for voltage control. > VOLTAGE_VDDC refers to the cases where the power table specifies an > index into the VDDC voltage table. > VOLTAGE_SW refers to the cases where the power table specifies the > actual voltage value which SW (software) has to program. > > Your system (actually all r6xx+ vbioses) specifies a voltage value, so > they are the VOLTAGE_SW type. The actual implementation on the board > may be gpio or i2c, etc.; depends on the board. The SetVoltage > command table uses the VoltageObject data table to look up the the > relevant info based on the voltage value specified. > > I hope that clarifies things. > > Alex > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel