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

@@ -158,12 +158,14 @@ sde_wb_connector_detect(struct drm_connector *connector,
* sde_wb_connector_get_modes - get display modes of connector
* @connector: Pointer to connector
* @display: Pointer to writeback device
* @avail_res: Pointer with curr available resources
* Returns: Number of modes
*
* If display modes are not specified in writeback configuration IOCTL, this
* function will install default EDID modes up to maximum resolution support.
*/
int sde_wb_connector_get_modes(struct drm_connector *connector, void *display);
int sde_wb_connector_get_modes(struct drm_connector *connector, void *display,
const struct msm_resource_caps_info *avail_res);
/**
* sde_wb_connector_set_property - set atomic connector property
@@ -195,14 +197,14 @@ int sde_wb_get_info(struct drm_connector *connector,
* @connector: Pointer to drm connector structure
* @drm_mode: Display mode set for the display
* @mode_info: Out parameter. information of the mode.
* @max_mixer_width: max width supported by HW layer mixer
* @display: Pointer to private display structure
* @avail_res: Pointer with curr available resources
* Returns: zero on success
*/
int sde_wb_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);
struct msm_mode_info *mode_info,
void *display, const struct msm_resource_caps_info *avail_res);
/**
* sde_wb_connector_get_wb - retrieve writeback device of the given connector
@@ -301,7 +303,8 @@ sde_wb_connector_detect(struct drm_connector *connector,
return connector_status_disconnected;
}
static inline
int sde_wb_connector_get_modes(struct drm_connector *connector, void *display)
int sde_wb_connector_get_modes(struct drm_connector *connector, void *display,
const struct msm_resource_caps_info *avail_res)
{
return -EINVAL;
}