| .. | .. |
|---|
| 132 | 132 | stream->linked = true; |
|---|
| 133 | 133 | } |
|---|
| 134 | 134 | 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); |
|---|
| 137 | 136 | if (ret < 0) |
|---|
| 138 | 137 | return ret; |
|---|
| 139 | 138 | |
|---|
| 140 | 139 | /* params links */ |
|---|
| 141 | 140 | 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; |
|---|
| 156 | 141 | 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); |
|---|
| 159 | 143 | if (ret < 0) |
|---|
| 160 | 144 | 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; |
|---|
| 161 | 156 | |
|---|
| 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; |
|---|
| 170 | 167 | |
|---|
| 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; |
|---|
| 178 | 175 | |
|---|
| 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 | + |
|---|
| 180 | 193 | flags = rkispp_stream_sync ? 0 : MEDIA_LNK_FL_ENABLED; |
|---|
| 181 | 194 | stream = &stream_vdev->stream[STREAM_MB]; |
|---|
| 182 | 195 | stream->linked = flags; |
|---|
| 183 | 196 | source = &ispp_dev->ispp_sdev.sd.entity; |
|---|
| 184 | 197 | 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); |
|---|
| 211 | 199 | if (ret < 0) |
|---|
| 212 | 200 | return ret; |
|---|
| 213 | 201 | |
|---|
| 214 | 202 | stream = &stream_vdev->stream[STREAM_VIR]; |
|---|
| 215 | 203 | stream->linked = flags; |
|---|
| 216 | 204 | 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); |
|---|
| 219 | 206 | if (ret < 0) |
|---|
| 220 | 207 | return ret; |
|---|
| 221 | 208 | |
|---|
| 222 | | - /* default enable */ |
|---|
| 223 | | - ispp_dev->stream_vdev.module_ens = ISPP_MODULE_NR | ISPP_MODULE_SHP; |
|---|
| 224 | 209 | return 0; |
|---|
| 225 | 210 | } |
|---|
| 226 | 211 | |
|---|
| .. | .. |
|---|
| 262 | 247 | static const struct of_device_id rkispp_plat_of_match[] = { |
|---|
| 263 | 248 | { |
|---|
| 264 | 249 | .compatible = "rockchip,rv1126-rkispp-vir", |
|---|
| 250 | + }, { |
|---|
| 251 | + .compatible = "rockchip,rk3588-rkispp-vir", |
|---|
| 265 | 252 | }, |
|---|
| 266 | 253 | {}, |
|---|
| 267 | 254 | }; |
|---|
| .. | .. |
|---|
| 408 | 395 | MODULE_AUTHOR("Rockchip Camera/ISP team"); |
|---|
| 409 | 396 | MODULE_DESCRIPTION("Rockchip ISPP platform driver"); |
|---|
| 410 | 397 | MODULE_LICENSE("GPL v2"); |
|---|
| 398 | +MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver); |
|---|