disp: msm: add resource caps structure and api changes

Create a data structure to maintain available hardware resources
and track capabilities. This data structure is used to send
the current available resources and caps information to
connector ops get_mode_info, get_modes and validate_mode to
process the display mode.

Change-Id: If38fc628ee5ab4729821f88c0050ab45375187b8
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
This commit is contained in:
Nilaan Gunabalachandran
2019-05-22 15:13:44 -04:00
parent dcea657cce
commit d92000cdd4
13 changed files with 158 additions and 67 deletions

View File

@@ -1075,7 +1075,7 @@ dp_mst_connector_detect(struct drm_connector *connector, bool force,
}
static int dp_mst_connector_get_modes(struct drm_connector *connector,
void *display)
void *display, const struct msm_resource_caps_info *avail_res)
{
struct sde_connector *c_conn = to_sde_connector(connector);
struct dp_display *dp_display = display;
@@ -1102,7 +1102,7 @@ static int dp_mst_connector_get_modes(struct drm_connector *connector,
enum drm_mode_status dp_mst_connector_mode_valid(
struct drm_connector *connector,
struct drm_display_mode *mode,
void *display)
void *display, const struct msm_resource_caps_info *avail_res)
{
struct dp_display *dp_display = display;
struct dp_mst_private *mst;
@@ -1153,7 +1153,7 @@ enum drm_mode_status dp_mst_connector_mode_valid(
return MODE_BAD;
}
return dp_connector_mode_valid(connector, mode, display);
return dp_connector_mode_valid(connector, mode, display, avail_res);
}
int dp_mst_connector_get_info(struct drm_connector *connector,
@@ -1187,14 +1187,15 @@ int dp_mst_connector_get_info(struct drm_connector *connector,
int dp_mst_connector_get_mode_info(struct drm_connector *connector,
const struct drm_display_mode *drm_mode,
struct msm_mode_info *mode_info,
u32 max_mixer_width, void *display)
void *display,
const struct msm_resource_caps_info *avail_res)
{
int rc;
DP_MST_DEBUG("enter:\n");
rc = dp_connector_get_mode_info(connector, drm_mode, mode_info,
max_mixer_width, display);
display, avail_res);
DP_MST_DEBUG("mst connector:%d get mode info. rc:%d\n",
connector->base.id, rc);