From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F0277C433E0 for ; Thu, 28 Jan 2021 05:22:13 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8DC2064DD8 for ; Thu, 28 Jan 2021 05:22:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8DC2064DD8 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Date:To:From: Subject:Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=wn8O5s4Oj/kJNXx/zMXG71/67Lmd+0zHwn7tQ7Y7eVM=; b=ko1QwDpJllJeAoA6NvFe08psr hB92/j2noszY773GaQPdzFe1ppPNnzVkMCJZXy7G6u9EcLp3TPauuo0NqC4FtgfUOklwxNftUcmGG RbtcR7hYM7jLgPyPFcVB5Pb6W+tQi4oj1vukPOIK7+5+RGjXmFL7njtm2ztLJWlIJRFGvuEIQVsOe Os7DT2NEviF1YOq9xfCL5teR8vklVi5UB632KjOArtfP2FkpZEU0IFmIr2ful23oWisZbSaFDAs6b bIX8ONcaWwB9p4UF5nnEjTJKd922Uu2NzYajSHq98RnF9zCZnEEv5FGLyzZRdhrikJmpTrKOy9Htz hxrQ9wUKw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l4zkn-0005zt-J1; Thu, 28 Jan 2021 05:22:01 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l4zkk-0005yq-KN; Thu, 28 Jan 2021 05:22:00 +0000 X-UUID: 9ce5073a862b4a05a0b06517daa83e84-20210127 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=/pktXs/wn5J8yEqVNUEYeMaMl9r2rAFdxrOGFNkrSkM=; b=PnpzPdTiKCQQ9b5/3OgTqMV9ORINQgqGAqCTy4LLr5UEMBQHbr5TMQ0olJbQ5hz1k4dzvUKCgV34ujgXZkiPq5Pq0jevpt5Enz+PoeyvK21ym/rxM9BIYlBk4neJmh1GUw0DDfLA3aFtibMgxjAInF6DVAAu7eo8bmgp8F9yBhI=; X-UUID: 9ce5073a862b4a05a0b06517daa83e84-20210127 Received: from mtkcas67.mediatek.inc [(172.29.193.45)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 399260810; Wed, 27 Jan 2021 21:21:55 -0800 Received: from MTKMBS31N2.mediatek.inc (172.27.4.87) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 27 Jan 2021 21:21:53 -0800 Received: from mtkcas10.mediatek.inc (172.21.101.39) by MTKMBS31N2.mediatek.inc (172.27.4.87) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 28 Jan 2021 13:21:50 +0800 Received: from [172.21.77.4] (172.21.77.4) by mtkcas10.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 28 Jan 2021 13:21:50 +0800 Message-ID: <1611811310.25395.4.camel@mtksdaap41> Subject: Re: [PATCH v10 4/9] drm/mediatek: generalize mtk_dither_set() function From: CK Hu To: Hsin-Yi Wang Date: Thu, 28 Jan 2021 13:21:50 +0800 In-Reply-To: References: <20210127045422.2418917-1-hsinyi@chromium.org> <20210127045422.2418917-5-hsinyi@chromium.org> <1611808753.19104.2.camel@mtksdaap41> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-TM-SNTS-SMTP: 80E37F9612338877016C51274D77713CD38E07D9BF6559E650938D31C7674E2C2000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210128_002158_900596_2328C160 X-CRM114-Status: GOOD ( 30.26 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Devicetree List , Yongqiang Niu , David Airlie , lkml , dri-devel , Project_Global_Chrome_Upstream_Group@mediatek.com, "moderated list:ARM/Mediatek SoC support" , Philipp Zabel , Matthias Brugger , Daniel Vetter , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org On Thu, 2021-01-28 at 13:09 +0800, Hsin-Yi Wang wrote: > On Thu, Jan 28, 2021 at 12:39 PM CK Hu wrote: > > > > Hi, Hsin-Yi: > > > > On Wed, 2021-01-27 at 12:54 +0800, Hsin-Yi Wang wrote: > > > There may be data structure other than mtk_ddp_comp_dev that would call > > > mtk_dither_set(), so use regs as parameter instead of device. > > > > You does not change the interface of mtk_dither_set(). You move the > > common part in mtk_dither_set() to a new function which could be called > > by another caller. > > > > Regards, > > CK. > > > Current mtk_dither_set() cast dev data to struct mtk_ddp_comp_dev. But > mtk_disp_gamma in next patch would also call this function. But it's > dev data is struct mtk_disp_gamma, which is different, so we can't > cast to mtk_ddp_comp_dev. I separate the necessary parameters (regs, > cmdq_reg) out, so both component dither and gamma can both call this > separated function. I know this. This patch looks good to me but the description would confuse me.From the description, it seems that you modify the interface of mtk_dither_set(). So please modify the description to be more clear. Regards, CK > > This is similar to the mtk_gamma_set_common() in the next patch, which > gamma and aal both used. > > > > > > > Signed-off-by: Hsin-Yi Wang > > > --- > > > drivers/gpu/drm/mediatek/mtk_disp_drv.h | 4 ++++ > > > drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 25 +++++++++++++-------- > > > 2 files changed, 20 insertions(+), 9 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_drv.h b/drivers/gpu/drm/mediatek/mtk_disp_drv.h > > > index 46d199b7b4a29..c50d5fc9fd349 100644 > > > --- a/drivers/gpu/drm/mediatek/mtk_disp_drv.h > > > +++ b/drivers/gpu/drm/mediatek/mtk_disp_drv.h > > > @@ -17,6 +17,10 @@ void mtk_color_config(struct device *dev, unsigned int w, > > > unsigned int bpc, struct cmdq_pkt *cmdq_pkt); > > > void mtk_color_start(struct device *dev); > > > > > > +void mtk_dither_set_common(void __iomem *regs, struct cmdq_client_reg *cmdq_reg, > > > + unsigned int bpc, unsigned int CFG, > > > + struct cmdq_pkt *cmdq_pkt); > > > + > > > void mtk_dpi_start(struct device *dev); > > > void mtk_dpi_stop(struct device *dev); > > > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > > > index 7b5293429426d..53d25823a37cc 100644 > > > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > > > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > > > @@ -151,33 +151,40 @@ static void mtk_ddp_clk_disable(struct device *dev) > > > clk_disable_unprepare(priv->clk); > > > } > > > > > > -static void mtk_dither_set(struct device *dev, unsigned int bpc, > > > - unsigned int CFG, struct cmdq_pkt *cmdq_pkt) > > > -{ > > > - struct mtk_ddp_comp_dev *priv = dev_get_drvdata(dev); > > > > > > +void mtk_dither_set_common(void __iomem *regs, struct cmdq_client_reg *cmdq_reg, > > > + unsigned int bpc, unsigned int CFG, struct cmdq_pkt *cmdq_pkt) > > > +{ > > > /* If bpc equal to 0, the dithering function didn't be enabled */ > > > if (bpc == 0) > > > return; > > > > > > if (bpc >= MTK_MIN_BPC) { > > > - mtk_ddp_write(cmdq_pkt, 0, &priv->cmdq_reg, priv->regs, DISP_DITHER_5); > > > - mtk_ddp_write(cmdq_pkt, 0, &priv->cmdq_reg, priv->regs, DISP_DITHER_7); > > > + mtk_ddp_write(cmdq_pkt, 0, cmdq_reg, regs, DISP_DITHER_5); > > > + mtk_ddp_write(cmdq_pkt, 0, cmdq_reg, regs, DISP_DITHER_7); > > > mtk_ddp_write(cmdq_pkt, > > > DITHER_LSB_ERR_SHIFT_R(MTK_MAX_BPC - bpc) | > > > DITHER_ADD_LSHIFT_R(MTK_MAX_BPC - bpc) | > > > DITHER_NEW_BIT_MODE, > > > - &priv->cmdq_reg, priv->regs, DISP_DITHER_15); > > > + cmdq_reg, regs, DISP_DITHER_15); > > > mtk_ddp_write(cmdq_pkt, > > > DITHER_LSB_ERR_SHIFT_B(MTK_MAX_BPC - bpc) | > > > DITHER_ADD_LSHIFT_B(MTK_MAX_BPC - bpc) | > > > DITHER_LSB_ERR_SHIFT_G(MTK_MAX_BPC - bpc) | > > > DITHER_ADD_LSHIFT_G(MTK_MAX_BPC - bpc), > > > - &priv->cmdq_reg, priv->regs, DISP_DITHER_16); > > > - mtk_ddp_write(cmdq_pkt, DISP_DITHERING, &priv->cmdq_reg, priv->regs, CFG); > > > + cmdq_reg, regs, DISP_DITHER_16); > > > + mtk_ddp_write(cmdq_pkt, DISP_DITHERING, cmdq_reg, regs, CFG); > > > } > > > } > > > > > > +static void mtk_dither_set(struct device *dev, unsigned int bpc, > > > + unsigned int CFG, struct cmdq_pkt *cmdq_pkt) > > > +{ > > > + struct mtk_ddp_comp_dev *priv = dev_get_drvdata(dev); > > > + > > > + mtk_dither_set_common(priv->regs, &priv->cmdq_reg, bpc, CFG, cmdq_pkt); > > > +} > > > + > > > static void mtk_od_config(struct device *dev, unsigned int w, > > > unsigned int h, unsigned int vrefresh, > > > unsigned int bpc, struct cmdq_pkt *cmdq_pkt) > > > > _______________________________________________ > Linux-mediatek mailing list > Linux-mediatek@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-mediatek _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 87891C433E0 for ; Thu, 28 Jan 2021 05:23:22 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1A90664DCC for ; Thu, 28 Jan 2021 05:23:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1A90664DCC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Date:To:From: Subject:Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=u9HUsURWkkgmbIUaU4Ha6ViD5TbedvhH8Lx9nQvLVZk=; b=eRUsmR19MERR7cY2Es4kfy1Ko dExolMvarYVzNa/O0bthFXHobF77nqL5V2hTV5vC6AEy69MNXjT1QWLaeMiLRO2L40ipJsaELhK5+ 6TN4hG/y7FSR4DUdYR3di3BA8K9ymYkRggpit+/CsJcToLRA+nrMO3BKCIVyVC5MqMuo8Ju1sOFVC NfNAZ0CvGENYBvI0mB/rvelH7OmBbIh9I5gTXiNbMrFkzY3s9cM4br4Cp/oA+Oqic78hlb8p0Gp4A huFZjGuANbBSKrUWTSUE9Tnty+yKrJNxzOjDYh5VqiM21sMgrhXx6npCyEAh48seadV9euCqSiwg3 g9QsbuImw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l4zko-000605-D0; Thu, 28 Jan 2021 05:22:02 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l4zkk-0005yq-KN; Thu, 28 Jan 2021 05:22:00 +0000 X-UUID: 9ce5073a862b4a05a0b06517daa83e84-20210127 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=/pktXs/wn5J8yEqVNUEYeMaMl9r2rAFdxrOGFNkrSkM=; b=PnpzPdTiKCQQ9b5/3OgTqMV9ORINQgqGAqCTy4LLr5UEMBQHbr5TMQ0olJbQ5hz1k4dzvUKCgV34ujgXZkiPq5Pq0jevpt5Enz+PoeyvK21ym/rxM9BIYlBk4neJmh1GUw0DDfLA3aFtibMgxjAInF6DVAAu7eo8bmgp8F9yBhI=; X-UUID: 9ce5073a862b4a05a0b06517daa83e84-20210127 Received: from mtkcas67.mediatek.inc [(172.29.193.45)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 399260810; Wed, 27 Jan 2021 21:21:55 -0800 Received: from MTKMBS31N2.mediatek.inc (172.27.4.87) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 27 Jan 2021 21:21:53 -0800 Received: from mtkcas10.mediatek.inc (172.21.101.39) by MTKMBS31N2.mediatek.inc (172.27.4.87) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 28 Jan 2021 13:21:50 +0800 Received: from [172.21.77.4] (172.21.77.4) by mtkcas10.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 28 Jan 2021 13:21:50 +0800 Message-ID: <1611811310.25395.4.camel@mtksdaap41> Subject: Re: [PATCH v10 4/9] drm/mediatek: generalize mtk_dither_set() function From: CK Hu To: Hsin-Yi Wang Date: Thu, 28 Jan 2021 13:21:50 +0800 In-Reply-To: References: <20210127045422.2418917-1-hsinyi@chromium.org> <20210127045422.2418917-5-hsinyi@chromium.org> <1611808753.19104.2.camel@mtksdaap41> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-TM-SNTS-SMTP: 80E37F9612338877016C51274D77713CD38E07D9BF6559E650938D31C7674E2C2000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210128_002158_900596_2328C160 X-CRM114-Status: GOOD ( 30.26 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Devicetree List , Yongqiang Niu , David Airlie , lkml , dri-devel , Project_Global_Chrome_Upstream_Group@mediatek.com, "moderated list:ARM/Mediatek SoC support" , Philipp Zabel , Matthias Brugger , Daniel Vetter , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Thu, 2021-01-28 at 13:09 +0800, Hsin-Yi Wang wrote: > On Thu, Jan 28, 2021 at 12:39 PM CK Hu wrote: > > > > Hi, Hsin-Yi: > > > > On Wed, 2021-01-27 at 12:54 +0800, Hsin-Yi Wang wrote: > > > There may be data structure other than mtk_ddp_comp_dev that would call > > > mtk_dither_set(), so use regs as parameter instead of device. > > > > You does not change the interface of mtk_dither_set(). You move the > > common part in mtk_dither_set() to a new function which could be called > > by another caller. > > > > Regards, > > CK. > > > Current mtk_dither_set() cast dev data to struct mtk_ddp_comp_dev. But > mtk_disp_gamma in next patch would also call this function. But it's > dev data is struct mtk_disp_gamma, which is different, so we can't > cast to mtk_ddp_comp_dev. I separate the necessary parameters (regs, > cmdq_reg) out, so both component dither and gamma can both call this > separated function. I know this. This patch looks good to me but the description would confuse me.From the description, it seems that you modify the interface of mtk_dither_set(). So please modify the description to be more clear. Regards, CK > > This is similar to the mtk_gamma_set_common() in the next patch, which > gamma and aal both used. > > > > > > > Signed-off-by: Hsin-Yi Wang > > > --- > > > drivers/gpu/drm/mediatek/mtk_disp_drv.h | 4 ++++ > > > drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 25 +++++++++++++-------- > > > 2 files changed, 20 insertions(+), 9 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_drv.h b/drivers/gpu/drm/mediatek/mtk_disp_drv.h > > > index 46d199b7b4a29..c50d5fc9fd349 100644 > > > --- a/drivers/gpu/drm/mediatek/mtk_disp_drv.h > > > +++ b/drivers/gpu/drm/mediatek/mtk_disp_drv.h > > > @@ -17,6 +17,10 @@ void mtk_color_config(struct device *dev, unsigned int w, > > > unsigned int bpc, struct cmdq_pkt *cmdq_pkt); > > > void mtk_color_start(struct device *dev); > > > > > > +void mtk_dither_set_common(void __iomem *regs, struct cmdq_client_reg *cmdq_reg, > > > + unsigned int bpc, unsigned int CFG, > > > + struct cmdq_pkt *cmdq_pkt); > > > + > > > void mtk_dpi_start(struct device *dev); > > > void mtk_dpi_stop(struct device *dev); > > > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > > > index 7b5293429426d..53d25823a37cc 100644 > > > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > > > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > > > @@ -151,33 +151,40 @@ static void mtk_ddp_clk_disable(struct device *dev) > > > clk_disable_unprepare(priv->clk); > > > } > > > > > > -static void mtk_dither_set(struct device *dev, unsigned int bpc, > > > - unsigned int CFG, struct cmdq_pkt *cmdq_pkt) > > > -{ > > > - struct mtk_ddp_comp_dev *priv = dev_get_drvdata(dev); > > > > > > +void mtk_dither_set_common(void __iomem *regs, struct cmdq_client_reg *cmdq_reg, > > > + unsigned int bpc, unsigned int CFG, struct cmdq_pkt *cmdq_pkt) > > > +{ > > > /* If bpc equal to 0, the dithering function didn't be enabled */ > > > if (bpc == 0) > > > return; > > > > > > if (bpc >= MTK_MIN_BPC) { > > > - mtk_ddp_write(cmdq_pkt, 0, &priv->cmdq_reg, priv->regs, DISP_DITHER_5); > > > - mtk_ddp_write(cmdq_pkt, 0, &priv->cmdq_reg, priv->regs, DISP_DITHER_7); > > > + mtk_ddp_write(cmdq_pkt, 0, cmdq_reg, regs, DISP_DITHER_5); > > > + mtk_ddp_write(cmdq_pkt, 0, cmdq_reg, regs, DISP_DITHER_7); > > > mtk_ddp_write(cmdq_pkt, > > > DITHER_LSB_ERR_SHIFT_R(MTK_MAX_BPC - bpc) | > > > DITHER_ADD_LSHIFT_R(MTK_MAX_BPC - bpc) | > > > DITHER_NEW_BIT_MODE, > > > - &priv->cmdq_reg, priv->regs, DISP_DITHER_15); > > > + cmdq_reg, regs, DISP_DITHER_15); > > > mtk_ddp_write(cmdq_pkt, > > > DITHER_LSB_ERR_SHIFT_B(MTK_MAX_BPC - bpc) | > > > DITHER_ADD_LSHIFT_B(MTK_MAX_BPC - bpc) | > > > DITHER_LSB_ERR_SHIFT_G(MTK_MAX_BPC - bpc) | > > > DITHER_ADD_LSHIFT_G(MTK_MAX_BPC - bpc), > > > - &priv->cmdq_reg, priv->regs, DISP_DITHER_16); > > > - mtk_ddp_write(cmdq_pkt, DISP_DITHERING, &priv->cmdq_reg, priv->regs, CFG); > > > + cmdq_reg, regs, DISP_DITHER_16); > > > + mtk_ddp_write(cmdq_pkt, DISP_DITHERING, cmdq_reg, regs, CFG); > > > } > > > } > > > > > > +static void mtk_dither_set(struct device *dev, unsigned int bpc, > > > + unsigned int CFG, struct cmdq_pkt *cmdq_pkt) > > > +{ > > > + struct mtk_ddp_comp_dev *priv = dev_get_drvdata(dev); > > > + > > > + mtk_dither_set_common(priv->regs, &priv->cmdq_reg, bpc, CFG, cmdq_pkt); > > > +} > > > + > > > static void mtk_od_config(struct device *dev, unsigned int w, > > > unsigned int h, unsigned int vrefresh, > > > unsigned int bpc, struct cmdq_pkt *cmdq_pkt) > > > > _______________________________________________ > Linux-mediatek mailing list > Linux-mediatek@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-mediatek _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 83762C433E0 for ; Thu, 28 Jan 2021 05:23:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 21D5464DCC for ; Thu, 28 Jan 2021 05:23:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229448AbhA1FWp (ORCPT ); Thu, 28 Jan 2021 00:22:45 -0500 Received: from mailgw02.mediatek.com ([1.203.163.81]:57251 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S229446AbhA1FWn (ORCPT ); Thu, 28 Jan 2021 00:22:43 -0500 X-UUID: 05fcc12e37534f9cb16e399a4f9711de-20210128 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=/pktXs/wn5J8yEqVNUEYeMaMl9r2rAFdxrOGFNkrSkM=; b=PnpzPdTiKCQQ9b5/3OgTqMV9ORINQgqGAqCTy4LLr5UEMBQHbr5TMQ0olJbQ5hz1k4dzvUKCgV34ujgXZkiPq5Pq0jevpt5Enz+PoeyvK21ym/rxM9BIYlBk4neJmh1GUw0DDfLA3aFtibMgxjAInF6DVAAu7eo8bmgp8F9yBhI=; X-UUID: 05fcc12e37534f9cb16e399a4f9711de-20210128 Received: from mtkcas36.mediatek.inc [(172.27.4.253)] by mailgw02.mediatek.com (envelope-from ) (mailgw01.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 2109424651; Thu, 28 Jan 2021 13:21:53 +0800 Received: from mtkcas10.mediatek.inc (172.21.101.39) by MTKMBS31N2.mediatek.inc (172.27.4.87) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 28 Jan 2021 13:21:50 +0800 Received: from [172.21.77.4] (172.21.77.4) by mtkcas10.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 28 Jan 2021 13:21:50 +0800 Message-ID: <1611811310.25395.4.camel@mtksdaap41> Subject: Re: [PATCH v10 4/9] drm/mediatek: generalize mtk_dither_set() function From: CK Hu To: Hsin-Yi Wang CC: Mark Rutland , Devicetree List , Philipp Zabel , "David Airlie" , lkml , dri-devel , Yongqiang Niu , , "moderated list:ARM/Mediatek SoC support" , "Daniel Vetter" , Matthias Brugger , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" Date: Thu, 28 Jan 2021 13:21:50 +0800 In-Reply-To: References: <20210127045422.2418917-1-hsinyi@chromium.org> <20210127045422.2418917-5-hsinyi@chromium.org> <1611808753.19104.2.camel@mtksdaap41> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-TM-SNTS-SMTP: 80E37F9612338877016C51274D77713CD38E07D9BF6559E650938D31C7674E2C2000:8 X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org T24gVGh1LCAyMDIxLTAxLTI4IGF0IDEzOjA5ICswODAwLCBIc2luLVlpIFdhbmcgd3JvdGU6DQo+ IE9uIFRodSwgSmFuIDI4LCAyMDIxIGF0IDEyOjM5IFBNIENLIEh1IDxjay5odUBtZWRpYXRlay5j b20+IHdyb3RlOg0KPiA+DQo+ID4gSGksIEhzaW4tWWk6DQo+ID4NCj4gPiBPbiBXZWQsIDIwMjEt MDEtMjcgYXQgMTI6NTQgKzA4MDAsIEhzaW4tWWkgV2FuZyB3cm90ZToNCj4gPiA+IFRoZXJlIG1h eSBiZSBkYXRhIHN0cnVjdHVyZSBvdGhlciB0aGFuIG10a19kZHBfY29tcF9kZXYgdGhhdCB3b3Vs ZCBjYWxsDQo+ID4gPiBtdGtfZGl0aGVyX3NldCgpLCBzbyB1c2UgcmVncyBhcyBwYXJhbWV0ZXIg aW5zdGVhZCBvZiBkZXZpY2UuDQo+ID4NCj4gPiBZb3UgZG9lcyBub3QgY2hhbmdlIHRoZSBpbnRl cmZhY2Ugb2YgbXRrX2RpdGhlcl9zZXQoKS4gWW91IG1vdmUgdGhlDQo+ID4gY29tbW9uIHBhcnQg aW4gbXRrX2RpdGhlcl9zZXQoKSB0byBhIG5ldyBmdW5jdGlvbiB3aGljaCBjb3VsZCBiZSBjYWxs ZWQNCj4gPiBieSBhbm90aGVyIGNhbGxlci4NCj4gPg0KPiA+IFJlZ2FyZHMsDQo+ID4gQ0suDQo+ ID4NCj4gQ3VycmVudCBtdGtfZGl0aGVyX3NldCgpIGNhc3QgZGV2IGRhdGEgdG8gc3RydWN0IG10 a19kZHBfY29tcF9kZXYuIEJ1dA0KPiBtdGtfZGlzcF9nYW1tYSBpbiBuZXh0IHBhdGNoIHdvdWxk IGFsc28gY2FsbCB0aGlzIGZ1bmN0aW9uLiBCdXQgaXQncw0KPiBkZXYgZGF0YSBpcyBzdHJ1Y3Qg bXRrX2Rpc3BfZ2FtbWEsIHdoaWNoIGlzIGRpZmZlcmVudCwgc28gd2UgY2FuJ3QNCj4gY2FzdCB0 byBtdGtfZGRwX2NvbXBfZGV2LiBJIHNlcGFyYXRlIHRoZSBuZWNlc3NhcnkgcGFyYW1ldGVycyAo cmVncywNCj4gY21kcV9yZWcpIG91dCwgc28gYm90aCBjb21wb25lbnQgZGl0aGVyIGFuZCBnYW1t YSBjYW4gYm90aCBjYWxsIHRoaXMNCj4gc2VwYXJhdGVkIGZ1bmN0aW9uLg0KDQpJIGtub3cgdGhp cy4gVGhpcyBwYXRjaCBsb29rcyBnb29kIHRvIG1lIGJ1dCB0aGUgZGVzY3JpcHRpb24gd291bGQN CmNvbmZ1c2UgbWUuRnJvbSB0aGUgZGVzY3JpcHRpb24sIGl0IHNlZW1zIHRoYXQgeW91IG1vZGlm eSB0aGUgaW50ZXJmYWNlDQpvZiBtdGtfZGl0aGVyX3NldCgpLiBTbyBwbGVhc2UgbW9kaWZ5IHRo ZSBkZXNjcmlwdGlvbiB0byBiZSBtb3JlIGNsZWFyLg0KDQpSZWdhcmRzLA0KQ0sNCg0KPiANCj4g VGhpcyBpcyBzaW1pbGFyIHRvIHRoZSBtdGtfZ2FtbWFfc2V0X2NvbW1vbigpIGluIHRoZSBuZXh0 IHBhdGNoLCB3aGljaA0KPiBnYW1tYSBhbmQgYWFsIGJvdGggdXNlZC4NCj4gDQo+ID4gPg0KPiA+ ID4gU2lnbmVkLW9mZi1ieTogSHNpbi1ZaSBXYW5nIDxoc2lueWlAY2hyb21pdW0ub3JnPg0KPiA+ ID4gLS0tDQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX2Rydi5oICAg ICB8ICA0ICsrKysNCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBf Y29tcC5jIHwgMjUgKysrKysrKysrKysrKy0tLS0tLS0tDQo+ID4gPiAgMiBmaWxlcyBjaGFuZ2Vk LCAyMCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQ0KPiA+ID4NCj4gPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfZHJ2LmggYi9kcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfZHJ2LmgNCj4gPiA+IGluZGV4IDQ2ZDE5OWI3YjRhMjku LmM1MGQ1ZmM5ZmQzNDkgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2Rpc3BfZHJ2LmgNCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZGlzcF9kcnYuaA0KPiA+ID4gQEAgLTE3LDYgKzE3LDEwIEBAIHZvaWQgbXRrX2NvbG9yX2Nv bmZpZyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCB3LA0KPiA+ID4gICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBpbnQgYnBjLCBzdHJ1Y3QgY21kcV9wa3QgKmNtZHFfcGt0KTsN Cj4gPiA+ICB2b2lkIG10a19jb2xvcl9zdGFydChzdHJ1Y3QgZGV2aWNlICpkZXYpOw0KPiA+ID4N Cj4gPiA+ICt2b2lkIG10a19kaXRoZXJfc2V0X2NvbW1vbih2b2lkIF9faW9tZW0gKnJlZ3MsIHN0 cnVjdCBjbWRxX2NsaWVudF9yZWcgKmNtZHFfcmVnLA0KPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGludCBicGMsIHVuc2lnbmVkIGludCBDRkcsDQo+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IGNtZHFfcGt0ICpjbWRxX3BrdCk7DQo+ID4gPiArDQo+ ID4gPiAgdm9pZCBtdGtfZHBpX3N0YXJ0KHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ID4gPiAgdm9p ZCBtdGtfZHBpX3N0b3Aoc3RydWN0IGRldmljZSAqZGV2KTsNCj4gPiA+DQo+ID4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuYyBiL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMNCj4gPiA+IGluZGV4IDdiNTI5 MzQyOTQyNmQuLjUzZDI1ODIzYTM3Y2MgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jDQo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jDQo+ID4gPiBAQCAtMTUxLDMzICsxNTEsNDAg QEAgc3RhdGljIHZvaWQgbXRrX2RkcF9jbGtfZGlzYWJsZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+ ID4gPiAgICAgICBjbGtfZGlzYWJsZV91bnByZXBhcmUocHJpdi0+Y2xrKTsNCj4gPiA+ICB9DQo+ ID4gPg0KPiA+ID4gLXN0YXRpYyB2b2lkIG10a19kaXRoZXJfc2V0KHN0cnVjdCBkZXZpY2UgKmRl diwgdW5zaWduZWQgaW50IGJwYywNCj4gPiA+IC0gICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu dCBDRkcsIHN0cnVjdCBjbWRxX3BrdCAqY21kcV9wa3QpDQo+ID4gPiAtew0KPiA+ID4gLSAgICAg c3RydWN0IG10a19kZHBfY29tcF9kZXYgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4g PiA+DQo+ID4gPiArdm9pZCBtdGtfZGl0aGVyX3NldF9jb21tb24odm9pZCBfX2lvbWVtICpyZWdz LCBzdHJ1Y3QgY21kcV9jbGllbnRfcmVnICpjbWRxX3JlZywNCj4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBpbnQgYnBjLCB1bnNpZ25lZCBpbnQgQ0ZHLCBzdHJ1Y3QgY21k cV9wa3QgKmNtZHFfcGt0KQ0KPiA+ID4gK3sNCj4gPiA+ICAgICAgIC8qIElmIGJwYyBlcXVhbCB0 byAwLCB0aGUgZGl0aGVyaW5nIGZ1bmN0aW9uIGRpZG4ndCBiZSBlbmFibGVkICovDQo+ID4gPiAg ICAgICBpZiAoYnBjID09IDApDQo+ID4gPiAgICAgICAgICAgICAgIHJldHVybjsNCj4gPiA+DQo+ ID4gPiAgICAgICBpZiAoYnBjID49IE1US19NSU5fQlBDKSB7DQo+ID4gPiAtICAgICAgICAgICAg IG10a19kZHBfd3JpdGUoY21kcV9wa3QsIDAsICZwcml2LT5jbWRxX3JlZywgcHJpdi0+cmVncywg RElTUF9ESVRIRVJfNSk7DQo+ID4gPiAtICAgICAgICAgICAgIG10a19kZHBfd3JpdGUoY21kcV9w a3QsIDAsICZwcml2LT5jbWRxX3JlZywgcHJpdi0+cmVncywgRElTUF9ESVRIRVJfNyk7DQo+ID4g PiArICAgICAgICAgICAgIG10a19kZHBfd3JpdGUoY21kcV9wa3QsIDAsIGNtZHFfcmVnLCByZWdz LCBESVNQX0RJVEhFUl81KTsNCj4gPiA+ICsgICAgICAgICAgICAgbXRrX2RkcF93cml0ZShjbWRx X3BrdCwgMCwgY21kcV9yZWcsIHJlZ3MsIERJU1BfRElUSEVSXzcpOw0KPiA+ID4gICAgICAgICAg ICAgICBtdGtfZGRwX3dyaXRlKGNtZHFfcGt0LA0KPiA+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIERJVEhFUl9MU0JfRVJSX1NISUZUX1IoTVRLX01BWF9CUEMgLSBicGMpIHwNCj4gPiA+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBESVRIRVJfQUREX0xTSElGVF9SKE1US19NQVhf QlBDIC0gYnBjKSB8DQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRElUSEVSX05F V19CSVRfTU9ERSwNCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAmcHJpdi0+Y21k cV9yZWcsIHByaXYtPnJlZ3MsIERJU1BfRElUSEVSXzE1KTsNCj4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICBjbWRxX3JlZywgcmVncywgRElTUF9ESVRIRVJfMTUpOw0KPiA+ID4gICAg ICAgICAgICAgICBtdGtfZGRwX3dyaXRlKGNtZHFfcGt0LA0KPiA+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgIERJVEhFUl9MU0JfRVJSX1NISUZUX0IoTVRLX01BWF9CUEMgLSBicGMpIHwN Cj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBESVRIRVJfQUREX0xTSElGVF9CKE1U S19NQVhfQlBDIC0gYnBjKSB8DQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRElU SEVSX0xTQl9FUlJfU0hJRlRfRyhNVEtfTUFYX0JQQyAtIGJwYykgfA0KPiA+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgIERJVEhFUl9BRERfTFNISUZUX0coTVRLX01BWF9CUEMgLSBicGMp LA0KPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICZwcml2LT5jbWRxX3JlZywgcHJp di0+cmVncywgRElTUF9ESVRIRVJfMTYpOw0KPiA+ID4gLSAgICAgICAgICAgICBtdGtfZGRwX3dy aXRlKGNtZHFfcGt0LCBESVNQX0RJVEhFUklORywgJnByaXYtPmNtZHFfcmVnLCBwcml2LT5yZWdz LCBDRkcpOw0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZHFfcmVnLCByZWdz LCBESVNQX0RJVEhFUl8xNik7DQo+ID4gPiArICAgICAgICAgICAgIG10a19kZHBfd3JpdGUoY21k cV9wa3QsIERJU1BfRElUSEVSSU5HLCBjbWRxX3JlZywgcmVncywgQ0ZHKTsNCj4gPiA+ICAgICAg IH0NCj4gPiA+ICB9DQo+ID4gPg0KPiA+ID4gK3N0YXRpYyB2b2lkIG10a19kaXRoZXJfc2V0KHN0 cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IGJwYywNCj4gPiA+ICsgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGludCBDRkcsIHN0cnVjdCBjbWRxX3BrdCAqY21kcV9wa3QpDQo+ID4gPiAr ew0KPiA+ID4gKyAgICAgc3RydWN0IG10a19kZHBfY29tcF9kZXYgKnByaXYgPSBkZXZfZ2V0X2Ry dmRhdGEoZGV2KTsNCj4gPiA+ICsNCj4gPiA+ICsgICAgIG10a19kaXRoZXJfc2V0X2NvbW1vbihw cml2LT5yZWdzLCAmcHJpdi0+Y21kcV9yZWcsIGJwYywgQ0ZHLCBjbWRxX3BrdCk7DQo+ID4gPiAr fQ0KPiA+ID4gKw0KPiA+ID4gIHN0YXRpYyB2b2lkIG10a19vZF9jb25maWcoc3RydWN0IGRldmlj ZSAqZGV2LCB1bnNpZ25lZCBpbnQgdywNCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGludCBoLCB1bnNpZ25lZCBpbnQgdnJlZnJlc2gsDQo+ID4gPiAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBpbnQgYnBjLCBzdHJ1Y3QgY21kcV9wa3QgKmNtZHFfcGt0KQ0K PiA+DQo+IA0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xw0KPiBMaW51eC1tZWRpYXRlayBtYWlsaW5nIGxpc3QNCj4gTGludXgtbWVkaWF0ZWtAbGlzdHMu aW5mcmFkZWFkLm9yZw0KPiBodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LW1lZGlhdGVrDQoNCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.0 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED, USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B4DB6C433DB for ; Thu, 28 Jan 2021 05:22:04 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3A95A64DCE for ; Thu, 28 Jan 2021 05:22:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3A95A64DCE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0453C89350; Thu, 28 Jan 2021 05:22:03 +0000 (UTC) Received: from mailgw02.mediatek.com (unknown [1.203.163.81]) by gabe.freedesktop.org (Postfix) with ESMTP id 4AD6D89350 for ; Thu, 28 Jan 2021 05:22:01 +0000 (UTC) X-UUID: 05fcc12e37534f9cb16e399a4f9711de-20210128 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=/pktXs/wn5J8yEqVNUEYeMaMl9r2rAFdxrOGFNkrSkM=; b=PnpzPdTiKCQQ9b5/3OgTqMV9ORINQgqGAqCTy4LLr5UEMBQHbr5TMQ0olJbQ5hz1k4dzvUKCgV34ujgXZkiPq5Pq0jevpt5Enz+PoeyvK21ym/rxM9BIYlBk4neJmh1GUw0DDfLA3aFtibMgxjAInF6DVAAu7eo8bmgp8F9yBhI=; X-UUID: 05fcc12e37534f9cb16e399a4f9711de-20210128 Received: from mtkcas36.mediatek.inc [(172.27.4.253)] by mailgw02.mediatek.com (envelope-from ) (mailgw01.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 2109424651; Thu, 28 Jan 2021 13:21:53 +0800 Received: from mtkcas10.mediatek.inc (172.21.101.39) by MTKMBS31N2.mediatek.inc (172.27.4.87) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 28 Jan 2021 13:21:50 +0800 Received: from [172.21.77.4] (172.21.77.4) by mtkcas10.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 28 Jan 2021 13:21:50 +0800 Message-ID: <1611811310.25395.4.camel@mtksdaap41> Subject: Re: [PATCH v10 4/9] drm/mediatek: generalize mtk_dither_set() function From: CK Hu To: Hsin-Yi Wang Date: Thu, 28 Jan 2021 13:21:50 +0800 In-Reply-To: References: <20210127045422.2418917-1-hsinyi@chromium.org> <20210127045422.2418917-5-hsinyi@chromium.org> <1611808753.19104.2.camel@mtksdaap41> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-TM-SNTS-SMTP: 80E37F9612338877016C51274D77713CD38E07D9BF6559E650938D31C7674E2C2000:8 X-MTK: N X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Devicetree List , Yongqiang Niu , David Airlie , lkml , dri-devel , Project_Global_Chrome_Upstream_Group@mediatek.com, "moderated list:ARM/Mediatek SoC support" , Matthias Brugger , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Thu, 2021-01-28 at 13:09 +0800, Hsin-Yi Wang wrote: > On Thu, Jan 28, 2021 at 12:39 PM CK Hu wrote: > > > > Hi, Hsin-Yi: > > > > On Wed, 2021-01-27 at 12:54 +0800, Hsin-Yi Wang wrote: > > > There may be data structure other than mtk_ddp_comp_dev that would call > > > mtk_dither_set(), so use regs as parameter instead of device. > > > > You does not change the interface of mtk_dither_set(). You move the > > common part in mtk_dither_set() to a new function which could be called > > by another caller. > > > > Regards, > > CK. > > > Current mtk_dither_set() cast dev data to struct mtk_ddp_comp_dev. But > mtk_disp_gamma in next patch would also call this function. But it's > dev data is struct mtk_disp_gamma, which is different, so we can't > cast to mtk_ddp_comp_dev. I separate the necessary parameters (regs, > cmdq_reg) out, so both component dither and gamma can both call this > separated function. I know this. This patch looks good to me but the description would confuse me.From the description, it seems that you modify the interface of mtk_dither_set(). So please modify the description to be more clear. Regards, CK > > This is similar to the mtk_gamma_set_common() in the next patch, which > gamma and aal both used. > > > > > > > Signed-off-by: Hsin-Yi Wang > > > --- > > > drivers/gpu/drm/mediatek/mtk_disp_drv.h | 4 ++++ > > > drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 25 +++++++++++++-------- > > > 2 files changed, 20 insertions(+), 9 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_drv.h b/drivers/gpu/drm/mediatek/mtk_disp_drv.h > > > index 46d199b7b4a29..c50d5fc9fd349 100644 > > > --- a/drivers/gpu/drm/mediatek/mtk_disp_drv.h > > > +++ b/drivers/gpu/drm/mediatek/mtk_disp_drv.h > > > @@ -17,6 +17,10 @@ void mtk_color_config(struct device *dev, unsigned int w, > > > unsigned int bpc, struct cmdq_pkt *cmdq_pkt); > > > void mtk_color_start(struct device *dev); > > > > > > +void mtk_dither_set_common(void __iomem *regs, struct cmdq_client_reg *cmdq_reg, > > > + unsigned int bpc, unsigned int CFG, > > > + struct cmdq_pkt *cmdq_pkt); > > > + > > > void mtk_dpi_start(struct device *dev); > > > void mtk_dpi_stop(struct device *dev); > > > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > > > index 7b5293429426d..53d25823a37cc 100644 > > > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > > > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > > > @@ -151,33 +151,40 @@ static void mtk_ddp_clk_disable(struct device *dev) > > > clk_disable_unprepare(priv->clk); > > > } > > > > > > -static void mtk_dither_set(struct device *dev, unsigned int bpc, > > > - unsigned int CFG, struct cmdq_pkt *cmdq_pkt) > > > -{ > > > - struct mtk_ddp_comp_dev *priv = dev_get_drvdata(dev); > > > > > > +void mtk_dither_set_common(void __iomem *regs, struct cmdq_client_reg *cmdq_reg, > > > + unsigned int bpc, unsigned int CFG, struct cmdq_pkt *cmdq_pkt) > > > +{ > > > /* If bpc equal to 0, the dithering function didn't be enabled */ > > > if (bpc == 0) > > > return; > > > > > > if (bpc >= MTK_MIN_BPC) { > > > - mtk_ddp_write(cmdq_pkt, 0, &priv->cmdq_reg, priv->regs, DISP_DITHER_5); > > > - mtk_ddp_write(cmdq_pkt, 0, &priv->cmdq_reg, priv->regs, DISP_DITHER_7); > > > + mtk_ddp_write(cmdq_pkt, 0, cmdq_reg, regs, DISP_DITHER_5); > > > + mtk_ddp_write(cmdq_pkt, 0, cmdq_reg, regs, DISP_DITHER_7); > > > mtk_ddp_write(cmdq_pkt, > > > DITHER_LSB_ERR_SHIFT_R(MTK_MAX_BPC - bpc) | > > > DITHER_ADD_LSHIFT_R(MTK_MAX_BPC - bpc) | > > > DITHER_NEW_BIT_MODE, > > > - &priv->cmdq_reg, priv->regs, DISP_DITHER_15); > > > + cmdq_reg, regs, DISP_DITHER_15); > > > mtk_ddp_write(cmdq_pkt, > > > DITHER_LSB_ERR_SHIFT_B(MTK_MAX_BPC - bpc) | > > > DITHER_ADD_LSHIFT_B(MTK_MAX_BPC - bpc) | > > > DITHER_LSB_ERR_SHIFT_G(MTK_MAX_BPC - bpc) | > > > DITHER_ADD_LSHIFT_G(MTK_MAX_BPC - bpc), > > > - &priv->cmdq_reg, priv->regs, DISP_DITHER_16); > > > - mtk_ddp_write(cmdq_pkt, DISP_DITHERING, &priv->cmdq_reg, priv->regs, CFG); > > > + cmdq_reg, regs, DISP_DITHER_16); > > > + mtk_ddp_write(cmdq_pkt, DISP_DITHERING, cmdq_reg, regs, CFG); > > > } > > > } > > > > > > +static void mtk_dither_set(struct device *dev, unsigned int bpc, > > > + unsigned int CFG, struct cmdq_pkt *cmdq_pkt) > > > +{ > > > + struct mtk_ddp_comp_dev *priv = dev_get_drvdata(dev); > > > + > > > + mtk_dither_set_common(priv->regs, &priv->cmdq_reg, bpc, CFG, cmdq_pkt); > > > +} > > > + > > > static void mtk_od_config(struct device *dev, unsigned int w, > > > unsigned int h, unsigned int vrefresh, > > > unsigned int bpc, struct cmdq_pkt *cmdq_pkt) > > > > _______________________________________________ > Linux-mediatek mailing list > Linux-mediatek@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-mediatek _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel