All of lore.kernel.org
 help / color / mirror / Atom feed
From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: linux-kernel@vger.kernel.org,
	Collabora Kernel ML <kernel@collabora.com>,
	matthias.bgg@gmail.com, drinkcat@chromium.org,
	hsinyi@chromium.org, Andrzej Hajda <a.hajda@samsung.com>,
	Daniel Vetter <daniel@ffwll.ch>, David Airlie <airlied@linux.ie>,
	Jernej Skrabec <jernej.skrabec@siol.net>,
	Jonas Karlman <jonas@kwiboo.se>,
	Neil Armstrong <narmstrong@baylibre.com>,
	dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v2 1/7] drm/bridge: ps8640: Get the EDID from eDP control
Date: Fri, 17 Apr 2020 16:51:08 +0200	[thread overview]
Message-ID: <95bf8d3b-3daf-c505-eeb0-e5ef167085ac@collabora.com> (raw)
In-Reply-To: <20200416172215.GK4796@pendragon.ideasonboard.com>

Hi Laurent,

On 16/4/20 19:22, Laurent Pinchart wrote:
> Hi Enric,
> 
> Thank you for the patch.
> 
> On Thu, Apr 16, 2020 at 05:57:13PM +0200, Enric Balletbo i Serra wrote:
>> The PS8640 DSI-to-eDP bridge can retrieve the EDID, so implement the
>> .get_edid callback and set the flag to indicate the core to use it.
>>
>> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
>> ---
>>
>> Changes in v2: None
>>
>>  drivers/gpu/drm/bridge/parade-ps8640.c | 12 ++++++++++++
>>  1 file changed, 12 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
>> index d3a53442d449..956b76e0a44d 100644
>> --- a/drivers/gpu/drm/bridge/parade-ps8640.c
>> +++ b/drivers/gpu/drm/bridge/parade-ps8640.c
>> @@ -242,8 +242,18 @@ static int ps8640_bridge_attach(struct drm_bridge *bridge,
>>  	return ret;
>>  }
>>  
>> +static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge,
>> +					   struct drm_connector *connector)
>> +{
>> +	struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
>> +
>> +	return drm_get_edid(connector,
>> +			    ps_bridge->page[PAGE0_DP_CNTL]->adapter);
> 
> This will only work if the DDC signals are connected to the PS8640
> (quite obviously). Is that guaranteed, or could some systems connect
> them directory to an SoC I2C controller ?

It is possible but IMHO opinion this is hardware tricky, I mean, ps8640 outputs
eDP interface and the panel is an eDP interface, so I'd expect hardware
engineers do a pin to pin design, not routing the DDC signals to the SoC
directly ignoring the eDP interface.

> In the latter case we would
> have to report this in the DT bindings of the PS8640. That's not
> blocking for this patch, I am just wondering, as I would have expected
> the driver to already expose EDID one way or another if this was
> available and used.
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 
>> +}
>> +
>>  static const struct drm_bridge_funcs ps8640_bridge_funcs = {
>>  	.attach = ps8640_bridge_attach,
>> +	.get_edid = ps8640_bridge_get_edid,
>>  	.post_disable = ps8640_post_disable,
>>  	.pre_enable = ps8640_pre_enable,
>>  };
>> @@ -296,6 +306,8 @@ static int ps8640_probe(struct i2c_client *client)
>>  
>>  	ps_bridge->bridge.funcs = &ps8640_bridge_funcs;
>>  	ps_bridge->bridge.of_node = dev->of_node;
>> +	ps_bridge->bridge.ops = DRM_BRIDGE_OP_EDID;
>> +	ps_bridge->bridge.type = DRM_MODE_CONNECTOR_eDP;
>>  
>>  	ps_bridge->page[PAGE0_DP_CNTL] = client;
>>  
> 

WARNING: multiple messages have this Message-ID (diff)
From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Jernej Skrabec <jernej.skrabec@siol.net>,
	drinkcat@chromium.org, Jonas Karlman <jonas@kwiboo.se>,
	David Airlie <airlied@linux.ie>,
	Neil Armstrong <narmstrong@baylibre.com>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	Andrzej Hajda <a.hajda@samsung.com>,
	hsinyi@chromium.org, matthias.bgg@gmail.com,
	Collabora Kernel ML <kernel@collabora.com>
Subject: Re: [PATCH v2 1/7] drm/bridge: ps8640: Get the EDID from eDP control
Date: Fri, 17 Apr 2020 16:51:08 +0200	[thread overview]
Message-ID: <95bf8d3b-3daf-c505-eeb0-e5ef167085ac@collabora.com> (raw)
In-Reply-To: <20200416172215.GK4796@pendragon.ideasonboard.com>

Hi Laurent,

On 16/4/20 19:22, Laurent Pinchart wrote:
> Hi Enric,
> 
> Thank you for the patch.
> 
> On Thu, Apr 16, 2020 at 05:57:13PM +0200, Enric Balletbo i Serra wrote:
>> The PS8640 DSI-to-eDP bridge can retrieve the EDID, so implement the
>> .get_edid callback and set the flag to indicate the core to use it.
>>
>> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
>> ---
>>
>> Changes in v2: None
>>
>>  drivers/gpu/drm/bridge/parade-ps8640.c | 12 ++++++++++++
>>  1 file changed, 12 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
>> index d3a53442d449..956b76e0a44d 100644
>> --- a/drivers/gpu/drm/bridge/parade-ps8640.c
>> +++ b/drivers/gpu/drm/bridge/parade-ps8640.c
>> @@ -242,8 +242,18 @@ static int ps8640_bridge_attach(struct drm_bridge *bridge,
>>  	return ret;
>>  }
>>  
>> +static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge,
>> +					   struct drm_connector *connector)
>> +{
>> +	struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
>> +
>> +	return drm_get_edid(connector,
>> +			    ps_bridge->page[PAGE0_DP_CNTL]->adapter);
> 
> This will only work if the DDC signals are connected to the PS8640
> (quite obviously). Is that guaranteed, or could some systems connect
> them directory to an SoC I2C controller ?

It is possible but IMHO opinion this is hardware tricky, I mean, ps8640 outputs
eDP interface and the panel is an eDP interface, so I'd expect hardware
engineers do a pin to pin design, not routing the DDC signals to the SoC
directly ignoring the eDP interface.

> In the latter case we would
> have to report this in the DT bindings of the PS8640. That's not
> blocking for this patch, I am just wondering, as I would have expected
> the driver to already expose EDID one way or another if this was
> available and used.
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 
>> +}
>> +
>>  static const struct drm_bridge_funcs ps8640_bridge_funcs = {
>>  	.attach = ps8640_bridge_attach,
>> +	.get_edid = ps8640_bridge_get_edid,
>>  	.post_disable = ps8640_post_disable,
>>  	.pre_enable = ps8640_pre_enable,
>>  };
>> @@ -296,6 +306,8 @@ static int ps8640_probe(struct i2c_client *client)
>>  
>>  	ps_bridge->bridge.funcs = &ps8640_bridge_funcs;
>>  	ps_bridge->bridge.of_node = dev->of_node;
>> +	ps_bridge->bridge.ops = DRM_BRIDGE_OP_EDID;
>> +	ps_bridge->bridge.type = DRM_MODE_CONNECTOR_eDP;
>>  
>>  	ps_bridge->page[PAGE0_DP_CNTL] = client;
>>  
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2020-04-17 14:51 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-16 15:57 [PATCH v2 0/7] Convert mtk-dsi to drm_bridge API and get EDID for ps8640 bridge Enric Balletbo i Serra
2020-04-16 15:57 ` Enric Balletbo i Serra
2020-04-16 15:57 ` Enric Balletbo i Serra
2020-04-16 15:57 ` Enric Balletbo i Serra
2020-04-16 15:57 ` [PATCH v2 1/7] drm/bridge: ps8640: Get the EDID from eDP control Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 17:22   ` Laurent Pinchart
2020-04-16 17:22     ` Laurent Pinchart
2020-04-17 14:51     ` Enric Balletbo i Serra [this message]
2020-04-17 14:51       ` Enric Balletbo i Serra
2020-04-16 15:57 ` [PATCH v2 2/7] drm/bridge_connector: Set default status connected for eDP connectors Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 17:22   ` Laurent Pinchart
2020-04-16 17:22     ` Laurent Pinchart
2020-04-16 15:57 ` [PATCH v2 3/7] drm/mediatek: mtk_dsi: Rename bridge to next_bridge Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 17:24   ` Laurent Pinchart
2020-04-16 17:24     ` Laurent Pinchart
2020-04-16 17:24     ` Laurent Pinchart
2020-04-16 17:24     ` Laurent Pinchart
2020-04-17 14:53     ` Enric Balletbo i Serra
2020-04-17 14:53       ` Enric Balletbo i Serra
2020-04-17 14:53       ` Enric Balletbo i Serra
2020-04-17 14:53       ` Enric Balletbo i Serra
2020-04-16 15:57 ` [PATCH v2 4/7] drm/mediatek: mtk_dsi: Convert to bridge driver Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 15:57 ` [PATCH v2 5/7] drm/mediatek: mtk_dsi: Use simple encoder Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 17:28   ` Laurent Pinchart
2020-04-16 17:28     ` Laurent Pinchart
2020-04-16 17:28     ` Laurent Pinchart
2020-04-16 17:28     ` Laurent Pinchart
2020-04-16 15:57 ` [PATCH v2 6/7] drm/mediatek: mtk_dsi: Use the drm_panel_bridge API Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 17:33   ` Laurent Pinchart
2020-04-16 17:33     ` Laurent Pinchart
2020-04-16 17:33     ` Laurent Pinchart
2020-04-16 17:33     ` Laurent Pinchart
2020-04-16 15:57 ` [PATCH v2 7/7] drm/mediatek: mtk_dsi: Create connector for bridges Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 15:57   ` Enric Balletbo i Serra
2020-04-16 17:35   ` Laurent Pinchart
2020-04-16 17:35     ` Laurent Pinchart
2020-04-16 17:35     ` Laurent Pinchart
2020-04-16 17:35     ` Laurent Pinchart
2020-04-16 17:36     ` Laurent Pinchart
2020-04-16 17:36       ` Laurent Pinchart
2020-04-16 17:36       ` Laurent Pinchart
2020-04-16 17:36       ` Laurent Pinchart
2020-04-16 21:33       ` Enric Balletbo i Serra
2020-04-16 21:33         ` Enric Balletbo i Serra
2020-04-16 21:33         ` Enric Balletbo i Serra
2020-04-16 21:33         ` Enric Balletbo i Serra
2020-04-16 21:45         ` Laurent Pinchart
2020-04-16 21:45           ` Laurent Pinchart
2020-04-16 21:45           ` Laurent Pinchart
2020-04-16 21:45           ` Laurent Pinchart

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=95bf8d3b-3daf-c505-eeb0-e5ef167085ac@collabora.com \
    --to=enric.balletbo@collabora.com \
    --cc=a.hajda@samsung.com \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=drinkcat@chromium.org \
    --cc=hsinyi@chromium.org \
    --cc=jernej.skrabec@siol.net \
    --cc=jonas@kwiboo.se \
    --cc=kernel@collabora.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matthias.bgg@gmail.com \
    --cc=narmstrong@baylibre.com \
    /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.