void disp_onConfig_bls(DISP_AAL_PARAM *param) { unsigned long prevSetting = DISP_REG_GET(DISP_REG_BLS_BLS_SETTING); unsigned long regVal = 0; DISP_DBG("disp_onConfig_bls!\n"); DISP_DBG("pwm duty = %lu\n", param->pwmDuty); if (param->pwmDuty == 0) DISP_REG_SET(DISP_REG_BLS_PWM_DUTY, 0); else if (param->pwmDuty > gMaxLevel) DISP_REG_SET(DISP_REG_BLS_PWM_DUTY, gMaxLevel); else DISP_REG_SET(DISP_REG_BLS_PWM_DUTY, param->pwmDuty); DISP_DBG("bls setting = %lu\n", param->setting); #if defined(DDP_GAMMA_SUPPORT) if (param->setting & ENUM_FUNC_GAMMA) regVal |= 0x7; else #endif regVal &= ~0x7; if (param->setting & ENUM_FUNC_BLS) regVal |= 0x10100; else regVal &= ~0x10100; DISP_REG_SET(DISP_REG_BLS_BLS_SETTING, regVal | 0x100000); if (param->setting & ENUM_FUNC_BLS) { DISP_DBG("distion threshold = %lu\n", param->maxClrDistThd); DISP_DBG("predistion threshold = %lu\n", param->preDistThd); // TODO: BLS porting } if (prevSetting & 0x10100) { // TODO: BLS porting } else if (param->setting & ENUM_FUNC_BLS) { disp_set_aal_alarm(1); } if (aal_debug_flag == 0) { DISP_REG_SET(DISP_REG_BLS_EN, 0x00010001); } else { DISP_REG_SET(DISP_REG_BLS_EN, 0x00010000); } }
void disp_onConfig_bls(DISP_AAL_PARAM *param) { unsigned long prevSetting = DISP_REG_GET(DISP_REG_BLS_BLS_SETTING); unsigned int regVal; unsigned int level = brightness_mapping(param->pwmDuty); BLS_DBG("disp_onConfig_bls!\n"); BLS_DBG("pwm duty = %lu => %u \n", param->pwmDuty, level); regVal = DISP_REG_GET(DISP_REG_BLS_EN); if (level == 0) { DISP_REG_SET(DISP_REG_BLS_PWM_DUTY, 0); if (regVal & 0x10000) DISP_REG_SET(DISP_REG_BLS_EN, regVal & 0xFFFEFFFF); } else { DISP_REG_SET(DISP_REG_BLS_PWM_DUTY, level); if (!(regVal & 0x10000)) DISP_REG_SET(DISP_REG_BLS_EN, regVal | 0x10000); } BLS_DBG("bls setting = %lu\n", param->setting); if (param->setting & ENUM_FUNC_BLS) { BLS_DBG("distion threshold = %lu\n", param->maxClrDistThd); BLS_DBG("predistion threshold = %lu\n", param->preDistThd); // TODO: BLS porting } if (prevSetting & 0x10100) { // TODO: BLS porting } else if (param->setting & ENUM_FUNC_BLS) { disp_set_aal_alarm(1); } }