mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-07-19 03:59:45 +02:00

Add support for basic panel self refresh (PSR) feature for eDP. Add a new interface to set PSR state in the sink from DPU. Program the eDP controller to issue PSR enter and exit SDP to the sink. Signed-off-by: Sankeerth Billakanti <quic_sbillaka@quicinc.com> Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Patchwork: https://patchwork.freedesktop.org/patch/524734/ Link: https://lore.kernel.org/r/1677774797-31063-10-git-send-email-quic_vpolimer@quicinc.com Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
44 lines
1.3 KiB
C
44 lines
1.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
|
|
*/
|
|
|
|
#ifndef _DP_CTRL_H_
|
|
#define _DP_CTRL_H_
|
|
|
|
#include "dp_aux.h"
|
|
#include "dp_panel.h"
|
|
#include "dp_link.h"
|
|
#include "dp_parser.h"
|
|
#include "dp_power.h"
|
|
#include "dp_catalog.h"
|
|
|
|
struct dp_ctrl {
|
|
bool orientation;
|
|
atomic_t aborted;
|
|
bool wide_bus_en;
|
|
};
|
|
|
|
int dp_ctrl_on_link(struct dp_ctrl *dp_ctrl);
|
|
int dp_ctrl_on_stream(struct dp_ctrl *dp_ctrl, bool force_link_train);
|
|
int dp_ctrl_off_link_stream(struct dp_ctrl *dp_ctrl);
|
|
int dp_ctrl_off_link(struct dp_ctrl *dp_ctrl);
|
|
int dp_ctrl_off(struct dp_ctrl *dp_ctrl);
|
|
void dp_ctrl_push_idle(struct dp_ctrl *dp_ctrl);
|
|
void dp_ctrl_isr(struct dp_ctrl *dp_ctrl);
|
|
void dp_ctrl_handle_sink_request(struct dp_ctrl *dp_ctrl);
|
|
struct dp_ctrl *dp_ctrl_get(struct device *dev, struct dp_link *link,
|
|
struct dp_panel *panel, struct drm_dp_aux *aux,
|
|
struct dp_power *power, struct dp_catalog *catalog,
|
|
struct dp_parser *parser);
|
|
|
|
void dp_ctrl_reset_irq_ctrl(struct dp_ctrl *dp_ctrl, bool enable);
|
|
void dp_ctrl_phy_init(struct dp_ctrl *dp_ctrl);
|
|
void dp_ctrl_phy_exit(struct dp_ctrl *dp_ctrl);
|
|
void dp_ctrl_irq_phy_exit(struct dp_ctrl *dp_ctrl);
|
|
|
|
void dp_ctrl_set_psr(struct dp_ctrl *dp_ctrl, bool enable);
|
|
void dp_ctrl_config_psr(struct dp_ctrl *dp_ctrl);
|
|
|
|
#endif /* _DP_CTRL_H_ */
|