Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp91015pxb; Mon, 8 Feb 2021 16:16:16 -0800 (PST) X-Google-Smtp-Source: ABdhPJwDY7LjyPKiBEU9EtS/wj7n1zEt0w8YlXnnrfZ2PnZiiJsgYgFYDDm/Llh76v3Hs8Xa6HzF X-Received: by 2002:aa7:de82:: with SMTP id j2mr20055913edv.313.1612829775993; Mon, 08 Feb 2021 16:16:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612829775; cv=none; d=google.com; s=arc-20160816; b=VW6iNNCKS84UNgEFoWEqN/mpoMXgXgLVSvhDkrJtwhtTdXYzme4l1h2FMsDypGTo+Q aTalx/OfHsoeeRqoqfxsOoCGCkEMZBWNmXO0sZIKp6dHcOYWZJ+ij43uZJ/98lubKHmY Az+69t43QbN6EQOKDeHa9U9BnZAp7KFaq7d/jkDNcB1ttBl9o1BjZPWSAoJH5BzIITJI 1Iu1bCQImecg550A5JCjdSw7BeiYYCs34czVdjz07euVYQMdfE0y3oZ3o6gk0pBTLc6u dZeul1Cd1pQMWDgGYhh+caNJ55JR0SQlYfEiiWDEf2Epzlmbm1+DCF5mf3q8+Ku9bfGE e2YQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=C7lJ//ky6W2yypzGpq7XvFPpU86rcg2n9r72dmwBjo8=; b=IfJO8b5+pTGV4W8+I+V2jMUeuk0zhgL2P1tu3khOgjSqi2LAPydmuioi509lznwF82 fAF3SbSWYSpshxJKbrFZWfPKNgr199sIuoz2gQCcK984YtTZl1yIzPIvVKnmZJmRww0z ePAhAFjBHOYGekpWXvPeYj+Bqn5mh9mcngGagDbE0Uv9lSiK6PENDG6cOq6hYLXM69x0 gTcRQo1H+UIQa2ZB3iMdNg2G6Cs1pv7wbAzgb6hHTz3Omi/5eauCmiahXrx8VcI9j+/d xjERdvEbCWv1gvkgXIPcVyvFF8m3xklH28LKjPftgsENyrk8e1HSglZZ51sn5BW+RA9D kngw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=WbIo1RFA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i10si14637440ejd.325.2021.02.08.16.15.52; Mon, 08 Feb 2021 16:16:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=WbIo1RFA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229648AbhBIAOC (ORCPT + 99 others); Mon, 8 Feb 2021 19:14:02 -0500 Received: from mail.kernel.org ([198.145.29.99]:37470 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229623AbhBIAN7 (ORCPT ); Mon, 8 Feb 2021 19:13:59 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 9187964EAA; Tue, 9 Feb 2021 00:13:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1612829597; bh=YGQmG5Aw41UXZ3vI14ndhT9iSdpoqlYcFpzEnNjxbjE=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=WbIo1RFAUb3UxRl4kThhbzRV6iE2oes6501a2dews7L6RpBw1Tp+RWtbCFOId5QLv +ogETCL1EKjjPK8T5pXEVCnYLqhzsbWHzM0TVsC+cEyFOy0fsP0gPg/vtyyyeIbnmk y8JqSEYI7gqgh5fwAmG1FX0iH2cHpY6FNb9PtLINeRCsDfvkO96IIrZDqEyYOrY+PD AbngIjlr6E17MKSxtNUX9+oWYwDQUTxRrG19/1QypjWGsw4/ylB6XvoWN65+zAOUvz +461sHNjjZFHFZZYVBe8lfQtSaQ5DnRGbkAkXWlf4Ro5Mk0y0STLO6XUcxtFUAVM/l EYXYuP6EsjVVA== Received: by mail-ed1-f51.google.com with SMTP id c6so21425244ede.0; Mon, 08 Feb 2021 16:13:17 -0800 (PST) X-Gm-Message-State: AOAM531CgVvij/TN31Yw+pqXdkJBwFiSGCumVJoqryUflBr5+EEs9pyn MLLIHZXNXkZTMP643H9w5+5Doj0oTTIxNqzLUQ== X-Received: by 2002:a50:d90a:: with SMTP id t10mr20535060edj.162.1612829596148; Mon, 08 Feb 2021 16:13:16 -0800 (PST) MIME-Version: 1.0 References: <20210208014221.196584-1-jitao.shi@mediatek.com> <20210208014221.196584-2-jitao.shi@mediatek.com> In-Reply-To: <20210208014221.196584-2-jitao.shi@mediatek.com> From: Chun-Kuang Hu Date: Tue, 9 Feb 2021 08:13:05 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 1/3] drm/mediatek: mtk_dpi: Add check for max clock rate in mode_valid To: Jitao Shi Cc: Chun-Kuang Hu , Philipp Zabel , David Airlie , Daniel Vetter , Rob Herring , Matthias Brugger , srv_heupstream , yingjoe.chen@mediatek.com, eddie.huang@mediatek.com, CK Hu , DRI Development , DTML , stonea168@163.com, huijuan.xie@mediatek.com, linux-kernel , Linux ARM , "moderated list:ARM/Mediatek SoC support" , shuijing.li@mediatek.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Jitao: Jitao Shi =E6=96=BC 2021=E5=B9=B42=E6=9C=888=E6=97= =A5 =E9=80=B1=E4=B8=80 =E4=B8=8A=E5=8D=889:42=E5=AF=AB=E9=81=93=EF=BC=9A > > Add per-platform max clock rate check in mtk_dpi_bridge_mode_valid. Reviewed-by: Chun-Kuang Hu > > Signed-off-by: Jitao Shi > --- > drivers/gpu/drm/mediatek/mtk_dpi.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediate= k/mtk_dpi.c > index 52f11a63a330..ffa4a0f1989f 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dpi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c > @@ -118,6 +118,7 @@ struct mtk_dpi_yc_limit { > struct mtk_dpi_conf { > unsigned int (*cal_factor)(int clock); > u32 reg_h_fre_con; > + u32 max_clock_khz; > bool edge_sel_en; > }; > > @@ -555,9 +556,22 @@ static void mtk_dpi_bridge_enable(struct drm_bridge = *bridge) > mtk_dpi_set_display_mode(dpi, &dpi->mode); > } > > +static enum drm_mode_status > +mtk_dpi_bridge_mode_valid(struct drm_bridge *bridge, > + const struct drm_display_mode *mode) > +{ > + struct mtk_dpi *dpi =3D bridge_to_dpi(bridge); > + > + if (dpi->conf->max_clock_khz && mode->clock > dpi->conf->max_cloc= k_khz) > + return MODE_CLOCK_HIGH; > + > + return MODE_OK; > +} > + > static const struct drm_bridge_funcs mtk_dpi_bridge_funcs =3D { > .attach =3D mtk_dpi_bridge_attach, > .mode_set =3D mtk_dpi_bridge_mode_set, > + .mode_valid =3D mtk_dpi_bridge_mode_valid, > .disable =3D mtk_dpi_bridge_disable, > .enable =3D mtk_dpi_bridge_enable, > }; > @@ -673,17 +687,20 @@ static unsigned int mt8183_calculate_factor(int clo= ck) > static const struct mtk_dpi_conf mt8173_conf =3D { > .cal_factor =3D mt8173_calculate_factor, > .reg_h_fre_con =3D 0xe0, > + .max_clock_khz =3D 300000, > }; > > static const struct mtk_dpi_conf mt2701_conf =3D { > .cal_factor =3D mt2701_calculate_factor, > .reg_h_fre_con =3D 0xb0, > .edge_sel_en =3D true, > + .max_clock_khz =3D 150000, > }; > > static const struct mtk_dpi_conf mt8183_conf =3D { > .cal_factor =3D mt8183_calculate_factor, > .reg_h_fre_con =3D 0xe0, > + .max_clock_khz =3D 100000, > }; > > static int mtk_dpi_probe(struct platform_device *pdev) > -- > 2.25.1