From patchwork Tue Feb 27 12:24:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gjorgji Rosikopulos X-Patchwork-Id: 21019 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:a81b:b0:108:e6aa:91d0 with SMTP id bq27csp2659606dyb; Tue, 27 Feb 2024 04:26:08 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVswkSl6JqGvZOGPhdIbBDeQxyM+Dd56c4U/2U39sWK/nlYXGUG2POL2F0EhHzQMJGm1pLbkmzngbCNshXLz+NP9vzxww== X-Google-Smtp-Source: AGHT+IEx1p//fQdf55mj56MDqyCCbZ2++nwbuwr2apVI8Bj4GqwIvHOjtMVyqPL14Bez/smsNFBu X-Received: by 2002:a0c:df8b:0:b0:690:1e55:d6ad with SMTP id w11-20020a0cdf8b000000b006901e55d6admr1563462qvl.6.1709036768109; Tue, 27 Feb 2024 04:26:08 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709036768; cv=pass; d=google.com; s=arc-20160816; b=IJ3OICJCZylRCdkmZrT46k0FjaGaM2DX2v1MDz2vNuGNgLSTryyzl2Xkh32mNkP1xU uRxXvszyXm+8lNYJ99kZyTKeXP2SM8s02AvUWp+fav1L2LpGdb3iXtWDATAqJxqqGEHJ q30nIv5DBQVspKcVjN9lnwTri+3maXXSyOt3jA4GU+Qb3sdTdHOlTE9pTDc8Pc0EHgBW B4WticxTHalEtCDwk6Q3IRw3MpgNCSaTGGkExMlpuW/lxFHNbOCoI7KcaHkUH/Yp/Y0y SKfRtix5UpTb+UUKm4BdnZO7FCPYGsv62QV8W4JOfWUxNGIJH+elDKHDIbpr6lGzvf0Z q3Jw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=IE0VW1jh448aXmao0Jg+0epM3kKiquSK6nql7Ie2IiI=; fh=odqlw+WWqkVq/xw315IvH94Ofa686gwNuPRlIps5Ajc=; b=iurlu7OHpMxyN7XgO5puZNdYfdDPc99DCXhmsv6WX/9iEwvTU3xoOzhALLe/GJyixO Voc/dii4JdGybJ+cuivLQrFOjzFHzcVW4shuqds1lVMPfQTBZ0+5JuYRboxP5S+nMEbl EokTvJTVLKC75Um7wOI03pItOmSRjLT7WY28zMz9+e/Ms09RK4ome6I976Tx1HYacqC8 kWAmK2+9UzjRWQzwafUCmepIDfTjLxwCU55IXb9J50eGw1Ohcd17sa40M+23NO84Kqpp sjD1uL5Np0sZAQBcBE27dIVI0Pf2rMvsbZxUmK8zh9Or+X/ZNI/Fwv3YxpDcOa97f4lS +TcA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=QiXTSOo7; arc=pass (i=1 spf=pass spfdomain=quicinc.com dkim=pass dkdomain=quicinc.com dmarc=pass fromdomain=quicinc.com); spf=pass (google.com: domain of linux-kernel+bounces-83219-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-83219-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id q9-20020ad45ca9000000b0068fe3142f2bsi7305294qvh.336.2024.02.27.04.26.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Feb 2024 04:26:08 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-83219-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=QiXTSOo7; arc=pass (i=1 spf=pass spfdomain=quicinc.com dkim=pass dkdomain=quicinc.com dmarc=pass fromdomain=quicinc.com); spf=pass (google.com: domain of linux-kernel+bounces-83219-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-83219-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 951851C230BE for ; Tue, 27 Feb 2024 12:25:55 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D8BD713B2A7; Tue, 27 Feb 2024 12:24:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="QiXTSOo7" Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E2F0D13A273; Tue, 27 Feb 2024 12:24:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709036690; cv=none; b=DBJGp+dz5d1vwaeLp+mudSKqjTX6I7fAf+3G1L1x9ARrEymPcwprz2B4zwFYy4u8ILzDh4PAGkiaimRBOvQzx8wTCiwKcU1UBOwVZ0LxaPNKlqbNQCy/DuElc/QsfbcG1hVUariKWAq4iRUNc4eYpEljTReTyhEX9/23+7gULro= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709036690; c=relaxed/simple; bh=aVwTDpgYEdrZI3vDH6C4TNu2Fx5LABUkuIt5XlkGYq4=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=pHakDffHSgHCPyxJLDnJGXiEVk1aSQFA/Gx/yfssDleLNQq7WdENLz2ULXpH7LxyUnj3mx+Cc5x+DZLN4gtq/fkyCLVkYAlVRTPqhhVOv3ba3emWwfYHZ1sOo5zX4A1RIu+JiSaGx6ciVuZRSjsUBVqOM8hLZ/UPPRPXMyFqHHI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=QiXTSOo7; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 41R9YfbS000519; Tue, 27 Feb 2024 12:24:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding:content-type; s=qcppdkim1; bh=IE0VW1j h448aXmao0Jg+0epM3kKiquSK6nql7Ie2IiI=; b=QiXTSOo708baJAvVb21hQKP TOBdJL+Tct79R0Ufi4KMUV2gwvbvfqhEHme2KnoM35HIvTjEvX0au/IkefuCkvet gVo/cwx9o8eBHnBOy8bhLsgVkQ2MRWQg6uOr1MeKGAC+A5E0kP2yfleD1uU/T/tH FcNSYjwzn9ve92ZW8dQKp9YZ9TRV1p9zRoYYrWGS667xLNVnr8JAf2IGdQe5HWqe fOjb1Egp3cWzp19apgiJkk5LsYNyu1trolep4qT9XHL+AzGYnjAXUctikvn9vArY vMVoCH/HqaDzWYG+PSpqspwgHyWQomfyy11Tk979CXk1a7OyYUlL9sAhy2nc5fA= = Received: from nalasppmta05.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3wh6nrh5f2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 27 Feb 2024 12:24:42 +0000 (GMT) Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA05.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 41RCOfwQ012738 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 27 Feb 2024 12:24:41 GMT Received: from grosikop.eu.qualcomm.com (10.80.80.8) by nalasex01c.na.qualcomm.com (10.47.97.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Tue, 27 Feb 2024 04:24:38 -0800 From: Gjorgji Rosikopulos To: , , , , , CC: , , , , , Subject: [PATCH 0/9] Move camss version related defs in to resources Date: Tue, 27 Feb 2024 14:24:06 +0200 Message-ID: <20240227122415.491-1-quic_grosikop@quicinc.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nalasex01c.na.qualcomm.com (10.47.97.35) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: DPlZSTGkA2ZjpVmzaoz_y-UkkIArSU5m X-Proofpoint-ORIG-GUID: DPlZSTGkA2ZjpVmzaoz_y-UkkIArSU5m X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-02-26_11,2024-02-27_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 lowpriorityscore=0 spamscore=0 priorityscore=1501 phishscore=0 clxscore=1011 suspectscore=0 bulkscore=0 adultscore=0 malwarescore=0 mlxlogscore=938 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2402120000 definitions=main-2402270097 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792054938098107408 X-GMAIL-MSGID: 1792054938098107408 The different resources required for different camss versions are split in to two groups: 1. Camss device related. In this group are all resources described in the device tree, clocks, regulators etc. 2. Sub-device specific resources. In the initialization of the each sub-device, the version of camss is passed. Based on this version the sub-device adds: hw layer support, per pad formats, number of dma's etc. The code for "1" group lives in camss.c itself. However the "2" group is spread across all sub-device implementations including video device. This kind of separation is not very convenient when adding new hw version. The reason is that you need to add support in all sub-device implementations. There were some improvements in this direction where some of the hw version related definitions were moved in to the "1". One example is attaching of the hw operations. This series aim to improve the things more and add additional definitions in to the "1". What is included: - Remove all format definitions from camss video. The will be passed by the parent sub-device - Make camss generic format definition mapping, containing mbus to v4l2 mapping, mbus bpp and other required fields used by the sub-device and video node. - Add per sub-device type union in the resources, different sub-devices are using different resources, as an example: is_lite flag. - Move camss link operation in to the resources. Currently one function supports different topologies depending of the number of devices. As hw version support increases this is not good way of supporting different topologies. - Add parent device ops in to the resources. This resolves inter-dependencies of vfe and csid. Csid requests the clocks regulators etc from parent device instead calling directly vfe functions. - Some cleanups in csid code for split the configuration of RX and testgen and RDI. Atanas Filipov (1): media: qcom: camss: Decompose register and link operations Milen Mitkov (3): media: qcom: camss: Designate lite subdevices in resources media: qcom: camss: Split testgen, RDI and RX for CSID 170 media: qcom: camss: Decouple VFE from CSID Radoslav Tsvetkov (5): media: qcom: camss: Add per sub-device type resources media: qcom: camss: Attach formats to VFE resources media: qcom: camss: Attach formats to CSID resources media: qcom: camss: Attach formats to CSIPHY resources media: qcom: camss: Move format related functions drivers/media/platform/qcom/camss/Makefile | 1 + .../platform/qcom/camss/camss-csid-4-1.c | 132 +--- .../platform/qcom/camss/camss-csid-4-7.c | 160 +---- .../platform/qcom/camss/camss-csid-gen2.c | 410 +++++-------- .../media/platform/qcom/camss/camss-csid.c | 512 +++++++++++++++- .../media/platform/qcom/camss/camss-csid.h | 32 +- .../media/platform/qcom/camss/camss-csiphy.c | 73 +-- .../media/platform/qcom/camss/camss-csiphy.h | 23 +- .../media/platform/qcom/camss/camss-format.c | 98 +++ .../media/platform/qcom/camss/camss-format.h | 67 ++ .../media/platform/qcom/camss/camss-vfe-170.c | 10 +- .../media/platform/qcom/camss/camss-vfe-4-1.c | 4 +- .../media/platform/qcom/camss/camss-vfe-4-7.c | 6 +- .../media/platform/qcom/camss/camss-vfe-4-8.c | 6 +- .../platform/qcom/camss/camss-vfe-gen1.c | 8 +- drivers/media/platform/qcom/camss/camss-vfe.c | 483 +++++++++------ drivers/media/platform/qcom/camss/camss-vfe.h | 22 +- .../media/platform/qcom/camss/camss-video.c | 294 +-------- .../media/platform/qcom/camss/camss-video.h | 5 +- drivers/media/platform/qcom/camss/camss.c | 577 +++++++++++++----- drivers/media/platform/qcom/camss/camss.h | 28 +- 21 files changed, 1656 insertions(+), 1295 deletions(-) create mode 100644 drivers/media/platform/qcom/camss/camss-format.c create mode 100644 drivers/media/platform/qcom/camss/camss-format.h