Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
0004  */
0005 
0006 #ifndef _DP_CTRL_H_
0007 #define _DP_CTRL_H_
0008 
0009 #include "dp_aux.h"
0010 #include "dp_panel.h"
0011 #include "dp_link.h"
0012 #include "dp_parser.h"
0013 #include "dp_power.h"
0014 #include "dp_catalog.h"
0015 
0016 struct dp_ctrl {
0017     bool orientation;
0018     atomic_t aborted;
0019     u32 pixel_rate;
0020     bool wide_bus_en;
0021 };
0022 
0023 int dp_ctrl_on_link(struct dp_ctrl *dp_ctrl);
0024 int dp_ctrl_on_stream(struct dp_ctrl *dp_ctrl, bool force_link_train);
0025 int dp_ctrl_off_link_stream(struct dp_ctrl *dp_ctrl);
0026 int dp_ctrl_off_link(struct dp_ctrl *dp_ctrl);
0027 int dp_ctrl_off(struct dp_ctrl *dp_ctrl);
0028 void dp_ctrl_push_idle(struct dp_ctrl *dp_ctrl);
0029 void dp_ctrl_isr(struct dp_ctrl *dp_ctrl);
0030 void dp_ctrl_handle_sink_request(struct dp_ctrl *dp_ctrl);
0031 struct dp_ctrl *dp_ctrl_get(struct device *dev, struct dp_link *link,
0032             struct dp_panel *panel, struct drm_dp_aux *aux,
0033             struct dp_power *power, struct dp_catalog *catalog,
0034             struct dp_parser *parser);
0035 
0036 void dp_ctrl_reset_irq_ctrl(struct dp_ctrl *dp_ctrl, bool enable);
0037 void dp_ctrl_phy_init(struct dp_ctrl *dp_ctrl);
0038 void dp_ctrl_phy_exit(struct dp_ctrl *dp_ctrl);
0039 void dp_ctrl_irq_phy_exit(struct dp_ctrl *dp_ctrl);
0040 
0041 #endif /* _DP_CTRL_H_ */