Lines Matching full:gamma

54  * struct mtk_disp_gamma - Display Gamma driver structure
69 struct mtk_disp_gamma *gamma = dev_get_drvdata(dev); in mtk_gamma_clk_enable() local
71 return clk_prepare_enable(gamma->clk); in mtk_gamma_clk_enable()
76 struct mtk_disp_gamma *gamma = dev_get_drvdata(dev); in mtk_gamma_clk_disable() local
78 clk_disable_unprepare(gamma->clk); in mtk_gamma_clk_disable()
83 struct mtk_disp_gamma *gamma = dev_get_drvdata(dev); in mtk_gamma_get_lut_size() local
85 if (gamma && gamma->data) in mtk_gamma_get_lut_size()
86 return gamma->data->lut_size; in mtk_gamma_get_lut_size()
118 struct mtk_disp_gamma *gamma = dev_get_drvdata(dev); in mtk_gamma_set() local
119 void __iomem *lut0_base = gamma->regs + DISP_GAMMA_LUT; in mtk_gamma_set()
120 void __iomem *lut1_base = gamma->regs + DISP_GAMMA_LUT1; in mtk_gamma_set()
122 u8 lut_bits = gamma->data->lut_bits; in mtk_gamma_set()
127 /* If there's no gamma lut there's nothing to do here. */ in mtk_gamma_set()
131 num_lut_banks = gamma->data->lut_size / gamma->data->lut_bank_size; in mtk_gamma_set()
139 /* Switch gamma bank and set data mode before writing LUT */ in mtk_gamma_set()
143 writel(lbank_val, gamma->regs + DISP_GAMMA_BANK); in mtk_gamma_set()
146 for (i = 0; i < gamma->data->lut_bank_size; i++) { in mtk_gamma_set()
147 int n = cur_bank * gamma->data->lut_bank_size + i; in mtk_gamma_set()
154 if (!gamma->data->lut_diff || (i % 2 == 0)) { in mtk_gamma_set()
190 cfg_val = readl(gamma->regs + DISP_GAMMA_CFG); in mtk_gamma_set()
192 if (!gamma->data->has_dither) { in mtk_gamma_set()
194 if (mtk_gamma_lut_is_descending(lut, gamma->data->lut_size - 1)) in mtk_gamma_set()
200 /* Enable the gamma table */ in mtk_gamma_set()
206 writel(cfg_val, gamma->regs + DISP_GAMMA_CFG); in mtk_gamma_set()
213 struct mtk_disp_gamma *gamma = dev_get_drvdata(dev); in mtk_gamma_config() local
219 mtk_ddp_write(cmdq_pkt, sz, &gamma->cmdq_reg, gamma->regs, DISP_GAMMA_SIZE); in mtk_gamma_config()
220 if (gamma->data && gamma->data->has_dither) in mtk_gamma_config()
221 mtk_dither_set_common(gamma->regs, &gamma->cmdq_reg, bpc, in mtk_gamma_config()
227 struct mtk_disp_gamma *gamma = dev_get_drvdata(dev); in mtk_gamma_start() local
229 writel(GAMMA_EN, gamma->regs + DISP_GAMMA_EN); in mtk_gamma_start()
234 struct mtk_disp_gamma *gamma = dev_get_drvdata(dev); in mtk_gamma_stop() local
236 writel_relaxed(0x0, gamma->regs + DISP_GAMMA_EN); in mtk_gamma_stop()
269 "failed to get gamma clk\n"); in mtk_disp_gamma_probe()
275 "failed to ioremap gamma\n"); in mtk_disp_gamma_probe()
320 { .compatible = "mediatek,mt8173-disp-gamma",
322 { .compatible = "mediatek,mt8183-disp-gamma",
324 { .compatible = "mediatek,mt8195-disp-gamma",
334 .name = "mediatek-disp-gamma",