disp: msm: sde: add support for ppb size programming

MDSS 10.0 onwards, hw supports programming of pingpong
latency buffer size based on the resolution of display.
In prior targets full size of the latency buffer is used.
This change adds required support in sde driver to program
the pingpong buffer size based on systems recommended
latency lines requirement and the display resolution.

Change-Id: I172b19e5b397eb86190de57fed36f24cd67d2207
Signed-off-by: Prabhanjan Kandula <quic_pkandula@quicinc.com>
This commit is contained in:
Prabhanjan Kandula
2022-12-29 12:41:28 -08:00
parent f6284fb3fa
commit a2f3cba8ca
10 changed files with 223 additions and 6 deletions

View File

@@ -1184,6 +1184,24 @@ int sde_connector_state_get_mode_info(struct drm_connector_state *conn_state,
int sde_connector_get_lm_cnt_from_topology(struct drm_connector *conn,
const struct drm_display_mode *drm_mode);
/**
* sde_conn_get_max_mode_width - retrieves the maximum width from all modes
* conn: Pointer to DRM connector object
*/
static inline u32 sde_conn_get_max_mode_width(struct drm_connector *conn)
{
u32 maxw = 0;
struct drm_display_mode *mode;
if (!conn)
return maxw;
list_for_each_entry(mode, &conn->modes, head)
maxw = maxw > mode->hdisplay ? maxw : mode->hdisplay;
return maxw;
}
/**
* sde_connector_state_get_topology - get topology from given connector state
* conn_state: Pointer to the DRM connector state object