From 2f7c68cb55ecb7331f2381deb497c27155f32faf Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Wed, 03 Jan 2024 09:43:39 +0000
Subject: [PATCH] update kernel to 5.10.198
---
kernel/drivers/media/platform/rockchip/ispp/dev.c | 116 ++++++++++++++++++++++++++--------------------------------
1 files changed, 52 insertions(+), 64 deletions(-)
diff --git a/kernel/drivers/media/platform/rockchip/ispp/dev.c b/kernel/drivers/media/platform/rockchip/ispp/dev.c
index dfb0d26..a58bf3b 100644
--- a/kernel/drivers/media/platform/rockchip/ispp/dev.c
+++ b/kernel/drivers/media/platform/rockchip/ispp/dev.c
@@ -132,95 +132,80 @@
stream->linked = true;
}
source = &stream->vnode.vdev.entity;
- ret = media_create_pad_link(source, 0, sink,
- RKISPP_PAD_SINK, flags);
+ ret = media_create_pad_link(source, 0, sink, RKISPP_PAD_SINK, flags);
if (ret < 0)
return ret;
/* params links */
flags = MEDIA_LNK_FL_ENABLED;
- source = &ispp_dev->params_vdev[PARAM_VDEV_TNR].vnode.vdev.entity;
- ret = media_create_pad_link(source, 0, sink,
- RKISPP_PAD_SINK_PARAMS, flags);
- if (ret < 0)
- return ret;
-
- flags = MEDIA_LNK_FL_ENABLED;
- source = &ispp_dev->params_vdev[PARAM_VDEV_NR].vnode.vdev.entity;
- ret = media_create_pad_link(source, 0, sink,
- RKISPP_PAD_SINK_PARAMS, flags);
- if (ret < 0)
- return ret;
-
- flags = MEDIA_LNK_FL_ENABLED;
source = &ispp_dev->params_vdev[PARAM_VDEV_FEC].vnode.vdev.entity;
- ret = media_create_pad_link(source, 0, sink,
- RKISPP_PAD_SINK_PARAMS, flags);
+ ret = media_create_pad_link(source, 0, sink, RKISPP_PAD_SINK_PARAMS, flags);
if (ret < 0)
return ret;
+ ispp_dev->stream_vdev.module_ens = ISPP_MODULE_FEC;
+ if (ispp_dev->ispp_ver == ISPP_V10) {
+ /* params links */
+ source = &ispp_dev->params_vdev[PARAM_VDEV_TNR].vnode.vdev.entity;
+ ret = media_create_pad_link(source, 0, sink, RKISPP_PAD_SINK_PARAMS, flags);
+ if (ret < 0)
+ return ret;
+ source = &ispp_dev->params_vdev[PARAM_VDEV_NR].vnode.vdev.entity;
+ ret = media_create_pad_link(source, 0, sink, RKISPP_PAD_SINK_PARAMS, flags);
+ if (ret < 0)
+ return ret;
- /* stats links */
- flags = MEDIA_LNK_FL_ENABLED;
- source = &ispp_dev->ispp_sdev.sd.entity;
- sink = &ispp_dev->stats_vdev[STATS_VDEV_TNR].vnode.vdev.entity;
- ret = media_create_pad_link(source, RKISPP_PAD_SOURCE_STATS,
- sink, 0, flags);
- if (ret < 0)
- return ret;
+ /* stats links */
+ source = &ispp_dev->ispp_sdev.sd.entity;
+ sink = &ispp_dev->stats_vdev[STATS_VDEV_TNR].vnode.vdev.entity;
+ ret = media_create_pad_link(source, RKISPP_PAD_SOURCE_STATS, sink, 0, flags);
+ if (ret < 0)
+ return ret;
+ sink = &ispp_dev->stats_vdev[STATS_VDEV_NR].vnode.vdev.entity;
+ ret = media_create_pad_link(source, RKISPP_PAD_SOURCE_STATS, sink, 0, flags);
+ if (ret < 0)
+ return ret;
- flags = MEDIA_LNK_FL_ENABLED;
- source = &ispp_dev->ispp_sdev.sd.entity;
- sink = &ispp_dev->stats_vdev[STATS_VDEV_NR].vnode.vdev.entity;
- ret = media_create_pad_link(source, RKISPP_PAD_SOURCE_STATS,
- sink, 0, flags);
- if (ret < 0)
- return ret;
+ /* output stream links */
+ stream = &stream_vdev->stream[STREAM_S0];
+ stream->linked = flags;
+ sink = &stream->vnode.vdev.entity;
+ ret = media_create_pad_link(source, RKISPP_PAD_SOURCE, sink, 0, flags);
+ if (ret < 0)
+ return ret;
- /* output stream links */
+ stream = &stream_vdev->stream[STREAM_S1];
+ stream->linked = flags;
+ sink = &stream->vnode.vdev.entity;
+ ret = media_create_pad_link(source, RKISPP_PAD_SOURCE, sink, 0, flags);
+ if (ret < 0)
+ return ret;
+
+ stream = &stream_vdev->stream[STREAM_S2];
+ stream->linked = flags;
+ sink = &stream->vnode.vdev.entity;
+ ret = media_create_pad_link(source, RKISPP_PAD_SOURCE, sink, 0, flags);
+ if (ret < 0)
+ return ret;
+
+ ispp_dev->stream_vdev.module_ens = ISPP_MODULE_NR | ISPP_MODULE_SHP;
+ }
+
flags = rkispp_stream_sync ? 0 : MEDIA_LNK_FL_ENABLED;
stream = &stream_vdev->stream[STREAM_MB];
stream->linked = flags;
source = &ispp_dev->ispp_sdev.sd.entity;
sink = &stream->vnode.vdev.entity;
- ret = media_create_pad_link(source, RKISPP_PAD_SOURCE,
- sink, 0, flags);
- if (ret < 0)
- return ret;
-
- stream = &stream_vdev->stream[STREAM_S0];
- stream->linked = flags;
- sink = &stream->vnode.vdev.entity;
- ret = media_create_pad_link(source, RKISPP_PAD_SOURCE,
- sink, 0, flags);
- if (ret < 0)
- return ret;
-
- stream = &stream_vdev->stream[STREAM_S1];
- stream->linked = flags;
- sink = &stream->vnode.vdev.entity;
- ret = media_create_pad_link(source, RKISPP_PAD_SOURCE,
- sink, 0, flags);
- if (ret < 0)
- return ret;
-
- stream = &stream_vdev->stream[STREAM_S2];
- stream->linked = flags;
- sink = &stream->vnode.vdev.entity;
- ret = media_create_pad_link(source, RKISPP_PAD_SOURCE,
- sink, 0, flags);
+ ret = media_create_pad_link(source, RKISPP_PAD_SOURCE, sink, 0, flags);
if (ret < 0)
return ret;
stream = &stream_vdev->stream[STREAM_VIR];
stream->linked = flags;
sink = &stream->vnode.vdev.entity;
- ret = media_create_pad_link(source, RKISPP_PAD_SOURCE,
- sink, 0, flags);
+ ret = media_create_pad_link(source, RKISPP_PAD_SOURCE, sink, 0, flags);
if (ret < 0)
return ret;
- /* default enable */
- ispp_dev->stream_vdev.module_ens = ISPP_MODULE_NR | ISPP_MODULE_SHP;
return 0;
}
@@ -262,6 +247,8 @@
static const struct of_device_id rkispp_plat_of_match[] = {
{
.compatible = "rockchip,rv1126-rkispp-vir",
+ }, {
+ .compatible = "rockchip,rk3588-rkispp-vir",
},
{},
};
@@ -408,3 +395,4 @@
MODULE_AUTHOR("Rockchip Camera/ISP team");
MODULE_DESCRIPTION("Rockchip ISPP platform driver");
MODULE_LICENSE("GPL v2");
+MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
--
Gitblit v1.6.2