Merge tag 'media/v6.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

Pull media updates from Mauro Carvalho Chehab:

 - the old V4L2 core videobuf kAPI was finally removed. All media
   drivers should now be using VB2 kAPI

 - new automotive driver: mgb4

 - new platform video driver: npcm-video

 - new sensor driver: mt9m114

 - new TI driver used in conjunction with Cadence CSI2RX IP to bridge
   TI-specific parts

 - ir-rx51 was removed and the N900 DT binding was moved to the
   pwm-ir-tx generic driver

 - drop atomisp-specific ov5693, using the upstream driver instead

 - the camss driver has gained RDI3 support for VFE 17x

 - the atomisp driver now detects ISP2400 or ISP2401 at run time. No
   need to set it up at build time anymore

 - lots of driver fixes, cleanups and improvements

* tag 'media/v6.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (377 commits)
  media: nuvoton: VIDEO_NPCM_VCD_ECE should depend on ARCH_NPCM
  media: venus: Fix firmware path for resources
  media: venus: hfi_cmds: Replace one-element array with flex-array member and use __counted_by
  media: venus: hfi_parser: Add check to keep the number of codecs within range
  media: venus: hfi: add checks to handle capabilities from firmware
  media: venus: hfi: fix the check to handle session buffer requirement
  media: venus: hfi: add checks to perform sanity on queue pointers
  media: platform: cadence: select MIPI_DPHY dependency
  media: MAINTAINERS: Fix path for J721E CSI2RX bindings
  media: cec: meson: always include meson sub-directory in Makefile
  media: videobuf2: Fix IS_ERR checking in vb2_dc_put_userptr()
  media: platform: mtk-mdp3: fix uninitialized variable in mdp_path_config()
  media: mediatek: vcodec: using encoder device to alloc/free encoder memory
  media: imx-jpeg: notify source chagne event when the first picture parsed
  media: cx231xx: Use EP5_BUF_SIZE macro
  media: siano: Drop unnecessary error check for debugfs_create_dir/file()
  media: mediatek: vcodec: Handle invalid encoder vsi
  media: aspeed: Drop unnecessary error check for debugfs_create_file()
  Documentation: media: buffer.rst: fix V4L2_BUF_FLAG_PREPARED
  Documentation: media: gen-errors.rst: fix confusing ENOTTY description
  ...
This commit is contained in:
Linus Torvalds
2023-11-06 15:06:06 -08:00
505 changed files with 17372 additions and 18179 deletions

View File

@@ -4436,8 +4436,20 @@ struct ec_response_i2c_passthru_protect {
* These commands are for sending and receiving message via HDMI CEC
*/
#define EC_CEC_MAX_PORTS 16
#define MAX_CEC_MSG_LEN 16
/*
* Helper macros for packing/unpacking cec_events.
* bits[27:0] : bitmask of events from enum mkbp_cec_event
* bits[31:28]: port number
*/
#define EC_MKBP_EVENT_CEC_PACK(events, port) \
(((events) & GENMASK(27, 0)) | (((port) & 0xf) << 28))
#define EC_MKBP_EVENT_CEC_GET_EVENTS(event) ((event) & GENMASK(27, 0))
#define EC_MKBP_EVENT_CEC_GET_PORT(event) (((event) >> 28) & 0xf)
/* CEC message from the AP to be written on the CEC bus */
#define EC_CMD_CEC_WRITE_MSG 0x00B8
@@ -4449,19 +4461,54 @@ struct ec_params_cec_write {
uint8_t msg[MAX_CEC_MSG_LEN];
} __ec_align1;
/**
* struct ec_params_cec_write_v1 - Message to write to the CEC bus
* @port: CEC port to write the message on
* @msg_len: length of msg in bytes
* @msg: message content to write to the CEC bus
*/
struct ec_params_cec_write_v1 {
uint8_t port;
uint8_t msg_len;
uint8_t msg[MAX_CEC_MSG_LEN];
} __ec_align1;
/* CEC message read from a CEC bus reported back to the AP */
#define EC_CMD_CEC_READ_MSG 0x00B9
/**
* struct ec_params_cec_read - Read a message from the CEC bus
* @port: CEC port to read a message on
*/
struct ec_params_cec_read {
uint8_t port;
} __ec_align1;
/**
* struct ec_response_cec_read - Message read from the CEC bus
* @msg_len: length of msg in bytes
* @msg: message content read from the CEC bus
*/
struct ec_response_cec_read {
uint8_t msg_len;
uint8_t msg[MAX_CEC_MSG_LEN];
} __ec_align1;
/* Set various CEC parameters */
#define EC_CMD_CEC_SET 0x00BA
/**
* struct ec_params_cec_set - CEC parameters set
* @cmd: parameter type, can be CEC_CMD_ENABLE or CEC_CMD_LOGICAL_ADDRESS
* @port: CEC port to set the parameter on
* @val: in case cmd is CEC_CMD_ENABLE, this field can be 0 to disable CEC
* or 1 to enable CEC functionality, in case cmd is
* CEC_CMD_LOGICAL_ADDRESS, this field encodes the requested logical
* address between 0 and 15 or 0xff to unregister
*/
struct ec_params_cec_set {
uint8_t cmd; /* enum cec_command */
uint8_t cmd : 4; /* enum cec_command */
uint8_t port : 4;
uint8_t val;
} __ec_align1;
@@ -4471,9 +4518,11 @@ struct ec_params_cec_set {
/**
* struct ec_params_cec_get - CEC parameters get
* @cmd: parameter type, can be CEC_CMD_ENABLE or CEC_CMD_LOGICAL_ADDRESS
* @port: CEC port to get the parameter on
*/
struct ec_params_cec_get {
uint8_t cmd; /* enum cec_command */
uint8_t cmd : 4; /* enum cec_command */
uint8_t port : 4;
} __ec_align1;
/**
@@ -4487,6 +4536,17 @@ struct ec_response_cec_get {
uint8_t val;
} __ec_align1;
/* Get the number of CEC ports */
#define EC_CMD_CEC_PORT_COUNT 0x00C1
/**
* struct ec_response_cec_port_count - CEC port count response
* @port_count: number of CEC ports
*/
struct ec_response_cec_port_count {
uint8_t port_count;
} __ec_align1;
/* CEC parameters command */
enum cec_command {
/* CEC reading, writing and events enable */
@@ -4501,6 +4561,8 @@ enum mkbp_cec_event {
EC_MKBP_CEC_SEND_OK = BIT(0),
/* Outgoing message was not acknowledged */
EC_MKBP_CEC_SEND_FAILED = BIT(1),
/* Incoming message can be read out by AP */
EC_MKBP_CEC_HAVE_DATA = BIT(2),
};
/*****************************************************************************/