All of lore.kernel.org
 help / color / mirror / Atom feed
From: CK Hu <ck.hu@mediatek.com>
To: Bo-Chen Chen <rex-bc.chen@mediatek.com>,
	<chunkuang.hu@kernel.org>, <p.zabel@pengutronix.de>,
	<daniel@ffwll.ch>, <robh+dt@kernel.org>,
	<krzysztof.kozlowski+dt@linaro.org>, <mripard@kernel.org>,
	<tzimmermann@suse.de>, <matthias.bgg@gmail.com>, <deller@gmx.de>,
	<airlied@linux.ie>
Cc: <msp@baylibre.com>, <granquet@baylibre.com>,
	<jitao.shi@mediatek.com>, <wenst@chromium.org>,
	<angelogioacchino.delregno@collabora.com>,
	<dri-devel@lists.freedesktop.org>,
	<linux-mediatek@lists.infradead.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-fbdev@vger.kernel.org>,
	<Project_Global_Chrome_Upstream_Group@mediatek.com>
Subject: Re: [PATCH v12 05/10] drm/mediatek: Add MT8195 Embedded DisplayPort driver
Date: Wed, 29 Jun 2022 11:51:24 +0800	[thread overview]
Message-ID: <fcb60f65a30721970b7647633feea4f1df1bf774.camel@mediatek.com> (raw)
In-Reply-To: <20220627080341.5087-6-rex-bc.chen@mediatek.com>

Hi, Bo-Chen:

On Mon, 2022-06-27 at 16:03 +0800, Bo-Chen Chen wrote:
> From: Markus Schneider-Pargmann <msp@baylibre.com>
> 
> This patch adds a embedded displayport driver for the MediaTek mt8195
> SoC.
> 
> It supports the MT8195, the embedded DisplayPort units. It offers
> DisplayPort 1.4 with up to 4 lanes.
> 
> The driver creates a child device for the phy. The child device will
> never exist without the parent being active. As they are sharing a
> register range, the parent passes a regmap pointer to the child so
> that
> both can work with the same register range. The phy driver sets
> device
> data that is read by the parent to get the phy device that can be
> used
> to control the phy properties.
> 
> This driver is based on an initial version by
> Jitao shi <jitao.shi@mediatek.com>
> 
> Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
> Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
> [Bo-Chen: Cleanup the drivers and modify comments from reviewers]
> Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
> ---

[snip]

> +
> +static irqreturn_t mtk_dp_hpd_event_thread(int hpd, void *dev)
> +{
> +	struct mtk_dp *mtk_dp = dev;
> +	u8 buf[DP_RECEIVER_CAP_SIZE] = {};
> +
> +	if (mtk_dp->train_info.cable_state_change) {
> +		mtk_dp->train_info.cable_state_change = false;
> +
> +		mtk_dp_update_bits(mtk_dp, MTK_DP_TOP_PWR_STATE,
> +				   DP_PWR_STATE_BANDGAP_TPLL_LANE,
> +				   DP_PWR_STATE_MASK);
> +		drm_dp_read_dpcd_caps(&mtk_dp->aux, buf);
> +		mtk_dp->train_info.link_rate =
> +			min_t(int, mtk_dp->max_linkrate,
> +			      buf[mtk_dp->max_linkrate]);
> +		mtk_dp->train_info.lane_count =
> +			min_t(int, mtk_dp->max_lanes,
> +			      drm_dp_max_lane_count(buf));

If the state_change is unplug, why do you modify link_rate and
lane_count?
If the state_change is plug, there is a training flow to decide
link_rate and lane_count. I think the training flow is correct and any
modification here is redundant.

Regards,
CK

> +	}
> +
> +	if (mtk_dp->train_info.irq_sta.hpd_inerrupt) {
> +		dev_dbg(mtk_dp->dev, "MTK_DP_HPD_INTERRUPT\n");
> +		mtk_dp->train_info.irq_sta.hpd_inerrupt = false;
> +		mtk_dp_hpd_sink_event(mtk_dp);
> +	}
> +
> +	return IRQ_HANDLED;
> +}
> +


WARNING: multiple messages have this Message-ID (diff)
From: CK Hu <ck.hu@mediatek.com>
To: Bo-Chen Chen <rex-bc.chen@mediatek.com>,
	<chunkuang.hu@kernel.org>, <p.zabel@pengutronix.de>,
	<daniel@ffwll.ch>, <robh+dt@kernel.org>,
	<krzysztof.kozlowski+dt@linaro.org>, <mripard@kernel.org>,
	<tzimmermann@suse.de>, <matthias.bgg@gmail.com>, <deller@gmx.de>,
	<airlied@linux.ie>
Cc: devicetree@vger.kernel.org, linux-fbdev@vger.kernel.org,
	granquet@baylibre.com, jitao.shi@mediatek.com,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	msp@baylibre.com,
	Project_Global_Chrome_Upstream_Group@mediatek.com,
	linux-mediatek@lists.infradead.org, wenst@chromium.org,
	linux-arm-kernel@lists.infradead.org,
	angelogioacchino.delregno@collabora.com
Subject: Re: [PATCH v12 05/10] drm/mediatek: Add MT8195 Embedded DisplayPort driver
Date: Wed, 29 Jun 2022 11:51:24 +0800	[thread overview]
Message-ID: <fcb60f65a30721970b7647633feea4f1df1bf774.camel@mediatek.com> (raw)
In-Reply-To: <20220627080341.5087-6-rex-bc.chen@mediatek.com>

Hi, Bo-Chen:

On Mon, 2022-06-27 at 16:03 +0800, Bo-Chen Chen wrote:
> From: Markus Schneider-Pargmann <msp@baylibre.com>
> 
> This patch adds a embedded displayport driver for the MediaTek mt8195
> SoC.
> 
> It supports the MT8195, the embedded DisplayPort units. It offers
> DisplayPort 1.4 with up to 4 lanes.
> 
> The driver creates a child device for the phy. The child device will
> never exist without the parent being active. As they are sharing a
> register range, the parent passes a regmap pointer to the child so
> that
> both can work with the same register range. The phy driver sets
> device
> data that is read by the parent to get the phy device that can be
> used
> to control the phy properties.
> 
> This driver is based on an initial version by
> Jitao shi <jitao.shi@mediatek.com>
> 
> Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
> Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
> [Bo-Chen: Cleanup the drivers and modify comments from reviewers]
> Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
> ---

[snip]

> +
> +static irqreturn_t mtk_dp_hpd_event_thread(int hpd, void *dev)
> +{
> +	struct mtk_dp *mtk_dp = dev;
> +	u8 buf[DP_RECEIVER_CAP_SIZE] = {};
> +
> +	if (mtk_dp->train_info.cable_state_change) {
> +		mtk_dp->train_info.cable_state_change = false;
> +
> +		mtk_dp_update_bits(mtk_dp, MTK_DP_TOP_PWR_STATE,
> +				   DP_PWR_STATE_BANDGAP_TPLL_LANE,
> +				   DP_PWR_STATE_MASK);
> +		drm_dp_read_dpcd_caps(&mtk_dp->aux, buf);
> +		mtk_dp->train_info.link_rate =
> +			min_t(int, mtk_dp->max_linkrate,
> +			      buf[mtk_dp->max_linkrate]);
> +		mtk_dp->train_info.lane_count =
> +			min_t(int, mtk_dp->max_lanes,
> +			      drm_dp_max_lane_count(buf));

If the state_change is unplug, why do you modify link_rate and
lane_count?
If the state_change is plug, there is a training flow to decide
link_rate and lane_count. I think the training flow is correct and any
modification here is redundant.

Regards,
CK

> +	}
> +
> +	if (mtk_dp->train_info.irq_sta.hpd_inerrupt) {
> +		dev_dbg(mtk_dp->dev, "MTK_DP_HPD_INTERRUPT\n");
> +		mtk_dp->train_info.irq_sta.hpd_inerrupt = false;
> +		mtk_dp_hpd_sink_event(mtk_dp);
> +	}
> +
> +	return IRQ_HANDLED;
> +}
> +


WARNING: multiple messages have this Message-ID (diff)
From: CK Hu <ck.hu@mediatek.com>
To: Bo-Chen Chen <rex-bc.chen@mediatek.com>,
	<chunkuang.hu@kernel.org>, <p.zabel@pengutronix.de>,
	<daniel@ffwll.ch>, <robh+dt@kernel.org>,
	<krzysztof.kozlowski+dt@linaro.org>, <mripard@kernel.org>,
	<tzimmermann@suse.de>, <matthias.bgg@gmail.com>, <deller@gmx.de>,
	<airlied@linux.ie>
Cc: <msp@baylibre.com>, <granquet@baylibre.com>,
	<jitao.shi@mediatek.com>, <wenst@chromium.org>,
	<angelogioacchino.delregno@collabora.com>,
	<dri-devel@lists.freedesktop.org>,
	<linux-mediatek@lists.infradead.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-fbdev@vger.kernel.org>,
	<Project_Global_Chrome_Upstream_Group@mediatek.com>
Subject: Re: [PATCH v12 05/10] drm/mediatek: Add MT8195 Embedded DisplayPort driver
Date: Wed, 29 Jun 2022 11:51:24 +0800	[thread overview]
Message-ID: <fcb60f65a30721970b7647633feea4f1df1bf774.camel@mediatek.com> (raw)
In-Reply-To: <20220627080341.5087-6-rex-bc.chen@mediatek.com>

Hi, Bo-Chen:

On Mon, 2022-06-27 at 16:03 +0800, Bo-Chen Chen wrote:
> From: Markus Schneider-Pargmann <msp@baylibre.com>
> 
> This patch adds a embedded displayport driver for the MediaTek mt8195
> SoC.
> 
> It supports the MT8195, the embedded DisplayPort units. It offers
> DisplayPort 1.4 with up to 4 lanes.
> 
> The driver creates a child device for the phy. The child device will
> never exist without the parent being active. As they are sharing a
> register range, the parent passes a regmap pointer to the child so
> that
> both can work with the same register range. The phy driver sets
> device
> data that is read by the parent to get the phy device that can be
> used
> to control the phy properties.
> 
> This driver is based on an initial version by
> Jitao shi <jitao.shi@mediatek.com>
> 
> Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
> Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
> [Bo-Chen: Cleanup the drivers and modify comments from reviewers]
> Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
> ---

[snip]

> +
> +static irqreturn_t mtk_dp_hpd_event_thread(int hpd, void *dev)
> +{
> +	struct mtk_dp *mtk_dp = dev;
> +	u8 buf[DP_RECEIVER_CAP_SIZE] = {};
> +
> +	if (mtk_dp->train_info.cable_state_change) {
> +		mtk_dp->train_info.cable_state_change = false;
> +
> +		mtk_dp_update_bits(mtk_dp, MTK_DP_TOP_PWR_STATE,
> +				   DP_PWR_STATE_BANDGAP_TPLL_LANE,
> +				   DP_PWR_STATE_MASK);
> +		drm_dp_read_dpcd_caps(&mtk_dp->aux, buf);
> +		mtk_dp->train_info.link_rate =
> +			min_t(int, mtk_dp->max_linkrate,
> +			      buf[mtk_dp->max_linkrate]);
> +		mtk_dp->train_info.lane_count =
> +			min_t(int, mtk_dp->max_lanes,
> +			      drm_dp_max_lane_count(buf));

If the state_change is unplug, why do you modify link_rate and
lane_count?
If the state_change is plug, there is a training flow to decide
link_rate and lane_count. I think the training flow is correct and any
modification here is redundant.

Regards,
CK

> +	}
> +
> +	if (mtk_dp->train_info.irq_sta.hpd_inerrupt) {
> +		dev_dbg(mtk_dp->dev, "MTK_DP_HPD_INTERRUPT\n");
> +		mtk_dp->train_info.irq_sta.hpd_inerrupt = false;
> +		mtk_dp_hpd_sink_event(mtk_dp);
> +	}
> +
> +	return IRQ_HANDLED;
> +}
> +


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2022-06-29  3:51 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-27  8:03 [PATCH v12 00/10] drm/mediatek: Add MT8195 DisplayPort driver Bo-Chen Chen
2022-06-27  8:03 ` Bo-Chen Chen
2022-06-27  8:03 ` Bo-Chen Chen
2022-06-27  8:03 ` [PATCH v12 01/10] dt-bindings: mediatek,dp: Add Display Port binding Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27 13:31   ` Rob Herring
2022-06-27 13:31     ` Rob Herring
2022-06-27 13:31     ` [PATCH v12 01/10] dt-bindings: mediatek, dp: " Rob Herring
2022-06-27  8:03 ` [PATCH v12 02/10] drm/edid: Convert cea_sad helper struct to kernelDoc Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27  8:03 ` [PATCH v12 03/10] drm/edid: Add cea_sad helpers for freq/length Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27  8:03 ` [PATCH v12 04/10] video/hdmi: Add audio_infoframe packing for DP Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27  8:03 ` [PATCH v12 05/10] drm/mediatek: Add MT8195 Embedded DisplayPort driver Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27 10:07   ` AngeloGioacchino Del Regno
2022-06-27 10:07     ` AngeloGioacchino Del Regno
2022-06-27 10:07     ` AngeloGioacchino Del Regno
2022-06-27 10:30     ` Rex-BC Chen
2022-06-27 10:30       ` Rex-BC Chen
2022-06-27 10:30       ` Rex-BC Chen
2022-06-27 11:02       ` AngeloGioacchino Del Regno
2022-06-27 11:02         ` AngeloGioacchino Del Regno
2022-06-27 11:02         ` AngeloGioacchino Del Regno
2022-06-28  5:22   ` CK Hu
2022-06-28  5:22     ` CK Hu
2022-06-28  5:22     ` CK Hu
2022-06-28  6:42   ` CK Hu
2022-06-28  6:42     ` CK Hu
2022-06-28  6:42     ` CK Hu
2022-06-29  3:51   ` CK Hu [this message]
2022-06-29  3:51     ` CK Hu
2022-06-29  3:51     ` CK Hu
2022-06-29  4:41   ` CK Hu
2022-06-29  4:41     ` CK Hu
2022-06-29  4:41     ` CK Hu
2022-06-29  4:54   ` CK Hu
2022-06-29  4:54     ` CK Hu
2022-06-29  4:54     ` CK Hu
2022-06-29  5:11   ` CK Hu
2022-06-29  5:11     ` CK Hu
2022-06-29  5:11     ` CK Hu
2022-06-29  5:20   ` CK Hu
2022-06-29  5:20     ` CK Hu
2022-06-29  5:20     ` CK Hu
2022-06-29  5:34   ` CK Hu
2022-06-29  5:34     ` CK Hu
2022-06-29  5:34     ` CK Hu
2022-07-01  5:17     ` Rex-BC Chen
2022-07-01  5:17       ` Rex-BC Chen
2022-07-01  5:17       ` Rex-BC Chen
2022-06-30  1:47   ` CK Hu
2022-06-30  1:47     ` CK Hu
2022-06-30  1:47     ` CK Hu
2022-07-01  2:33     ` Rex-BC Chen
2022-07-01  2:33       ` Rex-BC Chen
2022-07-01  2:33       ` Rex-BC Chen
2022-06-30  2:29   ` CK Hu
2022-06-30  2:29     ` CK Hu
2022-06-30  2:29     ` CK Hu
2022-06-30  2:43   ` CK Hu
2022-06-30  2:43     ` CK Hu
2022-06-30  2:43     ` CK Hu
2022-06-30  2:54   ` CK Hu
2022-06-30  2:54     ` CK Hu
2022-06-30  2:54     ` CK Hu
2022-06-27  8:03 ` [PATCH v12 06/10] drm/mediatek: Add MT8195 External DisplayPort support Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27 10:17   ` AngeloGioacchino Del Regno
2022-06-27 10:17     ` AngeloGioacchino Del Regno
2022-06-27 10:17     ` AngeloGioacchino Del Regno
2022-06-27  8:03 ` [PATCH v12 07/10] drm/mediatek: add hpd debounce Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27 10:19   ` AngeloGioacchino Del Regno
2022-06-27 10:19     ` AngeloGioacchino Del Regno
2022-06-27 10:19     ` AngeloGioacchino Del Regno
2022-06-27  8:03 ` [PATCH v12 08/10] drm/mediatek: set monitor to DP_SET_POWER_D3 to avoid garbage Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27 10:19   ` AngeloGioacchino Del Regno
2022-06-27 10:19     ` AngeloGioacchino Del Regno
2022-06-27 10:19     ` AngeloGioacchino Del Regno
2022-06-27  8:03 ` [PATCH v12 09/10] drm/mediatek: DP audio support for MT8195 Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27  8:03 ` [PATCH v12 10/10] drm/mediatek: fix no audio when resolution change Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen
2022-06-27  8:03   ` Bo-Chen Chen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fcb60f65a30721970b7647633feea4f1df1bf774.camel@mediatek.com \
    --to=ck.hu@mediatek.com \
    --cc=Project_Global_Chrome_Upstream_Group@mediatek.com \
    --cc=airlied@linux.ie \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=chunkuang.hu@kernel.org \
    --cc=daniel@ffwll.ch \
    --cc=deller@gmx.de \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=granquet@baylibre.com \
    --cc=jitao.shi@mediatek.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=mripard@kernel.org \
    --cc=msp@baylibre.com \
    --cc=p.zabel@pengutronix.de \
    --cc=rex-bc.chen@mediatek.com \
    --cc=robh+dt@kernel.org \
    --cc=tzimmermann@suse.de \
    --cc=wenst@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.