forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 9999e48639b3cecb08ffb37358bcba3b48161b29
kernel/drivers/media/platform/rockchip/ispp/dev.c
....@@ -132,95 +132,80 @@
132132 stream->linked = true;
133133 }
134134 source = &stream->vnode.vdev.entity;
135
- ret = media_create_pad_link(source, 0, sink,
136
- RKISPP_PAD_SINK, flags);
135
+ ret = media_create_pad_link(source, 0, sink, RKISPP_PAD_SINK, flags);
137136 if (ret < 0)
138137 return ret;
139138
140139 /* params links */
141140 flags = MEDIA_LNK_FL_ENABLED;
142
- source = &ispp_dev->params_vdev[PARAM_VDEV_TNR].vnode.vdev.entity;
143
- ret = media_create_pad_link(source, 0, sink,
144
- RKISPP_PAD_SINK_PARAMS, flags);
145
- if (ret < 0)
146
- return ret;
147
-
148
- flags = MEDIA_LNK_FL_ENABLED;
149
- source = &ispp_dev->params_vdev[PARAM_VDEV_NR].vnode.vdev.entity;
150
- ret = media_create_pad_link(source, 0, sink,
151
- RKISPP_PAD_SINK_PARAMS, flags);
152
- if (ret < 0)
153
- return ret;
154
-
155
- flags = MEDIA_LNK_FL_ENABLED;
156141 source = &ispp_dev->params_vdev[PARAM_VDEV_FEC].vnode.vdev.entity;
157
- ret = media_create_pad_link(source, 0, sink,
158
- RKISPP_PAD_SINK_PARAMS, flags);
142
+ ret = media_create_pad_link(source, 0, sink, RKISPP_PAD_SINK_PARAMS, flags);
159143 if (ret < 0)
160144 return ret;
145
+ ispp_dev->stream_vdev.module_ens = ISPP_MODULE_FEC;
146
+ if (ispp_dev->ispp_ver == ISPP_V10) {
147
+ /* params links */
148
+ source = &ispp_dev->params_vdev[PARAM_VDEV_TNR].vnode.vdev.entity;
149
+ ret = media_create_pad_link(source, 0, sink, RKISPP_PAD_SINK_PARAMS, flags);
150
+ if (ret < 0)
151
+ return ret;
152
+ source = &ispp_dev->params_vdev[PARAM_VDEV_NR].vnode.vdev.entity;
153
+ ret = media_create_pad_link(source, 0, sink, RKISPP_PAD_SINK_PARAMS, flags);
154
+ if (ret < 0)
155
+ return ret;
161156
162
- /* stats links */
163
- flags = MEDIA_LNK_FL_ENABLED;
164
- source = &ispp_dev->ispp_sdev.sd.entity;
165
- sink = &ispp_dev->stats_vdev[STATS_VDEV_TNR].vnode.vdev.entity;
166
- ret = media_create_pad_link(source, RKISPP_PAD_SOURCE_STATS,
167
- sink, 0, flags);
168
- if (ret < 0)
169
- return ret;
157
+ /* stats links */
158
+ source = &ispp_dev->ispp_sdev.sd.entity;
159
+ sink = &ispp_dev->stats_vdev[STATS_VDEV_TNR].vnode.vdev.entity;
160
+ ret = media_create_pad_link(source, RKISPP_PAD_SOURCE_STATS, sink, 0, flags);
161
+ if (ret < 0)
162
+ return ret;
163
+ sink = &ispp_dev->stats_vdev[STATS_VDEV_NR].vnode.vdev.entity;
164
+ ret = media_create_pad_link(source, RKISPP_PAD_SOURCE_STATS, sink, 0, flags);
165
+ if (ret < 0)
166
+ return ret;
170167
171
- flags = MEDIA_LNK_FL_ENABLED;
172
- source = &ispp_dev->ispp_sdev.sd.entity;
173
- sink = &ispp_dev->stats_vdev[STATS_VDEV_NR].vnode.vdev.entity;
174
- ret = media_create_pad_link(source, RKISPP_PAD_SOURCE_STATS,
175
- sink, 0, flags);
176
- if (ret < 0)
177
- return ret;
168
+ /* output stream links */
169
+ stream = &stream_vdev->stream[STREAM_S0];
170
+ stream->linked = flags;
171
+ sink = &stream->vnode.vdev.entity;
172
+ ret = media_create_pad_link(source, RKISPP_PAD_SOURCE, sink, 0, flags);
173
+ if (ret < 0)
174
+ return ret;
178175
179
- /* output stream links */
176
+ stream = &stream_vdev->stream[STREAM_S1];
177
+ stream->linked = flags;
178
+ sink = &stream->vnode.vdev.entity;
179
+ ret = media_create_pad_link(source, RKISPP_PAD_SOURCE, sink, 0, flags);
180
+ if (ret < 0)
181
+ return ret;
182
+
183
+ stream = &stream_vdev->stream[STREAM_S2];
184
+ stream->linked = flags;
185
+ sink = &stream->vnode.vdev.entity;
186
+ ret = media_create_pad_link(source, RKISPP_PAD_SOURCE, sink, 0, flags);
187
+ if (ret < 0)
188
+ return ret;
189
+
190
+ ispp_dev->stream_vdev.module_ens = ISPP_MODULE_NR | ISPP_MODULE_SHP;
191
+ }
192
+
180193 flags = rkispp_stream_sync ? 0 : MEDIA_LNK_FL_ENABLED;
181194 stream = &stream_vdev->stream[STREAM_MB];
182195 stream->linked = flags;
183196 source = &ispp_dev->ispp_sdev.sd.entity;
184197 sink = &stream->vnode.vdev.entity;
185
- ret = media_create_pad_link(source, RKISPP_PAD_SOURCE,
186
- sink, 0, flags);
187
- if (ret < 0)
188
- return ret;
189
-
190
- stream = &stream_vdev->stream[STREAM_S0];
191
- stream->linked = flags;
192
- sink = &stream->vnode.vdev.entity;
193
- ret = media_create_pad_link(source, RKISPP_PAD_SOURCE,
194
- sink, 0, flags);
195
- if (ret < 0)
196
- return ret;
197
-
198
- stream = &stream_vdev->stream[STREAM_S1];
199
- stream->linked = flags;
200
- sink = &stream->vnode.vdev.entity;
201
- ret = media_create_pad_link(source, RKISPP_PAD_SOURCE,
202
- sink, 0, flags);
203
- if (ret < 0)
204
- return ret;
205
-
206
- stream = &stream_vdev->stream[STREAM_S2];
207
- stream->linked = flags;
208
- sink = &stream->vnode.vdev.entity;
209
- ret = media_create_pad_link(source, RKISPP_PAD_SOURCE,
210
- sink, 0, flags);
198
+ ret = media_create_pad_link(source, RKISPP_PAD_SOURCE, sink, 0, flags);
211199 if (ret < 0)
212200 return ret;
213201
214202 stream = &stream_vdev->stream[STREAM_VIR];
215203 stream->linked = flags;
216204 sink = &stream->vnode.vdev.entity;
217
- ret = media_create_pad_link(source, RKISPP_PAD_SOURCE,
218
- sink, 0, flags);
205
+ ret = media_create_pad_link(source, RKISPP_PAD_SOURCE, sink, 0, flags);
219206 if (ret < 0)
220207 return ret;
221208
222
- /* default enable */
223
- ispp_dev->stream_vdev.module_ens = ISPP_MODULE_NR | ISPP_MODULE_SHP;
224209 return 0;
225210 }
226211
....@@ -262,6 +247,8 @@
262247 static const struct of_device_id rkispp_plat_of_match[] = {
263248 {
264249 .compatible = "rockchip,rv1126-rkispp-vir",
250
+ }, {
251
+ .compatible = "rockchip,rk3588-rkispp-vir",
265252 },
266253 {},
267254 };
....@@ -408,3 +395,4 @@
408395 MODULE_AUTHOR("Rockchip Camera/ISP team");
409396 MODULE_DESCRIPTION("Rockchip ISPP platform driver");
410397 MODULE_LICENSE("GPL v2");
398
+MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);