From d2ffd84492fe27eb17aa683a57296d7d804bbe64 Mon Sep 17 00:00:00 2001 From: Eric Yang Date: Mon, 22 Feb 2016 12:18:24 -0500 Subject: [PATCH 0839/1110] drm/amd/dal: Address HW team feedback on ipp Signed-off-by: Eric Yang Acked-by: Harry Wentland --- .../gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c | 4 ++-- drivers/gpu/drm/amd/dal/dc/core/dc_target.c | 4 ++-- drivers/gpu/drm/amd/dal/dc/dc_hw_types.h | 4 ++-- drivers/gpu/drm/amd/dal/dc/dce110/dce110_ipp.h | 2 +- .../gpu/drm/amd/dal/dc/dce110/dce110_ipp_cursor.c | 8 +++----- .../gpu/drm/amd/dal/dc/dce110/dce110_mem_input.h | 23 ++++++++++++++++++++++ drivers/gpu/drm/amd/dal/dc/inc/ipp.h | 2 +- drivers/gpu/drm/amd/dal/dc/inc/mem_input.h | 18 ----------------- 8 files changed, 34 insertions(+), 31 deletions(-) diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c index f469017..ec02029 100644 --- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c +++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm_types.c @@ -304,8 +304,8 @@ static int dm_crtc_cursor_move(struct drm_crtc *crtc, position.y = y; position.hot_spot_enable = true; - position.x_origin = xorigin; - position.y_origin = yorigin; + position.x_hotspot = xorigin; + position.y_hotspot = yorigin; if (!dc_target_set_cursor_position( amdgpu_crtc->target, diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_target.c b/drivers/gpu/drm/amd/dal/dc/core/dc_target.c index ac917e5..87275b8 100644 --- a/drivers/gpu/drm/amd/dal/dc/core/dc_target.c +++ b/drivers/gpu/drm/amd/dal/dc/core/dc_target.c @@ -500,8 +500,8 @@ bool dc_target_set_cursor_position( * plane so we only need to set it on first pipe we * find. May need to make this code dce specific later. */ - if (ipp->funcs->ipp_cursor_set_position(ipp, position)) - return true; + ipp->funcs->ipp_cursor_set_position(ipp, position); + return true; } } diff --git a/drivers/gpu/drm/amd/dal/dc/dc_hw_types.h b/drivers/gpu/drm/amd/dal/dc/dc_hw_types.h index ea8028c..273c544 100644 --- a/drivers/gpu/drm/amd/dal/dc/dc_hw_types.h +++ b/drivers/gpu/drm/amd/dal/dc/dc_hw_types.h @@ -256,8 +256,8 @@ struct dc_cursor_position { uint32_t x; uint32_t y; - uint32_t x_origin; - uint32_t y_origin; + uint32_t x_hotspot; + uint32_t y_hotspot; /* * This parameter indicates whether HW cursor should be enabled diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_ipp.h b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_ipp.h index dde138c..13b9100 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_ipp.h +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_ipp.h @@ -53,7 +53,7 @@ bool dce110_ipp_construct( void dce110_ipp_destroy(struct input_pixel_processor **ipp); /* CURSOR RELATED */ -bool dce110_ipp_cursor_set_position( +void dce110_ipp_cursor_set_position( struct input_pixel_processor *ipp, const struct dc_cursor_position *position); diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_ipp_cursor.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_ipp_cursor.c index ef91f2d..eaa1f05 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_ipp_cursor.c +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_ipp_cursor.c @@ -71,7 +71,7 @@ static void program_address( PHYSICAL_ADDRESS_LOC address); -bool dce110_ipp_cursor_set_position( +void dce110_ipp_cursor_set_position( struct input_pixel_processor *ipp, const struct dc_cursor_position *position) { @@ -89,13 +89,11 @@ bool dce110_ipp_cursor_set_position( if (position->hot_spot_enable) program_hotspot( ipp110, - position->x_origin, - position->y_origin); + position->x_hotspot, + position->y_hotspot); /* unlock cursor registers */ lock(ipp110, false); - - return true; } bool dce110_ipp_cursor_set_attributes( diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_mem_input.h b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_mem_input.h index a0db7aa..81b78fd 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_mem_input.h +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_mem_input.h @@ -36,6 +36,29 @@ struct dce110_mem_input_reg_offsets { uint32_t pipe; }; + +enum stutter_mode_type { +/* TODO: Clean up these enums, right now only one is being used + * STUTTER_MODE_LEGACY = 0X00000001, + * STUTTER_MODE_ENHANCED = 0X00000002, + * STUTTER_MODE_FID_NBP_STATE = 0X00000004, + * STUTTER_MODE_WATERMARK_NBP_STATE = 0X00000008, + * STUTTER_MODE_SINGLE_DISPLAY_MODEL = 0X00000010, + * STUTTER_MODE_MIXED_DISPLAY_MODEL = 0X00000020, + * STUTTER_MODE_DUAL_DMIF_BUFFER = 0X00000040, + */ + STUTTER_MODE_NO_DMIF_BUFFER_ALLOCATION = 0X00000080, +/* + * STUTTER_MODE_NO_ADVANCED_REQUEST = 0X00000100, + * STUTTER_MODE_NO_LB_RESET = 0X00000200, + * STUTTER_MODE_DISABLED = 0X00000400, + * STUTTER_MODE_AGGRESSIVE_MARKS = 0X00000800, + * STUTTER_MODE_URGENCY = 0X00001000, + * STUTTER_MODE_QUAD_DMIF_BUFFER = 0X00002000, + * STUTTER_MODE_NOT_USED = 0X00008000 + */ +}; + struct dce110_mem_input { struct mem_input base; struct dce110_mem_input_reg_offsets offsets; diff --git a/drivers/gpu/drm/amd/dal/dc/inc/ipp.h b/drivers/gpu/drm/amd/dal/dc/inc/ipp.h index 9081820..505bf72 100644 --- a/drivers/gpu/drm/amd/dal/dc/inc/ipp.h +++ b/drivers/gpu/drm/amd/dal/dc/inc/ipp.h @@ -88,7 +88,7 @@ enum ipp_output_format { struct ipp_funcs { /*** cursor ***/ - bool (*ipp_cursor_set_position)( + void (*ipp_cursor_set_position)( struct input_pixel_processor *ipp, const struct dc_cursor_position *position); diff --git a/drivers/gpu/drm/amd/dal/dc/inc/mem_input.h b/drivers/gpu/drm/amd/dal/dc/inc/mem_input.h index 9cd9905..8339d61 100644 --- a/drivers/gpu/drm/amd/dal/dc/inc/mem_input.h +++ b/drivers/gpu/drm/amd/dal/dc/inc/mem_input.h @@ -66,22 +66,4 @@ struct mem_input_funcs { enum dc_rotation_angle rotation); }; -enum stutter_mode_type { - STUTTER_MODE_LEGACY = 0X00000001, - STUTTER_MODE_ENHANCED = 0X00000002, - STUTTER_MODE_FID_NBP_STATE = 0X00000004, - STUTTER_MODE_WATERMARK_NBP_STATE = 0X00000008, - STUTTER_MODE_SINGLE_DISPLAY_MODEL = 0X00000010, - STUTTER_MODE_MIXED_DISPLAY_MODEL = 0X00000020, - STUTTER_MODE_DUAL_DMIF_BUFFER = 0X00000040, - STUTTER_MODE_NO_DMIF_BUFFER_ALLOCATION = 0X00000080, - STUTTER_MODE_NO_ADVANCED_REQUEST = 0X00000100, - STUTTER_MODE_NO_LB_RESET = 0X00000200, - STUTTER_MODE_DISABLED = 0X00000400, - STUTTER_MODE_AGGRESSIVE_MARKS = 0X00000800, - STUTTER_MODE_URGENCY = 0X00001000, - STUTTER_MODE_QUAD_DMIF_BUFFER = 0X00002000, - STUTTER_MODE_NOT_USED = 0X00008000 -}; - #endif -- 2.7.4