mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
media fixes for v4.20-rc8
-----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJcG4weAAoJEAhfPr2O5OEVMu8P/j5a3+qringy/94NgmpHBQop aOACNWTRE746CG8T0yKgHV13iiLTHhlVxrRfhADKomWFit0DOiE2G1QXDsw6jptl gfMKMz3tE7MNOt0E+1tFzkezduJ7TIvFw9rorJ9MuACr9RGc+jMc+8muu1Uhu+fS JArKYrn1xlBEP9k2pcgbxFIjzdRr1jEJ9MCdyxybaU4QWyH4rUq0u+i6RJ2JlLcV urXGeDaNwgq7uTcOdUIwcbB0lKCi3hhkuPyl850IaQHWkR1cIzRoMWk5ilW9YYR3 8zDix9hORmPAdRIwhj0kJElTLZlTzF/u4+1fARmwKJlOYnAfRzSyFhC5P4huvmeA 6KXP1jg3OcyU5mB/Ys0YpZDhUtlhpRmMCMKtZW0x4BPpYTfRkAz6almUM6kIyaKp Dv1cp4UJ8SGpqVxEFBSr6qPsoO0by8jdkgRsupaCn6tAtkG7VXDGR8yhzZB8Leai pdCXP/7Z5t3kWI0XceVlpgOjkC7qLbEQKLDk0dqg0XqFLEuXm7sifLGamGhqubVy BmRPzH9oVISutmM/8DL8MHBkAv5IESF1lwhOzM75LTtA7aDaBuHS6zRhh45VtdJx r8/+R9KEvKdWTFgnRpvaERJk64I0hU44gmPLOtt/kkCfaTOonbhIsZ55uZxKjkqg rHPVHJORalrJGy9Hnhpl =uZDa -----END PGP SIGNATURE----- Merge tag 'media/v4.20-7' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull more media updates from Mauro Carvalho Chehab: "The Intel IPU3 camera driver" * tag 'media/v4.20-7' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (23 commits) media: staging/ipu3-imgu: Add MAINTAINERS entry media: staging/ipu3-imgu: Address documentation comments media: v4l: Add Intel IPU3 meta buffer formats media: doc-rst: Add Intel IPU3 documentation media: ipu3-imgu: Fix firmware binary location media: ipu3-imgu: Fix compiler warnings media: staging/intel-ipu3: Add dual pipe support media: staging/intel-ipu3: Add Intel IPU3 meta data uAPI media: staging/intel-ipu3: Add imgu top level pci device driver media: staging/intel-ipu3: Add v4l2 driver based on media framework media: staging/intel-ipu3: Add css pipeline programming media: staging/intel-ipu3: css: Initialize css hardware media: staging/intel-ipu3: css: Compute and program ccs media: staging/intel-ipu3: css: Add static settings for image pipeline media: staging/intel-ipu3: css: Add support for firmware management media: staging/intel-ipu3: css: Add dma buff pool utility functions media: staging/intel-ipu3: Implement DMA mapping functions media: staging/intel-ipu3: mmu: Implement driver media: staging/intel-ipu3: abi: Add structs media: staging/intel-ipu3: abi: Add register definitions and enum ...
This commit is contained in:
commit
996680d461
40 changed files with 24661 additions and 19 deletions
|
|
@ -709,6 +709,7 @@ int vb2_create_bufs(struct vb2_queue *q, struct v4l2_create_buffers *create)
|
|||
requested_sizes[0] = f->fmt.sdr.buffersize;
|
||||
break;
|
||||
case V4L2_BUF_TYPE_META_CAPTURE:
|
||||
case V4L2_BUF_TYPE_META_OUTPUT:
|
||||
requested_sizes[0] = f->fmt.meta.buffersize;
|
||||
break;
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -323,6 +323,7 @@ static int __get_v4l2_format32(struct v4l2_format __user *p64,
|
|||
return copy_in_user(&p64->fmt.sdr, &p32->fmt.sdr,
|
||||
sizeof(p64->fmt.sdr)) ? -EFAULT : 0;
|
||||
case V4L2_BUF_TYPE_META_CAPTURE:
|
||||
case V4L2_BUF_TYPE_META_OUTPUT:
|
||||
return copy_in_user(&p64->fmt.meta, &p32->fmt.meta,
|
||||
sizeof(p64->fmt.meta)) ? -EFAULT : 0;
|
||||
default:
|
||||
|
|
@ -392,6 +393,7 @@ static int __put_v4l2_format32(struct v4l2_format __user *p64,
|
|||
return copy_in_user(&p32->fmt.sdr, &p64->fmt.sdr,
|
||||
sizeof(p64->fmt.sdr)) ? -EFAULT : 0;
|
||||
case V4L2_BUF_TYPE_META_CAPTURE:
|
||||
case V4L2_BUF_TYPE_META_OUTPUT:
|
||||
return copy_in_user(&p32->fmt.meta, &p64->fmt.meta,
|
||||
sizeof(p64->fmt.meta)) ? -EFAULT : 0;
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -597,7 +597,8 @@ static void determine_valid_ioctls(struct video_device *vdev)
|
|||
ops->vidioc_enum_fmt_vid_overlay ||
|
||||
ops->vidioc_enum_fmt_meta_cap)) ||
|
||||
(is_tx && (ops->vidioc_enum_fmt_vid_out ||
|
||||
ops->vidioc_enum_fmt_vid_out_mplane)))
|
||||
ops->vidioc_enum_fmt_vid_out_mplane ||
|
||||
ops->vidioc_enum_fmt_meta_out)))
|
||||
set_bit(_IOC_NR(VIDIOC_ENUM_FMT), valid_ioctls);
|
||||
if ((is_rx && (ops->vidioc_g_fmt_vid_cap ||
|
||||
ops->vidioc_g_fmt_vid_cap_mplane ||
|
||||
|
|
@ -605,7 +606,8 @@ static void determine_valid_ioctls(struct video_device *vdev)
|
|||
ops->vidioc_g_fmt_meta_cap)) ||
|
||||
(is_tx && (ops->vidioc_g_fmt_vid_out ||
|
||||
ops->vidioc_g_fmt_vid_out_mplane ||
|
||||
ops->vidioc_g_fmt_vid_out_overlay)))
|
||||
ops->vidioc_g_fmt_vid_out_overlay ||
|
||||
ops->vidioc_g_fmt_meta_out)))
|
||||
set_bit(_IOC_NR(VIDIOC_G_FMT), valid_ioctls);
|
||||
if ((is_rx && (ops->vidioc_s_fmt_vid_cap ||
|
||||
ops->vidioc_s_fmt_vid_cap_mplane ||
|
||||
|
|
@ -613,7 +615,8 @@ static void determine_valid_ioctls(struct video_device *vdev)
|
|||
ops->vidioc_s_fmt_meta_cap)) ||
|
||||
(is_tx && (ops->vidioc_s_fmt_vid_out ||
|
||||
ops->vidioc_s_fmt_vid_out_mplane ||
|
||||
ops->vidioc_s_fmt_vid_out_overlay)))
|
||||
ops->vidioc_s_fmt_vid_out_overlay ||
|
||||
ops->vidioc_s_fmt_meta_out)))
|
||||
set_bit(_IOC_NR(VIDIOC_S_FMT), valid_ioctls);
|
||||
if ((is_rx && (ops->vidioc_try_fmt_vid_cap ||
|
||||
ops->vidioc_try_fmt_vid_cap_mplane ||
|
||||
|
|
@ -621,7 +624,8 @@ static void determine_valid_ioctls(struct video_device *vdev)
|
|||
ops->vidioc_try_fmt_meta_cap)) ||
|
||||
(is_tx && (ops->vidioc_try_fmt_vid_out ||
|
||||
ops->vidioc_try_fmt_vid_out_mplane ||
|
||||
ops->vidioc_try_fmt_vid_out_overlay)))
|
||||
ops->vidioc_try_fmt_vid_out_overlay ||
|
||||
ops->vidioc_try_fmt_meta_out)))
|
||||
set_bit(_IOC_NR(VIDIOC_TRY_FMT), valid_ioctls);
|
||||
SET_VALID_IOCTL(ops, VIDIOC_OVERLAY, vidioc_overlay);
|
||||
SET_VALID_IOCTL(ops, VIDIOC_G_FBUF, vidioc_g_fbuf);
|
||||
|
|
|
|||
|
|
@ -310,8 +310,8 @@ v4l2_fwnode_endpoint_parse_parallel_bus(struct fwnode_handle *fwnode,
|
|||
}
|
||||
|
||||
if (!fwnode_property_read_u32(fwnode, "data-active", &v)) {
|
||||
flags &= ~(V4L2_MBUS_PCLK_SAMPLE_RISING |
|
||||
V4L2_MBUS_PCLK_SAMPLE_FALLING);
|
||||
flags &= ~(V4L2_MBUS_DATA_ACTIVE_HIGH |
|
||||
V4L2_MBUS_DATA_ACTIVE_LOW);
|
||||
flags |= v ? V4L2_MBUS_DATA_ACTIVE_HIGH :
|
||||
V4L2_MBUS_DATA_ACTIVE_LOW;
|
||||
pr_debug("data-active %s\n", v ? "high" : "low");
|
||||
|
|
|
|||
|
|
@ -194,6 +194,7 @@ const char *v4l2_type_names[] = {
|
|||
[V4L2_BUF_TYPE_SDR_CAPTURE] = "sdr-cap",
|
||||
[V4L2_BUF_TYPE_SDR_OUTPUT] = "sdr-out",
|
||||
[V4L2_BUF_TYPE_META_CAPTURE] = "meta-cap",
|
||||
[V4L2_BUF_TYPE_META_OUTPUT] = "meta-out",
|
||||
};
|
||||
EXPORT_SYMBOL(v4l2_type_names);
|
||||
|
||||
|
|
@ -366,6 +367,7 @@ static void v4l_print_format(const void *arg, bool write_only)
|
|||
(sdr->pixelformat >> 24) & 0xff);
|
||||
break;
|
||||
case V4L2_BUF_TYPE_META_CAPTURE:
|
||||
case V4L2_BUF_TYPE_META_OUTPUT:
|
||||
meta = &p->fmt.meta;
|
||||
pr_cont(", dataformat=%c%c%c%c, buffersize=%u\n",
|
||||
(meta->dataformat >> 0) & 0xff,
|
||||
|
|
@ -999,6 +1001,10 @@ static int check_fmt(struct file *file, enum v4l2_buf_type type)
|
|||
if (is_vid && is_rx && ops->vidioc_g_fmt_meta_cap)
|
||||
return 0;
|
||||
break;
|
||||
case V4L2_BUF_TYPE_META_OUTPUT:
|
||||
if (is_vid && is_tx && ops->vidioc_g_fmt_meta_out)
|
||||
return 0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
@ -1410,6 +1416,11 @@ static int v4l_enum_fmt(const struct v4l2_ioctl_ops *ops,
|
|||
break;
|
||||
ret = ops->vidioc_enum_fmt_meta_cap(file, fh, arg);
|
||||
break;
|
||||
case V4L2_BUF_TYPE_META_OUTPUT:
|
||||
if (unlikely(!ops->vidioc_enum_fmt_meta_out))
|
||||
break;
|
||||
ret = ops->vidioc_enum_fmt_meta_out(file, fh, arg);
|
||||
break;
|
||||
}
|
||||
if (ret == 0)
|
||||
v4l_fill_fmtdesc(p);
|
||||
|
|
@ -1488,6 +1499,8 @@ static int v4l_g_fmt(const struct v4l2_ioctl_ops *ops,
|
|||
return ops->vidioc_g_fmt_sdr_out(file, fh, arg);
|
||||
case V4L2_BUF_TYPE_META_CAPTURE:
|
||||
return ops->vidioc_g_fmt_meta_cap(file, fh, arg);
|
||||
case V4L2_BUF_TYPE_META_OUTPUT:
|
||||
return ops->vidioc_g_fmt_meta_out(file, fh, arg);
|
||||
}
|
||||
return -EINVAL;
|
||||
}
|
||||
|
|
@ -1601,6 +1614,11 @@ static int v4l_s_fmt(const struct v4l2_ioctl_ops *ops,
|
|||
break;
|
||||
CLEAR_AFTER_FIELD(p, fmt.meta);
|
||||
return ops->vidioc_s_fmt_meta_cap(file, fh, arg);
|
||||
case V4L2_BUF_TYPE_META_OUTPUT:
|
||||
if (unlikely(!ops->vidioc_s_fmt_meta_out))
|
||||
break;
|
||||
CLEAR_AFTER_FIELD(p, fmt.meta);
|
||||
return ops->vidioc_s_fmt_meta_out(file, fh, arg);
|
||||
}
|
||||
return -EINVAL;
|
||||
}
|
||||
|
|
@ -1693,6 +1711,11 @@ static int v4l_try_fmt(const struct v4l2_ioctl_ops *ops,
|
|||
break;
|
||||
CLEAR_AFTER_FIELD(p, fmt.meta);
|
||||
return ops->vidioc_try_fmt_meta_cap(file, fh, arg);
|
||||
case V4L2_BUF_TYPE_META_OUTPUT:
|
||||
if (unlikely(!ops->vidioc_try_fmt_meta_out))
|
||||
break;
|
||||
CLEAR_AFTER_FIELD(p, fmt.meta);
|
||||
return ops->vidioc_try_fmt_meta_out(file, fh, arg);
|
||||
}
|
||||
return -EINVAL;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue