Commit 7578ecda authored by Alex Deucher's avatar Alex Deucher Committed by Dave Airlie

drm/amd/display: make a bunch of stuff in amdgpu_dm.c static

Not used outside of that file.
Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 3ee6b26b
...@@ -70,6 +70,50 @@ ...@@ -70,6 +70,50 @@
#include "i2caux_interface.h" #include "i2caux_interface.h"
/* basic init/fini API */
static int amdgpu_dm_init(struct amdgpu_device *adev);
static void amdgpu_dm_fini(struct amdgpu_device *adev);
/* initializes drm_device display related structures, based on the information
* provided by DAL. The drm strcutures are: drm_crtc, drm_connector,
* drm_encoder, drm_mode_config
*
* Returns 0 on success
*/
static int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev);
/* removes and deallocates the drm structures, created by the above function */
static void amdgpu_dm_destroy_drm_device(struct amdgpu_display_manager *dm);
static void
amdgpu_dm_update_connector_after_detect(struct amdgpu_dm_connector *aconnector);
static int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
struct amdgpu_plane *aplane,
unsigned long possible_crtcs);
static int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
struct drm_plane *plane,
uint32_t link_index);
static int amdgpu_dm_connector_init(struct amdgpu_display_manager *dm,
struct amdgpu_dm_connector *amdgpu_dm_connector,
uint32_t link_index,
struct amdgpu_encoder *amdgpu_encoder);
static int amdgpu_dm_encoder_init(struct drm_device *dev,
struct amdgpu_encoder *aencoder,
uint32_t link_index);
static int amdgpu_dm_connector_get_modes(struct drm_connector *connector);
static int amdgpu_dm_atomic_commit(struct drm_device *dev,
struct drm_atomic_state *state,
bool nonblock);
static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state);
static int amdgpu_dm_atomic_check(struct drm_device *dev,
struct drm_atomic_state *state);
static const enum drm_plane_type dm_plane_type_default[AMDGPU_MAX_PLANES] = { static const enum drm_plane_type dm_plane_type_default[AMDGPU_MAX_PLANES] = {
DRM_PLANE_TYPE_PRIMARY, DRM_PLANE_TYPE_PRIMARY,
...@@ -306,7 +350,7 @@ static void hotplug_notify_work_func(struct work_struct *work) ...@@ -306,7 +350,7 @@ static void hotplug_notify_work_func(struct work_struct *work)
/* TODO: Dynamic allocation */ /* TODO: Dynamic allocation */
#define AMDGPU_FBC_SIZE (3840 * 2160 * 4) #define AMDGPU_FBC_SIZE (3840 * 2160 * 4)
void amdgpu_dm_initialize_fbc(struct amdgpu_device *adev) static void amdgpu_dm_initialize_fbc(struct amdgpu_device *adev)
{ {
int r; int r;
struct dm_comressor_info *compressor = &adev->dm.compressor; struct dm_comressor_info *compressor = &adev->dm.compressor;
...@@ -328,7 +372,7 @@ void amdgpu_dm_initialize_fbc(struct amdgpu_device *adev) ...@@ -328,7 +372,7 @@ void amdgpu_dm_initialize_fbc(struct amdgpu_device *adev)
* *
* Returns 0 on success * Returns 0 on success
*/ */
int amdgpu_dm_init(struct amdgpu_device *adev) static int amdgpu_dm_init(struct amdgpu_device *adev)
{ {
struct dc_init_data init_data; struct dc_init_data init_data;
adev->dm.ddev = adev->ddev; adev->dm.ddev = adev->ddev;
...@@ -431,7 +475,7 @@ int amdgpu_dm_init(struct amdgpu_device *adev) ...@@ -431,7 +475,7 @@ int amdgpu_dm_init(struct amdgpu_device *adev)
return -1; return -1;
} }
void amdgpu_dm_fini(struct amdgpu_device *adev) static void amdgpu_dm_fini(struct amdgpu_device *adev)
{ {
amdgpu_dm_destroy_drm_device(&adev->dm); amdgpu_dm_destroy_drm_device(&adev->dm);
/* /*
...@@ -455,7 +499,7 @@ void amdgpu_dm_fini(struct amdgpu_device *adev) ...@@ -455,7 +499,7 @@ void amdgpu_dm_fini(struct amdgpu_device *adev)
} }
/* moved from amdgpu_dm_kms.c */ /* moved from amdgpu_dm_kms.c */
void amdgpu_dm_destroy() static void amdgpu_dm_destroy(void)
{ {
} }
...@@ -685,7 +729,7 @@ const struct amdgpu_ip_block_version dm_ip_block = ...@@ -685,7 +729,7 @@ const struct amdgpu_ip_block_version dm_ip_block =
}; };
struct drm_atomic_state * static struct drm_atomic_state *
dm_atomic_state_alloc(struct drm_device *dev) dm_atomic_state_alloc(struct drm_device *dev)
{ {
struct dm_atomic_state *state = kzalloc(sizeof(*state), GFP_KERNEL); struct dm_atomic_state *state = kzalloc(sizeof(*state), GFP_KERNEL);
...@@ -738,7 +782,7 @@ static struct drm_mode_config_helper_funcs amdgpu_dm_mode_config_helperfuncs = { ...@@ -738,7 +782,7 @@ static struct drm_mode_config_helper_funcs amdgpu_dm_mode_config_helperfuncs = {
.atomic_commit_tail = amdgpu_dm_atomic_commit_tail .atomic_commit_tail = amdgpu_dm_atomic_commit_tail
}; };
void static void
amdgpu_dm_update_connector_after_detect(struct amdgpu_dm_connector *aconnector) amdgpu_dm_update_connector_after_detect(struct amdgpu_dm_connector *aconnector)
{ {
struct drm_connector *connector = &aconnector->base; struct drm_connector *connector = &aconnector->base;
...@@ -1245,7 +1289,8 @@ static const struct backlight_ops amdgpu_dm_backlight_ops = { ...@@ -1245,7 +1289,8 @@ static const struct backlight_ops amdgpu_dm_backlight_ops = {
.update_status = amdgpu_dm_backlight_update_status, .update_status = amdgpu_dm_backlight_update_status,
}; };
void amdgpu_dm_register_backlight_device(struct amdgpu_display_manager *dm) static void
amdgpu_dm_register_backlight_device(struct amdgpu_display_manager *dm)
{ {
char bl_name[16]; char bl_name[16];
struct backlight_properties props = { 0 }; struct backlight_properties props = { 0 };
...@@ -1277,7 +1322,7 @@ void amdgpu_dm_register_backlight_device(struct amdgpu_display_manager *dm) ...@@ -1277,7 +1322,7 @@ void amdgpu_dm_register_backlight_device(struct amdgpu_display_manager *dm)
* *
* Returns 0 on success * Returns 0 on success
*/ */
int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev) static int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev)
{ {
struct amdgpu_display_manager *dm = &adev->dm; struct amdgpu_display_manager *dm = &adev->dm;
uint32_t i; uint32_t i;
...@@ -1410,7 +1455,7 @@ int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev) ...@@ -1410,7 +1455,7 @@ int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev)
return -1; return -1;
} }
void amdgpu_dm_destroy_drm_device(struct amdgpu_display_manager *dm) static void amdgpu_dm_destroy_drm_device(struct amdgpu_display_manager *dm)
{ {
drm_mode_config_cleanup(dm->ddev); drm_mode_config_cleanup(dm->ddev);
return; return;
...@@ -1613,13 +1658,13 @@ static int dm_early_init(void *handle) ...@@ -1613,13 +1658,13 @@ static int dm_early_init(void *handle)
return 0; return 0;
} }
bool amdgpu_dm_acquire_dal_lock(struct amdgpu_display_manager *dm) static bool amdgpu_dm_acquire_dal_lock(struct amdgpu_display_manager *dm)
{ {
/* TODO */ /* TODO */
return true; return true;
} }
bool amdgpu_dm_release_dal_lock(struct amdgpu_display_manager *dm) static bool amdgpu_dm_release_dal_lock(struct amdgpu_display_manager *dm)
{ {
/* TODO */ /* TODO */
return true; return true;
...@@ -1659,7 +1704,7 @@ static bool modereset_required(struct drm_crtc_state *crtc_state) ...@@ -1659,7 +1704,7 @@ static bool modereset_required(struct drm_crtc_state *crtc_state)
return !crtc_state->enable || !crtc_state->active; return !crtc_state->enable || !crtc_state->active;
} }
void amdgpu_dm_encoder_destroy(struct drm_encoder *encoder) static void amdgpu_dm_encoder_destroy(struct drm_encoder *encoder)
{ {
drm_encoder_cleanup(encoder); drm_encoder_cleanup(encoder);
kfree(encoder); kfree(encoder);
...@@ -1963,7 +2008,7 @@ static int fill_plane_attributes(struct amdgpu_device *adev, ...@@ -1963,7 +2008,7 @@ static int fill_plane_attributes(struct amdgpu_device *adev,
/*****************************************************************************/ /*****************************************************************************/
struct amdgpu_dm_connector * static struct amdgpu_dm_connector *
aconnector_from_drm_crtc_id(const struct drm_crtc *crtc) aconnector_from_drm_crtc_id(const struct drm_crtc *crtc)
{ {
struct drm_device *dev = crtc->dev; struct drm_device *dev = crtc->dev;
...@@ -2366,7 +2411,7 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector, ...@@ -2366,7 +2411,7 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector,
return stream; return stream;
} }
void amdgpu_dm_crtc_destroy(struct drm_crtc *crtc) static void amdgpu_dm_crtc_destroy(struct drm_crtc *crtc)
{ {
drm_crtc_cleanup(crtc); drm_crtc_cleanup(crtc);
kfree(crtc); kfree(crtc);
...@@ -2552,7 +2597,7 @@ int amdgpu_dm_connector_atomic_get_property(struct drm_connector *connector, ...@@ -2552,7 +2597,7 @@ int amdgpu_dm_connector_atomic_get_property(struct drm_connector *connector,
return ret; return ret;
} }
void amdgpu_dm_connector_destroy(struct drm_connector *connector) static void amdgpu_dm_connector_destroy(struct drm_connector *connector)
{ {
struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector); struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
const struct dc_link *link = aconnector->dc_link; const struct dc_link *link = aconnector->dc_link;
...@@ -2973,7 +3018,8 @@ static void dm_plane_helper_cleanup_fb(struct drm_plane *plane, ...@@ -2973,7 +3018,8 @@ static void dm_plane_helper_cleanup_fb(struct drm_plane *plane,
amdgpu_bo_unref(&rbo); amdgpu_bo_unref(&rbo);
} }
int dm_create_validation_set_for_connector(struct drm_connector *connector, static int
dm_create_validation_set_for_connector(struct drm_connector *connector,
struct drm_display_mode *mode, struct drm_display_mode *mode,
struct dc_validation_set *val_set) struct dc_validation_set *val_set)
{ {
...@@ -3012,7 +3058,7 @@ int dm_create_validation_set_for_connector(struct drm_connector *connector, ...@@ -3012,7 +3058,7 @@ int dm_create_validation_set_for_connector(struct drm_connector *connector,
return MODE_OK; return MODE_OK;
} }
int dm_plane_atomic_check(struct drm_plane *plane, static int dm_plane_atomic_check(struct drm_plane *plane,
struct drm_plane_state *state) struct drm_plane_state *state)
{ {
struct amdgpu_device *adev = plane->dev->dev_private; struct amdgpu_device *adev = plane->dev->dev_private;
...@@ -3060,7 +3106,7 @@ static const u32 cursor_formats[] = { ...@@ -3060,7 +3106,7 @@ static const u32 cursor_formats[] = {
DRM_FORMAT_ARGB8888 DRM_FORMAT_ARGB8888
}; };
int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm, static int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
struct amdgpu_plane *aplane, struct amdgpu_plane *aplane,
unsigned long possible_crtcs) unsigned long possible_crtcs)
{ {
...@@ -3106,7 +3152,7 @@ int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm, ...@@ -3106,7 +3152,7 @@ int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
return res; return res;
} }
int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm, static int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
struct drm_plane *plane, struct drm_plane *plane,
uint32_t crtc_index) uint32_t crtc_index)
{ {
...@@ -3312,7 +3358,7 @@ static void amdgpu_dm_connector_ddc_get_modes(struct drm_connector *connector, ...@@ -3312,7 +3358,7 @@ static void amdgpu_dm_connector_ddc_get_modes(struct drm_connector *connector,
amdgpu_dm_connector->num_modes = 0; amdgpu_dm_connector->num_modes = 0;
} }
int amdgpu_dm_connector_get_modes(struct drm_connector *connector) static int amdgpu_dm_connector_get_modes(struct drm_connector *connector)
{ {
const struct drm_connector_helper_funcs *helper = const struct drm_connector_helper_funcs *helper =
connector->helper_private; connector->helper_private;
...@@ -3379,7 +3425,7 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm, ...@@ -3379,7 +3425,7 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
} }
int amdgpu_dm_i2c_xfer(struct i2c_adapter *i2c_adap, static int amdgpu_dm_i2c_xfer(struct i2c_adapter *i2c_adap,
struct i2c_msg *msgs, int num) struct i2c_msg *msgs, int num)
{ {
struct amdgpu_i2c_adapter *i2c = i2c_get_adapdata(i2c_adap); struct amdgpu_i2c_adapter *i2c = i2c_get_adapdata(i2c_adap);
...@@ -3414,7 +3460,7 @@ int amdgpu_dm_i2c_xfer(struct i2c_adapter *i2c_adap, ...@@ -3414,7 +3460,7 @@ int amdgpu_dm_i2c_xfer(struct i2c_adapter *i2c_adap,
return result; return result;
} }
u32 amdgpu_dm_i2c_func(struct i2c_adapter *adap) static u32 amdgpu_dm_i2c_func(struct i2c_adapter *adap)
{ {
return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL; return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL;
} }
...@@ -3447,7 +3493,7 @@ create_i2c(struct ddc_service *ddc_service, ...@@ -3447,7 +3493,7 @@ 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.
*/ */
int amdgpu_dm_connector_init(struct amdgpu_display_manager *dm, static int amdgpu_dm_connector_init(struct amdgpu_display_manager *dm,
struct amdgpu_dm_connector *aconnector, struct amdgpu_dm_connector *aconnector,
uint32_t link_index, uint32_t link_index,
struct amdgpu_encoder *aencoder) struct amdgpu_encoder *aencoder)
...@@ -3553,7 +3599,7 @@ int amdgpu_dm_get_encoder_crtc_mask(struct amdgpu_device *adev) ...@@ -3553,7 +3599,7 @@ int amdgpu_dm_get_encoder_crtc_mask(struct amdgpu_device *adev)
} }
} }
int amdgpu_dm_encoder_init(struct drm_device *dev, static int amdgpu_dm_encoder_init(struct drm_device *dev,
struct amdgpu_encoder *aencoder, struct amdgpu_encoder *aencoder,
uint32_t link_index) uint32_t link_index)
{ {
...@@ -3636,7 +3682,7 @@ static void remove_stream(struct amdgpu_device *adev, ...@@ -3636,7 +3682,7 @@ static void remove_stream(struct amdgpu_device *adev,
acrtc->enabled = false; acrtc->enabled = false;
} }
int get_cursor_position(struct drm_plane *plane, struct drm_crtc *crtc, static int get_cursor_position(struct drm_plane *plane, struct drm_crtc *crtc,
struct dc_cursor_position *position) struct dc_cursor_position *position)
{ {
struct amdgpu_crtc *amdgpu_crtc = amdgpu_crtc = to_amdgpu_crtc(crtc); struct amdgpu_crtc *amdgpu_crtc = amdgpu_crtc = to_amdgpu_crtc(crtc);
...@@ -3944,7 +3990,7 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state, ...@@ -3944,7 +3990,7 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
} }
int amdgpu_dm_atomic_commit(struct drm_device *dev, static int amdgpu_dm_atomic_commit(struct drm_device *dev,
struct drm_atomic_state *state, struct drm_atomic_state *state,
bool nonblock) bool nonblock)
{ {
...@@ -3973,7 +4019,7 @@ int amdgpu_dm_atomic_commit(struct drm_device *dev, ...@@ -3973,7 +4019,7 @@ int amdgpu_dm_atomic_commit(struct drm_device *dev,
/*TODO Handle EINTR, reenable IRQ*/ /*TODO Handle EINTR, reenable IRQ*/
} }
void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state) static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
{ {
struct drm_device *dev = state->dev; struct drm_device *dev = state->dev;
struct amdgpu_device *adev = dev->dev_private; struct amdgpu_device *adev = dev->dev_private;
...@@ -4611,7 +4657,7 @@ static int dm_update_planes_state(struct dc *dc, ...@@ -4611,7 +4657,7 @@ static int dm_update_planes_state(struct dc *dc,
return ret; return ret;
} }
int amdgpu_dm_atomic_check(struct drm_device *dev, static int amdgpu_dm_atomic_check(struct drm_device *dev,
struct drm_atomic_state *state) struct drm_atomic_state *state)
{ {
int i; int i;
......
...@@ -193,37 +193,8 @@ struct amdgpu_dm_connector { ...@@ -193,37 +193,8 @@ struct amdgpu_dm_connector {
#define to_amdgpu_dm_connector(x) container_of(x, struct amdgpu_dm_connector, base) #define to_amdgpu_dm_connector(x) container_of(x, struct amdgpu_dm_connector, base)
/* basic init/fini API */
int amdgpu_dm_init(struct amdgpu_device *adev);
void amdgpu_dm_fini(struct amdgpu_device *adev);
void amdgpu_dm_destroy(void);
/* initializes drm_device display related structures, based on the information
* provided by DAL. The drm strcutures are: drm_crtc, drm_connector,
* drm_encoder, drm_mode_config
*
* Returns 0 on success
*/
int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev);
/* removes and deallocates the drm structures, created by the above function */
void amdgpu_dm_destroy_drm_device(struct amdgpu_display_manager *dm);
/* Locking/Mutex */
bool amdgpu_dm_acquire_dal_lock(struct amdgpu_display_manager *dm);
bool amdgpu_dm_release_dal_lock(struct amdgpu_display_manager *dm);
/* Register "Backlight device" accessible by user-mode. */
void amdgpu_dm_register_backlight_device(struct amdgpu_display_manager *dm);
extern const struct amdgpu_ip_block_version dm_ip_block; extern const struct amdgpu_ip_block_version dm_ip_block;
void
amdgpu_dm_update_connector_after_detect(struct amdgpu_dm_connector *aconnector);
struct amdgpu_framebuffer; struct amdgpu_framebuffer;
struct amdgpu_display_manager; struct amdgpu_display_manager;
struct dc_validation_set; struct dc_validation_set;
...@@ -252,36 +223,6 @@ struct dm_atomic_state { ...@@ -252,36 +223,6 @@ struct dm_atomic_state {
#define to_dm_atomic_state(x) container_of(x, struct dm_atomic_state, base) #define to_dm_atomic_state(x) container_of(x, struct dm_atomic_state, base)
/*TODO Jodan Hersen use the one in amdgpu_dm*/
int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
struct amdgpu_plane *aplane,
unsigned long possible_crtcs);
int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
struct drm_plane *plane,
uint32_t link_index);
int amdgpu_dm_connector_init(struct amdgpu_display_manager *dm,
struct amdgpu_dm_connector *amdgpu_dm_connector,
uint32_t link_index,
struct amdgpu_encoder *amdgpu_encoder);
int amdgpu_dm_encoder_init(struct drm_device *dev,
struct amdgpu_encoder *aencoder,
uint32_t link_index);
void amdgpu_dm_crtc_destroy(struct drm_crtc *crtc);
void amdgpu_dm_connector_destroy(struct drm_connector *connector);
void amdgpu_dm_encoder_destroy(struct drm_encoder *encoder);
int amdgpu_dm_connector_get_modes(struct drm_connector *connector);
int amdgpu_dm_atomic_commit(struct drm_device *dev,
struct drm_atomic_state *state,
bool nonblock);
void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state);
int amdgpu_dm_atomic_check(struct drm_device *dev,
struct drm_atomic_state *state);
void amdgpu_dm_connector_funcs_reset(struct drm_connector *connector); void amdgpu_dm_connector_funcs_reset(struct drm_connector *connector);
struct drm_connector_state * struct drm_connector_state *
amdgpu_dm_connector_atomic_duplicate_state(struct drm_connector *connector); amdgpu_dm_connector_atomic_duplicate_state(struct drm_connector *connector);
......
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