mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-02 15:18:19 +00:00
drm/bridge: mhdp8546: Set input_bus_flags from atomic_check
input_bus_flags are specified in drm_bridge_timings (legacy) as well as drm_bridge_state->input_bus_cfg.flags The flags from the timings will be deprecated. Bridges are supposed to validate and set the bridge state flags from atomic_check. Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com> [a-bhatia1: replace timings in cdns_mhdp_platform_info by input_bus_flags] Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230606082142.23760-5-a-bhatia1@ti.com
This commit is contained in:
parent
0db3cef11c
commit
1934bf53f2
4 changed files with 14 additions and 10 deletions
|
@ -2186,6 +2186,13 @@ static int cdns_mhdp_atomic_check(struct drm_bridge *bridge,
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
/*
|
||||
* There might be flags negotiation supported in future.
|
||||
* Set the bus flags in atomic_check statically for now.
|
||||
*/
|
||||
if (mhdp->info)
|
||||
bridge_state->input_bus_cfg.flags = *mhdp->info->input_bus_flags;
|
||||
|
||||
mutex_unlock(&mhdp->link_mutex);
|
||||
return 0;
|
||||
}
|
||||
|
@ -2551,8 +2558,6 @@ static int cdns_mhdp_probe(struct platform_device *pdev)
|
|||
mhdp->bridge.ops = DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_EDID |
|
||||
DRM_BRIDGE_OP_HPD;
|
||||
mhdp->bridge.type = DRM_MODE_CONNECTOR_DisplayPort;
|
||||
if (mhdp->info)
|
||||
mhdp->bridge.timings = mhdp->info->timings;
|
||||
|
||||
ret = phy_init(mhdp->phy);
|
||||
if (ret) {
|
||||
|
@ -2639,7 +2644,7 @@ static const struct of_device_id mhdp_ids[] = {
|
|||
#ifdef CONFIG_DRM_CDNS_MHDP8546_J721E
|
||||
{ .compatible = "ti,j721e-mhdp8546",
|
||||
.data = &(const struct cdns_mhdp_platform_info) {
|
||||
.timings = &mhdp_ti_j721e_bridge_timings,
|
||||
.input_bus_flags = &mhdp_ti_j721e_bridge_input_bus_flags,
|
||||
.ops = &mhdp_ti_j721e_ops,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -336,7 +336,7 @@ struct cdns_mhdp_bridge_state {
|
|||
};
|
||||
|
||||
struct cdns_mhdp_platform_info {
|
||||
const struct drm_bridge_timings *timings;
|
||||
const u32 *input_bus_flags;
|
||||
const struct mhdp_platform_ops *ops;
|
||||
};
|
||||
|
||||
|
|
|
@ -71,8 +71,7 @@ const struct mhdp_platform_ops mhdp_ti_j721e_ops = {
|
|||
.disable = cdns_mhdp_j721e_disable,
|
||||
};
|
||||
|
||||
const struct drm_bridge_timings mhdp_ti_j721e_bridge_timings = {
|
||||
.input_bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE |
|
||||
DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE |
|
||||
DRM_BUS_FLAG_DE_HIGH,
|
||||
};
|
||||
const u32
|
||||
mhdp_ti_j721e_bridge_input_bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE |
|
||||
DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE |
|
||||
DRM_BUS_FLAG_DE_HIGH;
|
||||
|
|
|
@ -14,6 +14,6 @@
|
|||
struct mhdp_platform_ops;
|
||||
|
||||
extern const struct mhdp_platform_ops mhdp_ti_j721e_ops;
|
||||
extern const struct drm_bridge_timings mhdp_ti_j721e_bridge_timings;
|
||||
extern const u32 mhdp_ti_j721e_bridge_input_bus_flags;
|
||||
|
||||
#endif /* !CDNS_MHDP8546_J721E_H */
|
||||
|
|
Loading…
Reference in a new issue