Pietruszka, on 15 April 2012 - 08:14 PM, said:
Hi kozlek
this is .zip with changes for my Palit 8800GS
send you PM with more info
thank you
Hi kozlek
can you make small exception for my 8800gs??? no more KP
it's simple IF...ELSE... construction
IF my card device -->>nv50 temp
ELSE normal G92 temp
here is what I've changed:
info.cpp
case 0x600: /* G92 */
arch = G92; //CHANGED for G92 PALIT 8800GS
break;
case 0x610: /* G92 */
arch = G84;
break;
nv50.cpp (change nr 1):
static int nv50_get_gpu_temp(void *sensor)
.
.
.
slope = 430.0/10000.0;
if (nv_card->device_id == 0x606) {//ADDED for G92 PALIT 8800GS
correction = nv_card->bios->sensor_cfg.temp_correction<<2;//ADDED for G92 PALIT 8800GS
}//ADDED for G92 PALIT 8800GS
if(nv_card->debug)
.
.
.
nv50.cpp (change nr 2):
/* Temperature monitoring; all NV50 cards feature an internal temperature sensor
/ but only use it when there is no I2C sensor around.
*/
.
.
.
else if((nv_card->arch & G92) && !(nv_card->caps & GPU_TEMP_MONITORING))
{
/* Nearly all G92 boards use a ADT7473 except some Asus models. They don't use the bios data properly, so give it its own function */
nv_card->caps |= GPU_TEMP_MONITORING;
nv_card->sensor_name = (char*)STRDUP("GPU Internal Sensor", sizeof("GPU Internal Sensor"));
if (nv_card->device_id == 0x606) //CHANGED for G92 PALIT 8800GS
{ //CHANGED for G92 PALIT 8800GS
nv_card->get_gpu_temp = (int(*)(I2CDevPtr))nv50_get_gpu_temp; //CHANGED for G92 PALIT 8800GS
} //CHANGED for G92 PALIT 8800GS
else //CHANGED for G92 PALIT 8800GS
nv_card->get_gpu_temp = (int(*)(I2CDevPtr))g92_get_gpu_temp;
.
.
.
this could solve the problem with next updates of HWSensors for G92 0x606 cards
Thank you for help