From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> Hi All, This patch series aims to add the below: - Support to capture 8bit Bayer formats. - Simplify format handling - Implement .link_validate callback - Simplify configuring CRU - Retrieve virtual channel from remote subdev Note this patch series applies on top of branch -next + two additional patches: - https://git.linuxtv.org/media.git next - https://lore.kernel.org/all/20240826110740.271212-1-biju.das.jz@xxxxxxxxxxxxxx/ - https://lore.kernel.org/all/20240905111828.159670-1-biju.das.jz@xxxxxxxxxxxxxx/ v5->v6 - Updated commit message for patch 10/23, 12/23, 13/23 and 18/23 - Included RB tags from Laurent - Added new patch 23/23 v4->v5 - Updated .link_validate function to drop local variable, invalid format check and input/output code fmt check - Split up patch 10/17 from v4 into multiple patches (10/11/12/13/14/15)/22 v3->v4 - Added {} in rzg2l_cru_ip_format_to_fmt() for the for loop (in patch 10/17) - Added checks for formats in .link_validate callback (in patch 13/17) - Got rid of icndmr local variable in rzg2l_cru_initialize_image_conv() (in patch 15/17) - Moved macro ICnDMR_YCMODE_UYVY to rzg2l-cru-regs.h - Included RB tags from Laurent for patches 15 and 17 v2->v3 - Added MUST_CONNECT flag for source pads - Used ARRAY_SIZE() instead of NR_OF_RZG2L_CSI2_PAD - Implemented rzg2l_cru_ip_format_to_fmt() and rzg2l_cru_ip_index_to_fmt() - Dropped checking fmt in rzg2l_cru_initialize_image_conv() - Dropped fse->index checks - Implemented link_validate for video node - Re-used rzg2l_cru_ip_format_to_fmt() to fetch icndmr details - Moved register definitions to separate header file - Updated subject lines and commit messages - Collected RB tag v1->v2 - Fixed retrieving VC from subdev - Fixed review comments pointed by Laurent * Refactored supported CRU formats * Added MUST_CONNECT flag wherever required * Dropped `channel` member from `struct v1: Link: https://lore.kernel.org/all/20240906173947.282402-1-prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx/ Cheers, Prabhakar Lad Prabhakar (23): media: rzg2l-cru: Use RZG2L_CRU_IP_SINK/SOURCE enum entries media: rzg2l-cru: Mark sink and source pad with MUST_CONNECT flag media: rzg2l-cru: csi2: Mark sink and source pad with MUST_CONNECT flag media: rzg2l-cru: csi2: Use ARRAY_SIZE() in media_entity_pads_init() media: rzg2l-cru: csi2: Implement .get_frame_desc() media: rzg2l-cru: Retrieve virtual channel information media: rzg2l-cru: Remove `channel` member from `struct rzg2l_cru_csi` media: rzg2l-cru: Use MIPI CSI-2 data types for ICnMC_INF definitions media: rzg2l-cru: Remove unused fields from rzg2l_cru_ip_format struct media: rzg2l-cru: Remove unnecessary WARN_ON check in format func media: rzg2l-cru: Simplify configuring input format for image processing media: rzg2l-cru: Inline calculating image size media: rzg2l-cru: Simplify handling of supported formats media: rzg2l-cru: Inline calculating bytesperline media: rzg2l-cru: Make use of v4l2_format_info() helpers media: rzg2l-cru: Use `rzg2l_cru_ip_formats` array in enum_frame_size media: rzg2l-cru: csi2: Remove unused field from rzg2l_csi2_format media: rzg2l-cru: video: Implement .link_validate() callback media: rzg2l-cru: csi2: Use rzg2l_csi2_formats array in enum_frame_size media: rzg2l-cru: Refactor ICnDMR register configuration media: rzg2l-cru: Add support to capture 8bit raw sRGB media: rzg2l-cru: Move register definitions to a separate file media: renesas: rzg2l-cru: Add 'yuv' flag to IP format structure .../platform/renesas/rzg2l-cru/rzg2l-core.c | 3 +- .../renesas/rzg2l-cru/rzg2l-cru-regs.h | 80 +++++ .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 28 +- .../platform/renesas/rzg2l-cru/rzg2l-csi2.c | 39 ++- .../platform/renesas/rzg2l-cru/rzg2l-ip.c | 85 +++++- .../platform/renesas/rzg2l-cru/rzg2l-video.c | 287 +++++++----------- 6 files changed, 315 insertions(+), 207 deletions(-) create mode 100644 drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru-regs.h -- 2.43.0