<pre>
Hi, Angelo:
On Fri, 2023-08-04 at 09:28 +0200, AngeloGioacchino Del Regno wrote:
> From: "Jason-JH.Lin" <jason-jh.lin@mediatek.com>
>
> Adjust the parameters in mtk_drm_gamma_set_common()
> - add (struct device *dev) to get lut_diff from gamma's driver data
> - remove (bool lut_diff) and use false as default value in the
> function
Reviewed-by: CK Hu <ck.hu@mediatek.com>
>
> Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com>
> Signed-off-by: AngeloGioacchino Del Regno <
> angelogioacchino.delregno@collabora.com>
> Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> drivers/gpu/drm/mediatek/mtk_disp_aal.c | 2 +-
> drivers/gpu/drm/mediatek/mtk_disp_drv.h | 2 +-
> drivers/gpu/drm/mediatek/mtk_disp_gamma.c | 18 ++++++++++++------
> 3 files changed, 14 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_aal.c
> b/drivers/gpu/drm/mediatek/mtk_disp_aal.c
> index cdbec79474d1..2f602f1f1c49 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_aal.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_aal.c
> @@ -66,7 +66,7 @@ void mtk_aal_gamma_set(struct device *dev, struct
> drm_crtc_state *state)
> struct mtk_disp_aal *aal = dev_get_drvdata(dev);
>
> if (aal->data && aal->data->has_gamma)
> -mtk_gamma_set_common(aal->regs, state, false);
> +mtk_gamma_set_common(NULL, aal->regs, state);
> }
>
> void mtk_aal_start(struct device *dev)
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> index 2254038519e1..75045932353e 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> @@ -54,7 +54,7 @@ void mtk_gamma_config(struct device *dev, unsigned
> int w,
> unsigned int h, unsigned int vrefresh,
> unsigned int bpc, struct cmdq_pkt *cmdq_pkt);
> void mtk_gamma_set(struct device *dev, struct drm_crtc_state
> *state);
> -void mtk_gamma_set_common(void __iomem *regs, struct drm_crtc_state
> *state, bool lut_diff);
> +void mtk_gamma_set_common(struct device *dev, void __iomem *regs,
> struct drm_crtc_state *state);
> void mtk_gamma_start(struct device *dev);
> void mtk_gamma_stop(struct device *dev);
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_gamma.c
> b/drivers/gpu/drm/mediatek/mtk_disp_gamma.c
> index 7746dceadb20..d42cc0698d83 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_gamma.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_gamma.c
> @@ -54,14 +54,24 @@ void mtk_gamma_clk_disable(struct device *dev)
> clk_disable_unprepare(gamma->clk);
> }
>
> -void mtk_gamma_set_common(void __iomem *regs, struct drm_crtc_state
> *state, bool lut_diff)
> +void mtk_gamma_set_common(struct device *dev, void __iomem *regs,
> struct drm_crtc_state *state)
> {
> +struct mtk_disp_gamma *gamma;
> unsigned int i, reg;
> struct drm_color_lut *lut;
> void __iomem *lut_base;
> +bool lut_diff;
> u32 word;
> u32 diff[3] = {0};
>
> +/* If we're called from AAL, dev is NULL */
> +gamma = dev ? dev_get_drvdata(dev) : NULL;
> +
> +if (gamma && gamma->data)
> +lut_diff = gamma->data->lut_diff;
> +else
> +lut_diff = false;
> +
> if (state->gamma_lut) {
> reg = readl(regs + DISP_GAMMA_CFG);
> reg = reg | GAMMA_LUT_EN;
> @@ -91,12 +101,8 @@ void mtk_gamma_set_common(void __iomem *regs,
> struct drm_crtc_state *state, bool
> void mtk_gamma_set(struct device *dev, struct drm_crtc_state *state)
> {
> struct mtk_disp_gamma *gamma = dev_get_drvdata(dev);
> -bool lut_diff = false;
> -
> -if (gamma->data)
> -lut_diff = gamma->data->lut_diff;
>
> -mtk_gamma_set_common(gamma->regs, state, lut_diff);
> +mtk_gamma_set_common(dev, gamma->regs, state);
> }
>
> void mtk_gamma_config(struct device *dev, unsigned int w,
</pre><!--type:text--><!--{--><pre>************* MEDIATEK Confidentiality Notice ********************
The information contained in this e-mail message (including any
attachments) may be confidential, proprietary, privileged, or otherwise
exempt from disclosure under applicable laws. It is intended to be
conveyed only to the designated recipient(s). Any use, dissemination,
distribution, printing, retaining or copying of this e-mail (including its
attachments) by unintended recipient(s) is strictly prohibited and may
be unlawful. If you are not an intended recipient of this e-mail, or believe
that you have received this e-mail in error, please notify the sender
immediately (by replying to this e-mail), delete any and all copies of
this e-mail (including any attachments) from your system, and do not
disclose the content of this e-mail to any other person. Thank you!
</pre><!--}-->