diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0849-drm-amd-dal-Get-rid-of-dal_types.h-in-dc.h.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0849-drm-amd-dal-Get-rid-of-dal_types.h-in-dc.h.patch | 358 |
1 files changed, 358 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0849-drm-amd-dal-Get-rid-of-dal_types.h-in-dc.h.patch b/common/recipes-kernel/linux/files/0849-drm-amd-dal-Get-rid-of-dal_types.h-in-dc.h.patch new file mode 100644 index 00000000..59e34bed --- /dev/null +++ b/common/recipes-kernel/linux/files/0849-drm-amd-dal-Get-rid-of-dal_types.h-in-dc.h.patch @@ -0,0 +1,358 @@ +From 76bcf8ca5e27b996271b0ae5778ed6c1f60405e8 Mon Sep 17 00:00:00 2001 +From: Eric Yang <eric.yang2@amd.com> +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 <eric.yang2@amd.com> +Acked-by: Harry Wentland <harry.wentland@amd.com> +--- + 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 + |