mirror of
https://abf.rosa.ru/djam/kernel-5.16.git
synced 2025-02-23 22:12:48 +00:00
103 lines
3.1 KiB
Diff
103 lines
3.1 KiB
Diff
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 <Pavel.Parkhomenko@baikalelectronics.ru>
|
|
+ *
|
|
+ * Parts of this file were based on sources as follows:
|
|
+ *
|
|
+ * Copyright (c) 2006-2008 Intel Corporation
|
|
+ * Copyright (c) 2007 Dave Airlie <airlied@linux.ie>
|
|
+ * 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 <linux/version.h>
|
|
+#include <linux/shmem_fs.h>
|
|
+#include <linux/dma-buf.h>
|
|
+
|
|
+#include <drm/drm_crtc_helper.h>
|
|
+
|
|
+#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 <Pavel.Parkhomenko@baikalelectronics.ru>
|
|
+ *
|
|
+ * Parts of this file were based on sources as follows:
|
|
+ *
|
|
+ * Copyright (c) 2006-2008 Intel Corporation
|
|
+ * Copyright (c) 2007 Dave Airlie <airlied@linux.ie>
|
|
+ * 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 <linux/version.h>
|
|
+#include <linux/shmem_fs.h>
|
|
+#include <linux/dma-buf.h>
|
|
+#include <drm/drm_crtc_helper.h>
|
|
+#include <drm/drm_gem_cma_helper.h>
|
|
+#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);
|
|
+}
|