| From cc0f2fea61fb34ca84e4812a615e0035d812aa8b Mon Sep 17 00:00:00 2001 |
| From: Enric Balletbo i Serra <enric.balletbo@collabora.com> |
| Date: Wed, 26 Aug 2020 10:15:23 +0200 |
| Subject: [PATCH 2/5] drm/bridge: ps8640: Get the EDID from eDP control |
| |
| 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. |
| |
| Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> |
| Acked-by: Sam Ravnborg <sam@ravnborg.org> |
| Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> |
| --- |
| 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 4b099196afeb..13755d278db6 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); |
| +} |
| + |
| 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, |
| }; |
| @@ -294,6 +304,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; |
| |
| -- |
| 2.25.1 |
| |