/Linux-v6.6/drivers/media/platform/mediatek/jpeg/ |
D | mtk_jpeg_core.c | 136 struct mtk_jpeg_dev *jpeg = video_drvdata(file); in mtk_jpeg_querycap() local 138 strscpy(cap->driver, jpeg->variant->dev_name, sizeof(cap->driver)); in mtk_jpeg_querycap() 139 strscpy(cap->card, jpeg->variant->dev_name, sizeof(cap->card)); in mtk_jpeg_querycap() 216 struct mtk_jpeg_dev *jpeg = ctx->jpeg; in mtk_jpeg_enum_fmt_vid_cap() local 218 return mtk_jpeg_enum_fmt(jpeg->variant->formats, in mtk_jpeg_enum_fmt_vid_cap() 219 jpeg->variant->num_formats, f, in mtk_jpeg_enum_fmt_vid_cap() 227 struct mtk_jpeg_dev *jpeg = ctx->jpeg; in mtk_jpeg_enum_fmt_vid_out() local 229 return mtk_jpeg_enum_fmt(jpeg->variant->formats, in mtk_jpeg_enum_fmt_vid_out() 230 jpeg->variant->num_formats, f, in mtk_jpeg_enum_fmt_vid_out() 309 struct mtk_jpeg_dev *jpeg = ctx->jpeg; in mtk_jpeg_g_fmt_vid_mplane() local [all …]
|
D | mtk_jpeg_core.h | 21 #define MTK_JPEG_NAME "mtk-jpeg" 50 * struct mtk_jpeg_variant - mtk jpeg driver variant 53 * @formats: jpeg driver's internal color format 55 * @qops: the callback of jpeg vb2_ops 56 * @irq_handler: jpeg irq handler callback 57 * @hw_reset: jpeg hardware reset callback 58 * @m2m_ops: the callback of jpeg v4l2_m2m_ops 59 * @dev_name: jpeg device name 60 * @ioctl_ops: the callback of jpeg v4l2_ioctl_ops 63 * @multi_core: mark jpeg hw is multi_core or not [all …]
|
D | mtk_jpeg_enc_hw.c | 186 static void mtk_jpegenc_put_buf(struct mtk_jpegenc_comp_dev *jpeg) in mtk_jpegenc_put_buf() argument 195 ctx = jpeg->hw_param.curr_ctx; in mtk_jpegenc_put_buf() 197 dev_err(jpeg->dev, "comp_jpeg ctx fail !!!\n"); in mtk_jpegenc_put_buf() 201 dst_buffer = jpeg->hw_param.dst_buffer; in mtk_jpegenc_put_buf() 203 dev_err(jpeg->dev, "comp_jpeg dst_buffer fail !!!\n"); in mtk_jpegenc_put_buf() 263 struct mtk_jpegenc_comp_dev *jpeg = priv; in mtk_jpegenc_hw_irq_handler() local 264 struct mtk_jpeg_dev *master_jpeg = jpeg->master_dev; in mtk_jpegenc_hw_irq_handler() 266 cancel_delayed_work(&jpeg->job_timeout_work); in mtk_jpegenc_hw_irq_handler() 268 ctx = jpeg->hw_param.curr_ctx; in mtk_jpegenc_hw_irq_handler() 269 src_buf = jpeg->hw_param.src_buffer; in mtk_jpegenc_hw_irq_handler() [all …]
|
D | mtk_jpeg_dec_hw.c | 53 pr_err("mtk-jpeg: write reg %x without %d align\n", reg, align); in mtk_jpeg_verify_align() 444 static void mtk_jpegdec_put_buf(struct mtk_jpegdec_comp_dev *jpeg) in mtk_jpegdec_put_buf() argument 453 ctx = jpeg->hw_param.curr_ctx; in mtk_jpegdec_put_buf() 455 dev_err(jpeg->dev, "comp_jpeg ctx fail !!!\n"); in mtk_jpegdec_put_buf() 459 dst_buffer = jpeg->hw_param.dst_buffer; in mtk_jpegdec_put_buf() 461 dev_err(jpeg->dev, "comp_jpeg dst_buffer fail !!!\n"); in mtk_jpegdec_put_buf() 520 struct mtk_jpegdec_comp_dev *jpeg = priv; in mtk_jpegdec_hw_irq_handler() local 521 struct mtk_jpeg_dev *master_jpeg = jpeg->master_dev; in mtk_jpegdec_hw_irq_handler() 523 cancel_delayed_work(&jpeg->job_timeout_work); in mtk_jpegdec_hw_irq_handler() 525 ctx = jpeg->hw_param.curr_ctx; in mtk_jpegdec_hw_irq_handler() [all …]
|
/Linux-v6.6/drivers/gpu/drm/amd/amdgpu/ |
D | jpeg_v2_5.c | 63 adev->jpeg.num_jpeg_rings = 1; in jpeg_v2_5_early_init() 64 adev->jpeg.num_jpeg_inst = JPEG25_MAX_HW_INSTANCES_ARCTURUS; in jpeg_v2_5_early_init() 65 for (i = 0; i < adev->jpeg.num_jpeg_inst; i++) { in jpeg_v2_5_early_init() 66 harvest = RREG32_SOC15(JPEG, i, mmCC_UVD_HARVESTING); in jpeg_v2_5_early_init() 68 adev->jpeg.harvest_config |= 1 << i; in jpeg_v2_5_early_init() 70 if (adev->jpeg.harvest_config == (AMDGPU_JPEG_HARVEST_JPEG0 | in jpeg_v2_5_early_init() 82 * jpeg_v2_5_sw_init - sw init for JPEG block 94 for (i = 0; i < adev->jpeg.num_jpeg_inst; ++i) { in jpeg_v2_5_sw_init() 95 if (adev->jpeg.harvest_config & (1 << i)) in jpeg_v2_5_sw_init() 98 /* JPEG TRAP */ in jpeg_v2_5_sw_init() [all …]
|
D | jpeg_v3_0.c | 60 harvest = RREG32_SOC15(JPEG, 0, mmCC_UVD_HARVESTING); in jpeg_v3_0_early_init() 66 adev->jpeg.num_jpeg_inst = 1; in jpeg_v3_0_early_init() 67 adev->jpeg.num_jpeg_rings = 1; in jpeg_v3_0_early_init() 76 * jpeg_v3_0_sw_init - sw init for JPEG block 88 /* JPEG TRAP */ in jpeg_v3_0_sw_init() 90 VCN_2_0__SRCID__JPEG_DECODE, &adev->jpeg.inst->irq); in jpeg_v3_0_sw_init() 102 ring = adev->jpeg.inst->ring_dec; in jpeg_v3_0_sw_init() 107 r = amdgpu_ring_init(adev, ring, 512, &adev->jpeg.inst->irq, 0, in jpeg_v3_0_sw_init() 112 adev->jpeg.internal.jpeg_pitch[0] = mmUVD_JPEG_PITCH_INTERNAL_OFFSET; in jpeg_v3_0_sw_init() 113 adev->jpeg.inst->external.jpeg_pitch[0] = SOC15_REG_OFFSET(JPEG, 0, mmUVD_JPEG_PITCH); in jpeg_v3_0_sw_init() [all …]
|
D | jpeg_v4_0_3.c | 69 adev->jpeg.num_jpeg_rings = AMDGPU_MAX_JPEG_RINGS; in jpeg_v4_0_3_early_init() 79 * jpeg_v4_0_3_sw_init - sw init for JPEG block 91 for (j = 0; j < adev->jpeg.num_jpeg_rings; ++j) { in jpeg_v4_0_3_sw_init() 92 /* JPEG TRAP */ in jpeg_v4_0_3_sw_init() 94 amdgpu_ih_srcid_jpeg[j], &adev->jpeg.inst->irq); in jpeg_v4_0_3_sw_init() 107 for (i = 0; i < adev->jpeg.num_jpeg_inst; ++i) { in jpeg_v4_0_3_sw_init() 108 jpeg_inst = GET_INST(JPEG, i); in jpeg_v4_0_3_sw_init() 110 for (j = 0; j < adev->jpeg.num_jpeg_rings; ++j) { in jpeg_v4_0_3_sw_init() 111 ring = &adev->jpeg.inst[i].ring_dec[j]; in jpeg_v4_0_3_sw_init() 113 ring->vm_hub = AMDGPU_MMHUB0(adev->jpeg.inst[i].aid_id); in jpeg_v4_0_3_sw_init() [all …]
|
D | jpeg_v4_0.c | 60 adev->jpeg.num_jpeg_inst = 1; in jpeg_v4_0_early_init() 61 adev->jpeg.num_jpeg_rings = 1; in jpeg_v4_0_early_init() 71 * jpeg_v4_0_sw_init - sw init for JPEG block 83 /* JPEG TRAP */ in jpeg_v4_0_sw_init() 85 VCN_4_0__SRCID__JPEG_DECODE, &adev->jpeg.inst->irq); in jpeg_v4_0_sw_init() 89 /* JPEG DJPEG POISON EVENT */ in jpeg_v4_0_sw_init() 91 VCN_4_0__SRCID_DJPEG0_POISON, &adev->jpeg.inst->ras_poison_irq); in jpeg_v4_0_sw_init() 95 /* JPEG EJPEG POISON EVENT */ in jpeg_v4_0_sw_init() 97 VCN_4_0__SRCID_EJPEG0_POISON, &adev->jpeg.inst->ras_poison_irq); in jpeg_v4_0_sw_init() 109 ring = adev->jpeg.inst->ring_dec; in jpeg_v4_0_sw_init() [all …]
|
D | jpeg_v1_0.c | 41 …ring->ring[(*ptr)++] = PACKETJ(SOC15_REG_OFFSET(JPEG, 0, mmUVD_JRBC_EXTERNAL_REG_BASE), 0, 0, PACK… in jpeg_v1_0_decode_ring_patch_wreg() 60 reg = SOC15_REG_OFFSET(JPEG, 0, mmUVD_LMI_JRBC_RB_MEM_RD_64BIT_BAR_LOW); in jpeg_v1_0_decode_ring_set_patch_ring() 66 reg = SOC15_REG_OFFSET(JPEG, 0, mmUVD_LMI_JRBC_RB_MEM_RD_64BIT_BAR_HIGH); in jpeg_v1_0_decode_ring_set_patch_ring() 78 reg = SOC15_REG_OFFSET(JPEG, 0, mmUVD_JRBC_RB_CNTL); in jpeg_v1_0_decode_ring_set_patch_ring() 84 reg = SOC15_REG_OFFSET(JPEG, 0, mmUVD_JRBC_RB_REF_DATA); in jpeg_v1_0_decode_ring_set_patch_ring() 90 reg = SOC15_REG_OFFSET(JPEG, 0, mmUVD_JRBC_RB_CNTL); in jpeg_v1_0_decode_ring_set_patch_ring() 95 …ring->ring[ptr++] = PACKETJ(SOC15_REG_OFFSET(JPEG, 0, mmUVD_JRBC_RB_COND_RD_TIMER), 0, 0, PACKETJ_… in jpeg_v1_0_decode_ring_set_patch_ring() 97 …ring->ring[ptr++] = PACKETJ(SOC15_REG_OFFSET(JPEG, 0, mmUVD_JRBC_RB_REF_DATA), 0, 0, PACKETJ_TYPE0… in jpeg_v1_0_decode_ring_set_patch_ring() 99 …ring->ring[ptr++] = PACKETJ(SOC15_REG_OFFSET(JPEG, 0, mmUVD_JRBC_EXTERNAL_REG_BASE), 0, 0, PACKETJ… in jpeg_v1_0_decode_ring_set_patch_ring() 117 reg = SOC15_REG_OFFSET(JPEG, 0, mmUVD_JRBC_RB_RPTR); in jpeg_v1_0_decode_ring_set_patch_ring() [all …]
|
D | jpeg_v2_0.c | 51 adev->jpeg.num_jpeg_inst = 1; in jpeg_v2_0_early_init() 52 adev->jpeg.num_jpeg_rings = 1; in jpeg_v2_0_early_init() 61 * jpeg_v2_0_sw_init - sw init for JPEG block 73 /* JPEG TRAP */ in jpeg_v2_0_sw_init() 75 VCN_2_0__SRCID__JPEG_DECODE, &adev->jpeg.inst->irq); in jpeg_v2_0_sw_init() 87 ring = adev->jpeg.inst->ring_dec; in jpeg_v2_0_sw_init() 92 r = amdgpu_ring_init(adev, ring, 512, &adev->jpeg.inst->irq, in jpeg_v2_0_sw_init() 97 adev->jpeg.internal.jpeg_pitch[0] = mmUVD_JPEG_PITCH_INTERNAL_OFFSET; in jpeg_v2_0_sw_init() 98 adev->jpeg.inst->external.jpeg_pitch[0] = SOC15_REG_OFFSET(JPEG, 0, mmUVD_JPEG_PITCH); in jpeg_v2_0_sw_init() 104 * jpeg_v2_0_sw_fini - sw fini for JPEG block [all …]
|
D | amdgpu_jpeg.c | 39 INIT_DELAYED_WORK(&adev->jpeg.idle_work, amdgpu_jpeg_idle_work_handler); in amdgpu_jpeg_sw_init() 40 mutex_init(&adev->jpeg.jpeg_pg_lock); in amdgpu_jpeg_sw_init() 41 atomic_set(&adev->jpeg.total_submission_cnt, 0); in amdgpu_jpeg_sw_init() 50 for (i = 0; i < adev->jpeg.num_jpeg_inst; ++i) { in amdgpu_jpeg_sw_fini() 51 if (adev->jpeg.harvest_config & (1 << i)) in amdgpu_jpeg_sw_fini() 54 for (j = 0; j < adev->jpeg.num_jpeg_rings; ++j) in amdgpu_jpeg_sw_fini() 55 amdgpu_ring_fini(&adev->jpeg.inst[i].ring_dec[j]); in amdgpu_jpeg_sw_fini() 58 mutex_destroy(&adev->jpeg.jpeg_pg_lock); in amdgpu_jpeg_sw_fini() 65 cancel_delayed_work_sync(&adev->jpeg.idle_work); in amdgpu_jpeg_suspend() 78 container_of(work, struct amdgpu_device, jpeg.idle_work.work); in amdgpu_jpeg_idle_work_handler() [all …]
|
/Linux-v6.6/drivers/media/platform/samsung/s5p-jpeg/ |
D | jpeg-core.c | 2 /* linux/drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c 31 #include "jpeg-core.h" 32 #include "jpeg-hw-s5p.h" 33 #include "jpeg-hw-exynos4.h" 34 #include "jpeg-hw-exynos3250.h" 35 #include "jpeg-regs.h" 590 switch (ctx->jpeg->variant->version) { in s5p_jpeg_to_user_subsampling() 767 struct s5p_jpeg *jpeg = ctx->jpeg; in exynos4_jpeg_parse_decode_h_tbl() local 796 exynos4_jpeg_select_dec_h_tbl(jpeg->regs, c, in exynos4_jpeg_parse_decode_h_tbl() 804 struct s5p_jpeg *jpeg = ctx->jpeg; in exynos4_jpeg_parse_huff_tbl() local [all …]
|
D | jpeg-regs.h | 2 /* linux/drivers/media/platform/samsung/s5p-jpeg/jpeg-regs.h 4 * Register definition file for Samsung JPEG codec driver 18 /* JPEG mode register */ 29 /* JPEG operation status register */ 45 /* JPEG restart interval register upper byte */ 48 /* JPEG restart interval register lower byte */ 51 /* JPEG vertical resolution register upper byte */ 54 /* JPEG vertical resolution register lower byte */ 57 /* JPEG horizontal resolution register upper byte */ 60 /* JPEG horizontal resolution register lower byte */ [all …]
|
D | jpeg-core.h | 2 /* linux/drivers/media/platform/samsung/s5p-jpeg/jpeg-core.h 14 #include <media/jpeg.h> 19 #define S5P_JPEG_M2M_NAME "s5p-jpeg" 23 /* JPEG compression quality setting */ 27 /* JPEG RGB to YCbCr conversion matrix coefficients */ 95 * struct s5p_jpeg - JPEG IP abstraction 102 * @regs: JPEG IP registers mapping 103 * @irq: JPEG IP irq 104 * @irq_ret: JPEG IP irq result value 105 * @clocks: JPEG IP clock(s) [all …]
|
D | Makefile | 2 s5p-jpeg-objs := jpeg-core.o jpeg-hw-exynos3250.o jpeg-hw-exynos4.o jpeg-hw-s5p.o 3 obj-$(CONFIG_VIDEO_SAMSUNG_S5P_JPEG) += s5p-jpeg.o
|
/Linux-v6.6/Documentation/devicetree/bindings/media/ |
D | samsung,s5pv210-jpeg.yaml | 4 $id: http://devicetree.org/schemas/media/samsung,s5pv210-jpeg.yaml# 7 title: Samsung S5PV210 and Exynos SoC JPEG codec 18 - samsung,s5pv210-jpeg 19 - samsung,exynos3250-jpeg 20 - samsung,exynos4210-jpeg 21 - samsung,exynos4212-jpeg 22 - samsung,exynos5420-jpeg 23 - samsung,exynos5433-jpeg 59 - samsung,s5pv210-jpeg 60 - samsung,exynos4210-jpeg [all …]
|
D | renesas,jpu.yaml | 7 title: Renesas JPEG Processing Unit 13 The JPEG processing unit (JPU) incorporates the JPEG codec with an encoding 14 and decoding function conforming to the JPEG baseline process, so that the 15 JPU can encode image data and decode JPEG data quickly. 58 jpeg-codec@fe980000 {
|
/Linux-v6.6/drivers/media/platform/nxp/imx-jpeg/ |
D | mxc-jpeg.c | 3 * V4L2 driver for the JPEG encoder/decoder from i.MX8QXP/i.MX8QM application 8 * Baseline and extended sequential jpeg decoding is supported. 9 * Progressive jpeg decoding is not supported by the IP. 19 * from the jpeg stream, by parsing the jpeg markers. 32 * but the driver works around this by replacing them in the jpeg stream. 38 * This is inspired by the drivers/media/platform/samsung/s5p-jpeg driver 56 #include <media/v4l2-jpeg.h> 63 #include "mxc-jpeg-hw.h" 64 #include "mxc-jpeg.h" 68 .name = "JPEG", [all …]
|
D | mxc-jpeg.h | 3 * i.MX8QXP/i.MX8QM JPEG encoder/decoder v4l2 driver 15 #define MXC_JPEG_NAME "mxc-jpeg" 32 MXC_JPEG_ENCODING = 0, /* jpeg encode phase */ 33 MXC_JPEG_ENC_CONF = 1, /* jpeg encoder config phase */ 37 MXC_JPEG_DECODE = 0, /* jpeg decode mode */ 38 MXC_JPEG_ENCODE = 1, /* jpeg encode mode */ 45 * @subsampling: subsampling of jpeg components 53 * @precision: jpeg sample precision 139 * struct mxc_jpeg_sof_comp - JPEG Start Of Frame component fields 154 * struct mxc_jpeg_sof - JPEG Start Of Frame marker fields [all …]
|
D | mxc-jpeg-hw.c | 3 * i.MX8QXP/i.MX8QM JPEG encoder/decoder v4l2 driver 10 #include "mxc-jpeg-hw.h" 23 dev_dbg(dev, " MXC JPEG NEXT_DESCPT_PTR 0x%x\n", in print_descriptor_info() 25 dev_dbg(dev, " MXC JPEG BUF_BASE0 0x%x\n", desc->buf_base0); in print_descriptor_info() 26 dev_dbg(dev, " MXC JPEG BUF_BASE1 0x%x\n", desc->buf_base1); in print_descriptor_info() 27 dev_dbg(dev, " MXC JPEG LINE_PITCH %d\n", desc->line_pitch); in print_descriptor_info() 28 dev_dbg(dev, " MXC JPEG STM_BUFBASE 0x%x\n", desc->stm_bufbase); in print_descriptor_info() 29 dev_dbg(dev, " MXC JPEG STM_BUFSIZE %d\n", desc->stm_bufsize); in print_descriptor_info() 30 dev_dbg(dev, " MXC JPEG IMGSIZE %x (%d x %d)\n", desc->imgsize, in print_descriptor_info() 32 dev_dbg(dev, " MXC JPEG STM_CTRL 0x%x\n", desc->stm_ctrl); in print_descriptor_info()
|
D | Makefile | 2 mxc-jpeg-encdec-objs := mxc-jpeg-hw.o mxc-jpeg.o 3 obj-$(CONFIG_VIDEO_IMX8_JPEG) += mxc-jpeg-encdec.o
|
D | mxc-jpeg-hw.h | 3 * i.MX8QXP/i.MX8QM JPEG encoder/decoder v4l2 driver 11 /* JPEG Decoder/Encoder Wrapper Register Map */ 22 /* CAST JPEG-Decoder/Encoder Status Register Map (read-only)*/ 45 /* CAST JPEG-Decoder Control Register Map (write-only) */ 48 /* CAST JPEG-Encoder Control Register Map (write-only) */ 61 /* JPEG-Decoder Wrapper Slot Registers 0..3 */ 98 /* JPEG-Decoder Wrapper - STM_CTRL Register Fields */ 111 #include "mxc-jpeg.h"
|
/Linux-v6.6/Documentation/userspace-api/media/v4l/ |
D | vidioc-g-jpegcomp.rst | 39 :ref:`JPEG class controls <jpeg-controls>` for image quality and JPEG 47 itself, and it'll be stored in the JPEG-encoded fields (eg; interlacing 52 and the restart interval information (all JPEG-specific stuff) should be 53 stored in the JPEG-encoded fields. These define how the JPEG field is 69 :ref:`V4L2_CID_JPEG_COMPRESSION_QUALITY <jpeg-quality-control>` 89 - See :ref:`jpeg-markers`. Deprecated. If 90 :ref:`V4L2_CID_JPEG_ACTIVE_MARKER <jpeg-active-marker-control>` 98 .. flat-table:: JPEG Markers Flags
|
D | ext-ctrls-jpeg.rst | 6 JPEG Control Reference 9 The JPEG class includes controls for common features of JPEG encoders 17 JPEG Control IDs 21 The JPEG class descriptor. Calling 82 Specify which JPEG markers are included in compressed stream. This 104 For more details about JPEG specification, refer to :ref:`itu-t81`, 105 :ref:`jfif`, :ref:`w3c-jpeg-jfif`.
|
D | pixfmt-reserved.rst | 60 - JPEG-Light format (Pegasus Lossless JPEG) used in Divio webcams NW 96 - JPEG compressed RGGB Bayer format used by the gspca driver. 101 - OV511 JPEG format used by the gspca driver. 106 - OV518 JPEG format used by the gspca driver. 111 - Pixart 73xx JPEG format used by the gspca driver. 204 contains interleaved JPEG and UYVY image data, followed by meta 206 actual pointer array follows immediately the interleaved JPEG/UYVY 210 The first plane can start either with JPEG or UYVY data chunk. The 212 multiplied by 2. The size of a JPEG chunk depends on the image and 224 In order to extract UYVY and JPEG frames an application can [all …]
|