diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/omap-iommu.h | 5 | ||||
| -rw-r--r-- | include/linux/platform_data/media/mmp-camera.h | 19 | ||||
| -rw-r--r-- | include/linux/sony-laptop.h | 4 | ||||
| -rw-r--r-- | include/media/dvb-usb-ids.h | 1 | ||||
| -rw-r--r-- | include/media/dvbdev.h | 2 | ||||
| -rw-r--r-- | include/media/media-entity.h | 2 | ||||
| -rw-r--r-- | include/media/rc-core.h | 1 | ||||
| -rw-r--r-- | include/media/v4l2-dev.h | 25 | ||||
| -rw-r--r-- | include/media/v4l2-device.h | 4 | ||||
| -rw-r--r-- | include/media/v4l2-fwnode.h | 2 | ||||
| -rw-r--r-- | include/media/v4l2-ioctl.h | 12 | ||||
| -rw-r--r-- | include/media/videobuf-dvb.h | 59 | ||||
| -rw-r--r-- | include/media/vsp1.h | 45 | ||||
| -rw-r--r-- | include/uapi/linux/lirc.h | 6 | ||||
| -rw-r--r-- | include/uapi/linux/omap3isp.h | 22 | ||||
| -rw-r--r-- | include/video/omapfb_dss.h | 54 |
16 files changed, 159 insertions, 104 deletions
diff --git a/include/linux/omap-iommu.h b/include/linux/omap-iommu.h index c1aede46718b..ce1b7c6283ee 100644 --- a/include/linux/omap-iommu.h +++ b/include/linux/omap-iommu.h | |||
| @@ -13,7 +13,12 @@ | |||
| 13 | #ifndef _OMAP_IOMMU_H_ | 13 | #ifndef _OMAP_IOMMU_H_ |
| 14 | #define _OMAP_IOMMU_H_ | 14 | #define _OMAP_IOMMU_H_ |
| 15 | 15 | ||
| 16 | #ifdef CONFIG_OMAP_IOMMU | ||
| 16 | extern void omap_iommu_save_ctx(struct device *dev); | 17 | extern void omap_iommu_save_ctx(struct device *dev); |
| 17 | extern void omap_iommu_restore_ctx(struct device *dev); | 18 | extern void omap_iommu_restore_ctx(struct device *dev); |
| 19 | #else | ||
| 20 | static inline void omap_iommu_save_ctx(struct device *dev) {} | ||
| 21 | static inline void omap_iommu_restore_ctx(struct device *dev) {} | ||
| 22 | #endif | ||
| 18 | 23 | ||
| 19 | #endif | 24 | #endif |
diff --git a/include/linux/platform_data/media/mmp-camera.h b/include/linux/platform_data/media/mmp-camera.h index 83804028115c..d2d3a443eedf 100644 --- a/include/linux/platform_data/media/mmp-camera.h +++ b/include/linux/platform_data/media/mmp-camera.h | |||
| @@ -3,8 +3,27 @@ | |||
| 3 | * Information for the Marvell Armada MMP camera | 3 | * Information for the Marvell Armada MMP camera |
| 4 | */ | 4 | */ |
| 5 | 5 | ||
| 6 | #include <media/v4l2-mediabus.h> | ||
| 7 | |||
| 8 | enum dphy3_algo { | ||
| 9 | DPHY3_ALGO_DEFAULT = 0, | ||
| 10 | DPHY3_ALGO_PXA910, | ||
| 11 | DPHY3_ALGO_PXA2128 | ||
| 12 | }; | ||
| 13 | |||
| 6 | struct mmp_camera_platform_data { | 14 | struct mmp_camera_platform_data { |
| 7 | struct platform_device *i2c_device; | 15 | struct platform_device *i2c_device; |
| 8 | int sensor_power_gpio; | 16 | int sensor_power_gpio; |
| 9 | int sensor_reset_gpio; | 17 | int sensor_reset_gpio; |
| 18 | enum v4l2_mbus_type bus_type; | ||
| 19 | int mclk_min; /* The minimal value of MCLK */ | ||
| 20 | int mclk_src; /* which clock source the MCLK derives from */ | ||
| 21 | int mclk_div; /* Clock Divider Value for MCLK */ | ||
| 22 | /* | ||
| 23 | * MIPI support | ||
| 24 | */ | ||
| 25 | int dphy[3]; /* DPHY: CSI2_DPHY3, CSI2_DPHY5, CSI2_DPHY6 */ | ||
| 26 | enum dphy3_algo dphy3_algo; /* algos for calculate CSI2_DPHY3 */ | ||
| 27 | int lane; /* ccic used lane number; 0 means DVP mode */ | ||
| 28 | int lane_clk; | ||
| 10 | }; | 29 | }; |
diff --git a/include/linux/sony-laptop.h b/include/linux/sony-laptop.h index 1a4b77317fa1..374d0fdb0743 100644 --- a/include/linux/sony-laptop.h +++ b/include/linux/sony-laptop.h | |||
| @@ -28,7 +28,11 @@ | |||
| 28 | #define SONY_PIC_COMMAND_GETCAMERAROMVERSION 18 /* obsolete */ | 28 | #define SONY_PIC_COMMAND_GETCAMERAROMVERSION 18 /* obsolete */ |
| 29 | #define SONY_PIC_COMMAND_GETCAMERAREVISION 19 /* obsolete */ | 29 | #define SONY_PIC_COMMAND_GETCAMERAREVISION 19 /* obsolete */ |
| 30 | 30 | ||
| 31 | #if IS_ENABLED(CONFIG_SONY_LAPTOP) | ||
| 31 | int sony_pic_camera_command(int command, u8 value); | 32 | int sony_pic_camera_command(int command, u8 value); |
| 33 | #else | ||
| 34 | static inline int sony_pic_camera_command(int command, u8 value) { return 0; }; | ||
| 35 | #endif | ||
| 32 | 36 | ||
| 33 | #endif /* __KERNEL__ */ | 37 | #endif /* __KERNEL__ */ |
| 34 | 38 | ||
diff --git a/include/media/dvb-usb-ids.h b/include/media/dvb-usb-ids.h index 28e2be5c8a98..f9e73b4a6e89 100644 --- a/include/media/dvb-usb-ids.h +++ b/include/media/dvb-usb-ids.h | |||
| @@ -418,6 +418,7 @@ | |||
| 418 | #define USB_PID_SVEON_STV27 0xd3af | 418 | #define USB_PID_SVEON_STV27 0xd3af |
| 419 | #define USB_PID_TURBOX_DTT_2000 0xd3a4 | 419 | #define USB_PID_TURBOX_DTT_2000 0xd3a4 |
| 420 | #define USB_PID_WINTV_SOLOHD 0x0264 | 420 | #define USB_PID_WINTV_SOLOHD 0x0264 |
| 421 | #define USB_PID_WINTV_SOLOHD_2 0x8268 | ||
| 421 | #define USB_PID_EVOLVEO_XTRATV_STICK 0xa115 | 422 | #define USB_PID_EVOLVEO_XTRATV_STICK 0xa115 |
| 422 | #define USB_PID_HAMA_DVBT_HYBRID 0x2758 | 423 | #define USB_PID_HAMA_DVBT_HYBRID 0x2758 |
| 423 | #define USB_PID_XBOX_ONE_TUNER 0x02d5 | 424 | #define USB_PID_XBOX_ONE_TUNER 0x02d5 |
diff --git a/include/media/dvbdev.h b/include/media/dvbdev.h index ee91516ad074..881ca461b7bb 100644 --- a/include/media/dvbdev.h +++ b/include/media/dvbdev.h | |||
| @@ -91,6 +91,7 @@ struct dvb_frontend; | |||
| 91 | * @mfe_dvbdev: Frontend device in use, in the case of MFE | 91 | * @mfe_dvbdev: Frontend device in use, in the case of MFE |
| 92 | * @mfe_lock: Lock to prevent using the other frontends when MFE is | 92 | * @mfe_lock: Lock to prevent using the other frontends when MFE is |
| 93 | * used. | 93 | * used. |
| 94 | * @mdev_lock: Protect access to the mdev pointer. | ||
| 94 | * @mdev: pointer to struct media_device, used when the media | 95 | * @mdev: pointer to struct media_device, used when the media |
| 95 | * controller is used. | 96 | * controller is used. |
| 96 | * @conn: RF connector. Used only if the device has no separate | 97 | * @conn: RF connector. Used only if the device has no separate |
| @@ -114,6 +115,7 @@ struct dvb_adapter { | |||
| 114 | struct mutex mfe_lock; /* access lock for thread creation */ | 115 | struct mutex mfe_lock; /* access lock for thread creation */ |
| 115 | 116 | ||
| 116 | #if defined(CONFIG_MEDIA_CONTROLLER_DVB) | 117 | #if defined(CONFIG_MEDIA_CONTROLLER_DVB) |
| 118 | struct mutex mdev_lock; | ||
| 117 | struct media_device *mdev; | 119 | struct media_device *mdev; |
| 118 | struct media_entity *conn; | 120 | struct media_entity *conn; |
| 119 | struct media_pad *conn_pads; | 121 | struct media_pad *conn_pads; |
diff --git a/include/media/media-entity.h b/include/media/media-entity.h index a732af1dbba0..3aa3d58d1d58 100644 --- a/include/media/media-entity.h +++ b/include/media/media-entity.h | |||
| @@ -842,7 +842,7 @@ struct media_entity *media_entity_get(struct media_entity *entity); | |||
| 842 | * a fwnode. This is useful for devices which use more complex | 842 | * a fwnode. This is useful for devices which use more complex |
| 843 | * mappings of media pads. | 843 | * mappings of media pads. |
| 844 | * | 844 | * |
| 845 | * If the entity dose not implement the get_fwnode_pad() operation | 845 | * If the entity does not implement the get_fwnode_pad() operation |
| 846 | * then this function searches the entity for the first pad that | 846 | * then this function searches the entity for the first pad that |
| 847 | * matches the @direction_flags. | 847 | * matches the @direction_flags. |
| 848 | * | 848 | * |
diff --git a/include/media/rc-core.h b/include/media/rc-core.h index 6742fd86ff65..61571773a98d 100644 --- a/include/media/rc-core.h +++ b/include/media/rc-core.h | |||
| @@ -347,6 +347,7 @@ static inline void ir_raw_event_reset(struct rc_dev *dev) | |||
| 347 | struct ir_raw_event ev = { .reset = true }; | 347 | struct ir_raw_event ev = { .reset = true }; |
| 348 | 348 | ||
| 349 | ir_raw_event_store(dev, &ev); | 349 | ir_raw_event_store(dev, &ev); |
| 350 | dev->idle = true; | ||
| 350 | ir_raw_event_handle(dev); | 351 | ir_raw_event_handle(dev); |
| 351 | } | 352 | } |
| 352 | 353 | ||
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h index f60cf9cf3b9c..456ac13eca1d 100644 --- a/include/media/v4l2-dev.h +++ b/include/media/v4l2-dev.h | |||
| @@ -30,6 +30,7 @@ | |||
| 30 | * @VFL_TYPE_SUBDEV: for V4L2 subdevices | 30 | * @VFL_TYPE_SUBDEV: for V4L2 subdevices |
| 31 | * @VFL_TYPE_SDR: for Software Defined Radio tuners | 31 | * @VFL_TYPE_SDR: for Software Defined Radio tuners |
| 32 | * @VFL_TYPE_TOUCH: for touch sensors | 32 | * @VFL_TYPE_TOUCH: for touch sensors |
| 33 | * @VFL_TYPE_MAX: number of VFL types, must always be last in the enum | ||
| 33 | */ | 34 | */ |
| 34 | enum vfl_devnode_type { | 35 | enum vfl_devnode_type { |
| 35 | VFL_TYPE_GRABBER = 0, | 36 | VFL_TYPE_GRABBER = 0, |
| @@ -237,7 +238,6 @@ struct v4l2_file_operations { | |||
| 237 | * @ioctl_ops: pointer to &struct v4l2_ioctl_ops with ioctl callbacks | 238 | * @ioctl_ops: pointer to &struct v4l2_ioctl_ops with ioctl callbacks |
| 238 | * | 239 | * |
| 239 | * @valid_ioctls: bitmap with the valid ioctls for this device | 240 | * @valid_ioctls: bitmap with the valid ioctls for this device |
| 240 | * @disable_locking: bitmap with the ioctls that don't require locking | ||
| 241 | * @lock: pointer to &struct mutex serialization lock | 241 | * @lock: pointer to &struct mutex serialization lock |
| 242 | * | 242 | * |
| 243 | * .. note:: | 243 | * .. note:: |
| @@ -290,7 +290,6 @@ struct video_device | |||
| 290 | const struct v4l2_ioctl_ops *ioctl_ops; | 290 | const struct v4l2_ioctl_ops *ioctl_ops; |
| 291 | DECLARE_BITMAP(valid_ioctls, BASE_VIDIOC_PRIVATE); | 291 | DECLARE_BITMAP(valid_ioctls, BASE_VIDIOC_PRIVATE); |
| 292 | 292 | ||
| 293 | DECLARE_BITMAP(disable_locking, BASE_VIDIOC_PRIVATE); | ||
| 294 | struct mutex *lock; | 293 | struct mutex *lock; |
| 295 | }; | 294 | }; |
| 296 | 295 | ||
| @@ -437,28 +436,6 @@ void video_device_release(struct video_device *vdev); | |||
| 437 | void video_device_release_empty(struct video_device *vdev); | 436 | void video_device_release_empty(struct video_device *vdev); |
| 438 | 437 | ||
| 439 | /** | 438 | /** |
| 440 | * v4l2_is_known_ioctl - Checks if a given cmd is a known V4L ioctl | ||
| 441 | * | ||
| 442 | * @cmd: ioctl command | ||
| 443 | * | ||
| 444 | * returns true if cmd is a known V4L2 ioctl | ||
| 445 | */ | ||
| 446 | bool v4l2_is_known_ioctl(unsigned int cmd); | ||
| 447 | |||
| 448 | /** v4l2_disable_ioctl_locking - mark that a given command | ||
| 449 | * shouldn't use core locking | ||
| 450 | * | ||
| 451 | * @vdev: pointer to &struct video_device | ||
| 452 | * @cmd: ioctl command | ||
| 453 | */ | ||
| 454 | static inline void v4l2_disable_ioctl_locking(struct video_device *vdev, | ||
| 455 | unsigned int cmd) | ||
| 456 | { | ||
| 457 | if (_IOC_NR(cmd) < BASE_VIDIOC_PRIVATE) | ||
| 458 | set_bit(_IOC_NR(cmd), vdev->disable_locking); | ||
| 459 | } | ||
| 460 | |||
| 461 | /** | ||
| 462 | * v4l2_disable_ioctl- mark that a given command isn't implemented. | 439 | * v4l2_disable_ioctl- mark that a given command isn't implemented. |
| 463 | * shouldn't use core locking | 440 | * shouldn't use core locking |
| 464 | * | 441 | * |
diff --git a/include/media/v4l2-device.h b/include/media/v4l2-device.h index 0c9e4da55499..b330e4a08a6b 100644 --- a/include/media/v4l2-device.h +++ b/include/media/v4l2-device.h | |||
| @@ -33,7 +33,7 @@ struct v4l2_ctrl_handler; | |||
| 33 | * struct v4l2_device - main struct to for V4L2 device drivers | 33 | * struct v4l2_device - main struct to for V4L2 device drivers |
| 34 | * | 34 | * |
| 35 | * @dev: pointer to struct device. | 35 | * @dev: pointer to struct device. |
| 36 | * @mdev: pointer to struct media_device | 36 | * @mdev: pointer to struct media_device, may be NULL. |
| 37 | * @subdevs: used to keep track of the registered subdevs | 37 | * @subdevs: used to keep track of the registered subdevs |
| 38 | * @lock: lock this struct; can be used by the driver as well | 38 | * @lock: lock this struct; can be used by the driver as well |
| 39 | * if this struct is embedded into a larger struct. | 39 | * if this struct is embedded into a larger struct. |
| @@ -58,9 +58,7 @@ struct v4l2_ctrl_handler; | |||
| 58 | */ | 58 | */ |
| 59 | struct v4l2_device { | 59 | struct v4l2_device { |
| 60 | struct device *dev; | 60 | struct device *dev; |
| 61 | #if defined(CONFIG_MEDIA_CONTROLLER) | ||
| 62 | struct media_device *mdev; | 61 | struct media_device *mdev; |
| 63 | #endif | ||
| 64 | struct list_head subdevs; | 62 | struct list_head subdevs; |
| 65 | spinlock_t lock; | 63 | spinlock_t lock; |
| 66 | char name[V4L2_DEVICE_NAME_SIZE]; | 64 | char name[V4L2_DEVICE_NAME_SIZE]; |
diff --git a/include/media/v4l2-fwnode.h b/include/media/v4l2-fwnode.h index c228ec1c77cf..9cccab618b98 100644 --- a/include/media/v4l2-fwnode.h +++ b/include/media/v4l2-fwnode.h | |||
| @@ -99,7 +99,7 @@ struct v4l2_fwnode_endpoint { | |||
| 99 | struct fwnode_endpoint base; | 99 | struct fwnode_endpoint base; |
| 100 | /* | 100 | /* |
| 101 | * Fields below this line will be zeroed by | 101 | * Fields below this line will be zeroed by |
| 102 | * v4l2_fwnode_parse_endpoint() | 102 | * v4l2_fwnode_endpoint_parse() |
| 103 | */ | 103 | */ |
| 104 | enum v4l2_mbus_type bus_type; | 104 | enum v4l2_mbus_type bus_type; |
| 105 | union { | 105 | union { |
diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h index a7b3f7c75d62..a8dbf5b54b5c 100644 --- a/include/media/v4l2-ioctl.h +++ b/include/media/v4l2-ioctl.h | |||
| @@ -658,18 +658,6 @@ void v4l_printk_ioctl(const char *prefix, unsigned int cmd); | |||
| 658 | 658 | ||
| 659 | struct video_device; | 659 | struct video_device; |
| 660 | 660 | ||
| 661 | |||
| 662 | /** | ||
| 663 | * v4l2_ioctl_get_lock - get the mutex (if any) that it is need to lock for | ||
| 664 | * a given command. | ||
| 665 | * | ||
| 666 | * @vdev: Pointer to struct &video_device. | ||
| 667 | * @cmd: Ioctl name. | ||
| 668 | * | ||
| 669 | * .. note:: Internal use only. Should not be used outside V4L2 core. | ||
| 670 | */ | ||
| 671 | struct mutex *v4l2_ioctl_get_lock(struct video_device *vdev, unsigned int cmd); | ||
| 672 | |||
| 673 | /* names for fancy debug output */ | 661 | /* names for fancy debug output */ |
| 674 | extern const char *v4l2_field_names[]; | 662 | extern const char *v4l2_field_names[]; |
| 675 | extern const char *v4l2_type_names[]; | 663 | extern const char *v4l2_type_names[]; |
diff --git a/include/media/videobuf-dvb.h b/include/media/videobuf-dvb.h deleted file mode 100644 index c9c81990a56c..000000000000 --- a/include/media/videobuf-dvb.h +++ /dev/null | |||
| @@ -1,59 +0,0 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
| 2 | #include <media/dvbdev.h> | ||
| 3 | #include <media/dmxdev.h> | ||
| 4 | #include <media/dvb_demux.h> | ||
| 5 | #include <media/dvb_net.h> | ||
| 6 | #include <media/dvb_frontend.h> | ||
| 7 | |||
| 8 | #ifndef _VIDEOBUF_DVB_H_ | ||
| 9 | #define _VIDEOBUF_DVB_H_ | ||
| 10 | |||
| 11 | struct videobuf_dvb { | ||
| 12 | /* filling that the job of the driver */ | ||
| 13 | char *name; | ||
| 14 | struct dvb_frontend *frontend; | ||
| 15 | struct videobuf_queue dvbq; | ||
| 16 | |||
| 17 | /* video-buf-dvb state info */ | ||
| 18 | struct mutex lock; | ||
| 19 | struct task_struct *thread; | ||
| 20 | int nfeeds; | ||
| 21 | |||
| 22 | /* videobuf_dvb_(un)register manges this */ | ||
| 23 | struct dvb_demux demux; | ||
| 24 | struct dmxdev dmxdev; | ||
| 25 | struct dmx_frontend fe_hw; | ||
| 26 | struct dmx_frontend fe_mem; | ||
| 27 | struct dvb_net net; | ||
| 28 | }; | ||
| 29 | |||
| 30 | struct videobuf_dvb_frontend { | ||
| 31 | struct list_head felist; | ||
| 32 | int id; | ||
| 33 | struct videobuf_dvb dvb; | ||
| 34 | }; | ||
| 35 | |||
| 36 | struct videobuf_dvb_frontends { | ||
| 37 | struct list_head felist; | ||
| 38 | struct mutex lock; | ||
| 39 | struct dvb_adapter adapter; | ||
| 40 | int active_fe_id; /* Indicates which frontend in the felist is in use */ | ||
| 41 | int gate; /* Frontend with gate control 0=!MFE,1=fe0,2=fe1 etc */ | ||
| 42 | }; | ||
| 43 | |||
| 44 | int videobuf_dvb_register_bus(struct videobuf_dvb_frontends *f, | ||
| 45 | struct module *module, | ||
| 46 | void *adapter_priv, | ||
| 47 | struct device *device, | ||
| 48 | short *adapter_nr, | ||
| 49 | int mfe_shared); | ||
| 50 | |||
| 51 | void videobuf_dvb_unregister_bus(struct videobuf_dvb_frontends *f); | ||
| 52 | |||
| 53 | struct videobuf_dvb_frontend * videobuf_dvb_alloc_frontend(struct videobuf_dvb_frontends *f, int id); | ||
| 54 | void videobuf_dvb_dealloc_frontends(struct videobuf_dvb_frontends *f); | ||
| 55 | |||
| 56 | struct videobuf_dvb_frontend * videobuf_dvb_get_frontend(struct videobuf_dvb_frontends *f, int id); | ||
| 57 | int videobuf_dvb_find_frontend(struct videobuf_dvb_frontends *f, struct dvb_frontend *p); | ||
| 58 | |||
| 59 | #endif /* _VIDEOBUF_DVB_H_ */ | ||
diff --git a/include/media/vsp1.h b/include/media/vsp1.h index 68a8abe4fac5..678c24de1ac6 100644 --- a/include/media/vsp1.h +++ b/include/media/vsp1.h | |||
| @@ -34,13 +34,23 @@ struct vsp1_du_lif_config { | |||
| 34 | unsigned int width; | 34 | unsigned int width; |
| 35 | unsigned int height; | 35 | unsigned int height; |
| 36 | 36 | ||
| 37 | void (*callback)(void *, bool); | 37 | void (*callback)(void *data, bool completed, u32 crc); |
| 38 | void *callback_data; | 38 | void *callback_data; |
| 39 | }; | 39 | }; |
| 40 | 40 | ||
| 41 | int vsp1_du_setup_lif(struct device *dev, unsigned int pipe_index, | 41 | int vsp1_du_setup_lif(struct device *dev, unsigned int pipe_index, |
| 42 | const struct vsp1_du_lif_config *cfg); | 42 | const struct vsp1_du_lif_config *cfg); |
| 43 | 43 | ||
| 44 | /** | ||
| 45 | * struct vsp1_du_atomic_config - VSP atomic configuration parameters | ||
| 46 | * @pixelformat: plane pixel format (V4L2 4CC) | ||
| 47 | * @pitch: line pitch in bytes, for all planes | ||
| 48 | * @mem: DMA memory address for each plane of the frame buffer | ||
| 49 | * @src: source rectangle in the frame buffer (integer coordinates) | ||
| 50 | * @dst: destination rectangle on the display (integer coordinates) | ||
| 51 | * @alpha: alpha value (0: fully transparent, 255: fully opaque) | ||
| 52 | * @zpos: Z position of the plane (from 0 to number of planes minus 1) | ||
| 53 | */ | ||
| 44 | struct vsp1_du_atomic_config { | 54 | struct vsp1_du_atomic_config { |
| 45 | u32 pixelformat; | 55 | u32 pixelformat; |
| 46 | unsigned int pitch; | 56 | unsigned int pitch; |
| @@ -51,11 +61,42 @@ struct vsp1_du_atomic_config { | |||
| 51 | unsigned int zpos; | 61 | unsigned int zpos; |
| 52 | }; | 62 | }; |
| 53 | 63 | ||
| 64 | /** | ||
| 65 | * enum vsp1_du_crc_source - Source used for CRC calculation | ||
| 66 | * @VSP1_DU_CRC_NONE: CRC calculation disabled | ||
| 67 | * @VSP1_DU_CRC_PLANE: Perform CRC calculation on an input plane | ||
| 68 | * @VSP1_DU_CRC_OUTPUT: Perform CRC calculation on the composed output | ||
| 69 | */ | ||
| 70 | enum vsp1_du_crc_source { | ||
| 71 | VSP1_DU_CRC_NONE, | ||
| 72 | VSP1_DU_CRC_PLANE, | ||
| 73 | VSP1_DU_CRC_OUTPUT, | ||
| 74 | }; | ||
| 75 | |||
| 76 | /** | ||
| 77 | * struct vsp1_du_crc_config - VSP CRC computation configuration parameters | ||
| 78 | * @source: source for CRC calculation | ||
| 79 | * @index: index of the CRC source plane (when source is set to plane) | ||
| 80 | */ | ||
| 81 | struct vsp1_du_crc_config { | ||
| 82 | enum vsp1_du_crc_source source; | ||
| 83 | unsigned int index; | ||
| 84 | }; | ||
| 85 | |||
| 86 | /** | ||
| 87 | * struct vsp1_du_atomic_pipe_config - VSP atomic pipe configuration parameters | ||
| 88 | * @crc: CRC computation configuration | ||
| 89 | */ | ||
| 90 | struct vsp1_du_atomic_pipe_config { | ||
| 91 | struct vsp1_du_crc_config crc; | ||
| 92 | }; | ||
| 93 | |||
| 54 | void vsp1_du_atomic_begin(struct device *dev, unsigned int pipe_index); | 94 | void vsp1_du_atomic_begin(struct device *dev, unsigned int pipe_index); |
| 55 | int vsp1_du_atomic_update(struct device *dev, unsigned int pipe_index, | 95 | int vsp1_du_atomic_update(struct device *dev, unsigned int pipe_index, |
| 56 | unsigned int rpf, | 96 | unsigned int rpf, |
| 57 | const struct vsp1_du_atomic_config *cfg); | 97 | const struct vsp1_du_atomic_config *cfg); |
| 58 | void vsp1_du_atomic_flush(struct device *dev, unsigned int pipe_index); | 98 | void vsp1_du_atomic_flush(struct device *dev, unsigned int pipe_index, |
| 99 | const struct vsp1_du_atomic_pipe_config *cfg); | ||
| 59 | int vsp1_du_map_sg(struct device *dev, struct sg_table *sgt); | 100 | int vsp1_du_map_sg(struct device *dev, struct sg_table *sgt); |
| 60 | void vsp1_du_unmap_sg(struct device *dev, struct sg_table *sgt); | 101 | void vsp1_du_unmap_sg(struct device *dev, struct sg_table *sgt); |
| 61 | 102 | ||
diff --git a/include/uapi/linux/lirc.h b/include/uapi/linux/lirc.h index f189931042a7..6b319581882f 100644 --- a/include/uapi/linux/lirc.h +++ b/include/uapi/linux/lirc.h | |||
| @@ -134,6 +134,12 @@ | |||
| 134 | #define LIRC_SET_WIDEBAND_RECEIVER _IOW('i', 0x00000023, __u32) | 134 | #define LIRC_SET_WIDEBAND_RECEIVER _IOW('i', 0x00000023, __u32) |
| 135 | 135 | ||
| 136 | /* | 136 | /* |
| 137 | * Return the recording timeout, which is either set by | ||
| 138 | * the ioctl LIRC_SET_REC_TIMEOUT or by the kernel after setting the protocols. | ||
| 139 | */ | ||
| 140 | #define LIRC_GET_REC_TIMEOUT _IOR('i', 0x00000024, __u32) | ||
| 141 | |||
| 142 | /* | ||
| 137 | * struct lirc_scancode - decoded scancode with protocol for use with | 143 | * struct lirc_scancode - decoded scancode with protocol for use with |
| 138 | * LIRC_MODE_SCANCODE | 144 | * LIRC_MODE_SCANCODE |
| 139 | * | 145 | * |
diff --git a/include/uapi/linux/omap3isp.h b/include/uapi/linux/omap3isp.h index 1a920145db04..87b55755f4ff 100644 --- a/include/uapi/linux/omap3isp.h +++ b/include/uapi/linux/omap3isp.h | |||
| @@ -55,6 +55,8 @@ | |||
| 55 | _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct omap3isp_h3a_af_config) | 55 | _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct omap3isp_h3a_af_config) |
| 56 | #define VIDIOC_OMAP3ISP_STAT_REQ \ | 56 | #define VIDIOC_OMAP3ISP_STAT_REQ \ |
| 57 | _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct omap3isp_stat_data) | 57 | _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct omap3isp_stat_data) |
| 58 | #define VIDIOC_OMAP3ISP_STAT_REQ_TIME32 \ | ||
| 59 | _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct omap3isp_stat_data_time32) | ||
| 58 | #define VIDIOC_OMAP3ISP_STAT_EN \ | 60 | #define VIDIOC_OMAP3ISP_STAT_EN \ |
| 59 | _IOWR('V', BASE_VIDIOC_PRIVATE + 7, unsigned long) | 61 | _IOWR('V', BASE_VIDIOC_PRIVATE + 7, unsigned long) |
| 60 | 62 | ||
| @@ -165,7 +167,14 @@ struct omap3isp_h3a_aewb_config { | |||
| 165 | * @config_counter: Number of the configuration associated with the data. | 167 | * @config_counter: Number of the configuration associated with the data. |
| 166 | */ | 168 | */ |
| 167 | struct omap3isp_stat_data { | 169 | struct omap3isp_stat_data { |
| 170 | #ifdef __KERNEL__ | ||
| 171 | struct { | ||
| 172 | __s64 tv_sec; | ||
| 173 | __s64 tv_usec; | ||
| 174 | } ts; | ||
| 175 | #else | ||
| 168 | struct timeval ts; | 176 | struct timeval ts; |
| 177 | #endif | ||
| 169 | void __user *buf; | 178 | void __user *buf; |
| 170 | __u32 buf_size; | 179 | __u32 buf_size; |
| 171 | __u16 frame_number; | 180 | __u16 frame_number; |
| @@ -173,6 +182,19 @@ struct omap3isp_stat_data { | |||
| 173 | __u16 config_counter; | 182 | __u16 config_counter; |
| 174 | }; | 183 | }; |
| 175 | 184 | ||
| 185 | #ifdef __KERNEL__ | ||
| 186 | struct omap3isp_stat_data_time32 { | ||
| 187 | struct { | ||
| 188 | __s32 tv_sec; | ||
| 189 | __s32 tv_usec; | ||
| 190 | } ts; | ||
| 191 | __u32 buf; | ||
| 192 | __u32 buf_size; | ||
| 193 | __u16 frame_number; | ||
| 194 | __u16 cur_frame; | ||
| 195 | __u16 config_counter; | ||
| 196 | }; | ||
| 197 | #endif | ||
| 176 | 198 | ||
| 177 | /* Histogram related structs */ | 199 | /* Histogram related structs */ |
| 178 | 200 | ||
diff --git a/include/video/omapfb_dss.h b/include/video/omapfb_dss.h index 1d38901d599d..12755d8d9b4f 100644 --- a/include/video/omapfb_dss.h +++ b/include/video/omapfb_dss.h | |||
| @@ -774,6 +774,12 @@ struct omap_dss_driver { | |||
| 774 | const struct hdmi_avi_infoframe *avi); | 774 | const struct hdmi_avi_infoframe *avi); |
| 775 | }; | 775 | }; |
| 776 | 776 | ||
| 777 | #define for_each_dss_dev(d) while ((d = omap_dss_get_next_device(d)) != NULL) | ||
| 778 | |||
| 779 | typedef void (*omap_dispc_isr_t) (void *arg, u32 mask); | ||
| 780 | |||
| 781 | #if IS_ENABLED(CONFIG_FB_OMAP2) | ||
| 782 | |||
| 777 | enum omapdss_version omapdss_get_version(void); | 783 | enum omapdss_version omapdss_get_version(void); |
| 778 | bool omapdss_is_initialized(void); | 784 | bool omapdss_is_initialized(void); |
| 779 | 785 | ||
| @@ -785,7 +791,6 @@ void omapdss_unregister_display(struct omap_dss_device *dssdev); | |||
| 785 | 791 | ||
| 786 | struct omap_dss_device *omap_dss_get_device(struct omap_dss_device *dssdev); | 792 | struct omap_dss_device *omap_dss_get_device(struct omap_dss_device *dssdev); |
| 787 | void omap_dss_put_device(struct omap_dss_device *dssdev); | 793 | void omap_dss_put_device(struct omap_dss_device *dssdev); |
| 788 | #define for_each_dss_dev(d) while ((d = omap_dss_get_next_device(d)) != NULL) | ||
| 789 | struct omap_dss_device *omap_dss_get_next_device(struct omap_dss_device *from); | 794 | struct omap_dss_device *omap_dss_get_next_device(struct omap_dss_device *from); |
| 790 | struct omap_dss_device *omap_dss_find_device(void *data, | 795 | struct omap_dss_device *omap_dss_find_device(void *data, |
| 791 | int (*match)(struct omap_dss_device *dssdev, void *data)); | 796 | int (*match)(struct omap_dss_device *dssdev, void *data)); |
| @@ -826,7 +831,6 @@ int omapdss_default_get_recommended_bpp(struct omap_dss_device *dssdev); | |||
| 826 | void omapdss_default_get_timings(struct omap_dss_device *dssdev, | 831 | void omapdss_default_get_timings(struct omap_dss_device *dssdev, |
| 827 | struct omap_video_timings *timings); | 832 | struct omap_video_timings *timings); |
| 828 | 833 | ||
| 829 | typedef void (*omap_dispc_isr_t) (void *arg, u32 mask); | ||
| 830 | int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask); | 834 | int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask); |
| 831 | int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask); | 835 | int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask); |
| 832 | 836 | ||
| @@ -856,5 +860,51 @@ omapdss_of_get_first_endpoint(const struct device_node *parent); | |||
| 856 | 860 | ||
| 857 | struct omap_dss_device * | 861 | struct omap_dss_device * |
| 858 | omapdss_of_find_source_for_first_ep(struct device_node *node); | 862 | omapdss_of_find_source_for_first_ep(struct device_node *node); |
| 863 | #else | ||
| 864 | |||
| 865 | static inline enum omapdss_version omapdss_get_version(void) | ||
| 866 | { return OMAPDSS_VER_UNKNOWN; }; | ||
| 867 | |||
| 868 | static inline bool omapdss_is_initialized(void) | ||
| 869 | { return false; }; | ||
| 870 | |||
| 871 | static inline int omap_dispc_register_isr(omap_dispc_isr_t isr, | ||
| 872 | void *arg, u32 mask) | ||
| 873 | { return 0; }; | ||
| 874 | |||
| 875 | static inline int omap_dispc_unregister_isr(omap_dispc_isr_t isr, | ||
| 876 | void *arg, u32 mask) | ||
| 877 | { return 0; }; | ||
| 878 | |||
| 879 | static inline struct omap_dss_device | ||
| 880 | *omap_dss_get_device(struct omap_dss_device *dssdev) | ||
| 881 | { return NULL; }; | ||
| 882 | |||
| 883 | static inline struct omap_dss_device | ||
| 884 | *omap_dss_get_next_device(struct omap_dss_device *from) | ||
| 885 | {return NULL; }; | ||
| 886 | |||
| 887 | static inline void omap_dss_put_device(struct omap_dss_device *dssdev) {}; | ||
| 888 | |||
| 889 | static inline int omapdss_compat_init(void) | ||
| 890 | { return 0; }; | ||
| 891 | |||
| 892 | static inline void omapdss_compat_uninit(void) {}; | ||
| 893 | |||
| 894 | static inline int omap_dss_get_num_overlay_managers(void) | ||
| 895 | { return 0; }; | ||
| 896 | |||
| 897 | static inline struct omap_overlay_manager *omap_dss_get_overlay_manager(int num) | ||
| 898 | { return NULL; }; | ||
| 899 | |||
| 900 | static inline int omap_dss_get_num_overlays(void) | ||
| 901 | { return 0; }; | ||
| 902 | |||
| 903 | static inline struct omap_overlay *omap_dss_get_overlay(int num) | ||
| 904 | { return NULL; }; | ||
| 905 | |||
| 906 | |||
| 907 | #endif /* FB_OMAP2 */ | ||
| 908 | |||
| 859 | 909 | ||
| 860 | #endif /* __OMAPFB_DSS_H */ | 910 | #endif /* __OMAPFB_DSS_H */ |
