All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime@cerno.tech>
To: Guillaume Ranquet <granquet@baylibre.com>
Cc: airlied@linux.ie, angelogioacchino.delregno@collabora.com,
	chunfeng.yun@mediatek.com, chunkuang.hu@kernel.org,
	ck.hu@mediatek.com, daniel@ffwll.ch, deller@gmx.de,
	jitao.shi@mediatek.com, kishon@ti.com, krzk+dt@kernel.org,
	maarten.lankhorst@linux.intel.com, matthias.bgg@gmail.com,
	p.zabel@pengutronix.de, robh+dt@kernel.org, tzimmermann@suse.de,
	vkoul@kernel.org, devicetree@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-kernel@lists.infradead.org,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mediatek@lists.infradead.org,
	linux-phy@lists.infradead.org, markyacoub@google.com,
	Markus Schneider-Pargmann <msp@baylibre.com>,
	kernel test robot <lkp@intel.com>
Subject: Re: [PATCH v9 18/22] drm/mediatek: Add mt8195 Embedded DisplayPort driver
Date: Wed, 25 May 2022 11:44:34 +0200	[thread overview]
Message-ID: <20220525094434.7qhycnobrmgiihuf@houat> (raw)
In-Reply-To: <CABnWg9tHRc_7VZ1z6NeMEDfQvxam_xOimBnM=hzBUqkhzPOSCA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4399 bytes --]

On Thu, May 19, 2022 at 09:26:59AM -0700, Guillaume Ranquet wrote:
> On Thu, 12 May 2022 09:44, Maxime Ripard <maxime@cerno.tech> wrote:
> >Hi,
> >
> >On Wed, May 11, 2022 at 05:59:13AM -0700, Guillaume Ranquet wrote:
> >> >> +#include <drm/drm_atomic_helper.h>
> >> >> +#include <drm/drm_bridge.h>
> >> >> +#include <drm/drm_crtc.h>
> >> >> +#include <drm/dp/drm_dp_helper.h>
> >> >> +#include <drm/drm_edid.h>
> >> >> +#include <drm/drm_of.h>
> >> >> +#include <drm/drm_panel.h>
> >> >> +#include <drm/drm_print.h>
> >> >> +#include <drm/drm_probe_helper.h>
> >> >> +#include <linux/arm-smccc.h>
> >> >> +#include <linux/clk.h>
> >> >> +#include <linux/delay.h>
> >> >> +#include <linux/errno.h>
> >> >> +#include <linux/kernel.h>
> >> >> +#include <linux/mfd/syscon.h>
> >> >> +#include <linux/nvmem-consumer.h>
> >> >> +#include <linux/of.h>
> >> >> +#include <linux/of_irq.h>
> >> >> +#include <linux/of_platform.h>
> >> >> +#include <linux/phy/phy.h>
> >> >> +#include <linux/platform_device.h>
> >> >> +#include <linux/pm_runtime.h>
> >> >> +#include <linux/regmap.h>
> >> >> +#include <sound/hdmi-codec.h>
> >> >> +#include <video/videomode.h>
> >> >> +
> >> >> +#include "mtk_dp_reg.h"
> >> >> +
> >> >> +#define MTK_DP_AUX_WAIT_REPLY_COUNT 20
> >> >> +#define MTK_DP_CHECK_SINK_CAP_TIMEOUT_COUNT 3
> >> >> +
> >> >> +//TODO: platform/device data or dts?
> >> >
> >> >DTS :)
> >>
> >> It's probably going to be a platform_data struct for v10...
> >> If I have time, I'll change it to a dts property for v10.
> >
> >I can't really imagine a case where we would need platform_data
> >nowadays. If you have a device tree, then it should be part of the
> >binding.
> >
> >What issue would you like to address by using a platform_data?
> >
> 
> Ok, I'll migrate to dt then. I didn't realize platform_data were depreciated.
> 
> Angelo wants the MAX_LINRATE and MAX_LANES defines to be configurable.
> I imagined platform_data would be more appropriate as (per my understanding) the
> limitation is associated with a specific SoC.

The entire device tree is nothing but a collection of data associated to
a specific SoC though :)

> >> >> +static struct edid *mtk_dp_get_edid(struct drm_bridge *bridge,
> >> >> +				    struct drm_connector *connector)
> >> >> +{
> >> >> +	struct mtk_dp *mtk_dp = mtk_dp_from_bridge(bridge);
> >> >> +	bool enabled = mtk_dp->enabled;
> >> >> +	struct edid *new_edid = NULL;
> >> >> +
> >> >> +	if (!enabled)
> >> >> +		drm_bridge_chain_pre_enable(bridge);
> >> >> +
> >> >> +	drm_dp_dpcd_writeb(&mtk_dp->aux, DP_SET_POWER, DP_SET_POWER_D0);
> >> >> +	usleep_range(2000, 5000);
> >> >> +
> >> >> +	if (mtk_dp_plug_state(mtk_dp))
> >> >> +		new_edid = drm_get_edid(connector, &mtk_dp->aux.ddc);
> >> >> +
> >> >> +	if (!enabled)
> >> >> +		drm_bridge_chain_post_disable(bridge);
> >> >
> >> >Are you sure we can't get a mode set while get_edid is called?
> >> >
> >> >If we can, then you could end up disabling the device while it's being
> >> >powered on.
> >>
> >> I'm a bit unsure, I need to spend more time in the drm stack to make sure.
> >> I'll get back to you when I have a definitive answer.
> >
> >So, it looks like it's ok.
> >
> >get_edid is your implementation of get_modes, which is called by
> >drm_helper_probe_single_connector_modes
> >
> >https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/drm_probe_helper.c#L416
> >
> >This is the standard implemantion of fill_modes, which is called
> >whenever the get_connector ioctl is called (or similar paths, like
> >drm_client_modeset_probe)
> >
> >drm_helper_probe_single_connector_modes is under the assumption that the
> >mode_config.mutex is held though, and that the big lock. So it should be
> >serialized there.
> >
> >Just for future proofing though, it would be better to use refcounting
> >there. Would runtime_pm work for you there?
> >
> 
> Thx for looking into this for me.
> Not sure runtime_pm works here as it would only refcount if compiled
> with CONFIG_PM?

It should be enabled in most configurations these days, and you can
always depend on it in your Kconfig option.

> I'd rather use the enabled field as a refcounter instead of a boolean.

It's a bit more ad-hoc, but that would work too. Make sure to use a lock
or atomic operations though

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime@cerno.tech>
To: Guillaume Ranquet <granquet@baylibre.com>
Cc: airlied@linux.ie, angelogioacchino.delregno@collabora.com,
	chunfeng.yun@mediatek.com, chunkuang.hu@kernel.org,
	ck.hu@mediatek.com, daniel@ffwll.ch, deller@gmx.de,
	jitao.shi@mediatek.com, kishon@ti.com, krzk+dt@kernel.org,
	maarten.lankhorst@linux.intel.com, matthias.bgg@gmail.com,
	p.zabel@pengutronix.de, robh+dt@kernel.org, tzimmermann@suse.de,
	vkoul@kernel.org, devicetree@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-kernel@lists.infradead.org,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mediatek@lists.infradead.org,
	linux-phy@lists.infradead.org, markyacoub@google.com,
	Markus Schneider-Pargmann <msp@baylibre.com>,
	kernel test robot <lkp@intel.com>
Subject: Re: [PATCH v9 18/22] drm/mediatek: Add mt8195 Embedded DisplayPort driver
Date: Wed, 25 May 2022 11:44:34 +0200	[thread overview]
Message-ID: <20220525094434.7qhycnobrmgiihuf@houat> (raw)
In-Reply-To: <CABnWg9tHRc_7VZ1z6NeMEDfQvxam_xOimBnM=hzBUqkhzPOSCA@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 4399 bytes --]

On Thu, May 19, 2022 at 09:26:59AM -0700, Guillaume Ranquet wrote:
> On Thu, 12 May 2022 09:44, Maxime Ripard <maxime@cerno.tech> wrote:
> >Hi,
> >
> >On Wed, May 11, 2022 at 05:59:13AM -0700, Guillaume Ranquet wrote:
> >> >> +#include <drm/drm_atomic_helper.h>
> >> >> +#include <drm/drm_bridge.h>
> >> >> +#include <drm/drm_crtc.h>
> >> >> +#include <drm/dp/drm_dp_helper.h>
> >> >> +#include <drm/drm_edid.h>
> >> >> +#include <drm/drm_of.h>
> >> >> +#include <drm/drm_panel.h>
> >> >> +#include <drm/drm_print.h>
> >> >> +#include <drm/drm_probe_helper.h>
> >> >> +#include <linux/arm-smccc.h>
> >> >> +#include <linux/clk.h>
> >> >> +#include <linux/delay.h>
> >> >> +#include <linux/errno.h>
> >> >> +#include <linux/kernel.h>
> >> >> +#include <linux/mfd/syscon.h>
> >> >> +#include <linux/nvmem-consumer.h>
> >> >> +#include <linux/of.h>
> >> >> +#include <linux/of_irq.h>
> >> >> +#include <linux/of_platform.h>
> >> >> +#include <linux/phy/phy.h>
> >> >> +#include <linux/platform_device.h>
> >> >> +#include <linux/pm_runtime.h>
> >> >> +#include <linux/regmap.h>
> >> >> +#include <sound/hdmi-codec.h>
> >> >> +#include <video/videomode.h>
> >> >> +
> >> >> +#include "mtk_dp_reg.h"
> >> >> +
> >> >> +#define MTK_DP_AUX_WAIT_REPLY_COUNT 20
> >> >> +#define MTK_DP_CHECK_SINK_CAP_TIMEOUT_COUNT 3
> >> >> +
> >> >> +//TODO: platform/device data or dts?
> >> >
> >> >DTS :)
> >>
> >> It's probably going to be a platform_data struct for v10...
> >> If I have time, I'll change it to a dts property for v10.
> >
> >I can't really imagine a case where we would need platform_data
> >nowadays. If you have a device tree, then it should be part of the
> >binding.
> >
> >What issue would you like to address by using a platform_data?
> >
> 
> Ok, I'll migrate to dt then. I didn't realize platform_data were depreciated.
> 
> Angelo wants the MAX_LINRATE and MAX_LANES defines to be configurable.
> I imagined platform_data would be more appropriate as (per my understanding) the
> limitation is associated with a specific SoC.

The entire device tree is nothing but a collection of data associated to
a specific SoC though :)

> >> >> +static struct edid *mtk_dp_get_edid(struct drm_bridge *bridge,
> >> >> +				    struct drm_connector *connector)
> >> >> +{
> >> >> +	struct mtk_dp *mtk_dp = mtk_dp_from_bridge(bridge);
> >> >> +	bool enabled = mtk_dp->enabled;
> >> >> +	struct edid *new_edid = NULL;
> >> >> +
> >> >> +	if (!enabled)
> >> >> +		drm_bridge_chain_pre_enable(bridge);
> >> >> +
> >> >> +	drm_dp_dpcd_writeb(&mtk_dp->aux, DP_SET_POWER, DP_SET_POWER_D0);
> >> >> +	usleep_range(2000, 5000);
> >> >> +
> >> >> +	if (mtk_dp_plug_state(mtk_dp))
> >> >> +		new_edid = drm_get_edid(connector, &mtk_dp->aux.ddc);
> >> >> +
> >> >> +	if (!enabled)
> >> >> +		drm_bridge_chain_post_disable(bridge);
> >> >
> >> >Are you sure we can't get a mode set while get_edid is called?
> >> >
> >> >If we can, then you could end up disabling the device while it's being
> >> >powered on.
> >>
> >> I'm a bit unsure, I need to spend more time in the drm stack to make sure.
> >> I'll get back to you when I have a definitive answer.
> >
> >So, it looks like it's ok.
> >
> >get_edid is your implementation of get_modes, which is called by
> >drm_helper_probe_single_connector_modes
> >
> >https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/drm_probe_helper.c#L416
> >
> >This is the standard implemantion of fill_modes, which is called
> >whenever the get_connector ioctl is called (or similar paths, like
> >drm_client_modeset_probe)
> >
> >drm_helper_probe_single_connector_modes is under the assumption that the
> >mode_config.mutex is held though, and that the big lock. So it should be
> >serialized there.
> >
> >Just for future proofing though, it would be better to use refcounting
> >there. Would runtime_pm work for you there?
> >
> 
> Thx for looking into this for me.
> Not sure runtime_pm works here as it would only refcount if compiled
> with CONFIG_PM?

It should be enabled in most configurations these days, and you can
always depend on it in your Kconfig option.

> I'd rather use the enabled field as a refcounter instead of a boolean.

It's a bit more ad-hoc, but that would work too. Make sure to use a lock
or atomic operations though

Maxime

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime@cerno.tech>
To: Guillaume Ranquet <granquet@baylibre.com>
Cc: linux-fbdev@vger.kernel.org, devicetree@vger.kernel.org,
	airlied@linux.ie, dri-devel@lists.freedesktop.org,
	linux-phy@lists.infradead.org, kernel test robot <lkp@intel.com>,
	deller@gmx.de, kishon@ti.com, chunkuang.hu@kernel.org,
	jitao.shi@mediatek.com, tzimmermann@suse.de,
	Markus Schneider-Pargmann <msp@baylibre.com>,
	chunfeng.yun@mediatek.com, robh+dt@kernel.org,
	linux-mediatek@lists.infradead.org, matthias.bgg@gmail.com,
	linux-arm-kernel@lists.infradead.org,
	angelogioacchino.delregno@collabora.com,
	linux-kernel@vger.kernel.org, vkoul@kernel.org,
	krzk+dt@kernel.org, markyacoub@google.com
Subject: Re: [PATCH v9 18/22] drm/mediatek: Add mt8195 Embedded DisplayPort driver
Date: Wed, 25 May 2022 11:44:34 +0200	[thread overview]
Message-ID: <20220525094434.7qhycnobrmgiihuf@houat> (raw)
In-Reply-To: <CABnWg9tHRc_7VZ1z6NeMEDfQvxam_xOimBnM=hzBUqkhzPOSCA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4399 bytes --]

On Thu, May 19, 2022 at 09:26:59AM -0700, Guillaume Ranquet wrote:
> On Thu, 12 May 2022 09:44, Maxime Ripard <maxime@cerno.tech> wrote:
> >Hi,
> >
> >On Wed, May 11, 2022 at 05:59:13AM -0700, Guillaume Ranquet wrote:
> >> >> +#include <drm/drm_atomic_helper.h>
> >> >> +#include <drm/drm_bridge.h>
> >> >> +#include <drm/drm_crtc.h>
> >> >> +#include <drm/dp/drm_dp_helper.h>
> >> >> +#include <drm/drm_edid.h>
> >> >> +#include <drm/drm_of.h>
> >> >> +#include <drm/drm_panel.h>
> >> >> +#include <drm/drm_print.h>
> >> >> +#include <drm/drm_probe_helper.h>
> >> >> +#include <linux/arm-smccc.h>
> >> >> +#include <linux/clk.h>
> >> >> +#include <linux/delay.h>
> >> >> +#include <linux/errno.h>
> >> >> +#include <linux/kernel.h>
> >> >> +#include <linux/mfd/syscon.h>
> >> >> +#include <linux/nvmem-consumer.h>
> >> >> +#include <linux/of.h>
> >> >> +#include <linux/of_irq.h>
> >> >> +#include <linux/of_platform.h>
> >> >> +#include <linux/phy/phy.h>
> >> >> +#include <linux/platform_device.h>
> >> >> +#include <linux/pm_runtime.h>
> >> >> +#include <linux/regmap.h>
> >> >> +#include <sound/hdmi-codec.h>
> >> >> +#include <video/videomode.h>
> >> >> +
> >> >> +#include "mtk_dp_reg.h"
> >> >> +
> >> >> +#define MTK_DP_AUX_WAIT_REPLY_COUNT 20
> >> >> +#define MTK_DP_CHECK_SINK_CAP_TIMEOUT_COUNT 3
> >> >> +
> >> >> +//TODO: platform/device data or dts?
> >> >
> >> >DTS :)
> >>
> >> It's probably going to be a platform_data struct for v10...
> >> If I have time, I'll change it to a dts property for v10.
> >
> >I can't really imagine a case where we would need platform_data
> >nowadays. If you have a device tree, then it should be part of the
> >binding.
> >
> >What issue would you like to address by using a platform_data?
> >
> 
> Ok, I'll migrate to dt then. I didn't realize platform_data were depreciated.
> 
> Angelo wants the MAX_LINRATE and MAX_LANES defines to be configurable.
> I imagined platform_data would be more appropriate as (per my understanding) the
> limitation is associated with a specific SoC.

The entire device tree is nothing but a collection of data associated to
a specific SoC though :)

> >> >> +static struct edid *mtk_dp_get_edid(struct drm_bridge *bridge,
> >> >> +				    struct drm_connector *connector)
> >> >> +{
> >> >> +	struct mtk_dp *mtk_dp = mtk_dp_from_bridge(bridge);
> >> >> +	bool enabled = mtk_dp->enabled;
> >> >> +	struct edid *new_edid = NULL;
> >> >> +
> >> >> +	if (!enabled)
> >> >> +		drm_bridge_chain_pre_enable(bridge);
> >> >> +
> >> >> +	drm_dp_dpcd_writeb(&mtk_dp->aux, DP_SET_POWER, DP_SET_POWER_D0);
> >> >> +	usleep_range(2000, 5000);
> >> >> +
> >> >> +	if (mtk_dp_plug_state(mtk_dp))
> >> >> +		new_edid = drm_get_edid(connector, &mtk_dp->aux.ddc);
> >> >> +
> >> >> +	if (!enabled)
> >> >> +		drm_bridge_chain_post_disable(bridge);
> >> >
> >> >Are you sure we can't get a mode set while get_edid is called?
> >> >
> >> >If we can, then you could end up disabling the device while it's being
> >> >powered on.
> >>
> >> I'm a bit unsure, I need to spend more time in the drm stack to make sure.
> >> I'll get back to you when I have a definitive answer.
> >
> >So, it looks like it's ok.
> >
> >get_edid is your implementation of get_modes, which is called by
> >drm_helper_probe_single_connector_modes
> >
> >https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/drm_probe_helper.c#L416
> >
> >This is the standard implemantion of fill_modes, which is called
> >whenever the get_connector ioctl is called (or similar paths, like
> >drm_client_modeset_probe)
> >
> >drm_helper_probe_single_connector_modes is under the assumption that the
> >mode_config.mutex is held though, and that the big lock. So it should be
> >serialized there.
> >
> >Just for future proofing though, it would be better to use refcounting
> >there. Would runtime_pm work for you there?
> >
> 
> Thx for looking into this for me.
> Not sure runtime_pm works here as it would only refcount if compiled
> with CONFIG_PM?

It should be enabled in most configurations these days, and you can
always depend on it in your Kconfig option.

> I'd rather use the enabled field as a refcounter instead of a boolean.

It's a bit more ad-hoc, but that would work too. Make sure to use a lock
or atomic operations though

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime@cerno.tech>
To: Guillaume Ranquet <granquet@baylibre.com>
Cc: airlied@linux.ie, angelogioacchino.delregno@collabora.com,
	chunfeng.yun@mediatek.com, chunkuang.hu@kernel.org,
	ck.hu@mediatek.com, daniel@ffwll.ch, deller@gmx.de,
	jitao.shi@mediatek.com, kishon@ti.com, krzk+dt@kernel.org,
	maarten.lankhorst@linux.intel.com, matthias.bgg@gmail.com,
	p.zabel@pengutronix.de, robh+dt@kernel.org, tzimmermann@suse.de,
	vkoul@kernel.org, devicetree@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-kernel@lists.infradead.org,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mediatek@lists.infradead.org,
	linux-phy@lists.infradead.org, markyacoub@google.com,
	Markus Schneider-Pargmann <msp@baylibre.com>,
	kernel test robot <lkp@intel.com>
Subject: Re: [PATCH v9 18/22] drm/mediatek: Add mt8195 Embedded DisplayPort driver
Date: Wed, 25 May 2022 11:44:34 +0200	[thread overview]
Message-ID: <20220525094434.7qhycnobrmgiihuf@houat> (raw)
In-Reply-To: <CABnWg9tHRc_7VZ1z6NeMEDfQvxam_xOimBnM=hzBUqkhzPOSCA@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 4399 bytes --]

On Thu, May 19, 2022 at 09:26:59AM -0700, Guillaume Ranquet wrote:
> On Thu, 12 May 2022 09:44, Maxime Ripard <maxime@cerno.tech> wrote:
> >Hi,
> >
> >On Wed, May 11, 2022 at 05:59:13AM -0700, Guillaume Ranquet wrote:
> >> >> +#include <drm/drm_atomic_helper.h>
> >> >> +#include <drm/drm_bridge.h>
> >> >> +#include <drm/drm_crtc.h>
> >> >> +#include <drm/dp/drm_dp_helper.h>
> >> >> +#include <drm/drm_edid.h>
> >> >> +#include <drm/drm_of.h>
> >> >> +#include <drm/drm_panel.h>
> >> >> +#include <drm/drm_print.h>
> >> >> +#include <drm/drm_probe_helper.h>
> >> >> +#include <linux/arm-smccc.h>
> >> >> +#include <linux/clk.h>
> >> >> +#include <linux/delay.h>
> >> >> +#include <linux/errno.h>
> >> >> +#include <linux/kernel.h>
> >> >> +#include <linux/mfd/syscon.h>
> >> >> +#include <linux/nvmem-consumer.h>
> >> >> +#include <linux/of.h>
> >> >> +#include <linux/of_irq.h>
> >> >> +#include <linux/of_platform.h>
> >> >> +#include <linux/phy/phy.h>
> >> >> +#include <linux/platform_device.h>
> >> >> +#include <linux/pm_runtime.h>
> >> >> +#include <linux/regmap.h>
> >> >> +#include <sound/hdmi-codec.h>
> >> >> +#include <video/videomode.h>
> >> >> +
> >> >> +#include "mtk_dp_reg.h"
> >> >> +
> >> >> +#define MTK_DP_AUX_WAIT_REPLY_COUNT 20
> >> >> +#define MTK_DP_CHECK_SINK_CAP_TIMEOUT_COUNT 3
> >> >> +
> >> >> +//TODO: platform/device data or dts?
> >> >
> >> >DTS :)
> >>
> >> It's probably going to be a platform_data struct for v10...
> >> If I have time, I'll change it to a dts property for v10.
> >
> >I can't really imagine a case where we would need platform_data
> >nowadays. If you have a device tree, then it should be part of the
> >binding.
> >
> >What issue would you like to address by using a platform_data?
> >
> 
> Ok, I'll migrate to dt then. I didn't realize platform_data were depreciated.
> 
> Angelo wants the MAX_LINRATE and MAX_LANES defines to be configurable.
> I imagined platform_data would be more appropriate as (per my understanding) the
> limitation is associated with a specific SoC.

The entire device tree is nothing but a collection of data associated to
a specific SoC though :)

> >> >> +static struct edid *mtk_dp_get_edid(struct drm_bridge *bridge,
> >> >> +				    struct drm_connector *connector)
> >> >> +{
> >> >> +	struct mtk_dp *mtk_dp = mtk_dp_from_bridge(bridge);
> >> >> +	bool enabled = mtk_dp->enabled;
> >> >> +	struct edid *new_edid = NULL;
> >> >> +
> >> >> +	if (!enabled)
> >> >> +		drm_bridge_chain_pre_enable(bridge);
> >> >> +
> >> >> +	drm_dp_dpcd_writeb(&mtk_dp->aux, DP_SET_POWER, DP_SET_POWER_D0);
> >> >> +	usleep_range(2000, 5000);
> >> >> +
> >> >> +	if (mtk_dp_plug_state(mtk_dp))
> >> >> +		new_edid = drm_get_edid(connector, &mtk_dp->aux.ddc);
> >> >> +
> >> >> +	if (!enabled)
> >> >> +		drm_bridge_chain_post_disable(bridge);
> >> >
> >> >Are you sure we can't get a mode set while get_edid is called?
> >> >
> >> >If we can, then you could end up disabling the device while it's being
> >> >powered on.
> >>
> >> I'm a bit unsure, I need to spend more time in the drm stack to make sure.
> >> I'll get back to you when I have a definitive answer.
> >
> >So, it looks like it's ok.
> >
> >get_edid is your implementation of get_modes, which is called by
> >drm_helper_probe_single_connector_modes
> >
> >https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/drm_probe_helper.c#L416
> >
> >This is the standard implemantion of fill_modes, which is called
> >whenever the get_connector ioctl is called (or similar paths, like
> >drm_client_modeset_probe)
> >
> >drm_helper_probe_single_connector_modes is under the assumption that the
> >mode_config.mutex is held though, and that the big lock. So it should be
> >serialized there.
> >
> >Just for future proofing though, it would be better to use refcounting
> >there. Would runtime_pm work for you there?
> >
> 
> Thx for looking into this for me.
> Not sure runtime_pm works here as it would only refcount if compiled
> with CONFIG_PM?

It should be enabled in most configurations these days, and you can
always depend on it in your Kconfig option.

> I'd rather use the enabled field as a refcounter instead of a boolean.

It's a bit more ad-hoc, but that would work too. Make sure to use a lock
or atomic operations though

Maxime

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 112 bytes --]

-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime@cerno.tech>
To: Guillaume Ranquet <granquet@baylibre.com>
Cc: airlied@linux.ie, angelogioacchino.delregno@collabora.com,
	chunfeng.yun@mediatek.com, chunkuang.hu@kernel.org,
	ck.hu@mediatek.com, daniel@ffwll.ch, deller@gmx.de,
	jitao.shi@mediatek.com, kishon@ti.com, krzk+dt@kernel.org,
	maarten.lankhorst@linux.intel.com, matthias.bgg@gmail.com,
	p.zabel@pengutronix.de, robh+dt@kernel.org, tzimmermann@suse.de,
	vkoul@kernel.org, devicetree@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-arm-kernel@lists.infradead.org,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mediatek@lists.infradead.org,
	linux-phy@lists.infradead.org, markyacoub@google.com,
	Markus Schneider-Pargmann <msp@baylibre.com>,
	kernel test robot <lkp@intel.com>
Subject: Re: [PATCH v9 18/22] drm/mediatek: Add mt8195 Embedded DisplayPort driver
Date: Wed, 25 May 2022 11:44:34 +0200	[thread overview]
Message-ID: <20220525094434.7qhycnobrmgiihuf@houat> (raw)
In-Reply-To: <CABnWg9tHRc_7VZ1z6NeMEDfQvxam_xOimBnM=hzBUqkhzPOSCA@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 4399 bytes --]

On Thu, May 19, 2022 at 09:26:59AM -0700, Guillaume Ranquet wrote:
> On Thu, 12 May 2022 09:44, Maxime Ripard <maxime@cerno.tech> wrote:
> >Hi,
> >
> >On Wed, May 11, 2022 at 05:59:13AM -0700, Guillaume Ranquet wrote:
> >> >> +#include <drm/drm_atomic_helper.h>
> >> >> +#include <drm/drm_bridge.h>
> >> >> +#include <drm/drm_crtc.h>
> >> >> +#include <drm/dp/drm_dp_helper.h>
> >> >> +#include <drm/drm_edid.h>
> >> >> +#include <drm/drm_of.h>
> >> >> +#include <drm/drm_panel.h>
> >> >> +#include <drm/drm_print.h>
> >> >> +#include <drm/drm_probe_helper.h>
> >> >> +#include <linux/arm-smccc.h>
> >> >> +#include <linux/clk.h>
> >> >> +#include <linux/delay.h>
> >> >> +#include <linux/errno.h>
> >> >> +#include <linux/kernel.h>
> >> >> +#include <linux/mfd/syscon.h>
> >> >> +#include <linux/nvmem-consumer.h>
> >> >> +#include <linux/of.h>
> >> >> +#include <linux/of_irq.h>
> >> >> +#include <linux/of_platform.h>
> >> >> +#include <linux/phy/phy.h>
> >> >> +#include <linux/platform_device.h>
> >> >> +#include <linux/pm_runtime.h>
> >> >> +#include <linux/regmap.h>
> >> >> +#include <sound/hdmi-codec.h>
> >> >> +#include <video/videomode.h>
> >> >> +
> >> >> +#include "mtk_dp_reg.h"
> >> >> +
> >> >> +#define MTK_DP_AUX_WAIT_REPLY_COUNT 20
> >> >> +#define MTK_DP_CHECK_SINK_CAP_TIMEOUT_COUNT 3
> >> >> +
> >> >> +//TODO: platform/device data or dts?
> >> >
> >> >DTS :)
> >>
> >> It's probably going to be a platform_data struct for v10...
> >> If I have time, I'll change it to a dts property for v10.
> >
> >I can't really imagine a case where we would need platform_data
> >nowadays. If you have a device tree, then it should be part of the
> >binding.
> >
> >What issue would you like to address by using a platform_data?
> >
> 
> Ok, I'll migrate to dt then. I didn't realize platform_data were depreciated.
> 
> Angelo wants the MAX_LINRATE and MAX_LANES defines to be configurable.
> I imagined platform_data would be more appropriate as (per my understanding) the
> limitation is associated with a specific SoC.

The entire device tree is nothing but a collection of data associated to
a specific SoC though :)

> >> >> +static struct edid *mtk_dp_get_edid(struct drm_bridge *bridge,
> >> >> +				    struct drm_connector *connector)
> >> >> +{
> >> >> +	struct mtk_dp *mtk_dp = mtk_dp_from_bridge(bridge);
> >> >> +	bool enabled = mtk_dp->enabled;
> >> >> +	struct edid *new_edid = NULL;
> >> >> +
> >> >> +	if (!enabled)
> >> >> +		drm_bridge_chain_pre_enable(bridge);
> >> >> +
> >> >> +	drm_dp_dpcd_writeb(&mtk_dp->aux, DP_SET_POWER, DP_SET_POWER_D0);
> >> >> +	usleep_range(2000, 5000);
> >> >> +
> >> >> +	if (mtk_dp_plug_state(mtk_dp))
> >> >> +		new_edid = drm_get_edid(connector, &mtk_dp->aux.ddc);
> >> >> +
> >> >> +	if (!enabled)
> >> >> +		drm_bridge_chain_post_disable(bridge);
> >> >
> >> >Are you sure we can't get a mode set while get_edid is called?
> >> >
> >> >If we can, then you could end up disabling the device while it's being
> >> >powered on.
> >>
> >> I'm a bit unsure, I need to spend more time in the drm stack to make sure.
> >> I'll get back to you when I have a definitive answer.
> >
> >So, it looks like it's ok.
> >
> >get_edid is your implementation of get_modes, which is called by
> >drm_helper_probe_single_connector_modes
> >
> >https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/drm_probe_helper.c#L416
> >
> >This is the standard implemantion of fill_modes, which is called
> >whenever the get_connector ioctl is called (or similar paths, like
> >drm_client_modeset_probe)
> >
> >drm_helper_probe_single_connector_modes is under the assumption that the
> >mode_config.mutex is held though, and that the big lock. So it should be
> >serialized there.
> >
> >Just for future proofing though, it would be better to use refcounting
> >there. Would runtime_pm work for you there?
> >
> 
> Thx for looking into this for me.
> Not sure runtime_pm works here as it would only refcount if compiled
> with CONFIG_PM?

It should be enabled in most configurations these days, and you can
always depend on it in your Kconfig option.

> I'd rather use the enabled field as a refcounter instead of a boolean.

It's a bit more ad-hoc, but that would work too. Make sure to use a lock
or atomic operations though

Maxime

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

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

  reply	other threads:[~2022-05-25  9:45 UTC|newest]

Thread overview: 335+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-27 22:39 [PATCH 00/22] drm/mediatek: Add mt8195 DisplayPort driver Guillaume Ranquet
2022-03-27 22:39 ` Guillaume Ranquet
2022-03-27 22:39 ` Guillaume Ranquet
2022-03-27 22:39 ` Guillaume Ranquet
2022-03-27 22:39 ` Guillaume Ranquet
2022-03-27 22:39 ` [PATCH v9 01/22] dt-bindings: mediatek,dpi: Add DP_INTF compatible Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-29 10:42   ` Matthias Brugger
2022-03-29 10:42     ` Matthias Brugger
2022-03-29 10:42     ` Matthias Brugger
2022-03-29 10:42     ` Matthias Brugger
2022-03-29 10:42     ` Matthias Brugger
2022-03-30  5:11   ` Miles Chen
2022-03-30  5:11     ` [PATCH v9 01/22] dt-bindings: mediatek, dpi: " Miles Chen
2022-03-30  5:11     ` Miles Chen
2022-03-30  5:11     ` Miles Chen
2022-03-30  5:11     ` Miles Chen
2022-04-22 10:57   ` [PATCH v9 01/22] dt-bindings: mediatek,dpi: " Maxime Ripard
2022-04-22 10:57     ` Maxime Ripard
2022-04-22 10:57     ` Maxime Ripard
2022-04-22 10:57     ` Maxime Ripard
2022-04-22 10:57     ` Maxime Ripard
2022-05-11 12:37     ` Guillaume Ranquet
2022-05-11 12:37       ` [PATCH v9 01/22] dt-bindings: mediatek, dpi: " Guillaume Ranquet
2022-05-11 12:37       ` Guillaume Ranquet
2022-05-11 12:37       ` Guillaume Ranquet
2022-05-11 12:37       ` Guillaume Ranquet
2022-03-27 22:39 ` [PATCH v9 02/22] dt-bindings: mediatek,dp: Add Display Port binding Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28 12:51   ` Rob Herring
2022-03-28 12:51     ` [PATCH v9 02/22] dt-bindings: mediatek, dp: " Rob Herring
2022-03-28 12:51     ` Rob Herring
2022-03-28 12:51     ` Rob Herring
2022-03-28 12:51     ` Rob Herring
2022-03-28 16:33   ` [PATCH v9 02/22] dt-bindings: mediatek,dp: " Rob Herring
2022-03-28 16:33     ` Rob Herring
2022-03-28 16:33     ` Rob Herring
2022-03-28 16:33     ` Rob Herring
2022-03-28 16:33     ` Rob Herring
2022-03-30  5:12   ` Miles Chen
2022-03-30  5:12     ` [PATCH v9 02/22] dt-bindings: mediatek, dp: " Miles Chen
2022-03-30  5:12     ` Miles Chen
2022-03-30  5:12     ` Miles Chen
2022-03-30  5:12     ` Miles Chen
2022-03-27 22:39 ` [PATCH v9 03/22] dt-bindings: mediatek,dp_phy: Add Display Port PHY binding Guillaume Ranquet
2022-03-27 22:39   ` [PATCH v9 03/22] dt-bindings: mediatek, dp_phy: " Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-29 22:58   ` [PATCH v9 03/22] dt-bindings: mediatek,dp_phy: " Rob Herring
2022-03-29 22:58     ` Rob Herring
2022-03-29 22:58     ` Rob Herring
2022-03-29 22:58     ` Rob Herring
2022-03-29 22:58     ` Rob Herring
2022-04-12 10:06     ` Guillaume Ranquet
2022-04-12 10:06       ` Guillaume Ranquet
2022-04-12 10:06       ` Guillaume Ranquet
2022-04-12 10:06       ` Guillaume Ranquet
2022-04-12 10:06       ` Guillaume Ranquet
2022-03-30  5:12   ` Miles Chen
2022-03-30  5:12     ` [PATCH v9 03/22] dt-bindings: mediatek, dp_phy: " Miles Chen
2022-03-30  5:12     ` Miles Chen
2022-03-30  5:12     ` Miles Chen
2022-03-30  5:12     ` Miles Chen
2022-03-27 22:39 ` [PATCH v9 04/22] drm/edid: Convert cea_sad helper struct to kernelDoc Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28  8:04   ` AngeloGioacchino Del Regno
2022-03-28  8:04     ` AngeloGioacchino Del Regno
2022-03-28  8:04     ` AngeloGioacchino Del Regno
2022-03-28  8:04     ` AngeloGioacchino Del Regno
2022-03-28  8:04     ` AngeloGioacchino Del Regno
2022-04-12  8:57     ` Guillaume Ranquet
2022-04-12  8:57       ` Guillaume Ranquet
2022-04-12  8:57       ` Guillaume Ranquet
2022-04-12  8:57       ` Guillaume Ranquet
2022-04-12  8:57       ` Guillaume Ranquet
2022-03-27 22:39 ` [PATCH v9 05/22] drm/edid: Add cea_sad helpers for freq/length Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39 ` [PATCH v9 06/22] video/hdmi: Add audio_infoframe packing for DP Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28  8:09   ` AngeloGioacchino Del Regno
2022-03-28  8:09     ` AngeloGioacchino Del Regno
2022-03-28  8:09     ` AngeloGioacchino Del Regno
2022-03-28  8:09     ` AngeloGioacchino Del Regno
2022-03-28  8:09     ` AngeloGioacchino Del Regno
2022-04-12  8:59     ` Guillaume Ranquet
2022-04-12  8:59       ` Guillaume Ranquet
2022-04-12  8:59       ` Guillaume Ranquet
2022-04-12  8:59       ` Guillaume Ranquet
2022-04-12  8:59       ` Guillaume Ranquet
2022-03-27 22:39 ` [PATCH v9 07/22] drm/mediatek: dpi: move dpi limits to SoC config Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28  7:18   ` Rex-BC Chen
2022-03-28  7:18     ` Rex-BC Chen
2022-03-28  7:18     ` Rex-BC Chen
2022-03-28  7:18     ` Rex-BC Chen
2022-03-28  7:18     ` Rex-BC Chen
2022-03-27 22:39 ` [PATCH v9 08/22] drm/mediatek: dpi: implement a CK/DE pol toggle in " Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28  7:31   ` Rex-BC Chen
2022-03-28  7:31     ` Rex-BC Chen
2022-03-28  7:31     ` Rex-BC Chen
2022-03-28  7:31     ` Rex-BC Chen
2022-03-28  7:31     ` Rex-BC Chen
2022-03-27 22:39 ` [PATCH v9 09/22] drm/mediatek: dpi: implement a swap_input " Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28  8:33   ` Rex-BC Chen
2022-03-28  8:33     ` Rex-BC Chen
2022-03-28  8:33     ` Rex-BC Chen
2022-03-28  8:33     ` Rex-BC Chen
2022-03-28  8:33     ` Rex-BC Chen
2022-03-27 22:39 ` [PATCH v9 10/22] drm/mediatek: dpi: move dimension mask to " Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28  8:33   ` Rex-BC Chen
2022-03-28  8:33     ` Rex-BC Chen
2022-03-28  8:33     ` Rex-BC Chen
2022-03-28  8:33     ` Rex-BC Chen
2022-03-28  8:33     ` Rex-BC Chen
2022-03-27 22:39 ` [PATCH v9 11/22] drm/mediatek: dpi: move hvsize_mask " Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28  8:34   ` Rex-BC Chen
2022-03-28  8:34     ` Rex-BC Chen
2022-03-28  8:34     ` Rex-BC Chen
2022-03-28  8:34     ` Rex-BC Chen
2022-03-28  8:34     ` Rex-BC Chen
2022-03-27 22:39 ` [PATCH v9 12/22] drm/mediatek: dpi: move swap_shift " Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28  8:20   ` AngeloGioacchino Del Regno
2022-03-28  8:20     ` AngeloGioacchino Del Regno
2022-03-28  8:20     ` AngeloGioacchino Del Regno
2022-03-28  8:20     ` AngeloGioacchino Del Regno
2022-03-28  8:20     ` AngeloGioacchino Del Regno
2022-03-28  8:34   ` Rex-BC Chen
2022-03-28  8:34     ` Rex-BC Chen
2022-03-28  8:34     ` Rex-BC Chen
2022-03-28  8:34     ` Rex-BC Chen
2022-03-28  8:34     ` Rex-BC Chen
2022-03-27 22:39 ` [PATCH v9 13/22] drm/mediatek: dpi: move the yuv422_en_bit " Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28  8:54   ` Rex-BC Chen
2022-03-28  8:54     ` Rex-BC Chen
2022-03-28  8:54     ` Rex-BC Chen
2022-03-28  8:54     ` Rex-BC Chen
2022-03-28  8:54     ` Rex-BC Chen
2022-03-27 22:39 ` [PATCH v9 14/22] drm/mediatek: dpi: move the csc_enable bit " Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28  8:35   ` Rex-BC Chen
2022-03-28  8:35     ` Rex-BC Chen
2022-03-28  8:35     ` Rex-BC Chen
2022-03-28  8:35     ` Rex-BC Chen
2022-03-28  8:35     ` Rex-BC Chen
2022-03-27 22:39 ` [PATCH v9 15/22] drm/mediatek: dpi: Add dpintf support Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28  8:38   ` Rex-BC Chen
2022-03-28  8:38     ` Rex-BC Chen
2022-03-28  8:38     ` Rex-BC Chen
2022-03-28  8:38     ` Rex-BC Chen
2022-03-28  8:38     ` Rex-BC Chen
2022-04-12  9:10     ` Guillaume Ranquet
2022-04-12  9:10       ` Guillaume Ranquet
2022-04-12  9:10       ` Guillaume Ranquet
2022-04-12  9:10       ` Guillaume Ranquet
2022-04-12  9:10       ` Guillaume Ranquet
2022-03-29  3:16   ` Rex-BC Chen
2022-03-29  3:16     ` Rex-BC Chen
2022-03-29  3:16     ` Rex-BC Chen
2022-03-29  3:16     ` Rex-BC Chen
2022-03-29  3:16     ` Rex-BC Chen
2022-04-12  9:12     ` Guillaume Ranquet
2022-04-12  9:12       ` Guillaume Ranquet
2022-04-12  9:12       ` Guillaume Ranquet
2022-04-12  9:12       ` Guillaume Ranquet
2022-04-12  9:12       ` Guillaume Ranquet
2022-03-27 22:39 ` [PATCH v9 16/22] drm/meditek: dpi: Add matrix_sel helper Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28  8:49   ` Rex-BC Chen
2022-03-28  8:49     ` Rex-BC Chen
2022-03-28  8:49     ` Rex-BC Chen
2022-03-28  8:49     ` Rex-BC Chen
2022-03-28  8:49     ` Rex-BC Chen
2022-04-12  9:37     ` Guillaume Ranquet
2022-04-12  9:37       ` Guillaume Ranquet
2022-04-12  9:37       ` Guillaume Ranquet
2022-04-12  9:37       ` Guillaume Ranquet
2022-04-12  9:37       ` Guillaume Ranquet
2022-03-27 22:39 ` [PATCH v9 17/22] phy: phy-mtk-dp: Add driver for DP phy Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28  8:20   ` AngeloGioacchino Del Regno
2022-03-28  8:20     ` AngeloGioacchino Del Regno
2022-03-28  8:20     ` AngeloGioacchino Del Regno
2022-03-28  8:20     ` AngeloGioacchino Del Regno
2022-03-28  8:20     ` AngeloGioacchino Del Regno
2022-04-12  9:04     ` Guillaume Ranquet
2022-04-12  9:04       ` Guillaume Ranquet
2022-04-12  9:04       ` Guillaume Ranquet
2022-04-12  9:04       ` Guillaume Ranquet
2022-04-12  9:04       ` Guillaume Ranquet
2022-03-27 22:39 ` [PATCH v9 18/22] drm/mediatek: Add mt8195 Embedded DisplayPort driver Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28  9:14   ` AngeloGioacchino Del Regno
2022-03-28  9:14     ` AngeloGioacchino Del Regno
2022-03-28  9:14     ` AngeloGioacchino Del Regno
2022-03-28  9:14     ` AngeloGioacchino Del Regno
2022-03-28  9:14     ` AngeloGioacchino Del Regno
2022-04-12  9:46     ` Guillaume Ranquet
2022-04-12  9:46       ` Guillaume Ranquet
2022-04-12  9:46       ` Guillaume Ranquet
2022-04-12  9:46       ` Guillaume Ranquet
2022-04-12  9:46       ` Guillaume Ranquet
2022-04-13  7:50       ` AngeloGioacchino Del Regno
2022-04-13  7:50         ` AngeloGioacchino Del Regno
2022-04-13  7:50         ` AngeloGioacchino Del Regno
2022-04-13  7:50         ` AngeloGioacchino Del Regno
2022-04-13  7:50         ` AngeloGioacchino Del Regno
2022-03-29  3:34   ` Rex-BC Chen
2022-03-29  3:34     ` Rex-BC Chen
2022-03-29  3:34     ` Rex-BC Chen
2022-03-29  3:34     ` Rex-BC Chen
2022-03-29  3:34     ` Rex-BC Chen
2022-04-12  9:48     ` Guillaume Ranquet
2022-04-12  9:48       ` Guillaume Ranquet
2022-04-12  9:48       ` Guillaume Ranquet
2022-04-12  9:48       ` Guillaume Ranquet
2022-04-12  9:48       ` Guillaume Ranquet
2022-03-29  5:41   ` Rex-BC Chen
2022-03-29  5:41     ` Rex-BC Chen
2022-03-29  5:41     ` Rex-BC Chen
2022-03-29  5:41     ` Rex-BC Chen
2022-03-29  5:41     ` Rex-BC Chen
2022-04-12 10:03     ` Guillaume Ranquet
2022-04-12 10:03       ` Guillaume Ranquet
2022-04-12 10:03       ` Guillaume Ranquet
2022-04-12 10:03       ` Guillaume Ranquet
2022-04-12 10:03       ` Guillaume Ranquet
2022-04-29  8:39   ` Maxime Ripard
2022-04-29  8:39     ` Maxime Ripard
2022-04-29  8:39     ` Maxime Ripard
2022-04-29  8:39     ` Maxime Ripard
2022-04-29  8:39     ` Maxime Ripard
2022-05-11 12:59     ` Guillaume Ranquet
2022-05-11 12:59       ` Guillaume Ranquet
2022-05-11 12:59       ` Guillaume Ranquet
2022-05-11 12:59       ` Guillaume Ranquet
2022-05-11 12:59       ` Guillaume Ranquet
2022-05-12  7:44       ` Maxime Ripard
2022-05-12  7:44         ` Maxime Ripard
2022-05-12  7:44         ` Maxime Ripard
2022-05-12  7:44         ` Maxime Ripard
2022-05-12  7:44         ` Maxime Ripard
2022-05-19 16:26         ` Guillaume Ranquet
2022-05-19 16:26           ` Guillaume Ranquet
2022-05-19 16:26           ` Guillaume Ranquet
2022-05-19 16:26           ` Guillaume Ranquet
2022-05-19 16:26           ` Guillaume Ranquet
2022-05-25  9:44           ` Maxime Ripard [this message]
2022-05-25  9:44             ` Maxime Ripard
2022-05-25  9:44             ` Maxime Ripard
2022-05-25  9:44             ` Maxime Ripard
2022-05-25  9:44             ` Maxime Ripard
2022-03-27 22:39 ` [PATCH v9 19/22] drm/mediatek: Add mt8195 External DisplayPort support Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39 ` [PATCH v9 20/22] drm/mediatek: add hpd debounce Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39 ` [PATCH v9 21/22] drm/mediatek: change the aux retries times when receiving AUX_DEFER Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-28  1:46   ` Rex-BC Chen
2022-03-28  1:46     ` Rex-BC Chen
2022-03-28  1:46     ` Rex-BC Chen
2022-03-28  1:46     ` Rex-BC Chen
2022-03-28  1:46     ` Rex-BC Chen
2022-03-27 22:39 ` [PATCH v9 22/22] drm/mediatek: DP audio support for mt8195 Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet
2022-03-27 22:39   ` Guillaume Ranquet

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=20220525094434.7qhycnobrmgiihuf@houat \
    --to=maxime@cerno.tech \
    --cc=airlied@linux.ie \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=chunfeng.yun@mediatek.com \
    --cc=chunkuang.hu@kernel.org \
    --cc=ck.hu@mediatek.com \
    --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=kishon@ti.com \
    --cc=krzk+dt@kernel.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=linux-phy@lists.infradead.org \
    --cc=lkp@intel.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=markyacoub@google.com \
    --cc=matthias.bgg@gmail.com \
    --cc=msp@baylibre.com \
    --cc=p.zabel@pengutronix.de \
    --cc=robh+dt@kernel.org \
    --cc=tzimmermann@suse.de \
    --cc=vkoul@kernel.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.