mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
drm/mgag200: Split mgag200_modeset_init()
Split mgag200_modeset_init() into smaller helpers to initialize the mode_config structure and the pipeline. This will be helpful for transforming this code into per-model functions. No functional changes. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com> Tested-by: Jocelyn Falempe <jfalempe@redhat.com> Acked-by: Sam Ravnborg <sam@ravnborg.org> Link: https://patchwork.freedesktop.org/patch/msgid/20220728124103.30159-2-tzimmermann@suse.de
This commit is contained in:
parent
cf1e6a9031
commit
44373151ab
|
|
@ -1047,23 +1047,16 @@ static const struct drm_mode_config_funcs mgag200_mode_config_funcs = {
|
|||
.atomic_commit = drm_atomic_helper_commit,
|
||||
};
|
||||
|
||||
int mgag200_modeset_init(struct mga_device *mdev, resource_size_t vram_available)
|
||||
static int mgag200_mode_config_init(struct mga_device *mdev, resource_size_t vram_available)
|
||||
{
|
||||
struct drm_device *dev = &mdev->base;
|
||||
struct mga_i2c_chan *i2c = &mdev->i2c;
|
||||
struct drm_connector *connector = &mdev->connector;
|
||||
struct drm_simple_display_pipe *pipe = &mdev->display_pipe;
|
||||
size_t format_count = ARRAY_SIZE(mgag200_simple_display_pipe_formats);
|
||||
int ret;
|
||||
|
||||
mgag200_init_regs(mdev);
|
||||
|
||||
mdev->vram_available = vram_available;
|
||||
|
||||
ret = drmm_mode_config_init(dev);
|
||||
if (ret) {
|
||||
drm_err(dev, "drmm_mode_config_init() failed, error %d\n",
|
||||
ret);
|
||||
drm_err(dev, "drmm_mode_config_init() failed: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
@ -1073,6 +1066,18 @@ int mgag200_modeset_init(struct mga_device *mdev, resource_size_t vram_available
|
|||
dev->mode_config.fb_base = mdev->vram_res->start;
|
||||
dev->mode_config.funcs = &mgag200_mode_config_funcs;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mgag200_pipeline_init(struct mga_device *mdev)
|
||||
{
|
||||
struct drm_device *dev = &mdev->base;
|
||||
struct mga_i2c_chan *i2c = &mdev->i2c;
|
||||
struct drm_connector *connector = &mdev->connector;
|
||||
struct drm_simple_display_pipe *pipe = &mdev->display_pipe;
|
||||
size_t format_count = ARRAY_SIZE(mgag200_simple_display_pipe_formats);
|
||||
int ret;
|
||||
|
||||
ret = mgag200_i2c_init(mdev, i2c);
|
||||
if (ret) {
|
||||
drm_err(dev, "failed to add DDC bus: %d\n", ret);
|
||||
|
|
@ -1113,6 +1118,24 @@ int mgag200_modeset_init(struct mga_device *mdev, resource_size_t vram_available
|
|||
|
||||
drm_crtc_enable_color_mgmt(&pipe->crtc, 0, false, MGAG200_LUT_SIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mgag200_modeset_init(struct mga_device *mdev, resource_size_t vram_available)
|
||||
{
|
||||
struct drm_device *dev = &mdev->base;
|
||||
int ret;
|
||||
|
||||
mgag200_init_regs(mdev);
|
||||
|
||||
ret = mgag200_mode_config_init(mdev, vram_available);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = mgag200_pipeline_init(mdev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
drm_mode_config_reset(dev);
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user