Lines Matching +full:0 +full:x10100

47 #define JPU_JPEG_HDR_SIZE		(ALIGN(0x258, L1_CACHE_BYTES))
50 #define JPU_JPEG_QTBL_SIZE 0x40
51 #define JPU_JPEG_HDCTBL_SIZE 0x1c
52 #define JPU_JPEG_HACTBL_SIZE 0xb2
53 #define JPU_JPEG_HEIGHT_OFFSET 0x91
54 #define JPU_JPEG_WIDTH_OFFSET 0x93
55 #define JPU_JPEG_SUBS_OFFSET 0x97
56 #define JPU_JPEG_QTBL_LUM_OFFSET 0x07
57 #define JPU_JPEG_QTBL_CHR_OFFSET 0x4c
58 #define JPU_JPEG_HDCTBL_LUM_OFFSET 0xa4
59 #define JPU_JPEG_HACTBL_LUM_OFFSET 0xc5
60 #define JPU_JPEG_HDCTBL_CHR_OFFSET 0x17c
61 #define JPU_JPEG_HACTBL_CHR_OFFSET 0x19d
62 #define JPU_JPEG_PADDING_OFFSET 0x24f
63 #define JPU_JPEG_LUM 0x00
64 #define JPU_JPEG_CHR 0x01
65 #define JPU_JPEG_DC 0x00
66 #define JPU_JPEG_AC 0x10
68 #define JPU_JPEG_422 0x21
69 #define JPU_JPEG_420 0x22
75 #define TEM 0x01
76 #define SOF0 0xc0
77 #define RST 0xd0
78 #define SOI 0xd8
79 #define EOI 0xd9
80 #define DHP 0xde
81 #define DHT 0xc4
82 #define COM 0xfe
83 #define DQT 0xdb
84 #define DRI 0xdd
85 #define APP0 0xe0
97 #define JPU_FMT_TYPE_OUTPUT 0
99 #define JPU_ENC_CAPTURE (1 << 0)
109 #define JCMOD 0x00
112 #define JCMOD_DSP_ENC (0 << 3)
114 #define JCMOD_REDU (7 << 0)
115 #define JCMOD_REDU_422 (1 << 0)
116 #define JCMOD_REDU_420 (2 << 0)
119 #define JCCMD 0x04
122 #define JCCMD_JSRT (1 << 0)
125 #define JCQTN 0x0c
129 #define JCHTN 0x10
133 #define JCVSZU 0x1c /* JPEG code vertical size upper register */
134 #define JCVSZD 0x20 /* JPEG code vertical size lower register */
135 #define JCHSZU 0x24 /* JPEG code horizontal size upper register */
136 #define JCHSZD 0x28 /* JPEG code horizontal size lower register */
137 #define JCSZ_MASK 0xff /* JPEG code h/v size register contains only 1 byte*/
139 #define JCDTCU 0x2c /* JPEG code data count upper register */
140 #define JCDTCM 0x30 /* JPEG code data count middle register */
141 #define JCDTCD 0x34 /* JPEG code data count lower register */
144 #define JINTE 0x38
149 #define JINTS 0x3c
150 #define JINTS_MASK 0x7c68
155 #define JCDERR 0x40 /* JPEG code decode error register */
156 #define JCDERR_MASK 0xf /* JPEG code decode error register mask*/
159 #define JIFECNT 0x70
160 #define JIFECNT_INFT_422 0
164 #define JIFESYA1 0x74 /* encode source Y address register 1 */
165 #define JIFESCA1 0x78 /* encode source C address register 1 */
166 #define JIFESYA2 0x7c /* encode source Y address register 2 */
167 #define JIFESCA2 0x80 /* encode source C address register 2 */
168 #define JIFESMW 0x84 /* encode source memory width register */
169 #define JIFESVSZ 0x88 /* encode source vertical size register */
170 #define JIFESHSZ 0x8c /* encode source horizontal size register */
171 #define JIFEDA1 0x90 /* encode destination address register 1 */
172 #define JIFEDA2 0x94 /* encode destination address register 2 */
175 #define JIFDCNT 0xa0
178 #define JIFDSA1 0xa4 /* decode source address register 1 */
179 #define JIFDDMW 0xb0 /* decode destination memory width register */
180 #define JIFDDVSZ 0xb4 /* decode destination vert. size register */
181 #define JIFDDHSZ 0xb8 /* decode destination horiz. size register */
182 #define JIFDDYA1 0xbc /* decode destination Y address register 1 */
183 #define JIFDDCA1 0xc0 /* decode destination C address register 1 */
185 #define JCQTBL(n) (0x10000 + (n) * 0x40) /* quantization tables regs */
186 #define JCHTBD(n) (0x10100 + (n) * 0x100) /* Huffman table DC regs */
187 #define JCHTBA(n) (0x10120 + (n) * 0x100) /* Huffman table AC regs */
234 * @fourcc: the fourcc code, 0 if not applicable
298 {0, 0}, 0, 0, 0, 1, JPU_ENC_CAPTURE | JPU_DEC_OUTPUT },
304 {16, 0}, 2, 2, JPU_JPEG_422, 1, JPU_ENC_OUTPUT | JPU_DEC_CAPTURE },
306 {12, 0}, 2, 2, JPU_JPEG_420, 1, JPU_ENC_OUTPUT | JPU_DEC_CAPTURE },
310 0x03, 0x02, 0x0b, 0x13, 0x0a, 0x01, 0x00, 0x09,
311 0x12, 0x1b, 0x23, 0x1a, 0x11, 0x08, 0x07, 0x06,
312 0x0f, 0x10, 0x19, 0x22, 0x2b, 0x33, 0x2a, 0x21,
313 0x18, 0x17, 0x0e, 0x05, 0x04, 0x0d, 0x16, 0x1f,
314 0x20, 0x29, 0x32, 0x3b, 0x3a, 0x31, 0x28, 0x27,
315 0x1e, 0x15, 0x0e, 0x14, 0x10, 0x26, 0x2f, 0x30,
316 0x39, 0x38, 0x37, 0x2e, 0x25, 0x1c, 0x24, 0x2b,
317 0x36, 0x3f, 0x3e, 0x35, 0x2c, 0x34, 0x3d, 0x3c
330 * Huffman tables; Padding with 0xff (33.3.27 R01UH0501EJ0100 Rev.1.00)
333 0xff, SOI, 0xff, DQT, 0x00, JPU_JPEG_QTBL_SIZE + 0x3, JPU_JPEG_LUM, \
335 JPU_JPEG_QTBL_LUM_OFFSET + JPU_JPEG_QTBL_SIZE - 1] = 0x00, \
336 0xff, DQT, 0x00, JPU_JPEG_QTBL_SIZE + 0x3, JPU_JPEG_CHR, \
338 JPU_JPEG_QTBL_SIZE - 1] = 0x00, 0xff, SOF0, 0x00, 0x11, 0x08, \
339 [JPU_JPEG_HEIGHT_OFFSET ... JPU_JPEG_HEIGHT_OFFSET + 1] = 0x00, \
340 [JPU_JPEG_WIDTH_OFFSET ... JPU_JPEG_WIDTH_OFFSET + 1] = 0x00, \
341 0x03, 0x01, [JPU_JPEG_SUBS_OFFSET] = 0x00, JPU_JPEG_LUM, \
342 0x02, 0x11, JPU_JPEG_CHR, 0x03, 0x11, JPU_JPEG_CHR, \
343 0xff, DHT, 0x00, JPU_JPEG_HDCTBL_SIZE + 0x3, JPU_JPEG_LUM|JPU_JPEG_DC, \
345 JPU_JPEG_HDCTBL_LUM_OFFSET + JPU_JPEG_HDCTBL_SIZE - 1] = 0x00, \
346 0xff, DHT, 0x00, JPU_JPEG_HACTBL_SIZE + 0x3, JPU_JPEG_LUM|JPU_JPEG_AC, \
348 JPU_JPEG_HACTBL_LUM_OFFSET + JPU_JPEG_HACTBL_SIZE - 1] = 0x00, \
349 0xff, DHT, 0x00, JPU_JPEG_HDCTBL_SIZE + 0x3, JPU_JPEG_CHR|JPU_JPEG_DC, \
351 JPU_JPEG_HDCTBL_CHR_OFFSET + JPU_JPEG_HDCTBL_SIZE - 1] = 0x00, \
352 0xff, DHT, 0x00, JPU_JPEG_HACTBL_SIZE + 0x3, JPU_JPEG_CHR|JPU_JPEG_AC, \
354 JPU_JPEG_HACTBL_CHR_OFFSET + JPU_JPEG_HACTBL_SIZE - 1] = 0x00, \
355 [JPU_JPEG_PADDING_OFFSET ... JPU_JPEG_HDR_SIZE - 1] = 0xff \
359 [0 ... JPU_MAX_QUALITY - 1] = JPU_JPEG_HDR_BLOB
364 0x14101927, 0x322e3e44, 0x10121726, 0x26354144,
365 0x19171f26, 0x35414444, 0x27262635, 0x41444444,
366 0x32263541, 0x44444444, 0x2e354144, 0x44444444,
367 0x3e414444, 0x44444444, 0x44444444, 0x44444444
370 0x100b0b10, 0x171b1f1e, 0x0b0c0c0f, 0x1417171e,
371 0x0b0c0d10, 0x171a232f, 0x100f1017, 0x1a252f40,
372 0x1714171a, 0x27334040, 0x1b171a25, 0x33404040,
373 0x1f17232f, 0x40404040, 0x1e1e2f40, 0x40404040
376 0x0c08080c, 0x11151817, 0x0809090b, 0x0f131217,
377 0x08090a0c, 0x13141b24, 0x0c0b0c15, 0x141c2435,
378 0x110f1314, 0x1e27333b, 0x1513141c, 0x27333b3b,
379 0x18121b24, 0x333b3b3b, 0x17172435, 0x3b3b3b3b
382 0x08060608, 0x0c0e1011, 0x06060608, 0x0a0d0c0f,
383 0x06060708, 0x0d0e1218, 0x0808080e, 0x0d131823,
384 0x0c0a0d0d, 0x141a2227, 0x0e0d0e13, 0x1a222727,
385 0x100c1318, 0x22272727, 0x110f1823, 0x27272727
391 0x15192026, 0x36444444, 0x191c1826, 0x36444444,
392 0x2018202b, 0x42444444, 0x26262b35, 0x44444444,
393 0x36424444, 0x44444444, 0x44444444, 0x44444444,
394 0x44444444, 0x44444444, 0x44444444, 0x44444444
397 0x110f1115, 0x141a2630, 0x0f131211, 0x141a232b,
398 0x11121416, 0x1a1e2e35, 0x1511161c, 0x1e273540,
399 0x14141a1e, 0x27304040, 0x1a1a1e27, 0x303f4040,
400 0x26232e35, 0x40404040, 0x302b3540, 0x40404040
403 0x0d0b0d10, 0x14141d25, 0x0b0e0e0e, 0x10141a20,
404 0x0d0e0f11, 0x14172328, 0x100e1115, 0x171e2832,
405 0x14101417, 0x1e25323b, 0x1414171e, 0x25303b3b,
406 0x1d1a2328, 0x323b3b3b, 0x25202832, 0x3b3b3b3b
409 0x0908090b, 0x0e111318, 0x080a090b, 0x0e0d1116,
410 0x09090d0e, 0x0d0f171a, 0x0b0b0e0e, 0x0f141a21,
411 0x0e0e0d0f, 0x14182127, 0x110d0f14, 0x18202727,
412 0x1311171a, 0x21272727, 0x18161a21, 0x27272727
417 0x00010501, 0x01010101, 0x01000000, 0x00000000,
418 0x00010203, 0x04050607, 0x08090a0b
422 0x00010501, 0x01010101, 0x01000000, 0x00000000,
423 0x00010203, 0x04050607, 0x08090a0b
427 0x00020103, 0x03020403, 0x05050404, 0x0000017d, 0x01020300, 0x04110512,
428 0x21314106, 0x13516107, 0x22711432, 0x8191a108, 0x2342b1c1, 0x1552d1f0,
429 0x24336272, 0x82090a16, 0x1718191a, 0x25262728, 0x292a3435, 0x36373839,
430 0x3a434445, 0x46474849, 0x4a535455, 0x56575859, 0x5a636465, 0x66676869,
431 0x6a737475, 0x76777879, 0x7a838485, 0x86878889, 0x8a929394, 0x95969798,
432 0x999aa2a3, 0xa4a5a6a7, 0xa8a9aab2, 0xb3b4b5b6, 0xb7b8b9ba, 0xc2c3c4c5,
433 0xc6c7c8c9, 0xcad2d3d4, 0xd5d6d7d8, 0xd9dae1e2, 0xe3e4e5e6, 0xe7e8e9ea,
434 0xf1f2f3f4, 0xf5f6f7f8, 0xf9fa0000
438 0x00020103, 0x03020403, 0x05050404, 0x0000017d, 0x01020300, 0x04110512,
439 0x21314106, 0x13516107, 0x22711432, 0x8191a108, 0x2342b1c1, 0x1552d1f0,
440 0x24336272, 0x82090a16, 0x1718191a, 0x25262728, 0x292a3435, 0x36373839,
441 0x3a434445, 0x46474849, 0x4a535455, 0x56575859, 0x5a636465, 0x66676869,
442 0x6a737475, 0x76777879, 0x7a838485, 0x86878889, 0x8a929394, 0x95969798,
443 0x999aa2a3, 0xa4a5a6a7, 0xa8a9aab2, 0xb3b4b5b6, 0xb7b8b9ba, 0xc2c3c4c5,
444 0xc6c7c8c9, 0xcad2d3d4, 0xd5d6d7d8, 0xd9dae1e2, 0xe3e4e5e6, 0xe7e8e9ea,
445 0xf1f2f3f4, 0xf5f6f7f8, 0xf9fa0000
499 for (i = 0; i < len; i++) in jpu_set_tbl()
505 jpu_set_tbl(jpu, JCQTBL(0), qtbl_lum[quality], QTBL_SIZE); in jpu_set_qtbl()
511 jpu_set_tbl(jpu, JCHTBD(0), hdctbl_lum, HDCTBL_SIZE); in jpu_set_htbl()
512 jpu_set_tbl(jpu, JCHTBA(0), hactbl_lum, HACTBL_SIZE); in jpu_set_htbl()
531 return 0; in jpu_wait_reset()
549 for (i = 0; i < ARRAY_SIZE(zigzag); i++) in put_qtbl()
557 for (i = 0; i < len; i += 4) in put_htbl()
558 for (j = 0; j < 4 && (i + j) < len; ++j) in put_htbl()
594 return 0; in get_word_be()
617 return 0; in jpu_parse_hdr()
625 while (c == 0xff || c == 0); in jpu_parse_hdr()
631 return 0; in jpu_parse_hdr()
639 return 0; in jpu_parse_hdr()
647 case APP0 ... APP0 + 0x0f: in jpu_parse_hdr()
649 return 0; in jpu_parse_hdr()
651 case 0: in jpu_parse_hdr()
654 return 0; in jpu_parse_hdr()
658 return 0; in jpu_parse_hdr()
674 memset(cap->reserved, 0, sizeof(cap->reserved)); in jpu_querycap()
676 return 0; in jpu_querycap()
691 for (i = 0; i < ARRAY_SIZE(jpu_formats); i++) { in jpu_find_format()
703 unsigned int i, num = 0; in jpu_enum_fmt()
705 for (i = 0; i < ARRAY_SIZE(jpu_formats); ++i) { in jpu_enum_fmt()
718 return 0; in jpu_enum_fmt()
796 memset(pix->reserved, 0, sizeof(pix->reserved)); in __jpu_try_fmt()
807 if (pix->plane_fmt[0].sizeimage <= 0 || ctx->encoder) in __jpu_try_fmt()
808 pix->plane_fmt[0].sizeimage = JPU_JPEG_HDR_SIZE + in __jpu_try_fmt()
810 pix->plane_fmt[0].bytesperline = 0; in __jpu_try_fmt()
811 memset(pix->plane_fmt[0].reserved, 0, in __jpu_try_fmt()
812 sizeof(pix->plane_fmt[0].reserved)); in __jpu_try_fmt()
814 unsigned int i, bpl = 0; in __jpu_try_fmt()
816 for (i = 0; i < pix->num_planes; ++i) in __jpu_try_fmt()
822 for (i = 0; i < pix->num_planes; ++i) { in __jpu_try_fmt()
825 memset(pix->plane_fmt[i].reserved, 0, in __jpu_try_fmt()
833 return 0; in __jpu_try_fmt()
865 if (ret < 0) in jpu_s_fmt()
873 return 0; in jpu_s_fmt()
887 return 0; in jpu_g_fmt()
903 return 0; in jpu_s_ctrl()
981 0, JPU_MAX_QUALITY - 1, 1, 0); in jpu_controls_create()
993 if (ret < 0) in jpu_controls_create()
996 return 0; in jpu_controls_create()
1022 for (i = 0; i < *nplanes; i++) { in jpu_queue_setup()
1028 return 0; in jpu_queue_setup()
1033 for (i = 0; i < *nplanes; i++) in jpu_queue_setup()
1036 return 0; in jpu_queue_setup()
1058 for (i = 0; i < q_data->format.num_planes; i++) { in jpu_buf_prepare()
1073 return 0; in jpu_buf_prepare()
1084 void *buffer = vb2_plane_vaddr(vb, 0); in jpu_buf_queue()
1085 unsigned long buf_size = vb2_get_plane_payload(vb, 0); in jpu_buf_queue()
1141 buffer = vb2_plane_vaddr(vb, 0); in jpu_buf_finish()
1156 q_data->sequence = 0; in jpu_start_streaming()
1157 return 0; in jpu_start_streaming()
1196 memset(src_vq, 0, sizeof(*src_vq)); in jpu_queue_init()
1211 memset(dst_vq, 0, sizeof(*dst_vq)); in jpu_queue_init()
1261 if (ret < 0) in jpu_open()
1269 if (jpu->ref_count == 0) { in jpu_open()
1271 if (ret < 0) in jpu_open()
1282 return 0; in jpu_open()
1307 if (--jpu->ref_count == 0) in jpu_release()
1311 return 0; in jpu_release()
1385 bpl = q_data->format.plane_fmt[0].bytesperline; in jpu_device_run()
1393 dst_addr = vb2_dma_contig_plane_dma_addr(&dst_buf->vb2_buf, 0); in jpu_device_run()
1395 vb2_dma_contig_plane_dma_addr(&src_buf->vb2_buf, 0); in jpu_device_run()
1438 jpu_write(jpu, 0 << JCQTN_SHIFT(1) | 1 << JCQTN_SHIFT(2) | in jpu_device_run()
1441 jpu_write(jpu, 0 << JCHTN_AC_SHIFT(1) | 0 << JCHTN_DC_SHIFT(1) | in jpu_device_run()
1459 src_addr = vb2_dma_contig_plane_dma_addr(&src_buf->vb2_buf, 0); in jpu_device_run()
1461 vb2_dma_contig_plane_dma_addr(&dst_buf->vb2_buf, 0); in jpu_device_run()
1539 vb2_set_plane_payload(&dst_buf->vb2_buf, 0, in jpu_irq_handler()
1610 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); in jpu_probe()
1616 jpu->irq = ret = platform_get_irq(pdev, 0); in jpu_probe()
1617 if (ret < 0) { in jpu_probe()
1622 ret = devm_request_irq(&pdev->dev, jpu->irq, jpu_irq_handler, 0, in jpu_probe()
1652 for (i = 0; i < JPU_MAX_QUALITY; i++) in jpu_probe()
1699 return 0; in jpu_probe()
1722 return 0; in jpu_remove()
1730 if (jpu->ref_count == 0) in jpu_suspend()
1731 return 0; in jpu_suspend()
1735 return 0; in jpu_suspend()
1742 if (jpu->ref_count == 0) in jpu_resume()
1743 return 0; in jpu_resume()
1747 return 0; in jpu_resume()