Commit 1f6010a9 authored by David Francis's avatar David Francis Committed by Alex Deucher

drm/amd/display: Improve spelling, grammar, and formatting of amdgpu_dm.c comments

[Why]
Good spelling and grammar makes comments
more pleasant and clearer.

Linux has coding standards for comments
that we should try to follow.

[How]
Fix obvious spelling and grammar issues

Ensure all comments use '/*' and '*/' and multi-line comments
follow linux convention

Remove line-of-stars comments that do not separate sections
of code and comments referring to lines of code that have
since been removed
Signed-off-by: default avatarDavid Francis <David.Francis@amd.com>
Reviewed-by: default avatarNicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Acked-by: default avatarLeo Li <sunpeng.li@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 219097df
...@@ -75,7 +75,8 @@ ...@@ -75,7 +75,8 @@
static int amdgpu_dm_init(struct amdgpu_device *adev); static int amdgpu_dm_init(struct amdgpu_device *adev);
static void amdgpu_dm_fini(struct amdgpu_device *adev); static void amdgpu_dm_fini(struct amdgpu_device *adev);
/* initializes drm_device display related structures, based on the information /*
* initializes drm_device display related structures, based on the information
* provided by DAL. The drm strcutures are: drm_crtc, drm_connector, * provided by DAL. The drm strcutures are: drm_crtc, drm_connector,
* drm_encoder, drm_mode_config * drm_encoder, drm_mode_config
* *
...@@ -237,10 +238,6 @@ get_crtc_by_otg_inst(struct amdgpu_device *adev, ...@@ -237,10 +238,6 @@ get_crtc_by_otg_inst(struct amdgpu_device *adev,
struct drm_crtc *crtc; struct drm_crtc *crtc;
struct amdgpu_crtc *amdgpu_crtc; struct amdgpu_crtc *amdgpu_crtc;
/*
* following if is check inherited from both functions where this one is
* used now. Need to be checked why it could happen.
*/
if (otg_inst == -1) { if (otg_inst == -1) {
WARN_ON(1); WARN_ON(1);
return adev->mode_info.crtcs[0]; return adev->mode_info.crtcs[0];
...@@ -266,7 +263,7 @@ static void dm_pflip_high_irq(void *interrupt_params) ...@@ -266,7 +263,7 @@ static void dm_pflip_high_irq(void *interrupt_params)
amdgpu_crtc = get_crtc_by_otg_inst(adev, irq_params->irq_src - IRQ_TYPE_PFLIP); amdgpu_crtc = get_crtc_by_otg_inst(adev, irq_params->irq_src - IRQ_TYPE_PFLIP);
/* IRQ could occur when in initial stage */ /* IRQ could occur when in initial stage */
/*TODO work and BO cleanup */ /* TODO work and BO cleanup */
if (amdgpu_crtc == NULL) { if (amdgpu_crtc == NULL) {
DRM_DEBUG_DRIVER("CRTC is null, returning.\n"); DRM_DEBUG_DRIVER("CRTC is null, returning.\n");
return; return;
...@@ -285,9 +282,9 @@ static void dm_pflip_high_irq(void *interrupt_params) ...@@ -285,9 +282,9 @@ static void dm_pflip_high_irq(void *interrupt_params)
} }
/* wakeup usersapce */ /* wake up userspace */
if (amdgpu_crtc->event) { if (amdgpu_crtc->event) {
/* Update to correct count/ts if racing with vblank irq */ /* Update to correct count(s) if racing with vblank irq */
drm_crtc_accurate_vblank_count(&amdgpu_crtc->base); drm_crtc_accurate_vblank_count(&amdgpu_crtc->base);
drm_crtc_send_vblank_event(&amdgpu_crtc->base, amdgpu_crtc->event); drm_crtc_send_vblank_event(&amdgpu_crtc->base, amdgpu_crtc->event);
...@@ -385,8 +382,8 @@ static void amdgpu_dm_fbc_init(struct drm_connector *connector) ...@@ -385,8 +382,8 @@ static void amdgpu_dm_fbc_init(struct drm_connector *connector)
} }
/*
/* Init display KMS * Init display KMS
* *
* Returns 0 on success * Returns 0 on success
*/ */
...@@ -695,7 +692,7 @@ static int dm_resume(void *handle) ...@@ -695,7 +692,7 @@ static int dm_resume(void *handle)
mutex_unlock(&aconnector->hpd_lock); mutex_unlock(&aconnector->hpd_lock);
} }
/* Force mode set in atomic comit */ /* Force mode set in atomic commit */
for_each_new_crtc_in_state(dm->cached_state, crtc, new_crtc_state, i) for_each_new_crtc_in_state(dm->cached_state, crtc, new_crtc_state, i)
new_crtc_state->active_changed = true; new_crtc_state->active_changed = true;
...@@ -826,24 +823,27 @@ amdgpu_dm_update_connector_after_detect(struct amdgpu_dm_connector *aconnector) ...@@ -826,24 +823,27 @@ amdgpu_dm_update_connector_after_detect(struct amdgpu_dm_connector *aconnector)
sink = aconnector->dc_link->local_sink; sink = aconnector->dc_link->local_sink;
/* Edid mgmt connector gets first update only in mode_valid hook and then /*
* Edid mgmt connector gets first update only in mode_valid hook and then
* the connector sink is set to either fake or physical sink depends on link status. * the connector sink is set to either fake or physical sink depends on link status.
* don't do it here if u are during boot * Skip if already done during boot.
*/ */
if (aconnector->base.force != DRM_FORCE_UNSPECIFIED if (aconnector->base.force != DRM_FORCE_UNSPECIFIED
&& aconnector->dc_em_sink) { && aconnector->dc_em_sink) {
/* For S3 resume with headless use eml_sink to fake stream /*
* because on resume connecotr->sink is set ti NULL * For S3 resume with headless use eml_sink to fake stream
* because on resume connector->sink is set to NULL
*/ */
mutex_lock(&dev->mode_config.mutex); mutex_lock(&dev->mode_config.mutex);
if (sink) { if (sink) {
if (aconnector->dc_sink) { if (aconnector->dc_sink) {
amdgpu_dm_update_freesync_caps(connector, NULL); amdgpu_dm_update_freesync_caps(connector, NULL);
/* retain and release bellow are used for /*
* bump up refcount for sink because the link don't point * retain and release below are used to
* to it anymore after disconnect so on next crtc to connector * bump up refcount for sink because the link doesn't point
* to it anymore after disconnect, so on next crtc to connector
* reshuffle by UMD we will get into unwanted dc_sink release * reshuffle by UMD we will get into unwanted dc_sink release
*/ */
if (aconnector->dc_sink != aconnector->dc_em_sink) if (aconnector->dc_sink != aconnector->dc_em_sink)
...@@ -872,8 +872,10 @@ amdgpu_dm_update_connector_after_detect(struct amdgpu_dm_connector *aconnector) ...@@ -872,8 +872,10 @@ amdgpu_dm_update_connector_after_detect(struct amdgpu_dm_connector *aconnector)
return; return;
if (aconnector->dc_sink == sink) { if (aconnector->dc_sink == sink) {
/* We got a DP short pulse (Link Loss, DP CTS, etc...). /*
* Do nothing!! */ * We got a DP short pulse (Link Loss, DP CTS, etc...).
* Do nothing!!
*/
DRM_DEBUG_DRIVER("DCHPD: connector_id=%d: dc_sink didn't change.\n", DRM_DEBUG_DRIVER("DCHPD: connector_id=%d: dc_sink didn't change.\n",
aconnector->connector_id); aconnector->connector_id);
return; return;
...@@ -884,11 +886,15 @@ amdgpu_dm_update_connector_after_detect(struct amdgpu_dm_connector *aconnector) ...@@ -884,11 +886,15 @@ amdgpu_dm_update_connector_after_detect(struct amdgpu_dm_connector *aconnector)
mutex_lock(&dev->mode_config.mutex); mutex_lock(&dev->mode_config.mutex);
/* 1. Update status of the drm connector /*
* 2. Send an event and let userspace tell us what to do */ * 1. Update status of the drm connector
* 2. Send an event and let userspace tell us what to do
*/
if (sink) { if (sink) {
/* TODO: check if we still need the S3 mode update workaround. /*
* If yes, put it here. */ * TODO: check if we still need the S3 mode update workaround.
* If yes, put it here.
*/
if (aconnector->dc_sink) if (aconnector->dc_sink)
amdgpu_dm_update_freesync_caps(connector, NULL); amdgpu_dm_update_freesync_caps(connector, NULL);
...@@ -922,8 +928,9 @@ static void handle_hpd_irq(void *param) ...@@ -922,8 +928,9 @@ static void handle_hpd_irq(void *param)
struct drm_connector *connector = &aconnector->base; struct drm_connector *connector = &aconnector->base;
struct drm_device *dev = connector->dev; struct drm_device *dev = connector->dev;
/* In case of failure or MST no need to update connector status or notify the OS /*
* since (for MST case) MST does this in it's own context. * In case of failure or MST no need to update connector status or notify the OS
* since (for MST case) MST does this in its own context.
*/ */
mutex_lock(&aconnector->hpd_lock); mutex_lock(&aconnector->hpd_lock);
...@@ -1006,7 +1013,7 @@ static void dm_handle_hpd_rx_irq(struct amdgpu_dm_connector *aconnector) ...@@ -1006,7 +1013,7 @@ static void dm_handle_hpd_rx_irq(struct amdgpu_dm_connector *aconnector)
break; break;
} }
/* check if there is new irq to be handle */ /* check if there is new irq to be handled */
dret = drm_dp_dpcd_read( dret = drm_dp_dpcd_read(
&aconnector->dm_dp_aux.aux, &aconnector->dm_dp_aux.aux,
dpcd_addr, dpcd_addr,
...@@ -1031,7 +1038,8 @@ static void handle_hpd_rx_irq(void *param) ...@@ -1031,7 +1038,8 @@ static void handle_hpd_rx_irq(void *param)
struct dc_link *dc_link = aconnector->dc_link; struct dc_link *dc_link = aconnector->dc_link;
bool is_mst_root_connector = aconnector->mst_mgr.mst_state; bool is_mst_root_connector = aconnector->mst_mgr.mst_state;
/* TODO:Temporary add mutex to protect hpd interrupt not have a gpio /*
* TODO:Temporary add mutex to protect hpd interrupt not have a gpio
* conflict, after implement i2c helper, this mutex should be * conflict, after implement i2c helper, this mutex should be
* retired. * retired.
*/ */
...@@ -1122,7 +1130,8 @@ static int dce110_register_irq_handlers(struct amdgpu_device *adev) ...@@ -1122,7 +1130,8 @@ static int dce110_register_irq_handlers(struct amdgpu_device *adev)
int_params.requested_polarity = INTERRUPT_POLARITY_DEFAULT; int_params.requested_polarity = INTERRUPT_POLARITY_DEFAULT;
int_params.current_polarity = INTERRUPT_POLARITY_DEFAULT; int_params.current_polarity = INTERRUPT_POLARITY_DEFAULT;
/* Actions of amdgpu_irq_add_id(): /*
* Actions of amdgpu_irq_add_id():
* 1. Register a set() function with base driver. * 1. Register a set() function with base driver.
* Base driver will call set() function to enable/disable an * Base driver will call set() function to enable/disable an
* interrupt in DC hardware. * interrupt in DC hardware.
...@@ -1202,7 +1211,8 @@ static int dcn10_register_irq_handlers(struct amdgpu_device *adev) ...@@ -1202,7 +1211,8 @@ static int dcn10_register_irq_handlers(struct amdgpu_device *adev)
int_params.requested_polarity = INTERRUPT_POLARITY_DEFAULT; int_params.requested_polarity = INTERRUPT_POLARITY_DEFAULT;
int_params.current_polarity = INTERRUPT_POLARITY_DEFAULT; int_params.current_polarity = INTERRUPT_POLARITY_DEFAULT;
/* Actions of amdgpu_irq_add_id(): /*
* Actions of amdgpu_irq_add_id():
* 1. Register a set() function with base driver. * 1. Register a set() function with base driver.
* Base driver will call set() function to enable/disable an * Base driver will call set() function to enable/disable an
* interrupt in DC hardware. * interrupt in DC hardware.
...@@ -1211,7 +1221,7 @@ static int dcn10_register_irq_handlers(struct amdgpu_device *adev) ...@@ -1211,7 +1221,7 @@ static int dcn10_register_irq_handlers(struct amdgpu_device *adev)
* coming from DC hardware. * coming from DC hardware.
* amdgpu_dm_irq_handler() will re-direct the interrupt to DC * amdgpu_dm_irq_handler() will re-direct the interrupt to DC
* for acknowledging and handling. * for acknowledging and handling.
* */ */
/* Use VSTARTUP interrupt */ /* Use VSTARTUP interrupt */
for (i = DCN_1_0__SRCID__DC_D1_OTG_VSTARTUP; for (i = DCN_1_0__SRCID__DC_D1_OTG_VSTARTUP;
...@@ -1289,7 +1299,7 @@ static int amdgpu_dm_mode_config_init(struct amdgpu_device *adev) ...@@ -1289,7 +1299,7 @@ static int amdgpu_dm_mode_config_init(struct amdgpu_device *adev)
adev->ddev->mode_config.preferred_depth = 24; adev->ddev->mode_config.preferred_depth = 24;
adev->ddev->mode_config.prefer_shadow = 1; adev->ddev->mode_config.prefer_shadow = 1;
/* indicate support of immediate flip */ /* indicates support for immediate flip */
adev->ddev->mode_config.async_page_flip = true; adev->ddev->mode_config.async_page_flip = true;
adev->ddev->mode_config.fb_base = adev->gmc.aper_base; adev->ddev->mode_config.fb_base = adev->gmc.aper_base;
...@@ -1375,7 +1385,7 @@ static int initialize_plane(struct amdgpu_display_manager *dm, ...@@ -1375,7 +1385,7 @@ static int initialize_plane(struct amdgpu_display_manager *dm,
plane->base.type = mode_info->plane_type[plane_id]; plane->base.type = mode_info->plane_type[plane_id];
/* /*
* HACK: IGT tests expect that each plane can only have one * HACK: IGT tests expect that each plane can only have
* one possible CRTC. For now, set one CRTC for each * one possible CRTC. For now, set one CRTC for each
* plane that is not an underlay, but still allow multiple * plane that is not an underlay, but still allow multiple
* CRTCs for underlay planes. * CRTCs for underlay planes.
...@@ -1403,7 +1413,8 @@ static void register_backlight_device(struct amdgpu_display_manager *dm, ...@@ -1403,7 +1413,8 @@ static void register_backlight_device(struct amdgpu_display_manager *dm,
if ((link->connector_signal & (SIGNAL_TYPE_EDP | SIGNAL_TYPE_LVDS)) && if ((link->connector_signal & (SIGNAL_TYPE_EDP | SIGNAL_TYPE_LVDS)) &&
link->type != dc_connection_none) { link->type != dc_connection_none) {
/* Event if registration failed, we should continue with /*
* Event if registration failed, we should continue with
* DM initialization because not having a backlight control * DM initialization because not having a backlight control
* is better then a black screen. * is better then a black screen.
*/ */
...@@ -1416,7 +1427,8 @@ static void register_backlight_device(struct amdgpu_display_manager *dm, ...@@ -1416,7 +1427,8 @@ static void register_backlight_device(struct amdgpu_display_manager *dm,
} }
/* In this architecture, the association /*
* In this architecture, the association
* connector -> encoder -> crtc * connector -> encoder -> crtc
* id not really requried. The crtc and connector will hold the * id not really requried. The crtc and connector will hold the
* display_index as an abstraction to use with DAL component * display_index as an abstraction to use with DAL component
...@@ -1564,7 +1576,7 @@ static void amdgpu_dm_destroy_drm_device(struct amdgpu_display_manager *dm) ...@@ -1564,7 +1576,7 @@ static void amdgpu_dm_destroy_drm_device(struct amdgpu_display_manager *dm)
* amdgpu_display_funcs functions * amdgpu_display_funcs functions
*****************************************************************************/ *****************************************************************************/
/** /*
* dm_bandwidth_update - program display watermarks * dm_bandwidth_update - program display watermarks
* *
* @adev: amdgpu_device pointer * @adev: amdgpu_device pointer
...@@ -1773,9 +1785,11 @@ static int dm_early_init(void *handle) ...@@ -1773,9 +1785,11 @@ static int dm_early_init(void *handle)
if (adev->mode_info.funcs == NULL) if (adev->mode_info.funcs == NULL)
adev->mode_info.funcs = &dm_display_funcs; adev->mode_info.funcs = &dm_display_funcs;
/* Note: Do NOT change adev->audio_endpt_rreg and /*
* Note: Do NOT change adev->audio_endpt_rreg and
* adev->audio_endpt_wreg because they are initialised in * adev->audio_endpt_wreg because they are initialised in
* amdgpu_device_init() */ * amdgpu_device_init()
*/
#if defined(CONFIG_DEBUG_KERNEL_DC) #if defined(CONFIG_DEBUG_KERNEL_DC)
device_create_file( device_create_file(
adev->ddev->dev, adev->ddev->dev,
...@@ -1821,7 +1835,7 @@ static bool fill_rects_from_plane_state(const struct drm_plane_state *state, ...@@ -1821,7 +1835,7 @@ static bool fill_rects_from_plane_state(const struct drm_plane_state *state,
{ {
plane_state->src_rect.x = state->src_x >> 16; plane_state->src_rect.x = state->src_x >> 16;
plane_state->src_rect.y = state->src_y >> 16; plane_state->src_rect.y = state->src_y >> 16;
/*we ignore for now mantissa and do not to deal with floating pixels :(*/ /* we ignore the mantissa for now and do not deal with floating pixels :( */
plane_state->src_rect.width = state->src_w >> 16; plane_state->src_rect.width = state->src_w >> 16;
if (plane_state->src_rect.width == 0) if (plane_state->src_rect.width == 0)
...@@ -1873,7 +1887,7 @@ static int get_fb_info(const struct amdgpu_framebuffer *amdgpu_fb, ...@@ -1873,7 +1887,7 @@ static int get_fb_info(const struct amdgpu_framebuffer *amdgpu_fb,
int r = amdgpu_bo_reserve(rbo, false); int r = amdgpu_bo_reserve(rbo, false);
if (unlikely(r)) { if (unlikely(r)) {
// Don't show error msg. when return -ERESTARTSYS /* Don't show error message when returning -ERESTARTSYS */
if (r != -ERESTARTSYS) if (r != -ERESTARTSYS)
DRM_ERROR("Unable to reserve buffer: %d\n", r); DRM_ERROR("Unable to reserve buffer: %d\n", r);
return r; return r;
...@@ -2069,8 +2083,6 @@ static int fill_plane_attributes(struct amdgpu_device *adev, ...@@ -2069,8 +2083,6 @@ static int fill_plane_attributes(struct amdgpu_device *adev,
return ret; return ret;
} }
/*****************************************************************************/
static void update_stream_scaling_settings(const struct drm_display_mode *mode, static void update_stream_scaling_settings(const struct drm_display_mode *mode,
const struct dm_connector_state *dm_state, const struct dm_connector_state *dm_state,
struct dc_stream_state *stream) struct dc_stream_state *stream)
...@@ -2133,7 +2145,8 @@ convert_color_depth_from_display_info(const struct drm_connector *connector) ...@@ -2133,7 +2145,8 @@ convert_color_depth_from_display_info(const struct drm_connector *connector)
switch (bpc) { switch (bpc) {
case 0: case 0:
/* Temporary Work around, DRM don't parse color depth for /*
* Temporary Work around, DRM doesn't parse color depth for
* EDID revision before 1.4 * EDID revision before 1.4
* TODO: Fix edid parsing * TODO: Fix edid parsing
*/ */
...@@ -2245,7 +2258,6 @@ static void adjust_colour_depth_from_display_info(struct dc_crtc_timing *timing_ ...@@ -2245,7 +2258,6 @@ static void adjust_colour_depth_from_display_info(struct dc_crtc_timing *timing_
} while (timing_out->display_color_depth > COLOR_DEPTH_888); } while (timing_out->display_color_depth > COLOR_DEPTH_888);
} }
/*****************************************************************************/
static void static void
fill_stream_properties_from_drm_display_mode(struct dc_stream_state *stream, fill_stream_properties_from_drm_display_mode(struct dc_stream_state *stream,
...@@ -2445,9 +2457,10 @@ static void dm_enable_per_frame_crtc_master_sync(struct dc_state *context) ...@@ -2445,9 +2457,10 @@ static void dm_enable_per_frame_crtc_master_sync(struct dc_state *context)
for (i = 0; i < context->stream_count ; i++) { for (i = 0; i < context->stream_count ; i++) {
if (!context->streams[i]) if (!context->streams[i])
continue; continue;
/* TODO: add a function to read AMD VSDB bits and will set /*
* TODO: add a function to read AMD VSDB bits and set
* crtc_sync_master.multi_sync_enabled flag * crtc_sync_master.multi_sync_enabled flag
* For now its set to false * For now it's set to false
*/ */
set_multisync_trigger_params(context->streams[i]); set_multisync_trigger_params(context->streams[i]);
} }
...@@ -2510,7 +2523,8 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector, ...@@ -2510,7 +2523,8 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector,
head); head);
if (preferred_mode == NULL) { if (preferred_mode == NULL) {
/* This may not be an error, the use case is when we we have no /*
* This may not be an error, the use case is when we have no
* usermode calls to reset and set mode upon hotplug. In this * usermode calls to reset and set mode upon hotplug. In this
* case, we call set mode ourselves to restore the previous mode * case, we call set mode ourselves to restore the previous mode
* and the modelist may not be filled in in time. * and the modelist may not be filled in in time.
...@@ -2654,10 +2668,12 @@ amdgpu_dm_connector_detect(struct drm_connector *connector, bool force) ...@@ -2654,10 +2668,12 @@ amdgpu_dm_connector_detect(struct drm_connector *connector, bool force)
bool connected; bool connected;
struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector); struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
/* Notes: /*
* Notes:
* 1. This interface is NOT called in context of HPD irq. * 1. This interface is NOT called in context of HPD irq.
* 2. This interface *is called* in context of user-mode ioctl. Which * 2. This interface *is called* in context of user-mode ioctl. Which
* makes it a bad place for *any* MST-related activit. */ * makes it a bad place for *any* MST-related activity.
*/
if (aconnector->base.force == DRM_FORCE_UNSPECIFIED && if (aconnector->base.force == DRM_FORCE_UNSPECIFIED &&
!aconnector->fake_enable) !aconnector->fake_enable)
...@@ -2901,7 +2917,8 @@ static void handle_edid_mgmt(struct amdgpu_dm_connector *aconnector) ...@@ -2901,7 +2917,8 @@ static void handle_edid_mgmt(struct amdgpu_dm_connector *aconnector)
{ {
struct dc_link *link = (struct dc_link *)aconnector->dc_link; struct dc_link *link = (struct dc_link *)aconnector->dc_link;
/* In case of headless boot with force on for DP managed connector /*
* In case of headless boot with force on for DP managed connector
* Those settings have to be != 0 to get initial modeset * Those settings have to be != 0 to get initial modeset
*/ */
if (link->connector_signal == SIGNAL_TYPE_DISPLAY_PORT) { if (link->connector_signal == SIGNAL_TYPE_DISPLAY_PORT) {
...@@ -2929,7 +2946,8 @@ enum drm_mode_status amdgpu_dm_connector_mode_valid(struct drm_connector *connec ...@@ -2929,7 +2946,8 @@ enum drm_mode_status amdgpu_dm_connector_mode_valid(struct drm_connector *connec
(mode->flags & DRM_MODE_FLAG_DBLSCAN)) (mode->flags & DRM_MODE_FLAG_DBLSCAN))
return result; return result;
/* Only run this the first time mode_valid is called to initilialize /*
* Only run this the first time mode_valid is called to initilialize
* EDID mgmt * EDID mgmt
*/ */
if (aconnector->base.force != DRM_FORCE_UNSPECIFIED && if (aconnector->base.force != DRM_FORCE_UNSPECIFIED &&
...@@ -2970,9 +2988,9 @@ enum drm_mode_status amdgpu_dm_connector_mode_valid(struct drm_connector *connec ...@@ -2970,9 +2988,9 @@ enum drm_mode_status amdgpu_dm_connector_mode_valid(struct drm_connector *connec
static const struct drm_connector_helper_funcs static const struct drm_connector_helper_funcs
amdgpu_dm_connector_helper_funcs = { amdgpu_dm_connector_helper_funcs = {
/* /*
* If hotplug a second bigger display in FB Con mode, bigger resolution * If hotplugging a second bigger display in FB Con mode, bigger resolution
* modes will be filtered by drm_mode_validate_size(), and those modes * modes will be filtered by drm_mode_validate_size(), and those modes
* is missing after user start lightdm. So we need to renew modes list. * are missing after user start lightdm. So we need to renew modes list.
* in get_modes call back, not just return the modes count * in get_modes call back, not just return the modes count
*/ */
.get_modes = get_modes, .get_modes = get_modes,
...@@ -3225,7 +3243,7 @@ static const struct drm_plane_helper_funcs dm_plane_helper_funcs = { ...@@ -3225,7 +3243,7 @@ static const struct drm_plane_helper_funcs dm_plane_helper_funcs = {
* TODO: these are currently initialized to rgb formats only. * TODO: these are currently initialized to rgb formats only.
* For future use cases we should either initialize them dynamically based on * For future use cases we should either initialize them dynamically based on
* plane capabilities, or initialize this array to all formats, so internal drm * plane capabilities, or initialize this array to all formats, so internal drm
* check will succeed, and let DC to implement proper check * check will succeed, and let DC implement proper check
*/ */
static const uint32_t rgb_formats[] = { static const uint32_t rgb_formats[] = {
DRM_FORMAT_RGB888, DRM_FORMAT_RGB888,
...@@ -3551,7 +3569,8 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm, ...@@ -3551,7 +3569,8 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
aconnector->hpd.hpd = AMDGPU_HPD_NONE; /* not used */ aconnector->hpd.hpd = AMDGPU_HPD_NONE; /* not used */
mutex_init(&aconnector->hpd_lock); mutex_init(&aconnector->hpd_lock);
/* configure support HPD hot plug connector_>polled default value is 0 /*
* configure support HPD hot plug connector_>polled default value is 0
* which means HPD hot plug not supported * which means HPD hot plug not supported
*/ */
switch (connector_type) { switch (connector_type) {
...@@ -3657,7 +3676,8 @@ create_i2c(struct ddc_service *ddc_service, ...@@ -3657,7 +3676,8 @@ create_i2c(struct ddc_service *ddc_service,
} }
/* Note: this function assumes that dc_link_detect() was called for the /*
* Note: this function assumes that dc_link_detect() was called for the
* dc_link which will be represented by this aconnector. * dc_link which will be represented by this aconnector.
*/ */
static int amdgpu_dm_connector_init(struct amdgpu_display_manager *dm, static int amdgpu_dm_connector_init(struct amdgpu_display_manager *dm,
...@@ -3989,7 +4009,8 @@ static void amdgpu_dm_do_flip(struct drm_crtc *crtc, ...@@ -3989,7 +4009,8 @@ static void amdgpu_dm_do_flip(struct drm_crtc *crtc,
target_vblank = target - (uint32_t)drm_crtc_vblank_count(crtc) + target_vblank = target - (uint32_t)drm_crtc_vblank_count(crtc) +
amdgpu_get_vblank_counter_kms(crtc->dev, acrtc->crtc_id); amdgpu_get_vblank_counter_kms(crtc->dev, acrtc->crtc_id);
/* TODO This might fail and hence better not used, wait /*
* TODO This might fail and hence better not used, wait
* explicitly on fences instead * explicitly on fences instead
* and in general should be called for * and in general should be called for
* blocking commit to as per framework helpers * blocking commit to as per framework helpers
...@@ -4006,7 +4027,8 @@ static void amdgpu_dm_do_flip(struct drm_crtc *crtc, ...@@ -4006,7 +4027,8 @@ static void amdgpu_dm_do_flip(struct drm_crtc *crtc,
amdgpu_bo_unreserve(abo); amdgpu_bo_unreserve(abo);
/* Wait until we're out of the vertical blank period before the one /*
* Wait until we're out of the vertical blank period before the one
* targeted by the flip * targeted by the flip
*/ */
while ((acrtc->enabled && while ((acrtc->enabled &&
...@@ -4258,7 +4280,7 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state, ...@@ -4258,7 +4280,7 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
} }
} }
/** /*
* amdgpu_dm_crtc_copy_transient_flags - copy mirrored flags from DRM to DC * amdgpu_dm_crtc_copy_transient_flags - copy mirrored flags from DRM to DC
* @crtc_state: the DRM CRTC state * @crtc_state: the DRM CRTC state
* @stream_state: the DC stream state. * @stream_state: the DC stream state.
...@@ -4295,8 +4317,10 @@ static int amdgpu_dm_atomic_commit(struct drm_device *dev, ...@@ -4295,8 +4317,10 @@ static int amdgpu_dm_atomic_commit(struct drm_device *dev,
if (drm_atomic_crtc_needs_modeset(new_crtc_state) && dm_old_crtc_state->stream) if (drm_atomic_crtc_needs_modeset(new_crtc_state) && dm_old_crtc_state->stream)
manage_dm_interrupts(adev, acrtc, false); manage_dm_interrupts(adev, acrtc, false);
} }
/* Add check here for SoC's that support hardware cursor plane, to /*
* unset legacy_cursor_update */ * Add check here for SoC's that support hardware cursor plane, to
* unset legacy_cursor_update
*/
return drm_atomic_helper_commit(dev, state, nonblock); return drm_atomic_helper_commit(dev, state, nonblock);
...@@ -4361,8 +4385,8 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state) ...@@ -4361,8 +4385,8 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
* this could happen because of issues with * this could happen because of issues with
* userspace notifications delivery. * userspace notifications delivery.
* In this case userspace tries to set mode on * In this case userspace tries to set mode on
* display which is disconnect in fact. * display which is disconnected in fact.
* dc_sink in NULL in this case on aconnector. * dc_sink is NULL in this case on aconnector.
* We expect reset mode will come soon. * We expect reset mode will come soon.
* *
* This can also happen when unplug is done * This can also happen when unplug is done
...@@ -4431,7 +4455,7 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state) ...@@ -4431,7 +4455,7 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
if (!acrtc || drm_atomic_crtc_needs_modeset(new_crtc_state)) if (!acrtc || drm_atomic_crtc_needs_modeset(new_crtc_state))
continue; continue;
/* Skip any thing not scale or underscan changes */ /* Skip anything that is not scaling or underscan changes */
if (!is_scaling_state_different(dm_new_con_state, dm_old_con_state)) if (!is_scaling_state_different(dm_new_con_state, dm_old_con_state))
continue; continue;
...@@ -4516,7 +4540,8 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state) ...@@ -4516,7 +4540,8 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
drm_atomic_helper_cleanup_planes(dev, state); drm_atomic_helper_cleanup_planes(dev, state);
/* Finally, drop a runtime PM reference for each newly disabled CRTC, /*
* Finally, drop a runtime PM reference for each newly disabled CRTC,
* so we can put the GPU into runtime suspend if we're not driving any * so we can put the GPU into runtime suspend if we're not driving any
* displays anymore * displays anymore
*/ */
...@@ -4584,9 +4609,9 @@ static int dm_force_atomic_commit(struct drm_connector *connector) ...@@ -4584,9 +4609,9 @@ static int dm_force_atomic_commit(struct drm_connector *connector)
} }
/* /*
* This functions handle all cases when set mode does not come upon hotplug. * This function handles all cases when set mode does not come upon hotplug.
* This include when the same display is unplugged then plugged back into the * This includes when a display is unplugged then plugged back into the
* same port and when we are running without usermode desktop manager supprot * same port and when running without usermode desktop manager supprot
*/ */
void dm_restore_drm_connector_state(struct drm_device *dev, void dm_restore_drm_connector_state(struct drm_device *dev,
struct drm_connector *connector) struct drm_connector *connector)
...@@ -4615,7 +4640,7 @@ void dm_restore_drm_connector_state(struct drm_device *dev, ...@@ -4615,7 +4640,7 @@ void dm_restore_drm_connector_state(struct drm_device *dev,
dm_force_atomic_commit(&aconnector->base); dm_force_atomic_commit(&aconnector->base);
} }
/*` /*
* Grabs all modesetting locks to serialize against any blocking commits, * Grabs all modesetting locks to serialize against any blocking commits,
* Waits for completion of all non blocking commits. * Waits for completion of all non blocking commits.
*/ */
...@@ -4626,7 +4651,8 @@ static int do_aquire_global_lock(struct drm_device *dev, ...@@ -4626,7 +4651,8 @@ static int do_aquire_global_lock(struct drm_device *dev,
struct drm_crtc_commit *commit; struct drm_crtc_commit *commit;
long ret; long ret;
/* Adding all modeset locks to aquire_ctx will /*
* Adding all modeset locks to aquire_ctx will
* ensure that when the framework release it the * ensure that when the framework release it the
* extra locks we are locking here will get released to * extra locks we are locking here will get released to
*/ */
...@@ -4645,7 +4671,8 @@ static int do_aquire_global_lock(struct drm_device *dev, ...@@ -4645,7 +4671,8 @@ static int do_aquire_global_lock(struct drm_device *dev,
if (!commit) if (!commit)
continue; continue;
/* Make sure all pending HW programming completed and /*
* Make sure all pending HW programming completed and
* page flips done * page flips done
*/ */
ret = wait_for_completion_interruptible_timeout(&commit->hw_done, 10*HZ); ret = wait_for_completion_interruptible_timeout(&commit->hw_done, 10*HZ);
...@@ -4713,8 +4740,10 @@ static int dm_update_crtcs_state(struct amdgpu_display_manager *dm, ...@@ -4713,8 +4740,10 @@ static int dm_update_crtcs_state(struct amdgpu_display_manager *dm,
struct dc_stream_state *new_stream; struct dc_stream_state *new_stream;
int ret = 0; int ret = 0;
/*TODO Move this code into dm_crtc_atomic_check once we get rid of dc_validation_set */ /*
/* update changed items */ * TODO Move this code into dm_crtc_atomic_check once we get rid of dc_validation_set
* update changed items
*/
for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) { for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) {
struct amdgpu_crtc *acrtc = NULL; struct amdgpu_crtc *acrtc = NULL;
struct amdgpu_dm_connector *aconnector = NULL; struct amdgpu_dm_connector *aconnector = NULL;
...@@ -4739,7 +4768,7 @@ static int dm_update_crtcs_state(struct amdgpu_display_manager *dm, ...@@ -4739,7 +4768,7 @@ static int dm_update_crtcs_state(struct amdgpu_display_manager *dm,
/* TODO This hack should go away */ /* TODO This hack should go away */
if (aconnector && enable) { if (aconnector && enable) {
// Make sure fake sink is created in plug-in scenario /* Make sure fake sink is created in plug-in scenario */
drm_new_conn_state = drm_atomic_get_new_connector_state(state, drm_new_conn_state = drm_atomic_get_new_connector_state(state,
&aconnector->base); &aconnector->base);
drm_old_conn_state = drm_atomic_get_old_connector_state(state, drm_old_conn_state = drm_atomic_get_old_connector_state(state,
...@@ -4759,9 +4788,9 @@ static int dm_update_crtcs_state(struct amdgpu_display_manager *dm, ...@@ -4759,9 +4788,9 @@ static int dm_update_crtcs_state(struct amdgpu_display_manager *dm,
/* /*
* we can have no stream on ACTION_SET if a display * we can have no stream on ACTION_SET if a display
* was disconnected during S3, in this case it not and * was disconnected during S3, in this case it is not an
* error, the OS will be updated after detection, and * error, the OS will be updated after detection, and
* do the right thing on next atomic commit * will do the right thing on next atomic commit
*/ */
if (!new_stream) { if (!new_stream) {
...@@ -5119,7 +5148,7 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev, ...@@ -5119,7 +5148,7 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
goto fail; goto fail;
/* Check scaling and underscan changes*/ /* Check scaling and underscan changes*/
/*TODO Removed scaling changes validation due to inability to commit /* TODO Removed scaling changes validation due to inability to commit
* new stream into context w\o causing full reset. Need to * new stream into context w\o causing full reset. Need to
* decide how to handle. * decide how to handle.
*/ */
...@@ -5142,7 +5171,7 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev, ...@@ -5142,7 +5171,7 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
/* /*
* For full updates case when * For full updates case when
* removing/adding/updating streams on once CRTC while flipping * removing/adding/updating streams on one CRTC while flipping
* on another CRTC, * on another CRTC,
* acquiring global lock will guarantee that any such full * acquiring global lock will guarantee that any such full
* update commit * update commit
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment