streamsize = ALIGN(streamsize, burstlen);
streamsize >>= ctx->smfc->devdata->burstlenth_bits;
__raw_writel(streamsize, ctx->smfc->reg + REG_MAIN_STREAM_SIZE);
- } else if (smfc_is_capable(ctx->smfc,
- V4L2_CAP_EXYNOS_JPEG_MAX_STREAMSIZE)) {
- u32 maxstreamsize = vb2_plane_size(&vb2buf_jpg->vb2_buf, 0);
-
- maxstreamsize = round_down(maxstreamsize, SMFC_STREAMSIZE_ALIGN);
- if (!IS_ALIGNED(stream_address, 16))
- maxstreamsize +=
- SMFC_EXTRA_STREAMSIZE(stream_address, burstlen);
-
- __raw_writel(maxstreamsize,
- ctx->smfc->reg + REG_MAIN_MAX_STREAM_SIZE);
}
}
#define REG_MAIN_IMAGE_FORMAT 0x040
#define REG_MAIN_STREAM_SIZE 0x044
#define REG_SEC_STREAM_SIZE 0x0BC
-#define REG_MAIN_MAX_STREAM_SIZE 0x06C
#define REG_IP_VERSION_NUMBER 0x064
static const struct smfc_device_data smfc_8890_data = {
.device_caps = V4L2_CAP_EXYNOS_JPEG_B2B_COMPRESSION
| V4L2_CAP_EXYNOS_JPEG_HWFC
- | V4L2_CAP_EXYNOS_JPEG_MAX_STREAMSIZE
| V4L2_CAP_EXYNOS_JPEG_NO_STREAMBASE_ALIGN
| V4L2_CAP_EXYNOS_JPEG_NO_IMAGEBASE_ALIGN
| V4L2_CAP_EXYNOS_JPEG_DECOMPRESSION,