disp: msm: sde: dynamic lm reservation for secondary disp

Primary and secondary displays should have first priority
when reserving lms. Static reservation can potentially block
higher resolutions for the required displays. This patch gets
the layer mixer requirement for primary or secondary display
if available. It reserves those layer mixers dynamically
for the respective display when connector is registered.

Change-Id: Id69dac4c72d6b20008049f4aeb71c0f97d0a426b
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
Tento commit je obsažen v:
Nilaan Gunabalachandran
2019-05-02 12:06:25 -04:00
odevzdal Gerrit - the friendly Code Review server
rodič 06f8bcc142
revize 52855c704a
10 změnil soubory, kde provedl 100 přidání a 45 odebrání

Zobrazit soubor

@@ -5075,9 +5075,9 @@ static int dsi_display_ext_get_info(struct drm_connector *connector,
info->is_connected = connector->status != connector_status_disconnected;
if (!strcmp(display->display_type, "primary"))
info->is_primary = true;
else
info->is_primary = false;
info->display_type = SDE_CONNECTOR_PRIMARY;
else if (!strcmp(display->display_type, "secondary"))
info->display_type = SDE_CONNECTOR_SECONDARY;
info->capabilities |= (MSM_DISPLAY_CAP_VID_MODE |
MSM_DISPLAY_CAP_EDID | MSM_DISPLAY_CAP_HOT_PLUG);
@@ -5431,10 +5431,11 @@ int dsi_display_get_info(struct drm_connector *connector,
info->h_tile_instance[i] = display->ctrl[i].ctrl->cell_index;
info->is_connected = true;
info->is_primary = false;
if (!strcmp(display->display_type, "primary"))
info->is_primary = true;
info->display_type = SDE_CONNECTOR_PRIMARY;
else if (!strcmp(display->display_type, "secondary"))
info->display_type = SDE_CONNECTOR_SECONDARY;
info->width_mm = phy_props.panel_width_mm;
info->height_mm = phy_props.panel_height_mm;