From 36b0822a9d1229d792d32274c817448567e4879d Mon Sep 17 00:00:00 2001 From: Yidi Lin Date: Fri, 10 Jan 2025 12:21:54 +0800 Subject: [PATCH] soc/mediatek/common/dp: Use assert to check read/write API params With CB:85918 and CB:85930, we can clean up the TODO in mtk_dp_mask. Follow DP Phy APIs to use `assert` for the param examination. TEST=verified on Ciri and Navi Change-Id: I94e6ad36d190d773876cbb43eb4ebe17164f3c92 Signed-off-by: Yidi Lin Reviewed-on: https://review.coreboot.org/c/coreboot/+/85931 Reviewed-by: Yu-Ping Wu Tested-by: build bot (Jenkins) --- src/soc/mediatek/common/dp/dptx_hal_common.c | 28 ++++++-------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/src/soc/mediatek/common/dp/dptx_hal_common.c b/src/soc/mediatek/common/dp/dptx_hal_common.c index 89da19caf1..fda1b4fff9 100644 --- a/src/soc/mediatek/common/dp/dptx_hal_common.c +++ b/src/soc/mediatek/common/dp/dptx_hal_common.c @@ -16,11 +16,8 @@ u32 mtk_dp_read(struct mtk_dp *mtk_dp, u32 offset) { void *addr = mtk_dp->regs + offset; - if (offset % 4 != 0 || offset > REG_OFFSET_LIMIT) { - printk(BIOS_ERR, "[%s] invalid offset %#x for reg %p\n", __func__, offset, - mtk_dp->regs); - return 0; - } + assert(mtk_dp->regs); + assert(offset % 4 == 0 && offset <= REG_OFFSET_LIMIT); return read32(addr); } @@ -28,11 +25,8 @@ void mtk_dp_write(struct mtk_dp *mtk_dp, u32 offset, u32 val) { void *addr = mtk_dp->regs + offset; - if (offset % 4 != 0 || offset > REG_OFFSET_LIMIT) { - printk(BIOS_ERR, "[%s] invalid offset %#x for reg %p\n", __func__, offset, - mtk_dp->regs); - return; - } + assert(mtk_dp->regs); + assert(offset % 4 == 0 && offset <= REG_OFFSET_LIMIT); write32(addr, val); } @@ -41,17 +35,11 @@ void mtk_dp_mask(struct mtk_dp *mtk_dp, u32 offset, u32 val, u32 mask) { void *addr = mtk_dp->regs + offset; - if (offset % 4 != 0 || offset > REG_OFFSET_LIMIT) { - printk(BIOS_ERR, "[%s] invalid offset %#x for reg %p\n", __func__, offset, - mtk_dp->regs); - return; - } + assert(mtk_dp->regs); + assert(offset % 4 == 0 && offset <= REG_OFFSET_LIMIT); + assert((val & mask) == val); - /* - * TODO: modify to clrsetbits32(addr, mask, val); - * There is asserion error when testing assert((val & mask) == val). - */ - clrsetbits32(addr, mask, val & mask); + clrsetbits32(addr, mask, val); } void mtk_dp_write_byte(struct mtk_dp *mtk_dp, u32 addr, u8 val, u8 mask)