Lines Matching +full:mt8173 +full:- +full:disp
1 // SPDX-License-Identifier: GPL-2.0-only
12 #include <linux/soc/mediatek/mtk-cmdq.h>
33 * struct mtk_disp_gamma - DISP_GAMMA driver structure
46 return clk_prepare_enable(gamma->clk); in mtk_gamma_clk_enable()
53 clk_disable_unprepare(gamma->clk); in mtk_gamma_clk_disable()
63 if (state->gamma_lut) { in mtk_gamma_set_common()
68 lut = (struct drm_color_lut *)state->gamma_lut->data; in mtk_gamma_set_common()
82 mtk_gamma_set_common(gamma->regs, state); in mtk_gamma_set()
91 mtk_ddp_write(cmdq_pkt, h << 16 | w, &gamma->cmdq_reg, gamma->regs, in mtk_gamma_config()
93 if (gamma->data && gamma->data->has_dither) in mtk_gamma_config()
94 mtk_dither_set_common(gamma->regs, &gamma->cmdq_reg, bpc, in mtk_gamma_config()
102 writel(GAMMA_EN, gamma->regs + DISP_GAMMA_EN); in mtk_gamma_start()
109 writel_relaxed(0x0, gamma->regs + DISP_GAMMA_EN); in mtk_gamma_stop()
130 struct device *dev = &pdev->dev; in mtk_disp_gamma_probe()
137 return -ENOMEM; in mtk_disp_gamma_probe()
139 priv->clk = devm_clk_get(dev, NULL); in mtk_disp_gamma_probe()
140 if (IS_ERR(priv->clk)) { in mtk_disp_gamma_probe()
142 return PTR_ERR(priv->clk); in mtk_disp_gamma_probe()
146 priv->regs = devm_ioremap_resource(dev, res); in mtk_disp_gamma_probe()
147 if (IS_ERR(priv->regs)) { in mtk_disp_gamma_probe()
149 return PTR_ERR(priv->regs); in mtk_disp_gamma_probe()
153 ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0); in mtk_disp_gamma_probe()
155 dev_dbg(dev, "get mediatek,gce-client-reg fail!\n"); in mtk_disp_gamma_probe()
158 priv->data = of_device_get_match_data(dev); in mtk_disp_gamma_probe()
170 component_del(&pdev->dev, &mtk_disp_gamma_component_ops); in mtk_disp_gamma_remove()
180 { .compatible = "mediatek,mt8173-disp-gamma",
182 { .compatible = "mediatek,mt8183-disp-gamma"},
191 .name = "mediatek-disp-gamma",