From 76bcf8ca5e27b996271b0ae5778ed6c1f60405e8 Mon Sep 17 00:00:00 2001 From: Eric Yang Date: Sat, 27 Feb 2016 11:05:55 -0500 Subject: [PATCH 0849/1110] drm/amd/dal: Get rid of dal_types.h in dc.h Signed-off-by: Eric Yang Acked-by: Harry Wentland --- drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c | 2 - .../gpu/drm/amd/dal/dc/adapter/adapter_service.c | 13 -- drivers/gpu/drm/amd/dal/dc/dc.h | 16 +++ drivers/gpu/drm/amd/dal/dc/dc_types.h | 107 +++++++++++++++++ drivers/gpu/drm/amd/dal/include/dal_types.h | 133 --------------------- 5 files changed, 123 insertions(+), 148 deletions(-) diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c index 7c3a683..4bf4c5d 100644 --- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c @@ -58,8 +58,6 @@ struct dal_override_parameters display_param = { .bool_param_enable_mask = 0, .bool_param_values = 0, - .int_param_values[DAL_PARAM_MAX_COFUNC_NON_DP_DISPLAYS] = DAL_PARAM_INVALID_INT, - .int_param_values[DAL_PARAM_DRR_SUPPORT] = DAL_PARAM_INVALID_INT, }; /* Debug facilities */ diff --git a/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c b/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c index f914a8c..0fd1050 100644 --- a/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c +++ b/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c @@ -396,17 +396,6 @@ case FEATURE_ ## feature: \ } \ break -#define check_int_feature(feature) \ -case FEATURE_ ## feature: \ - if (param->int_param_values[DAL_PARAM_ ## feature] != \ - DAL_PARAM_INVALID_INT) { \ - *data = param->int_param_values[DAL_PARAM_ ## feature];\ - ret = true;\ - bool_feature = false;\ - feature_name = "FEATURE_" #feature;\ - } \ - break - /* * override_default_parameters * @@ -429,8 +418,6 @@ static bool override_default_parameters( } switch (feature_entry_table[idx].feature_id) { - check_int_feature(MAX_COFUNC_NON_DP_DISPLAYS); - check_int_feature(DRR_SUPPORT); check_bool_feature(LIGHT_SLEEP); check_bool_feature(MAXIMIZE_STUTTER_MARKS); check_bool_feature(MAXIMIZE_URGENCY_WATERMARKS); diff --git a/drivers/gpu/drm/amd/dal/dc/dc.h b/drivers/gpu/drm/amd/dal/dc/dc.h index 1290f3f..ee5e8e7 100644 --- a/drivers/gpu/drm/amd/dal/dc/dc.h +++ b/drivers/gpu/drm/amd/dal/dc/dc.h @@ -52,6 +52,22 @@ struct dc_caps { void dc_get_caps(const struct dc *dc, struct dc_caps *caps); +struct dal_init_data { + struct hw_asic_id asic_id; + struct view_port_alignment vp_alignment; + struct bdf_info bdf_info; + struct dal_override_parameters display_param; + void *driver; /* ctx */ + void *cgs_device; + uint8_t num_virtual_links; + /* + * If 'vbios_override' not NULL, it will be called instead + * of the real VBIOS. Intended use is Diagnostics on FPGA. + */ + struct dc_bios *vbios_override; + enum dce_environment dce_environment; +}; + struct dc *dc_create(const struct dal_init_data *init_params); void dc_destroy(struct dc **dc); diff --git a/drivers/gpu/drm/amd/dal/dc/dc_types.h b/drivers/gpu/drm/amd/dal/dc/dc_types.h index 6b87b1d..ac0f40d 100644 --- a/drivers/gpu/drm/amd/dal/dc/dc_types.h +++ b/drivers/gpu/drm/amd/dal/dc/dc_types.h @@ -41,6 +41,10 @@ struct dc_link; struct dc_sink; struct dal; +#if defined(BUILD_DAL_TEST) +struct test_driver_context; +#endif /* BUILD_DAL_TEST */ + /******************************** * Environment definitions ********************************/ @@ -64,6 +68,109 @@ enum dce_environment { /********************************/ +struct dc_context { + struct dc *dc; + +#if defined(BUILD_DAL_TEST) + struct test_driver_context *driver_context; +#else + void *driver_context; /* e.g. amdgpu_device */ +#endif + + struct dal_logger *logger; + void *cgs_device; + + enum dce_environment dce_environment; +}; + +/* + * ASIC Runtime Flags + */ +struct dal_asic_runtime_flags { + union { + uint32_t raw; + struct { + uint32_t EMULATE_REPLUG_ON_CAP_CHANGE:1; + uint32_t SUPPORT_XRBIAS:1; + uint32_t SKIP_POWER_DOWN_ON_RESUME:1; + uint32_t FULL_DETECT_ON_RESUME:1; + uint32_t GSL_FRAMELOCK:1; + uint32_t NO_LOW_BPP_MODES:1; + uint32_t BLOCK_ON_INITIAL_DETECTION:1; + uint32_t OPTIMIZED_DISPLAY_PROGRAMMING_ON_BOOT:1; + uint32_t DRIVER_CONTROLLED_BRIGHTNESS:1; + uint32_t MODIFIABLE_FRAME_DURATION:1; + uint32_t MIRACAST_SUPPORTED:1; + uint32_t CONNECTED_STANDBY_SUPPORTED:1; + uint32_t GNB_WAKEUP_SUPPORTED:1; + } bits; + } flags; +}; + +struct hw_asic_id { + uint32_t chip_id; + uint32_t chip_family; + uint32_t pci_revision_id; + uint32_t hw_internal_rev; + uint32_t vram_type; + uint32_t vram_width; + uint32_t feature_flags; + struct dal_asic_runtime_flags runtime_flags; + uint32_t fake_paths_num; + void *atombios_base_address; +}; + +/* this is pci information. BDF stands for BUS,DEVICE,FUNCTION*/ + +struct bdf_info { + uint16_t BUS_NUMBER:8; + uint16_t DEVICE_NUMBER:5; + uint16_t FUNCTION_NUMBER:3; +}; + +/* array index for integer override parameters*/ +enum int_param_array_index { + DAL_PARAM_MAX_COFUNC_NON_DP_DISPLAYS = 0, + DAL_PARAM_DRR_SUPPORT, + DAL_INT_PARAM_MAX +}; + +struct dal_override_parameters { + uint32_t bool_param_enable_mask; + uint32_t bool_param_values; +}; + +/* + * shift values for bool override parameter mask + * bmask is for this struct,if we touch this feature + * bval indicates every bit fields for this struct too,1 is enable this feature + * amdgpu.disp_bval=1594, amdgpu.disp_bmask=1594 , + * finally will show log like this: + * Overridden FEATURE_LIGHT_SLEEP is enabled now + * Overridden FEATURE_USE_MAX_DISPLAY_CLK is enabled now + * Overridden FEATURE_ENABLE_DFS_BYPASS is enabled now + * Overridden FEATURE_POWER_GATING_PIPE_IN_TILE is enabled now + * Overridden FEATURE_USE_PPLIB is enabled now + * Overridden FEATURE_DISABLE_LPT_SUPPORT is enabled now + * Overridden FEATURE_DUMMY_FBC_BACKEND is enabled now + * */ +enum bool_param_shift { + DAL_PARAM_MAXIMIZE_STUTTER_MARKS = 0, + DAL_PARAM_LIGHT_SLEEP, + DAL_PARAM_MAXIMIZE_URGENCY_WATERMARKS, + DAL_PARAM_USE_MAX_DISPLAY_CLK, + DAL_PARAM_ENABLE_DFS_BYPASS, + DAL_PARAM_POWER_GATING_PIPE_IN_TILE, + DAL_PARAM_POWER_GATING_LB_PORTION, + DAL_PARAM_PSR_ENABLE, + DAL_PARAM_VARI_BRIGHT_ENABLE, + DAL_PARAM_USE_PPLIB, + DAL_PARAM_DISABLE_LPT_SUPPORT, + DAL_PARAM_DUMMY_FBC_BACKEND, + DAL_PARAM_ENABLE_GPU_SCALING, + DAL_BOOL_PARAM_MAX +}; + #define MAX_EDID_BUFFER_SIZE 512 #define MAX_SURFACE_NUM 2 #define NUM_PIXEL_FORMATS 10 diff --git a/drivers/gpu/drm/amd/dal/include/dal_types.h b/drivers/gpu/drm/amd/dal/include/dal_types.h index 8fdde70..eea3306 100644 --- a/drivers/gpu/drm/amd/dal/include/dal_types.h +++ b/drivers/gpu/drm/amd/dal/include/dal_types.h @@ -46,139 +46,6 @@ enum dce_version { DCE_VERSION_MAX }; -/* - * ASIC Runtime Flags - */ -struct dal_asic_runtime_flags { - union { - uint32_t raw; - struct { - uint32_t EMULATE_REPLUG_ON_CAP_CHANGE:1; - uint32_t SUPPORT_XRBIAS:1; - uint32_t SKIP_POWER_DOWN_ON_RESUME:1; - uint32_t FULL_DETECT_ON_RESUME:1; - uint32_t GSL_FRAMELOCK:1; - uint32_t NO_LOW_BPP_MODES:1; - uint32_t BLOCK_ON_INITIAL_DETECTION:1; - uint32_t OPTIMIZED_DISPLAY_PROGRAMMING_ON_BOOT:1; - uint32_t DRIVER_CONTROLLED_BRIGHTNESS:1; - uint32_t MODIFIABLE_FRAME_DURATION:1; - uint32_t MIRACAST_SUPPORTED:1; - uint32_t CONNECTED_STANDBY_SUPPORTED:1; - uint32_t GNB_WAKEUP_SUPPORTED:1; - } bits; - } flags; -}; - -struct hw_asic_id { - uint32_t chip_id; - uint32_t chip_family; - uint32_t pci_revision_id; - uint32_t hw_internal_rev; - uint32_t vram_type; - uint32_t vram_width; - uint32_t feature_flags; - struct dal_asic_runtime_flags runtime_flags; - uint32_t fake_paths_num; - void *atombios_base_address; -}; - -/* this is pci information. BDF stands for BUS,DEVICE,FUNCTION*/ - -struct bdf_info { - uint16_t BUS_NUMBER:8; - uint16_t DEVICE_NUMBER:5; - uint16_t FUNCTION_NUMBER:3; -}; - -#define DAL_PARAM_INVALID_INT 0x80000000 - -/* shift values for bool override parameter mask - * bmask is for this struct,if we touch this feature - * bval indicates every bit fields for this struct too,1 is enable this feature - * amdgpu.disp_bval=1594, amdgpu.disp_bmask=1594 , - * finally will show log like this: - * Overridden FEATURE_LIGHT_SLEEP is enabled now - * Overridden FEATURE_USE_MAX_DISPLAY_CLK is enabled now - * Overridden FEATURE_ENABLE_DFS_BYPASS is enabled now - * Overridden FEATURE_POWER_GATING_PIPE_IN_TILE is enabled now - * Overridden FEATURE_USE_PPLIB is enabled now - * Overridden FEATURE_DISABLE_LPT_SUPPORT is enabled now - * Overridden FEATURE_DUMMY_FBC_BACKEND is enabled now */ -enum bool_param_shift { - DAL_PARAM_MAXIMIZE_STUTTER_MARKS = 0, - DAL_PARAM_LIGHT_SLEEP, - DAL_PARAM_MAXIMIZE_URGENCY_WATERMARKS, - DAL_PARAM_USE_MAX_DISPLAY_CLK, - DAL_PARAM_ENABLE_DFS_BYPASS, - DAL_PARAM_POWER_GATING_PIPE_IN_TILE, - DAL_PARAM_POWER_GATING_LB_PORTION, - DAL_PARAM_PSR_ENABLE, - DAL_PARAM_VARI_BRIGHT_ENABLE, - DAL_PARAM_USE_PPLIB, - DAL_PARAM_DISABLE_LPT_SUPPORT, - DAL_PARAM_DUMMY_FBC_BACKEND, - DAL_PARAM_ENABLE_GPU_SCALING, - DAL_BOOL_PARAM_MAX -}; - -/* array index for integer override parameters*/ -enum int_param_array_index { - DAL_PARAM_MAX_COFUNC_NON_DP_DISPLAYS = 0, - DAL_PARAM_DRR_SUPPORT, - DAL_INT_PARAM_MAX -}; - -struct dal_override_parameters { - uint32_t bool_param_enable_mask; - uint32_t bool_param_values; - uint32_t int_param_values[DAL_INT_PARAM_MAX]; -}; - - -struct dal_init_data { - struct hw_asic_id asic_id; - struct view_port_alignment vp_alignment; - struct bdf_info bdf_info; - struct dal_override_parameters display_param; - void *driver; /* ctx */ - void *cgs_device; - uint8_t num_virtual_links; - /* If 'vbios_override' not NULL, it will be called instead - * of the real VBIOS. Intended use is Diagnostics on FPGA. */ - struct dc_bios *vbios_override; - enum dce_environment dce_environment; -}; - -struct dal_dc_init_data { - struct dc_context *ctx; /* TODO: remove 'dal' when DC is complete. */ - struct adapter_service *adapter_srv; -}; - -struct dal_dev_c_lut { - uint8_t red; - uint8_t green; - uint8_t blue; - uint8_t reserved; -}; - -struct dal_dev_gamma_lut { - uint16_t red; - uint16_t green; - uint16_t blue; -}; - -struct dc_context { - struct dc *dc; - - void *driver_context; /* e.g. amdgpu_device */ - - struct dal_logger *logger; - void *cgs_device; - - enum dce_environment dce_environment; -}; - /* Wireless display structs */ union dal_remote_display_cea_mode_bitmap { -- 2.7.4