Subject: [PATCH 609/625] Baikal-M: video unit driver Update for 5.15.28 diff --git a/drivers/gpu/drm/baikal/baikal_vdu_encoder.c b/drivers/gpu/drm/baikal/baikal_vdu_encoder.c new file mode 100644 --- /dev/null +++ b/drivers/gpu/drm/baikal/baikal_vdu_encoder.c @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2019-2020 Baikal Electronics JSC + * + * Author: Pavel Parkhomenko + * + * Parts of this file were based on sources as follows: + * + * Copyright (c) 2006-2008 Intel Corporation + * Copyright (c) 2007 Dave Airlie + * Copyright (C) 2011 Texas Instruments + * (C) COPYRIGHT 2012-2013 ARM Limited. All rights reserved. + * + * This program is free software and is provided to you under the terms of the + * GNU General Public License version 2 as published by the Free Software + * Foundation, and any use by you of this program is subject to the terms of + * such GNU licence. + * + */ + +/** + * baikal_vdu_encoder.c + * Implementation of the encoder functions for Baikal Electronics BE-M1000 VDU driver + */ +#include +#include +#include + +#include + +#include "baikal_vdu_drm.h" + +const struct drm_encoder_funcs baikal_vdu_encoder_funcs = { + .destroy = drm_encoder_cleanup, +}; + +int baikal_vdu_encoder_init(struct drm_device *dev) +{ + struct baikal_vdu_private *priv = dev->dev_private; + struct drm_encoder *encoder = &priv->encoder; + int ret; + + ret = drm_encoder_init(dev, encoder, &baikal_vdu_encoder_funcs, + DRM_MODE_ENCODER_NONE, NULL); + if (ret) + return ret; + + encoder->crtc = &priv->crtc; + encoder->possible_crtcs = BIT(drm_crtc_index(encoder->crtc)); + + return 0; +} diff --git a/drivers/gpu/drm/baikal/baikal_vdu_gem.c b/drivers/gpu/drm/baikal/baikal_vdu_gem.c new file mode 100644 index 000000000000..b07566caf12c --- /dev/null +++ b/drivers/gpu/drm/baikal/baikal_vdu_gem.c @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2019-2020 Baikal Electronics JSC + * + * Author: Pavel Parkhomenko + * + * Parts of this file were based on sources as follows: + * + * Copyright (c) 2006-2008 Intel Corporation + * Copyright (c) 2007 Dave Airlie + * Copyright (C) 2011 Texas Instruments + * (C) COPYRIGHT 2012-2013 ARM Limited. All rights reserved. + * + * This program is free software and is provided to you under the terms of the + * GNU General Public License version 2 as published by the Free Software + * Foundation, and any use by you of this program is subject to the terms of + * such GNU licence. + * + */ + +/** + * baikal_vdu_gem.c + * Implementation of the GEM functions for Baikal Electronics BE-M1000 VDU driver + */ +#include +#include +#include +#include +#include +#include "baikal_vdu_drm.h" + +int baikal_vdu_dumb_create(struct drm_file *file_priv, + struct drm_device *dev, struct drm_mode_create_dumb *args) +{ + args->pitch = DIV_ROUND_UP(args->width * args->bpp, 8); + + return drm_gem_cma_dumb_create_internal(file_priv, dev, args); +}