Linux Samsung SOC development
 help / color / mirror / Atom feed
From: Neil Armstrong <narmstrong-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
To: Andrzej Pietrasiewicz
	<andrzej.p-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Cc: "Y.C. Chen" <yc_chen-SAlXDmAnmOAqDJ6do+/SaQ@public.gmane.org>,
	"Heiko Stübner" <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>,
	"Sam Ravnborg" <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>,
	"Maxime Ripard"
	<maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org>,
	"Ramalingam C"
	<ramalingam.c-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"Joonas Lahtinen"
	<joonas.lahtinen-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
	"Douglas Anderson"
	<dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
	"Andrzej Hajda" <a.hajda-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
	"Thierry Reding"
	<thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"Laurent Pinchart"
	<Laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>,
	"Benjamin Gaignard"
	<benjamin.gaignard-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	kernel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org,
	"Fabio Estevam"
	<festevam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"Ville Syrjälä"
	<ville.syrjala-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
	"David (ChunMing) Zhou"
	<David1.Zhou-5C7GfCeVMHo@public.gmane.org>,
	linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	"Joonyoung Shim"
	<jy0922.shim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	"Vincent Abriou" <vincent.abriou-qxv4g6HH51o@public.gmane.org>,
	"Rob Clark" <robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"Krzysztof Kozlowski"
	<krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Subject: Re: [PATCH v4 19/23] drm/bridge: dw-hdmi: Provide ddc symlink in connector sysfs directory
Date: Tue, 30 Jul 2019 14:17:55 +0200	[thread overview]
Message-ID: <449b11e6-2386-4e5b-26f7-eb6046911f24@baylibre.com> (raw)
In-Reply-To: <ec88a18feffa37eceb947bb83a6f9f51fb575566.1562843413.git.andrzej.p-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>

On 11/07/2019 13:26, Andrzej Pietrasiewicz wrote:
> Use the ddc pointer provided by the generic connector.
> 
> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
> ---
>  drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 40 +++++++++++------------
>  1 file changed, 20 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> index c6490949d9db..0b9c9f2619da 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> @@ -161,7 +161,6 @@ struct dw_hdmi {
>  
>  	struct drm_display_mode previous_mode;
>  
> -	struct i2c_adapter *ddc;
>  	void __iomem *regs;
>  	bool sink_is_hdmi;
>  	bool sink_has_audio;
> @@ -1118,7 +1117,7 @@ static bool dw_hdmi_support_scdc(struct dw_hdmi *hdmi)
>  		return false;
>  
>  	/* Disable if no DDC bus */
> -	if (!hdmi->ddc)
> +	if (!hdmi->connector.ddc)
>  		return false;
>  
>  	/* Disable if SCDC is not supported, or if an HF-VSDB block is absent */
> @@ -1156,10 +1155,11 @@ void dw_hdmi_set_high_tmds_clock_ratio(struct dw_hdmi *hdmi)
>  
>  	/* Control for TMDS Bit Period/TMDS Clock-Period Ratio */
>  	if (dw_hdmi_support_scdc(hdmi)) {
> +		struct i2c_adapter *ddc = hdmi->connector.ddc;
>  		if (mtmdsclock > HDMI14_MAX_TMDSCLK)
> -			drm_scdc_set_high_tmds_clock_ratio(hdmi->ddc, 1);
> +			drm_scdc_set_high_tmds_clock_ratio(ddc, 1);
>  		else
> -			drm_scdc_set_high_tmds_clock_ratio(hdmi->ddc, 0);
> +			drm_scdc_set_high_tmds_clock_ratio(ddc, 0);
>  	}
>  }
>  EXPORT_SYMBOL_GPL(dw_hdmi_set_high_tmds_clock_ratio);
> @@ -1750,6 +1750,7 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
>  	if (dw_hdmi_support_scdc(hdmi)) {
>  		if (vmode->mtmdsclock > HDMI14_MAX_TMDSCLK ||
>  		    hdmi_info->scdc.scrambling.low_rates) {
> +			struct i2c_adapter *ddc = hdmi->connector.ddc;
>  			/*
>  			 * HDMI2.0 Specifies the following procedure:
>  			 * After the Source Device has determined that
> @@ -1759,13 +1760,12 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
>  			 * Source Devices compliant shall set the
>  			 * Source Version = 1.
>  			 */
> -			drm_scdc_readb(hdmi->ddc, SCDC_SINK_VERSION,
> -				       &bytes);
> -			drm_scdc_writeb(hdmi->ddc, SCDC_SOURCE_VERSION,
> +			drm_scdc_readb(ddc, SCDC_SINK_VERSION, &bytes);
> +			drm_scdc_writeb(ddc, SCDC_SOURCE_VERSION,
>  				min_t(u8, bytes, SCDC_MIN_SOURCE_VERSION));
>  
>  			/* Enabled Scrambling in the Sink */
> -			drm_scdc_set_scrambling(hdmi->ddc, 1);
> +			drm_scdc_set_scrambling(hdmi->connector.ddc, 1);
>  
>  			/*
>  			 * To activate the scrambler feature, you must ensure
> @@ -1781,7 +1781,7 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
>  			hdmi_writeb(hdmi, 0, HDMI_FC_SCRAMBLER_CTRL);
>  			hdmi_writeb(hdmi, (u8)~HDMI_MC_SWRSTZ_TMDSSWRST_REQ,
>  				    HDMI_MC_SWRSTZ);
> -			drm_scdc_set_scrambling(hdmi->ddc, 0);
> +			drm_scdc_set_scrambling(hdmi->connector.ddc, 0);
>  		}
>  	}
>  
> @@ -2127,10 +2127,10 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
>  	struct edid *edid;
>  	int ret = 0;
>  
> -	if (!hdmi->ddc)
> +	if (!hdmi->connector.ddc)
>  		return 0;
>  
> -	edid = drm_get_edid(connector, hdmi->ddc);
> +	edid = drm_get_edid(connector, hdmi->connector.ddc);
>  	if (edid) {
>  		dev_dbg(hdmi->dev, "got edid: width[%d] x height[%d]\n",
>  			edid->width_cm, edid->height_cm);
> @@ -2548,9 +2548,9 @@ __dw_hdmi_probe(struct platform_device *pdev,
>  
>  	ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);
>  	if (ddc_node) {
> -		hdmi->ddc = of_get_i2c_adapter_by_node(ddc_node);
> +		hdmi->connector.ddc = of_get_i2c_adapter_by_node(ddc_node);
>  		of_node_put(ddc_node);
> -		if (!hdmi->ddc) {
> +		if (!hdmi->connector.ddc) {
>  			dev_dbg(hdmi->dev, "failed to read ddc node\n");
>  			return ERR_PTR(-EPROBE_DEFER);
>  		}
> @@ -2689,7 +2689,7 @@ __dw_hdmi_probe(struct platform_device *pdev,
>  	hdmi_init_clk_regenerator(hdmi);
>  
>  	/* If DDC bus is not specified, try to register HDMI I2C bus */
> -	if (!hdmi->ddc) {
> +	if (!hdmi->connector.ddc) {
>  		/* Look for (optional) stuff related to unwedging */
>  		hdmi->pinctrl = devm_pinctrl_get(dev);
>  		if (!IS_ERR(hdmi->pinctrl)) {
> @@ -2708,9 +2708,9 @@ __dw_hdmi_probe(struct platform_device *pdev,
>  			}
>  		}
>  
> -		hdmi->ddc = dw_hdmi_i2c_adapter(hdmi);
> -		if (IS_ERR(hdmi->ddc))
> -			hdmi->ddc = NULL;
> +		hdmi->connector.ddc = dw_hdmi_i2c_adapter(hdmi);
> +		if (IS_ERR(hdmi->connector.ddc))
> +			hdmi->connector.ddc = NULL;
>  	}
>  
>  	hdmi->bridge.driver_private = hdmi;
> @@ -2776,7 +2776,7 @@ __dw_hdmi_probe(struct platform_device *pdev,
>  err_iahb:
>  	if (hdmi->i2c) {
>  		i2c_del_adapter(&hdmi->i2c->adap);
> -		hdmi->ddc = NULL;
> +		hdmi->connector.ddc = NULL;
>  	}
>  
>  	if (hdmi->cec_notifier)
> @@ -2788,7 +2788,7 @@ __dw_hdmi_probe(struct platform_device *pdev,
>  err_isfr:
>  	clk_disable_unprepare(hdmi->isfr_clk);
>  err_res:
> -	i2c_put_adapter(hdmi->ddc);
> +	i2c_put_adapter(hdmi->connector.ddc);
>  
>  	return ERR_PTR(ret);
>  }
> @@ -2814,7 +2814,7 @@ static void __dw_hdmi_remove(struct dw_hdmi *hdmi)
>  	if (hdmi->i2c)
>  		i2c_del_adapter(&hdmi->i2c->adap);
>  	else
> -		i2c_put_adapter(hdmi->ddc);
> +		i2c_put_adapter(hdmi->connector.ddc);
>  }
>  
>  /* -----------------------------------------------------------------------------
> 

Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

  parent reply	other threads:[~2019-07-30 12:17 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-11 11:26 [PATCH v4 00/23] Associate ddc adapters with connectors Andrzej Pietrasiewicz
2019-07-11 11:26 ` [PATCH v4 01/23] drm: Include ddc adapter pointer in struct drm_connector Andrzej Pietrasiewicz
2019-07-11 11:26 ` [PATCH v4 02/23] drm/exynos: Provide ddc symlink in connector's sysfs Andrzej Pietrasiewicz
2019-07-11 11:26 ` [PATCH v4 03/23] drm: rockchip: Provide ddc symlink in rk3066_hdmi sysfs directory Andrzej Pietrasiewicz
2019-07-11 11:26 ` [PATCH v4 06/23] drm/sun4i: hdmi: Provide ddc symlink in sun4i hdmi connector " Andrzej Pietrasiewicz
2019-07-11 11:26 ` [PATCH v4 07/23] drm/mediatek: Provide ddc symlink in " Andrzej Pietrasiewicz
2019-07-11 11:26 ` [PATCH v4 08/23] drm/tegra: Provide ddc symlink in output " Andrzej Pietrasiewicz
2019-07-11 11:26 ` [PATCH v4 09/23] drm/imx: imx-ldb: Provide ddc symlink in connector's sysfs Andrzej Pietrasiewicz
2019-07-11 11:26 ` [PATCH v4 10/23] drm/imx: imx-tve: " Andrzej Pietrasiewicz
2019-07-11 11:26 ` [PATCH v4 11/23] drm/vc4: Provide ddc symlink in connector sysfs directory Andrzej Pietrasiewicz
2019-07-11 11:26 ` [PATCH v4 12/23] drm: zte: Provide ddc symlink in hdmi " Andrzej Pietrasiewicz
2019-07-23  5:58   ` Shawn Guo
2019-07-11 11:26 ` [PATCH v4 13/23] drm: zte: Provide ddc symlink in vga " Andrzej Pietrasiewicz
     [not found]   ` <9cdd2fc46dbcb6b596786e5a12b7176c77a38d78.1562843413.git.andrzej.p-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2019-07-23  5:58     ` Shawn Guo
2019-07-11 11:26 ` [PATCH v4 14/23] drm/tilcdc: Provide ddc symlink in " Andrzej Pietrasiewicz
     [not found]   ` <d1d415022c598fb7acd033f0f322dd67250adaa9.1562843413.git.andrzej.p-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2019-07-23  9:05     ` Sam Ravnborg
2019-07-23 12:44       ` Andrzej Pietrasiewicz
     [not found]         ` <3ad60be5-49cf-4017-4b74-53a2d6272deb-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2019-07-23 15:19           ` Sam Ravnborg
2019-07-24  8:01         ` Thomas Zimmermann
2019-07-24  8:51           ` Andrzej Pietrasiewicz
     [not found]           ` <acfd895d-ab59-0190-e25c-1827bd8d214b-l3A5Bk7waGM@public.gmane.org>
2019-07-31 19:39             ` Ezequiel Garcia
     [not found] ` <cover.1562843413.git.andrzej.p-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2019-07-11 11:26   ` [PATCH v4 04/23] drm: rockchip: Provide ddc symlink in inno_hdmi " Andrzej Pietrasiewicz
2019-07-11 11:26   ` [PATCH v4 05/23] drm/msm/hdmi: Provide ddc symlink in hdmi connector " Andrzej Pietrasiewicz
2019-07-11 11:26   ` [PATCH v4 15/23] drm: sti: " Andrzej Pietrasiewicz
     [not found]     ` <86afdc0bca6939901870176dcf55f279f7b10a08.1562843413.git.andrzej.p-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2019-07-12  7:42       ` Benjamin Gaignard
2019-07-11 11:26   ` [PATCH v4 16/23] drm/mgag200: Provide ddc symlink in " Andrzej Pietrasiewicz
2019-07-11 17:26     ` Thomas Zimmermann
2019-07-23  9:07     ` Sam Ravnborg
2019-07-11 11:26   ` [PATCH v4 17/23] drm/ast: " Andrzej Pietrasiewicz
2019-07-11 17:27     ` Thomas Zimmermann
2019-07-23  9:09     ` Sam Ravnborg
2019-07-11 11:26   ` [PATCH v4 18/23] drm/bridge: dumb-vga-dac: " Andrzej Pietrasiewicz
2019-07-30 12:15     ` Neil Armstrong
2019-07-11 11:26   ` [PATCH v4 20/23] drm/bridge: ti-tfp410: " Andrzej Pietrasiewicz
2019-07-30 12:25     ` Neil Armstrong
2019-07-11 11:26   ` [PATCH v4 23/23] drm/i915: Provide ddc symlink in hdmi " Andrzej Pietrasiewicz
2019-07-11 11:26 ` [PATCH v4 19/23] drm/bridge: dw-hdmi: Provide ddc symlink in " Andrzej Pietrasiewicz
     [not found]   ` <ec88a18feffa37eceb947bb83a6f9f51fb575566.1562843413.git.andrzej.p-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2019-07-30 12:17     ` Neil Armstrong [this message]
     [not found]       ` <449b11e6-2386-4e5b-26f7-eb6046911f24-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
2019-07-30 17:30         ` Sam Ravnborg
     [not found]           ` <20190730173007.GA28537-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>
2019-07-31  7:32             ` Neil Armstrong
2019-07-11 11:26 ` [PATCH v4 21/23] drm/amdgpu: " Andrzej Pietrasiewicz
2019-07-11 11:26 ` [PATCH v4 22/23] drm/radeon: " Andrzej Pietrasiewicz

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=449b11e6-2386-4e5b-26f7-eb6046911f24@baylibre.com \
    --to=narmstrong-rdvid1duhrbwk0htik3j/w@public.gmane.org \
    --cc=David1.Zhou-5C7GfCeVMHo@public.gmane.org \
    --cc=Laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
    --cc=a.hajda-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=andrzej.p-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org \
    --cc=benjamin.gaignard-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
    --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=festevam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org \
    --cc=joonas.lahtinen-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    --cc=jy0922.shim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
    --cc=kernel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org \
    --cc=krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org \
    --cc=ramalingam.c-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org \
    --cc=thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=ville.syrjala-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    --cc=vincent.abriou-qxv4g6HH51o@public.gmane.org \
    --cc=yc_chen-SAlXDmAnmOAqDJ6do+/SaQ@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox