hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/media/platform/exynos4-is/fimc-reg.c
....@@ -1,12 +1,9 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * Register interface file for Samsung Camera Interface (FIMC) driver
34 *
45 * Copyright (C) 2010 - 2013 Samsung Electronics Co., Ltd.
56 * Sylwester Nawrocki <s.nawrocki@samsung.com>
6
- *
7
- * This program is free software; you can redistribute it and/or modify
8
- * it under the terms of the GNU General Public License version 2 as
9
- * published by the Free Software Foundation.
107 */
118
129 #include <linux/delay.h>
....@@ -609,6 +606,11 @@
609606 switch (source->fimc_bus_type) {
610607 case FIMC_BUS_TYPE_ITU_601:
611608 case FIMC_BUS_TYPE_ITU_656:
609
+ if (fimc_fmt_is_user_defined(f->fmt->color)) {
610
+ cfg |= FIMC_REG_CISRCFMT_ITU601_8BIT;
611
+ break;
612
+ }
613
+
612614 for (i = 0; i < ARRAY_SIZE(pix_desc); i++) {
613615 if (vc->ci_fmt.code == pix_desc[i].pixelcode) {
614616 cfg = pix_desc[i].cisrcfmt;
....@@ -710,10 +712,12 @@
710712 case FIMC_BUS_TYPE_ITU_601...FIMC_BUS_TYPE_ITU_656:
711713 if (source->mux_id == 0) /* ITU-A, ITU-B: 0, 1 */
712714 cfg |= FIMC_REG_CIGCTRL_SELCAM_ITU_A;
715
+ if (vid_cap->ci_fmt.code == MEDIA_BUS_FMT_JPEG_1X8)
716
+ cfg |= FIMC_REG_CIGCTRL_CAM_JPEG;
713717 break;
714718 case FIMC_BUS_TYPE_LCD_WRITEBACK_A:
715719 cfg |= FIMC_REG_CIGCTRL_CAMIF_SELWB;
716
- /* fall through */
720
+ fallthrough;
717721 case FIMC_BUS_TYPE_ISP_WRITEBACK:
718722 if (fimc->variant->has_isp_wb)
719723 cfg |= FIMC_REG_CIGCTRL_CAMIF_SELWB;