drm/mediatek: aal: Use bitfield macros
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Thu, 12 Oct 2023 09:57:27 +0000 (11:57 +0200)
committerChun-Kuang Hu <chunkuang.hu@kernel.org>
Mon, 16 Oct 2023 15:06:02 +0000 (15:06 +0000)
Make the code more robust and improve readability by using bitfield
macros instead of open coding bit operations.

Reviewed-by: CK Hu <ck.hu@mediatek.com>
Reviewed-by: NĂ­colas F. R. A. Prado <nfraprado@collabora.com>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20231012095736.100784-8-angelogioacchino.delregno@collabora.com/
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
drivers/gpu/drm/mediatek/mtk_disp_aal.c

index e1406b37a86d25badbed915bcbf27f1a3a181c0e..f97c194f9caae6c9eb9cd6cea32bf6b21fabb785 100644 (file)
@@ -18,6 +18,8 @@
 #define DISP_AAL_EN                            0x0000
 #define AAL_EN                                         BIT(0)
 #define DISP_AAL_SIZE                          0x0030
+#define DISP_AAL_SIZE_HSIZE                            GENMASK(28, 16)
+#define DISP_AAL_SIZE_VSIZE                            GENMASK(12, 0)
 #define DISP_AAL_OUTPUT_SIZE                   0x04d8
 #define DISP_AAL_LUT_SIZE                      512
 
@@ -51,9 +53,13 @@ void mtk_aal_config(struct device *dev, unsigned int w,
                           unsigned int bpc, struct cmdq_pkt *cmdq_pkt)
 {
        struct mtk_disp_aal *aal = dev_get_drvdata(dev);
+       u32 sz;
 
-       mtk_ddp_write(cmdq_pkt, w << 16 | h, &aal->cmdq_reg, aal->regs, DISP_AAL_SIZE);
-       mtk_ddp_write(cmdq_pkt, w << 16 | h, &aal->cmdq_reg, aal->regs, DISP_AAL_OUTPUT_SIZE);
+       sz = FIELD_PREP(DISP_AAL_SIZE_HSIZE, w);
+       sz |= FIELD_PREP(DISP_AAL_SIZE_VSIZE, h);
+
+       mtk_ddp_write(cmdq_pkt, sz, &aal->cmdq_reg, aal->regs, DISP_AAL_SIZE);
+       mtk_ddp_write(cmdq_pkt, sz, &aal->cmdq_reg, aal->regs, DISP_AAL_OUTPUT_SIZE);
 }
 
 /**