Merge "sdm:fb: Add Mixer GC set functionality"
This commit is contained in:
committed by
Gerrit - the friendly Code Review server
commit
f0ea8267df
@@ -56,6 +56,7 @@ enum PPGlobalColorFeatureID {
|
|||||||
kGlobalColorFeaturePcc,
|
kGlobalColorFeaturePcc,
|
||||||
kGlobalColorFeatureIgc,
|
kGlobalColorFeatureIgc,
|
||||||
kGlobalColorFeaturePgc,
|
kGlobalColorFeaturePgc,
|
||||||
|
kMixerColorFeatureGc,
|
||||||
kGlobalColorFeaturePaV2,
|
kGlobalColorFeaturePaV2,
|
||||||
kGlobalColorFeatureDither,
|
kGlobalColorFeatureDither,
|
||||||
kGlobalColorFeatureGamut,
|
kGlobalColorFeatureGamut,
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ DisplayError (*HWColorManager::SetFeature[])(const PPFeatureInfo &, msmfb_mdp_pp
|
|||||||
[kGlobalColorFeaturePcc] = &HWColorManager::SetPCC,
|
[kGlobalColorFeaturePcc] = &HWColorManager::SetPCC,
|
||||||
[kGlobalColorFeatureIgc] = &HWColorManager::SetIGC,
|
[kGlobalColorFeatureIgc] = &HWColorManager::SetIGC,
|
||||||
[kGlobalColorFeaturePgc] = &HWColorManager::SetPGC,
|
[kGlobalColorFeaturePgc] = &HWColorManager::SetPGC,
|
||||||
|
[kMixerColorFeatureGc] = &HWColorManager::SetMixerGC,
|
||||||
[kGlobalColorFeaturePaV2] = &HWColorManager::SetPAV2,
|
[kGlobalColorFeaturePaV2] = &HWColorManager::SetPAV2,
|
||||||
[kGlobalColorFeatureDither] = &HWColorManager::SetDither,
|
[kGlobalColorFeatureDither] = &HWColorManager::SetDither,
|
||||||
[kGlobalColorFeatureGamut] = &HWColorManager::SetGamut,
|
[kGlobalColorFeatureGamut] = &HWColorManager::SetGamut,
|
||||||
@@ -96,6 +97,19 @@ DisplayError HWColorManager::SetPGC(const PPFeatureInfo &feature, msmfb_mdp_pp *
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DisplayError HWColorManager::SetMixerGC(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params) {
|
||||||
|
DisplayError ret = kErrorNone;
|
||||||
|
|
||||||
|
kernel_params->op = mdp_op_lut_cfg;
|
||||||
|
kernel_params->data.lut_cfg_data.lut_type = mdp_lut_pgc;
|
||||||
|
kernel_params->data.lut_cfg_data.data.pgc_lut_data.version = feature.feature_version_;
|
||||||
|
kernel_params->data.lut_cfg_data.data.pgc_lut_data.block =
|
||||||
|
(MDP_LOGICAL_BLOCK_DISP_0 + feature.disp_id_) | MDSS_PP_LM_CFG;
|
||||||
|
kernel_params->data.lut_cfg_data.data.pgc_lut_data.flags = feature.enable_flags_;
|
||||||
|
kernel_params->data.lut_cfg_data.data.pgc_lut_data.cfg_payload = feature.GetConfigData();
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
DisplayError HWColorManager::SetPAV2(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params) {
|
DisplayError HWColorManager::SetPAV2(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params) {
|
||||||
DisplayError ret = kErrorNone;
|
DisplayError ret = kErrorNone;
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ class HWColorManager {
|
|||||||
static DisplayError SetPCC(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params);
|
static DisplayError SetPCC(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params);
|
||||||
static DisplayError SetIGC(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params);
|
static DisplayError SetIGC(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params);
|
||||||
static DisplayError SetPGC(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params);
|
static DisplayError SetPGC(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params);
|
||||||
|
static DisplayError SetMixerGC(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params);
|
||||||
static DisplayError SetPAV2(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params);
|
static DisplayError SetPAV2(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params);
|
||||||
static DisplayError SetDither(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params);
|
static DisplayError SetDither(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params);
|
||||||
static DisplayError SetGamut(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params);
|
static DisplayError SetGamut(const PPFeatureInfo &feature, msmfb_mdp_pp *kernel_params);
|
||||||
|
|||||||
@@ -503,8 +503,7 @@ DisplayError HWPrimary::SetDisplayMode(const HWDisplayMode hw_display_mode) {
|
|||||||
DisplayError HWPrimary::GetPPFeaturesVersion(PPFeatureVersion *vers) {
|
DisplayError HWPrimary::GetPPFeaturesVersion(PPFeatureVersion *vers) {
|
||||||
STRUCT_VAR(mdp_pp_feature_version, version);
|
STRUCT_VAR(mdp_pp_feature_version, version);
|
||||||
|
|
||||||
// map from core domain to mdp FB driver domain.
|
uint32_t feature_id_mapping[kMaxNumPPFeatures] = { PCC, IGC, GC, GC, PA, DITHER, GAMUT };
|
||||||
uint32_t feature_id_mapping[kMaxNumPPFeatures] = { PCC, IGC, GC, PA, DITHER, GAMUT };
|
|
||||||
|
|
||||||
for (int i(0); i < kMaxNumPPFeatures; i++) {
|
for (int i(0); i < kMaxNumPPFeatures; i++) {
|
||||||
version.pp_feature = feature_id_mapping[i];
|
version.pp_feature = feature_id_mapping[i];
|
||||||
|
|||||||
Reference in New Issue
Block a user