Bug 79071
Summary: | Hang with dpm radeon hd 5750, pcie 1.1 motherboard | ||
---|---|---|---|
Product: | Drivers | Reporter: | Jonathan Howard (jonathan) |
Component: | Video(DRI - non Intel) | Assignee: | drivers_video-dri |
Status: | RESOLVED CODE_FIX | ||
Severity: | normal | CC: | alexandre.f.demers, alexdeucher, Dieter |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | 3.16-rc2 (all dpm kernels) | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | dmesg |
Description
Jonathan Howard
2014-06-27 17:02:47 UTC
Does it only hang when forced to high or does that just make it happen sooner? Do you get hangs when it's set to auto? What makes you think it's the motherboard? Both high and auto appear to be same. Lack of other reports for the card, with me running on pcie v1 motherboard (card supports v2) give a hint (but not certain) probable cause. i fixed it. diff --git a/drivers/gpu/drm/radeon/cypress_dpm.c b/drivers/gpu/drm/radeon/cypress_dpm.c index cf783fc..cf77719 100644 --- a/drivers/gpu/drm/radeon/cypress_dpm.c +++ b/drivers/gpu/drm/radeon/cypress_dpm.c @@ -1551,7 +1551,7 @@ int cypress_populate_smc_voltage_tables(struct radeon_device *rdev, table->voltageMaskTable.highMask[RV770_SMC_VOLTAGEMASK_VDDCI] = 0; table->voltageMaskTable.lowMask[RV770_SMC_VOLTAGEMASK_VDDCI] = - cpu_to_be32(eg_pi->vddc_voltage_table.mask_low); + cpu_to_be32(eg_pi->vddci_voltage_table.mask_low); } return 0; (In reply to Jonathan Howard from comment #3) > i fixed it. > > diff --git a/drivers/gpu/drm/radeon/cypress_dpm.c > b/drivers/gpu/drm/radeon/cypress_dpm.c > index cf783fc..cf77719 100644 > --- a/drivers/gpu/drm/radeon/cypress_dpm.c > +++ b/drivers/gpu/drm/radeon/cypress_dpm.c > @@ -1551,7 +1551,7 @@ int cypress_populate_smc_voltage_tables(struct > radeon_device *rdev, > > > table->voltageMaskTable.highMask[RV770_SMC_VOLTAGEMASK_VDDCI] = 0; > table->voltageMaskTable.lowMask[RV770_SMC_VOLTAGEMASK_VDDCI] > = > - cpu_to_be32(eg_pi->vddc_voltage_table.mask_low); > + cpu_to_be32(eg_pi->vddci_voltage_table.mask_low); > } > > return 0; Good catch Jonathan! It seems to me, that this is NEEDED in ni_dpm.c, too (copy paste thing?) si_dpm.c IS OK. --- ni_dpm.c.orig 2014-06-22 07:02:54.000000000 +0200 +++ ni_dpm.c 2014-06-28 20:58:02.972099242 +0200 @@ -1315,7 +1315,7 @@ table->voltageMaskTable.highMask[NISLANDS_SMC_VOLTAGEMASK_VDDCI] = 0; table->voltageMaskTable.lowMask[NISLANDS_SMC_VOLTAGEMASK_VDDCI] = - cpu_to_be32(eg_pi->vddc_voltage_table.mask_low); + cpu_to_be32(eg_pi->vddci_voltage_table.mask_low); } } Patched and working 3.16-rc4 3.15.5 3.14.12 |