Merge tag 'media/v4.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: - videobuf2 was moved to a media/common dir, as it is now used by the DVB subsystem too - Digital TV core memory mapped support interface - new sensor driver: ov7740 - several improvements at ddbridge driver - new V4L2 driver: IPU3 CIO2 CSI-2 receiver unit, found on some Intel SoCs - new tuner driver: tda18250 - finally got rid of all LIRC staging drivers - as we don't have old lirc drivers anymore, restruct the lirc device code - add support for UVC metadata - add a new staging driver for NVIDIA Tegra Video Decoder Engine - DVB kAPI headers moved to include/media - synchronize the kAPI and uAPI for the DVB subsystem, removing the gap for non-legacy APIs - reduce the kAPI gap for V4L2 - lots of other driver enhancements, cleanups, etc. * tag 'media/v4.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (407 commits) media: v4l2-compat-ioctl32.c: make ctrl_is_pointer work for subdevs media: v4l2-compat-ioctl32.c: refactor compat ioctl32 logic media: v4l2-compat-ioctl32.c: don't copy back the result for certain errors media: v4l2-compat-ioctl32.c: drop pr_info for unknown buffer type media: v4l2-compat-ioctl32.c: copy clip list in put_v4l2_window32 media: v4l2-compat-ioctl32.c: fix ctrl_is_pointer media: v4l2-compat-ioctl32.c: copy m.userptr in put_v4l2_plane32 media: v4l2-compat-ioctl32.c: avoid sizeof(type) media: v4l2-compat-ioctl32.c: move 'helper' functions to __get/put_v4l2_format32 media: v4l2-compat-ioctl32.c: fix the indentation media: v4l2-compat-ioctl32.c: add missing VIDIOC_PREPARE_BUF media: v4l2-ioctl.c: don't copy back the result for -ENOTTY media: v4l2-ioctl.c: use check_fmt for enum/g/s/try_fmt media: vivid: fix module load error when enabling fb and no_error_inj=1 media: dvb_demux: improve debug messages media: dvb_demux: Better handle discontinuity errors media: cxusb, dib0700: ignore XC2028_I2C_FLUSH media: ts2020: avoid integer overflows on 32 bit machines media: i2c: ov7740: use gpio/consumer.h instead of gpio.h media: entity: Add a nop variant of media_entity_cleanup ...
This commit is contained in:
@@ -20,10 +20,10 @@
|
||||
* pre-process the Bayer RGB data, before writing it to SDRAM.
|
||||
*
|
||||
* TODO: 1) Raw bayer parameter settings and bayer capture
|
||||
* 2) Split module parameter structure to module specific ioctl structs
|
||||
* 2) Split module parameter structure to module specific ioctl structs
|
||||
* 3) add support for lense shading correction
|
||||
* 4) investigate if enum used for user space type definition
|
||||
* to be replaced by #defines or integer
|
||||
* to be replaced by #defines or integer
|
||||
*/
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/uaccess.h>
|
||||
|
@@ -107,7 +107,7 @@
|
||||
#define CCDC_RAW_IP_MODE 0
|
||||
#define CCDC_VDHDOUT_INPUT 0
|
||||
#define CCDC_YCINSWP_RAW (0 << 4)
|
||||
#define CCDC_EXWEN_DISABLE 0
|
||||
#define CCDC_EXWEN_DISABLE 0
|
||||
#define CCDC_DATAPOL_NORMAL 0
|
||||
#define CCDC_CCDCFG_FIDMD_LATCH_VSYNC 0
|
||||
#define CCDC_CCDCFG_FIDMD_NO_LATCH_VSYNC (1 << 6)
|
||||
@@ -152,7 +152,7 @@
|
||||
#define CCDC_ALAW_GAMMA_WD_MASK 7
|
||||
#define CCDC_REC656IF_BT656_EN 3
|
||||
|
||||
#define CCDC_FMTCFG_FMTMODE_MASK 3
|
||||
#define CCDC_FMTCFG_FMTMODE_MASK 3
|
||||
#define CCDC_FMTCFG_FMTMODE_SHIFT 1
|
||||
#define CCDC_FMTCFG_LNUM_MASK 3
|
||||
#define CCDC_FMTCFG_LNUM_SHIFT 4
|
||||
@@ -196,7 +196,7 @@
|
||||
#define CCDC_LATCH_ON_VSYNC_DISABLE (1 << 15)
|
||||
#define CCDC_LATCH_ON_VSYNC_ENABLE (0 << 15)
|
||||
#define CCDC_FPC_ENABLE (1 << 15)
|
||||
#define CCDC_FPC_FPC_NUM_MASK 0x7FFF
|
||||
#define CCDC_FPC_FPC_NUM_MASK 0x7FFF
|
||||
#define CCDC_DATA_PACK_ENABLE (1 << 11)
|
||||
#define CCDC_FMT_HORZ_FMTLNH_MASK 0x1FFF
|
||||
#define CCDC_FMT_HORZ_FMTSPH_MASK 0x1FFF
|
||||
|
@@ -22,9 +22,9 @@
|
||||
* may be supported using the same module.
|
||||
*
|
||||
* TODO: Test Raw bayer parameter settings and bayer capture
|
||||
* Split module parameter structure to module specific ioctl structs
|
||||
* investigate if enum used for user space type definition
|
||||
* to be replaced by #defines or integer
|
||||
* Split module parameter structure to module specific ioctl structs
|
||||
* investigate if enum used for user space type definition
|
||||
* to be replaced by #defines or integer
|
||||
*/
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/uaccess.h>
|
||||
|
@@ -97,7 +97,7 @@
|
||||
#define CCDC_LATCH_ON_VSYNC_DISABLE (1 << 15)
|
||||
#define CCDC_FPC_ENABLE (1 << 15)
|
||||
#define CCDC_FPC_DISABLE 0
|
||||
#define CCDC_FPC_FPC_NUM_MASK 0x7FFF
|
||||
#define CCDC_FPC_FPC_NUM_MASK 0x7FFF
|
||||
#define CCDC_DATA_PACK_ENABLE (1 << 11)
|
||||
#define CCDC_FMTCFG_VPIN_MASK 7
|
||||
#define CCDC_FMTCFG_VPIN_SHIFT 12
|
||||
@@ -143,7 +143,7 @@
|
||||
#define CCDC_REC656IF_BT656_EN 3
|
||||
#define CCDC_SYN_MODE_VD_POL_NEGATIVE (1 << 2)
|
||||
#define CCDC_CCDCFG_Y8POS_SHIFT 11
|
||||
#define CCDC_CCDCFG_BW656_10BIT (1 << 5)
|
||||
#define CCDC_CCDCFG_BW656_10BIT (1 << 5)
|
||||
#define CCDC_SDOFST_FIELD_INTERLEAVED 0x249
|
||||
#define CCDC_NO_CULLING 0xffff00ff
|
||||
#endif
|
||||
|
@@ -35,7 +35,7 @@
|
||||
#define LINCFG0 0x44
|
||||
#define LINCFG1 0x48
|
||||
#define CCOLP 0x4c
|
||||
#define CRGAIN 0x50
|
||||
#define CRGAIN 0x50
|
||||
#define CGRGAIN 0x54
|
||||
#define CGBGAIN 0x58
|
||||
#define CBGAIN 0x5c
|
||||
@@ -46,7 +46,7 @@
|
||||
#define VDINT0 0x70
|
||||
#define VDINT1 0x74
|
||||
#define VDINT2 0x78
|
||||
#define MISC 0x7c
|
||||
#define MISC 0x7c
|
||||
#define CGAMMAWD 0x80
|
||||
#define REC656IF 0x84
|
||||
#define CCDCFG 0x88
|
||||
@@ -191,7 +191,7 @@
|
||||
#define ISIF_VD_POL_SHIFT 2
|
||||
#define ISIF_DATAPOL_NORMAL 0
|
||||
#define ISIF_DATAPOL_SHIFT 6
|
||||
#define ISIF_EXWEN_DISABLE 0
|
||||
#define ISIF_EXWEN_DISABLE 0
|
||||
#define ISIF_EXWEN_SHIFT 5
|
||||
#define ISIF_FRM_FMT_SHIFT 7
|
||||
#define ISIF_DATASFT_SHIFT 8
|
||||
|
@@ -26,8 +26,8 @@
|
||||
*
|
||||
*
|
||||
* decoder(TVP5146/ YUV/
|
||||
* MT9T001) --> Raw Bayer RGB ---> MUX -> VPFE (CCDC/ISIF)
|
||||
* data input | |
|
||||
* MT9T001) --> Raw Bayer RGB ---> MUX -> VPFE (CCDC/ISIF)
|
||||
* data input | |
|
||||
* V |
|
||||
* SDRAM |
|
||||
* V
|
||||
@@ -47,7 +47,7 @@
|
||||
* block such as IPIPE (on DM355 only).
|
||||
*
|
||||
* Features supported
|
||||
* - MMAP IO
|
||||
* - MMAP IO
|
||||
* - Capture using TVP5146 over BT.656
|
||||
* - support for interfacing decoders using sub device model
|
||||
* - Work with DM355 or DM6446 CCDC to do Raw Bayer RGB/YUV
|
||||
@@ -1794,7 +1794,7 @@ static int vpfe_probe(struct platform_device *pdev)
|
||||
vfd->fops = &vpfe_fops;
|
||||
vfd->ioctl_ops = &vpfe_ioctl_ops;
|
||||
vfd->tvnorms = 0;
|
||||
vfd->v4l2_dev = &vpfe_dev->v4l2_dev;
|
||||
vfd->v4l2_dev = &vpfe_dev->v4l2_dev;
|
||||
snprintf(vfd->name, sizeof(vfd->name),
|
||||
"%s_V%d.%d.%d",
|
||||
CAPTURE_DRV_NAME,
|
||||
|
@@ -226,11 +226,11 @@ static inline void vpif_clr_bit(u32 reg, u32 bit)
|
||||
(VPIF_INT_BOTH << VPIF_CH1_INT_CTRL_SHIFT)), VPIF_CH1_CTRL))
|
||||
|
||||
/* enabled interrupt on both the fields on vpid_ch0_ctrl register */
|
||||
#define channel2_intr_assert() (regw((regr(VPIF_CH2_CTRL)|\
|
||||
#define channel2_intr_assert() (regw((regr(VPIF_CH2_CTRL)|\
|
||||
(VPIF_INT_BOTH << VPIF_CH2_INT_CTRL_SHIFT)), VPIF_CH2_CTRL))
|
||||
|
||||
/* enabled interrupt on both the fields on vpid_ch1_ctrl register */
|
||||
#define channel3_intr_assert() (regw((regr(VPIF_CH3_CTRL)|\
|
||||
#define channel3_intr_assert() (regw((regr(VPIF_CH3_CTRL)|\
|
||||
(VPIF_INT_BOTH << VPIF_CH3_INT_CTRL_SHIFT)), VPIF_CH3_CTRL))
|
||||
|
||||
#define VPIF_CH_FID_MASK (0x20)
|
||||
|
@@ -1390,16 +1390,16 @@ static int vpif_async_bound(struct v4l2_async_notifier *notifier,
|
||||
|
||||
for (i = 0; i < vpif_obj.config->asd_sizes[0]; i++) {
|
||||
struct v4l2_async_subdev *_asd = vpif_obj.config->asd[i];
|
||||
const struct fwnode_handle *fwnode = _asd->match.fwnode.fwnode;
|
||||
const struct fwnode_handle *fwnode = _asd->match.fwnode;
|
||||
|
||||
if (fwnode == subdev->fwnode) {
|
||||
vpif_obj.sd[i] = subdev;
|
||||
vpif_obj.config->chan_config->inputs[i].subdev_name =
|
||||
(char *)to_of_node(subdev->fwnode)->full_name;
|
||||
vpif_dbg(2, debug,
|
||||
"%s: setting input %d subdev_name = %pOF\n",
|
||||
"%s: setting input %d subdev_name = %s\n",
|
||||
__func__, i,
|
||||
to_of_node(subdev->fwnode));
|
||||
vpif_obj.config->chan_config->inputs[i].subdev_name);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -1550,6 +1550,8 @@ vpif_capture_get_pdata(struct platform_device *pdev)
|
||||
sizeof(*chan->inputs) *
|
||||
VPIF_CAPTURE_NUM_CHANNELS,
|
||||
GFP_KERNEL);
|
||||
if (!chan->inputs)
|
||||
return NULL;
|
||||
|
||||
chan->input_count++;
|
||||
chan->inputs[i].input.type = V4L2_INPUT_TYPE_CAMERA;
|
||||
@@ -1593,7 +1595,7 @@ vpif_capture_get_pdata(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
pdata->asd[i]->match_type = V4L2_ASYNC_MATCH_FWNODE;
|
||||
pdata->asd[i]->match.fwnode.fwnode = of_fwnode_handle(rem);
|
||||
pdata->asd[i]->match.fwnode = of_fwnode_handle(rem);
|
||||
of_node_put(rem);
|
||||
}
|
||||
|
||||
|
@@ -59,9 +59,9 @@ MODULE_AUTHOR("Texas Instruments");
|
||||
#define DM365_ISP5_INTSEL1 0x10
|
||||
#define DM365_ISP5_INTSEL2 0x14
|
||||
#define DM365_ISP5_INTSEL3 0x18
|
||||
#define DM365_ISP5_CCDCMUX 0x20
|
||||
#define DM365_ISP5_PG_FRAME_SIZE 0x28
|
||||
#define DM365_VPBE_CLK_CTRL 0x00
|
||||
#define DM365_ISP5_CCDCMUX 0x20
|
||||
#define DM365_ISP5_PG_FRAME_SIZE 0x28
|
||||
#define DM365_VPBE_CLK_CTRL 0x00
|
||||
|
||||
#define VPSS_CLK_CTRL 0x01c40044
|
||||
#define VPSS_CLK_CTRL_VENCCLKEN BIT(3)
|
||||
@@ -78,8 +78,8 @@ MODULE_AUTHOR("Texas Instruments");
|
||||
#define DM365_ISP5_INTSEL3_DEFAULT 0x00000015
|
||||
|
||||
/* masks and shifts for DM365*/
|
||||
#define DM365_CCDC_PG_VD_POL_SHIFT 0
|
||||
#define DM365_CCDC_PG_HD_POL_SHIFT 1
|
||||
#define DM365_CCDC_PG_VD_POL_SHIFT 0
|
||||
#define DM365_CCDC_PG_HD_POL_SHIFT 1
|
||||
|
||||
#define CCD_SRC_SEL_MASK (BIT_MASK(5) | BIT_MASK(4))
|
||||
#define CCD_SRC_SEL_SHIFT 4
|
||||
|
Reference in New Issue
Block a user