Merge v5.6-rc2 into drm-misc-next
Lyude needs some patches in 5.6-rc2 and we didn't bring drm-misc-next forward yet, so it looks like a good occasion. Signed-off-by: Maxime Ripard <maxime@cerno.tech>
This commit is contained in:
@@ -156,6 +156,8 @@ struct drm_dp_mst_port {
|
||||
* audio-capable.
|
||||
*/
|
||||
bool has_audio;
|
||||
|
||||
bool fec_capable;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -383,6 +385,7 @@ struct drm_dp_port_number_req {
|
||||
|
||||
struct drm_dp_enum_path_resources_ack_reply {
|
||||
u8 port_number;
|
||||
bool fec_capable;
|
||||
u16 full_payload_bw_number;
|
||||
u16 avail_payload_bw_number;
|
||||
};
|
||||
@@ -499,6 +502,8 @@ struct drm_dp_payload {
|
||||
struct drm_dp_vcpi_allocation {
|
||||
struct drm_dp_mst_port *port;
|
||||
int vcpi;
|
||||
int pbn;
|
||||
bool dsc_enabled;
|
||||
struct list_head next;
|
||||
};
|
||||
|
||||
@@ -613,6 +618,12 @@ struct drm_dp_mst_topology_mgr {
|
||||
* &drm_dp_sideband_msg_tx.state once they are queued
|
||||
*/
|
||||
struct mutex qlock;
|
||||
|
||||
/**
|
||||
* @is_waiting_for_dwn_reply: indicate whether is waiting for down reply
|
||||
*/
|
||||
bool is_waiting_for_dwn_reply;
|
||||
|
||||
/**
|
||||
* @tx_msg_downq: List of pending down replies.
|
||||
*/
|
||||
@@ -729,8 +740,7 @@ bool drm_dp_mst_port_has_audio(struct drm_dp_mst_topology_mgr *mgr,
|
||||
struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port);
|
||||
|
||||
|
||||
int drm_dp_calc_pbn_mode(int clock, int bpp);
|
||||
|
||||
int drm_dp_calc_pbn_mode(int clock, int bpp, bool dsc);
|
||||
|
||||
bool drm_dp_mst_allocate_vcpi(struct drm_dp_mst_topology_mgr *mgr,
|
||||
struct drm_dp_mst_port *port, int pbn, int slots);
|
||||
@@ -779,7 +789,15 @@ struct drm_dp_mst_topology_state *drm_atomic_get_mst_topology_state(struct drm_a
|
||||
int __must_check
|
||||
drm_dp_atomic_find_vcpi_slots(struct drm_atomic_state *state,
|
||||
struct drm_dp_mst_topology_mgr *mgr,
|
||||
struct drm_dp_mst_port *port, int pbn);
|
||||
struct drm_dp_mst_port *port, int pbn,
|
||||
int pbn_div);
|
||||
int drm_dp_mst_atomic_enable_dsc(struct drm_atomic_state *state,
|
||||
struct drm_dp_mst_port *port,
|
||||
int pbn, int pbn_div,
|
||||
bool enable);
|
||||
int __must_check
|
||||
drm_dp_mst_add_affected_dsc_crtcs(struct drm_atomic_state *state,
|
||||
struct drm_dp_mst_topology_mgr *mgr);
|
||||
int __must_check
|
||||
drm_dp_atomic_release_vcpi_slots(struct drm_atomic_state *state,
|
||||
struct drm_dp_mst_topology_mgr *mgr,
|
||||
@@ -791,6 +809,8 @@ int __must_check drm_dp_mst_atomic_check(struct drm_atomic_state *state);
|
||||
void drm_dp_mst_get_port_malloc(struct drm_dp_mst_port *port);
|
||||
void drm_dp_mst_put_port_malloc(struct drm_dp_mst_port *port);
|
||||
|
||||
struct drm_dp_aux *drm_dp_mst_dsc_aux_for_port(struct drm_dp_mst_port *port);
|
||||
|
||||
extern const struct drm_private_state_funcs drm_dp_mst_topology_state_funcs;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user