From patchwork Mon Aug 14 16:28:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 135547 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp2873419vqi; Mon, 14 Aug 2023 09:55:15 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEqLaMgdXSucmHb1muj3+SJg+w1waYrcKnNNVHSfp+y8/plyohP++XHLMxjRpwuRno/Ejcg X-Received: by 2002:a17:906:32c5:b0:99b:b398:53b6 with SMTP id k5-20020a17090632c500b0099bb39853b6mr12151343ejk.34.1692032115454; Mon, 14 Aug 2023 09:55:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692032115; cv=none; d=google.com; s=arc-20160816; b=pOwstdOT+FC7INijObqbdG29OON03T9U0q+oxGPYjhOtDVsnlO1bmRnd3mdV7kJqEq RAhnsuXsczNTze+HP3RFm8LT/URYluczNp9gtb8qyu+9e+eeN2koQUtqV+fWnb268hwI TsDqBxpY1jNhScMM0E/We52lhRpdBn+VCB4KwlfmX28g9/qqgB4+Bre6RLAgnXwWM7Se nrjwjjNRs+1GBWRYotTxqDk3x6f8hF67jAOPPNX42q5vzlC/0YVXFEMtK8yKWT+Z3aMu o0f5VexqdtukakvnDsNT6BNDqchL0ZihPc91DFgd65rHM2QvUIiuYdn9jVcGGAENUE/R 4OZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ocJS1nXGrg9KUDSz6ydfTmzG4q/9Tzxynl3mXG6FazY=; fh=zUAAL0oq2+kA0nMRT5WSj9jrme2MlEZTDW5RK2mes1s=; b=Vdm+8YfnbunavN625cVfWoYpyDRLlFxI0iJGhd1VoIQKt7zZFkq//eoGRIiD949upG ky6oKfYp+PPf0Cze+sor9ICguut2e3cLweg5mQ0BuOKWymHCxlg1pvu/BXsmvU/O1sxF gdXVU/6AY1i7PsOqa10X+qz3Yy9hhnb3uNVBc98xUtJWA7j8eMPxxc/WyCbR0Pz2x1qJ W7dOWSVMyWWyg9mS1oVpCIQeHHAnjmDFU7R8pLR6mO0mM/CiHwF6vjiSvC2L6SDkytuB GzWMBga9ZRX7ur4zdPtpn/d3JTD0pP10vK8mX5lEMlnElrNf5RsA9qhGq4a8qWg+xnRZ 9RKQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=U+xR+U4Y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g14-20020a170906868e00b0099bcfa1f75dsi7982242ejx.206.2023.08.14.09.54.51; Mon, 14 Aug 2023 09:55:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=U+xR+U4Y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232529AbjHNQ3r (ORCPT + 99 others); Mon, 14 Aug 2023 12:29:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50636 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231639AbjHNQ3T (ORCPT ); Mon, 14 Aug 2023 12:29:19 -0400 Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com [IPv6:2a00:1450:4864:20::42f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6F03D10F2 for ; Mon, 14 Aug 2023 09:29:16 -0700 (PDT) Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-313e742a787so2627493f8f.1 for ; Mon, 14 Aug 2023 09:29:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1692030555; x=1692635355; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ocJS1nXGrg9KUDSz6ydfTmzG4q/9Tzxynl3mXG6FazY=; b=U+xR+U4Ypv5p+nWfYUEsJK8A95hC5TSV/S6BjJk5MgR2qtuz7ZqHHGyxJrgvc2Pe+z 2h41xfpqL/vjnbw+wzMOOewTXyq9cl2Re7xSMaF7wA0vMAFIOXfOP3yDK00Qizkji7I0 ZkJduEHIEAWTbOoyrX3mUvdh63FusaiM8tZdXUDCU/N5gsYZ2HxSWLOngMSGMyqofTcI s/4DFj7Ivr2Ak0NhyJ0yvzboY1YHCUzqeEX13nem1hg5Ffx6nuX4Ix2+hbTlRsuYUFY1 KYLv9qCWGQl5XP+LniaPZN/DEE1AB/hWo7i7p/kelM/3MAC7mP7c/47+4/EXePqg32gB Xj4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692030555; x=1692635355; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ocJS1nXGrg9KUDSz6ydfTmzG4q/9Tzxynl3mXG6FazY=; b=GV7ElC07S3iIdrv6x6BHQF7y4xXMTTBwq0yHSc5jlT4xe15AicdMKfQ3TY6PO7Ca4H KQdsZveyoeO4aDi0lv2/DkgWbhUipqcBTDPC1FpV/CDiYolraJuoq12owsugm8QTXqyl KgyejqHPPImJ/RDlHTdLXkzB0Jdg3K5KxLpwl/ckjJSEdTAnQwi9OWqrcr3f+Uc0vnxP dGUl1pYCGwZVw+HMgOzVdYP8pczr65kKrNMbTr4zvbYRJHQ00u8BAYwhwomF038EEjpD dTOj7mJyW8q1fvSL9cck2uJACkTQ9ao2WsaSJAe+P3aC0dG8eodLVGrnd8RHrPac+8/o XGWg== X-Gm-Message-State: AOJu0Yyje95jLhnami8d4KToMKJqqlpYDqWXsZSjg4vVnc2PlCvm5F3s h+5/wXZNJimDcYIsFE9bkzbwwA== X-Received: by 2002:a5d:4fc3:0:b0:317:558c:c15e with SMTP id h3-20020a5d4fc3000000b00317558cc15emr9996307wrw.27.1692030554858; Mon, 14 Aug 2023 09:29:14 -0700 (PDT) Received: from sagittarius-a.chello.ie (188-141-3-169.dynamic.upc.ie. [188.141.3.169]) by smtp.gmail.com with ESMTPSA id l14-20020a1c790e000000b003fc16ee2864sm14743475wme.48.2023.08.14.09.29.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Aug 2023 09:29:14 -0700 (PDT) From: Bryan O'Donoghue To: rfoss@kernel.org, todor.too@gmail.com, bryan.odonoghue@linaro.org, agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, laurent.pinchart@ideasonboard.com, sakari.ailus@linux.intel.com, andrey.konovalov@linaro.org Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 04/14] media: qcom: camss: Pass icc bandwidth table as a platform parameter Date: Mon, 14 Aug 2023 17:28:57 +0100 Message-ID: <20230814162907.3878421-5-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> References: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1774224267300926971 X-GMAIL-MSGID: 1774224267300926971 Pass the bandwidth table as a platform parameter not if/else derived pointer to the static table. Signed-off-by: Bryan O'Donoghue --- drivers/media/platform/qcom/camss/camss.c | 29 +++++++---------------- drivers/media/platform/qcom/camss/camss.h | 3 ++- 2 files changed, 11 insertions(+), 21 deletions(-) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c index 68eb45b2c0aaa..1a195eb4298a5 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -1484,21 +1484,15 @@ static int camss_configure_pd(struct camss *camss) static int camss_icc_get(struct camss *camss) { const struct resources_icc *icc_res; - int nbr_icc_paths = 0; int i; - if (camss->version == CAMSS_8250) { - icc_res = &icc_res_sm8250[0]; - nbr_icc_paths = ICC_SM8250_COUNT; - } + icc_res = camss->res->icc_res; - for (i = 0; i < nbr_icc_paths; i++) { + for (i = 0; i < camss->res->icc_path_num; i++) { camss->icc_path[i] = devm_of_icc_get(camss->dev, icc_res[i].name); if (IS_ERR(camss->icc_path[i])) return PTR_ERR(camss->icc_path[i]); - - camss->icc_bw_tbl[i] = icc_res[i].icc_bw_tbl; } return 0; @@ -1736,6 +1730,8 @@ static const struct camss_resources sm8250_resources = { .csiphy_res = csiphy_res_8250, .csid_res = csid_res_8250, .vfe_res = vfe_res_8250, + .icc_res = icc_res_sm8250, + .icc_path_num = ARRAY_SIZE(icc_res_sm8250), }; static const struct of_device_id camss_dt_match[] = { @@ -1752,14 +1748,10 @@ MODULE_DEVICE_TABLE(of, camss_dt_match); static int __maybe_unused camss_runtime_suspend(struct device *dev) { struct camss *camss = dev_get_drvdata(dev); - int nbr_icc_paths = 0; int i; int ret; - if (camss->version == CAMSS_8250) - nbr_icc_paths = ICC_SM8250_COUNT; - - for (i = 0; i < nbr_icc_paths; i++) { + for (i = 0; i < camss->res->icc_path_num; i++) { ret = icc_set_bw(camss->icc_path[i], 0, 0); if (ret) return ret; @@ -1771,17 +1763,14 @@ static int __maybe_unused camss_runtime_suspend(struct device *dev) static int __maybe_unused camss_runtime_resume(struct device *dev) { struct camss *camss = dev_get_drvdata(dev); - int nbr_icc_paths = 0; + const struct resources_icc *icc_res = camss->res->icc_res; int i; int ret; - if (camss->version == CAMSS_8250) - nbr_icc_paths = ICC_SM8250_COUNT; - - for (i = 0; i < nbr_icc_paths; i++) { + for (i = 0; i < camss->res->icc_path_num; i++) { ret = icc_set_bw(camss->icc_path[i], - camss->icc_bw_tbl[i].avg, - camss->icc_bw_tbl[i].peak); + icc_res[i].icc_bw_tbl.avg, + icc_res[i].icc_bw_tbl.peak); if (ret) return ret; } diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/platform/qcom/camss/camss.h index f632ee49ad83e..988c313b63551 100644 --- a/drivers/media/platform/qcom/camss/camss.h +++ b/drivers/media/platform/qcom/camss/camss.h @@ -84,6 +84,8 @@ struct camss_resources { const struct resources *csid_res; const struct resources *ispif_res; const struct resources *vfe_res; + const struct resources_icc *icc_res; + const int icc_path_num; }; struct camss { @@ -105,7 +107,6 @@ struct camss { struct device **genpd; struct device_link **genpd_link; struct icc_path *icc_path[ICC_SM8250_COUNT]; - struct icc_bw_tbl icc_bw_tbl[ICC_SM8250_COUNT]; const struct camss_resources *res; }; From patchwork Mon Aug 14 16:28:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 135559 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp2877807vqi; Mon, 14 Aug 2023 10:02:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGt+PBrSF4yWvHuN4fGeFVVeyD4oPB2JojMMqOB7+z6Al5LwvCH0tMg86c6FB4e/iF42S0D X-Received: by 2002:a17:906:8a58:b0:99b:c2ce:501c with SMTP id gx24-20020a1709068a5800b0099bc2ce501cmr11246949ejc.19.1692032547161; Mon, 14 Aug 2023 10:02:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692032547; cv=none; d=google.com; s=arc-20160816; b=QobgheSVyEe/nt8n4ZnFAEY9KwOwW6hz8NRn3Go0/3QXkhMraYI6NbJyhpulZ8gMJL IMs954xc87j+R9cGTMMMDo65xktqjlzsaJOLbTt0n/nHPpAGJhHZrkL4NC5KPmraEHZH tIqgcnVO1zrgBIhbJdRK3oFpO5wpvEPlrXUttqL9Non0umUZBpyEi7brsLnD1yxzcwMI 4zcUy/4x2N6Zcn5BX8wvLA2pn+yckbZMeC37ZBIPXrkxPlp8HdR6GwYs8yXJXqwVqcrc zI+XJXJqbe19lRx1/5YvN8EmE0XyLThtcePX/NLVz09z4PJPnTTk7st9kr1+t8u4Tnjw AxAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Pzg3X0plNFdFq8mogDfi/ytxmVpikMwYLKMn9LJIoqc=; fh=zUAAL0oq2+kA0nMRT5WSj9jrme2MlEZTDW5RK2mes1s=; b=f04IwKhuBCRZhE2Jo0RWxJFDuEM+9Q1qXBz/BrAaOSrpiHq2WE1K8Q+vMsABDqGTvb m79XZkC8V23ozQGY1RDGmg94XWbnt8hRcwFsm3Tww2IFbdvHQou7fJvOJlJzKKOSK6E/ wp7MsyZM7W7ndW72+rbXZgNsZjN3PqRTSFgr2zlstFDR1tTRHbWrMhKKdaPEPHXI207v PBvhPS7pv9VGMHPQMyo6TMif8nKO2U35+5LgWlFuO78miBPNMnHsQqUreZ0jPtcRIbfA wxx/I7fledSY5Lr2gt33pcgzgbgHAVxALFgiTndiCKgmtjKQeWa0UAdEG/MZFmpIo6aH VzNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="A+lz2e/y"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id sd16-20020a170906ce3000b0099cd4f06667si7649318ejb.28.2023.08.14.10.01.38; Mon, 14 Aug 2023 10:02:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="A+lz2e/y"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232626AbjHNQ3u (ORCPT + 99 others); Mon, 14 Aug 2023 12:29:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46922 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231938AbjHNQ3X (ORCPT ); Mon, 14 Aug 2023 12:29:23 -0400 Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 13557E6E for ; Mon, 14 Aug 2023 09:29:19 -0700 (PDT) Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-3fe1d9a8ec6so31817925e9.1 for ; Mon, 14 Aug 2023 09:29:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1692030557; x=1692635357; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Pzg3X0plNFdFq8mogDfi/ytxmVpikMwYLKMn9LJIoqc=; b=A+lz2e/yJYhSTpjM4QTBwBcI/HJiJHRCgKpARFQVfFYd547Ow5xr/1Z0jB/u/VyqG1 GogFga1kpkoU7w6V3BwFu/YDDbJXkpLUZruZh9zHFbq3SQ85YZsSm2xcgoAKxMIwDHpW BmiDDgOw3d9dEMrwsmXTvarHv2cSyNZKfx8vhWb9RmrSvKg/1sVvkTiV1z6qYk4SxUy2 3MNv8g1ni5BDflDXlQsyuHQFdXO/Dhdsod5zM18lWvc2j+TlgIU3ozc7MOnze+gsYx2c 07RZ4Eg8tKYe0cOMpkAzCruzpYkaGYF5hTZqtexolynvzmTRCut9P88tXils91Ssczj9 Xp/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692030557; x=1692635357; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Pzg3X0plNFdFq8mogDfi/ytxmVpikMwYLKMn9LJIoqc=; b=lYG8omQR4JVQD5YUc5EbQBwFzJakwfn7HLE5AelSuIUPq3Zrv7imwUJhW0ogIr7HFm TUt9rSLlPdavQGEpUOLvqSwQJOYhTXsatbbdReY60IJspYIbtXhvXelV9cF1MVuVHE7a qJELFNnp5GLfQC6LwZFepI8OYHc0Tr5609irdeQAAOX7LfuYtrPZyBFAgDFjUVNdQzTb KadXIdX6jh8T2d3a/rP1Km1uC8CDkKsitaxi/yoiHpzkq1+7Cn6iG1toX7yKllSq8554 4Asoe0BfjQPdSDztyfmVrKEYdSFzf+PumWwd9qHt4TcbRBkR0gLIfB+uPSPGdz/NYLzr G2dQ== X-Gm-Message-State: AOJu0Yz2csjeocXyFGOxsZfYGR/+rR+xG5IbjqdFdBG5EBAdSq9lCqy3 NpW5wXt0+4o2HH5JLncpb7fr3w== X-Received: by 2002:a05:600c:820:b0:3fe:4c29:e626 with SMTP id k32-20020a05600c082000b003fe4c29e626mr10259595wmp.13.1692030557621; Mon, 14 Aug 2023 09:29:17 -0700 (PDT) Received: from sagittarius-a.chello.ie (188-141-3-169.dynamic.upc.ie. [188.141.3.169]) by smtp.gmail.com with ESMTPSA id l14-20020a1c790e000000b003fc16ee2864sm14743475wme.48.2023.08.14.09.29.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Aug 2023 09:29:17 -0700 (PDT) From: Bryan O'Donoghue To: rfoss@kernel.org, todor.too@gmail.com, bryan.odonoghue@linaro.org, agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, laurent.pinchart@ideasonboard.com, sakari.ailus@linux.intel.com, andrey.konovalov@linaro.org Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 06/14] media: qcom: camss: Pass line_num from compat resources Date: Mon, 14 Aug 2023 17:28:59 +0100 Message-ID: <20230814162907.3878421-7-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> References: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1774224720066901380 X-GMAIL-MSGID: 1774224720066901380 line_num indicates the number of RDI - raw data interface channels which are associated with a given IFE/VFE - image/video front end. On several SoCs the RDI number is not static for each VFE - for example on sm8250 VFE Lite has four RDIs where regular VFE has three. Assigning line_num statically in the subdev_init() phase initialises each VFE to the lower number, meaning in practical terms that we are lobbing off one RDI on some VFEs. Interrupt handling uses static for (i = RDI0; i < RDI2; i++) {} in some of our VFE blocks but this can't work for situations where we have a mixture of VFE @ 3 RDI and VFE-lite @ 4 RDI blocks. First step to remediate is to pass line_num from a compat string controlled data-structure and do so on a per-VFE basis. Later patches will assign the correct number of RDI blocks per VFE. Signed-off-by: Bryan O'Donoghue --- .../media/platform/qcom/camss/camss-vfe-170.c | 2 -- .../media/platform/qcom/camss/camss-vfe-4-1.c | 2 -- .../media/platform/qcom/camss/camss-vfe-4-7.c | 2 -- .../media/platform/qcom/camss/camss-vfe-4-8.c | 2 -- .../media/platform/qcom/camss/camss-vfe-480.c | 1 - drivers/media/platform/qcom/camss/camss-vfe.c | 5 +++ drivers/media/platform/qcom/camss/camss.c | 36 ++++++++++++------- drivers/media/platform/qcom/camss/camss.h | 1 + 8 files changed, 30 insertions(+), 21 deletions(-) diff --git a/drivers/media/platform/qcom/camss/camss-vfe-170.c b/drivers/media/platform/qcom/camss/camss-vfe-170.c index 9905bb06b3823..8aa921400ded0 100644 --- a/drivers/media/platform/qcom/camss/camss-vfe-170.c +++ b/drivers/media/platform/qcom/camss/camss-vfe-170.c @@ -756,8 +756,6 @@ static void vfe_subdev_init(struct device *dev, struct vfe_device *vfe) { vfe->isr_ops = vfe_isr_ops_170; vfe->video_ops = vfe_video_ops_170; - - vfe->line_num = VFE_LINE_NUM_GEN2; } const struct vfe_hw_ops vfe_ops_170 = { diff --git a/drivers/media/platform/qcom/camss/camss-vfe-4-1.c b/drivers/media/platform/qcom/camss/camss-vfe-4-1.c index bc309f326f519..2911e4126e7ad 100644 --- a/drivers/media/platform/qcom/camss/camss-vfe-4-1.c +++ b/drivers/media/platform/qcom/camss/camss-vfe-4-1.c @@ -992,8 +992,6 @@ static void vfe_subdev_init(struct device *dev, struct vfe_device *vfe) vfe->isr_ops = vfe_isr_ops_gen1; vfe->ops_gen1 = &vfe_ops_gen1_4_1; vfe->video_ops = vfe_video_ops_gen1; - - vfe->line_num = VFE_LINE_NUM_GEN1; } const struct vfe_hw_ops vfe_ops_4_1 = { diff --git a/drivers/media/platform/qcom/camss/camss-vfe-4-7.c b/drivers/media/platform/qcom/camss/camss-vfe-4-7.c index 8acd76c9746ba..b65ed0fef595e 100644 --- a/drivers/media/platform/qcom/camss/camss-vfe-4-7.c +++ b/drivers/media/platform/qcom/camss/camss-vfe-4-7.c @@ -1188,8 +1188,6 @@ static void vfe_subdev_init(struct device *dev, struct vfe_device *vfe) vfe->isr_ops = vfe_isr_ops_gen1; vfe->ops_gen1 = &vfe_ops_gen1_4_7; vfe->video_ops = vfe_video_ops_gen1; - - vfe->line_num = VFE_LINE_NUM_GEN1; } const struct vfe_hw_ops vfe_ops_4_7 = { diff --git a/drivers/media/platform/qcom/camss/camss-vfe-4-8.c b/drivers/media/platform/qcom/camss/camss-vfe-4-8.c index 3a0167ecf873a..7b3805177f037 100644 --- a/drivers/media/platform/qcom/camss/camss-vfe-4-8.c +++ b/drivers/media/platform/qcom/camss/camss-vfe-4-8.c @@ -1173,8 +1173,6 @@ static void vfe_subdev_init(struct device *dev, struct vfe_device *vfe) vfe->isr_ops = vfe_isr_ops_gen1; vfe->ops_gen1 = &vfe_ops_gen1_4_8; vfe->video_ops = vfe_video_ops_gen1; - - vfe->line_num = VFE_LINE_NUM_GEN1; } const struct vfe_hw_ops vfe_ops_4_8 = { diff --git a/drivers/media/platform/qcom/camss/camss-vfe-480.c b/drivers/media/platform/qcom/camss/camss-vfe-480.c index 80338efceb9e1..b1a07e846e25b 100644 --- a/drivers/media/platform/qcom/camss/camss-vfe-480.c +++ b/drivers/media/platform/qcom/camss/camss-vfe-480.c @@ -572,7 +572,6 @@ static const struct camss_video_ops vfe_video_ops_480 = { static void vfe_subdev_init(struct device *dev, struct vfe_device *vfe) { vfe->video_ops = vfe_video_ops_480; - vfe->line_num = MAX_VFE_OUTPUT_LINES; } const struct vfe_hw_ops vfe_ops_480 = { diff --git a/drivers/media/platform/qcom/camss/camss-vfe.c b/drivers/media/platform/qcom/camss/camss-vfe.c index 526dd4ab343fe..b789b3b2e4cfd 100644 --- a/drivers/media/platform/qcom/camss/camss-vfe.c +++ b/drivers/media/platform/qcom/camss/camss-vfe.c @@ -1305,6 +1305,11 @@ int msm_vfe_subdev_init(struct camss *camss, struct vfe_device *vfe, default: return -EINVAL; } + + if (!res->line_num) + return -EINVAL; + + vfe->line_num = res->line_num; vfe->ops->subdev_init(dev, vfe); /* Memory */ diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c index e257559472323..0e39d123a2113 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -123,7 +123,8 @@ static const struct resources vfe_res_8x16[] = { { 0 }, { 0 } }, .reg = { "vfe0" }, - .interrupt = { "vfe0" } + .interrupt = { "vfe0" }, + .line_num = VFE_LINE_NUM_GEN1, } }; @@ -263,7 +264,8 @@ static const struct resources vfe_res_8x96[] = { { 0 }, { 0 } }, .reg = { "vfe0" }, - .interrupt = { "vfe0" } + .interrupt = { "vfe0" }, + .line_num = VFE_LINE_NUM_GEN1, }, /* VFE1 */ @@ -281,7 +283,8 @@ static const struct resources vfe_res_8x96[] = { { 0 }, { 0 } }, .reg = { "vfe1" }, - .interrupt = { "vfe1" } + .interrupt = { "vfe1" }, + .line_num = VFE_LINE_NUM_GEN1, } }; @@ -442,7 +445,8 @@ static const struct resources vfe_res_660[] = { { 0 }, { 0 } }, .reg = { "vfe0" }, - .interrupt = { "vfe0" } + .interrupt = { "vfe0" }, + .line_num = VFE_LINE_NUM_GEN1, }, /* VFE1 */ @@ -463,7 +467,8 @@ static const struct resources vfe_res_660[] = { { 0 }, { 0 } }, .reg = { "vfe1" }, - .interrupt = { "vfe1" } + .interrupt = { "vfe1" }, + .line_num = VFE_LINE_NUM_GEN1, } }; @@ -621,7 +626,8 @@ static const struct resources vfe_res_845[] = { { 19200000, 75000000, 384000000, 538666667 }, { 384000000 } }, .reg = { "vfe0" }, - .interrupt = { "vfe0" } + .interrupt = { "vfe0" }, + .line_num = VFE_LINE_NUM_GEN2, }, /* VFE1 */ @@ -641,7 +647,8 @@ static const struct resources vfe_res_845[] = { { 19200000, 75000000, 384000000, 538666667 }, { 384000000 } }, .reg = { "vfe1" }, - .interrupt = { "vfe1" } + .interrupt = { "vfe1" }, + .line_num = VFE_LINE_NUM_GEN2, }, /* VFE-lite */ @@ -660,7 +667,8 @@ static const struct resources vfe_res_845[] = { { 19200000, 75000000, 384000000, 538666667 }, { 384000000 } }, .reg = { "vfe_lite" }, - .interrupt = { "vfe_lite" } + .interrupt = { "vfe_lite" }, + .line_num = VFE_LINE_NUM_GEN2, } }; @@ -787,7 +795,8 @@ static const struct resources vfe_res_8250[] = { { 0 }, { 0 } }, .reg = { "vfe0" }, - .interrupt = { "vfe0" } + .interrupt = { "vfe0" }, + .line_num = 4, }, /* VFE1 */ { @@ -805,7 +814,8 @@ static const struct resources vfe_res_8250[] = { { 0 }, { 0 } }, .reg = { "vfe1" }, - .interrupt = { "vfe1" } + .interrupt = { "vfe1" }, + .line_num = 4, }, /* VFE2 (lite) */ { @@ -822,7 +832,8 @@ static const struct resources vfe_res_8250[] = { { 400000000, 480000000 }, { 0 } }, .reg = { "vfe_lite0" }, - .interrupt = { "vfe_lite0" } + .interrupt = { "vfe_lite0" }, + .line_num = 4, }, /* VFE3 (lite) */ { @@ -839,7 +850,8 @@ static const struct resources vfe_res_8250[] = { { 400000000, 480000000 }, { 0 } }, .reg = { "vfe_lite1" }, - .interrupt = { "vfe_lite1" } + .interrupt = { "vfe_lite1" }, + .line_num = 4, }, }; diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/platform/qcom/camss/camss.h index dd8c58d349685..101ce6e527931 100644 --- a/drivers/media/platform/qcom/camss/camss.h +++ b/drivers/media/platform/qcom/camss/camss.h @@ -48,6 +48,7 @@ struct resources { u32 clock_rate[CAMSS_RES_MAX][CAMSS_RES_MAX]; char *reg[CAMSS_RES_MAX]; char *interrupt[CAMSS_RES_MAX]; + u8 line_num; }; struct icc_bw_tbl { From patchwork Mon Aug 14 16:29:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 135598 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp2948593vqi; Mon, 14 Aug 2023 12:15:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEtZI+6zNWTDjkqS2hWJsJsLJKLxrYb8vdZZtX53b/rCWTMLJwwRiDhqhS7FZYVxI045GHK X-Received: by 2002:a05:6a00:134c:b0:682:a6c5:6f28 with SMTP id k12-20020a056a00134c00b00682a6c56f28mr15405974pfu.32.1692040534738; Mon, 14 Aug 2023 12:15:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692040534; cv=none; d=google.com; s=arc-20160816; b=LCsiJzdlprWcuon6NrvZRIj/FJmArEJpVGf5mv34jywzX8UwofXIbct9xsZZAwi8vW MqnitMalgnJ2XLnNv526erKSC0cNNcQXAroAptWvYedSy3HjXWNkwC+HN6BVgUBe6V20 wCRhk3TMi3jVcHGYY+5vahkNOAIMlZa/TU6WlVODLxlLOWSxgWggvK2poxRz1vBoNrvP 6l7wUqY8eqGFUNXhOycFJYEACLHV3sc44rBkMvtq/tGmTT0ugaUnfL4ClTwkhUqLgHVb kK3QKjIuNO5G62RUxlpK8B5B6UfpkxNbeiK5Qp9iecr68xLFrofE3hJdOAhPT7/i/Euu BjxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Tu5wgrby+aWezgOUb3gHoMCl+XR0Y7Fji2fknL0oJ5Q=; fh=zUAAL0oq2+kA0nMRT5WSj9jrme2MlEZTDW5RK2mes1s=; b=QxD7+vgtLpLm8Ej5854BeQrmGhZD5JHFidsJr/bIzJgpZ6Qa9ad5uU3G0QLrhtF4cB MSjDiTsVgRkJSmfvnstCvRLGoG6ZCkbaj/NBwD5r8+p75lP3FmFTanBny1WOsHM1I98A xeKfNx7qs7+BtTnc5kTl5UhRBmMMG5mk89DZORyVWSzAcOz1m0mGGu9ln6HnKHX39XIl 5TLJdlOUcZ0/t7c1Q55HIoT+GMFF9jygEACTCzd+VkWHjikMS7oEVHjDY27L9LT7rJ2S jFFLOqEPTiqSjcc85Ru9FM+//LO87xQrwry4WAJXaIGt6kGgNp4IzWRLGdd/i2zrexth hJeg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OYH+1QHh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u9-20020a056a00098900b006501b3c2009si8811217pfg.58.2023.08.14.12.15.20; Mon, 14 Aug 2023 12:15:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OYH+1QHh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232636AbjHNQ3v (ORCPT + 99 others); Mon, 14 Aug 2023 12:29:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46972 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232039AbjHNQ3Y (ORCPT ); Mon, 14 Aug 2023 12:29:24 -0400 Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 30B65A8 for ; Mon, 14 Aug 2023 09:29:20 -0700 (PDT) Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-3fe1a17f983so40968545e9.3 for ; Mon, 14 Aug 2023 09:29:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1692030558; x=1692635358; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Tu5wgrby+aWezgOUb3gHoMCl+XR0Y7Fji2fknL0oJ5Q=; b=OYH+1QHhpiOHsvhfxhZb5PYNfvsgcJdnB0R19DVzZBT//tu5lEc8jPibKrq8pYRime QsSCGcZHo0AHf746qUDg+JQvf1Mc37GJJUat+lMO3WKV+2VEfOzgWfX4MGtl1yXPfMoV klQ9gun+VTrcCPM7TrF3dY4MXP+2agI5yIhQDMDgixdz67OQi6hySOP0nDzVRnFh871D KDjWGNEWmnrpaRXyvza8KMsoMKVEVtYOrSyesD78g/0JYrAOz9n8cnagZwo5rsX0QC1V OPhWwloHSjFjk5CnQmvUGkhRIr0CqRSNX2F0BHOh8YCVYkjoijiK8Wc4Kxog5TzVTsyJ sQVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692030558; x=1692635358; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Tu5wgrby+aWezgOUb3gHoMCl+XR0Y7Fji2fknL0oJ5Q=; b=GDUjirVH4GjnbIBk9eB6F3EDaKTyF5xk+vB4o42kYbqjQRJ1vVSJWsxWCLyEn7WiTg X22yPZz5114SOK8Yui9Y0gi7sKIUef3V9eeGU0JuDFOlVP5zHWFNblRgTVu+OlrXY0kJ jCynNmPSzeeNgXqusU5trmUVteZdAQ3kzrSHKFNAaZRngCggJ6ZNp4XuQFMyMb2X2SYC aekjcb6KlGKHI2yWIo+nemhq+7zj7MJkWol7eap0fil08bzxmnUZQXKabPMG3MXs+WDA FAdIFeXSMmFJSTp8tVgGzDq7xkTOREJJ/UHsaqACreIvvvYc+hXUv4a9fKly5pKnxw6G 9pwQ== X-Gm-Message-State: AOJu0YwBkfOaWzGhkfRoE5jtb2cs3MBlXg1nHBG8sfKCRF2ka7KQQdhF QJPb7CngQpVhTGlARFnkKSjnyA== X-Received: by 2002:a05:600c:2242:b0:3fa:97ad:2ba5 with SMTP id a2-20020a05600c224200b003fa97ad2ba5mr7715214wmm.31.1692030558746; Mon, 14 Aug 2023 09:29:18 -0700 (PDT) Received: from sagittarius-a.chello.ie (188-141-3-169.dynamic.upc.ie. [188.141.3.169]) by smtp.gmail.com with ESMTPSA id l14-20020a1c790e000000b003fc16ee2864sm14743475wme.48.2023.08.14.09.29.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Aug 2023 09:29:18 -0700 (PDT) From: Bryan O'Donoghue To: rfoss@kernel.org, todor.too@gmail.com, bryan.odonoghue@linaro.org, agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, laurent.pinchart@ideasonboard.com, sakari.ailus@linux.intel.com, andrey.konovalov@linaro.org Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 07/14] media: qcom: camss: Assign the correct number of RDIs per VFE Date: Mon, 14 Aug 2023 17:29:00 +0100 Message-ID: <20230814162907.3878421-8-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> References: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1774233095553837514 X-GMAIL-MSGID: 1774233095553837514 Each Video Front End - VFE - has a variable number of Raw Data Interfaces - RDIs associated with it. The CAMSS code started from a naive implementation where a fixed define was used as a control in a for(){} loop iterating through RDIs. That model scales badly. An attempt was made with VFE_LINE_NUM_GEN2 and VFE_LINE_NUM_GEN1 to differentiate between SoCs but, the problem with that is "gen1" and "gen2" have no meaning in the silicon. There is no fixed constraint in the silicon between VFE and RDI, it is entirely up to the SoC designers how many VFEs are populated and how many RDIs to associate with each VFE. As an example sdm845 has VFE version 175 and sm8250 VFE version 480. sdm845 has 2 VFEs with 4 RDIs and 1 VFE Lite with 4 RDIs. sm8250 has 2 VFEs with 3 RDIs and 2 VFE Lite with 4 RDIs. Clearly then we need a more granular model to capture the necessary data. The defines have gone away to be replaced with per-SoC data but, we haven't populated the parameter data with the real values. Let's call those values out now msm8916: 1 x VFE 3 x RDI per VFE (not 4) msm8996: 2 x VFE 3 x RDI per VFE (not 4) sdm660: 2 x VFE 3 x RDI per VFE (not 4) sdm845: 2 x VFE 4 x RDI per VFE (not 3) 1 x VFE Lite 4 x RDI per VFE Lite (not 3) sm8250: 2 x VFE 3 x RDI per VFE (not 4) 2 x VFE Lite 4 x RDI per VFE This more complex and correct mapping was not possible prior to passing values via driver data. Now that we have that change in place we can correctly map VFEs to RDIs for each VFE. Signed-off-by: Bryan O'Donoghue --- drivers/media/platform/qcom/camss/camss.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c index 0e39d123a2113..6114ea15fd4a0 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -124,7 +124,7 @@ static const struct resources vfe_res_8x16[] = { { 0 } }, .reg = { "vfe0" }, .interrupt = { "vfe0" }, - .line_num = VFE_LINE_NUM_GEN1, + .line_num = 3, } }; @@ -265,7 +265,7 @@ static const struct resources vfe_res_8x96[] = { { 0 } }, .reg = { "vfe0" }, .interrupt = { "vfe0" }, - .line_num = VFE_LINE_NUM_GEN1, + .line_num = 3, }, /* VFE1 */ @@ -284,7 +284,7 @@ static const struct resources vfe_res_8x96[] = { { 0 } }, .reg = { "vfe1" }, .interrupt = { "vfe1" }, - .line_num = VFE_LINE_NUM_GEN1, + .line_num = 3, } }; @@ -446,7 +446,7 @@ static const struct resources vfe_res_660[] = { { 0 } }, .reg = { "vfe0" }, .interrupt = { "vfe0" }, - .line_num = VFE_LINE_NUM_GEN1, + .line_num = 3, }, /* VFE1 */ @@ -468,7 +468,7 @@ static const struct resources vfe_res_660[] = { { 0 } }, .reg = { "vfe1" }, .interrupt = { "vfe1" }, - .line_num = VFE_LINE_NUM_GEN1, + .line_num = 3, } }; @@ -627,7 +627,7 @@ static const struct resources vfe_res_845[] = { { 384000000 } }, .reg = { "vfe0" }, .interrupt = { "vfe0" }, - .line_num = VFE_LINE_NUM_GEN2, + .line_num = 4, }, /* VFE1 */ @@ -648,7 +648,7 @@ static const struct resources vfe_res_845[] = { { 384000000 } }, .reg = { "vfe1" }, .interrupt = { "vfe1" }, - .line_num = VFE_LINE_NUM_GEN2, + .line_num = 4, }, /* VFE-lite */ @@ -668,7 +668,7 @@ static const struct resources vfe_res_845[] = { { 384000000 } }, .reg = { "vfe_lite" }, .interrupt = { "vfe_lite" }, - .line_num = VFE_LINE_NUM_GEN2, + .line_num = 4, } }; @@ -796,7 +796,7 @@ static const struct resources vfe_res_8250[] = { { 0 } }, .reg = { "vfe0" }, .interrupt = { "vfe0" }, - .line_num = 4, + .line_num = 3, }, /* VFE1 */ { @@ -815,7 +815,7 @@ static const struct resources vfe_res_8250[] = { { 0 } }, .reg = { "vfe1" }, .interrupt = { "vfe1" }, - .line_num = 4, + .line_num = 3, }, /* VFE2 (lite) */ { From patchwork Mon Aug 14 16:29:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 135545 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp2873023vqi; Mon, 14 Aug 2023 09:54:28 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGmPz1sBM0eG/NyUvwfs5keKvPbMrEDSnRe8D/hj9yKMrBSxqPnHKwIolOHb1kr7qA0bvDy X-Received: by 2002:a05:6a20:d422:b0:13f:7c0e:dc74 with SMTP id il34-20020a056a20d42200b0013f7c0edc74mr8584962pzb.55.1692032068250; Mon, 14 Aug 2023 09:54:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692032068; cv=none; d=google.com; s=arc-20160816; b=y/m74nSdDgOV50teXYwOgFIYhPb1AsO0Ar2T12QsBX0+dkU8xe+f40F80A58kYRAwL 9KKX/FVs6s62NTW42IHQICr662tdlSMFUEtyW//I+efnHx/LaJordrBzBsF1GiUlXBC/ EYU3T1mYrWmi/ofOmcO6ChujOnNeF8cjiOwp5GTRfc/Q1lhXb8vEabh6jm8mBIfmYJTb yx2XRKgVjw3FDRGbp3PPfeXiFBpMXyGewdFL2mre8Q0BITjiPOPHoZJKIVKTLjoUMXv0 cY01GJALCerlUpw1zgM+InPbil88orP36ShurRC6HnbTxre8vrs9mefNRZN9DjqlJHX8 /Y/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=NIpw90Bh2xViXJnbQ5nWex1TBW8RXK/K06cNQuH8aJM=; fh=zUAAL0oq2+kA0nMRT5WSj9jrme2MlEZTDW5RK2mes1s=; b=DgPvZOBpCd6RaRKwi3mnxZZWqwCDCeI/d80+RQuhxELKsxTF7BD16XnqvbIOnIWyyX aDJdMUxAgX7kXkZ1mwgoiLgKte4A01D0zSelfbsnkOuC2L4SoM4ETQeGbjEDuYWjPFqa txcuIDcomX/L2vbwG/v3EppzVaUJNQOWibbwdrKJTqgalmTKwoDVElmMjDyJAyvRIsue 9VXLlJ1weP8y7AzRSHSCYFkvhgL+O2ZYbYXgqSqTI/Cf8uxNQXPJPp1OD09RVK0Bb8mH d4vLRmxilHNjtK1v3hm/dc8yucfTViiGLhoVJXU9by3UhopZaXdzMisAMggzkyxntq+4 Y7ag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zv0UdT8c; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e189-20020a6369c6000000b00565218f25c4si8058930pgc.858.2023.08.14.09.54.14; Mon, 14 Aug 2023 09:54:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zv0UdT8c; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232755AbjHNQ34 (ORCPT + 99 others); Mon, 14 Aug 2023 12:29:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47150 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232434AbjHNQ32 (ORCPT ); Mon, 14 Aug 2023 12:29:28 -0400 Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [IPv6:2a00:1450:4864:20::32f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AC8F3E65 for ; Mon, 14 Aug 2023 09:29:23 -0700 (PDT) Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-3fe5695b180so40750675e9.2 for ; Mon, 14 Aug 2023 09:29:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1692030562; x=1692635362; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NIpw90Bh2xViXJnbQ5nWex1TBW8RXK/K06cNQuH8aJM=; b=zv0UdT8cU4B1emaIFFn2U40x/r6KMVhhrRPL84WWK1jMdaScDd3xz+1lnzXXU2pR1w DwsZLDi3ifSFVNM01YqOkXQrRuc0WfYrVvk5FSE/KRHpD9nwTLVzcO/IcuazWbbVsV0+ KqLDQZcVzLjxSM9G4MScdlUq3sPVR1SlrXRV5Ko8jZrjxbywVxCto+J4DgXad4t22zI4 Rl7QnhTdzAR0oIKPo701x2r/jmzSArrtXEjqGmH7iLjmRLAWM9s7901Xgk4ni8hMA5K3 sKM7IAytgzR9SAImdcVEIIGLx9vVIoXqXWSzt2/2aQ5DlaM8ZRGem82ArEqemJZMbiUZ 03kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692030562; x=1692635362; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NIpw90Bh2xViXJnbQ5nWex1TBW8RXK/K06cNQuH8aJM=; b=h2yMvcecWQcD5b2p2/NB2i13LJRnRu6+HK5ZaM9ML8VXAo/qGHLajMd5YQroLxsoJg 1pdvlHWZvz/yUFD0XxGRU73W3SDN/T4YHLSgpXxRI3txt0Jk7VZ7ZSSl3pWRIgK53YoK V7oAPpjCc+Lkguj7ylbYsH/+lircqlvgczXgpUYzCgASqnmY2Va8A/76YLHuzMQyR5QA 4qZk4SdfsEeJDQcEjt3BHzUc3bk8+AfOQzbmdmERk65NTe/GT7kCooNwdtol8GdrqqUj BYgx54/fyjR5HacSzQKk7asBLjjJFYT32+06qx9re4usJpZ2Rmo2mulq8hzx6XGVDbp2 XavQ== X-Gm-Message-State: AOJu0Yx2/Sb2MMCSZuQ6w4vhzOR/9eci7DMvQ7A5wc00Purz7tF5iZyN KkDvGXY6Ti89Bj9iXQKaak2XWg== X-Received: by 2002:a7b:c44f:0:b0:3fb:abd0:2b52 with SMTP id l15-20020a7bc44f000000b003fbabd02b52mr8152475wmi.13.1692030562227; Mon, 14 Aug 2023 09:29:22 -0700 (PDT) Received: from sagittarius-a.chello.ie (188-141-3-169.dynamic.upc.ie. [188.141.3.169]) by smtp.gmail.com with ESMTPSA id l14-20020a1c790e000000b003fc16ee2864sm14743475wme.48.2023.08.14.09.29.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Aug 2023 09:29:21 -0700 (PDT) From: Bryan O'Donoghue To: rfoss@kernel.org, todor.too@gmail.com, bryan.odonoghue@linaro.org, agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, laurent.pinchart@ideasonboard.com, sakari.ailus@linux.intel.com, andrey.konovalov@linaro.org Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 10/14] media: qcom: camss: Improve error printout on icc_get fail Date: Mon, 14 Aug 2023 17:29:03 +0100 Message-ID: <20230814162907.3878421-11-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> References: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1774224218231957885 X-GMAIL-MSGID: 1774224218231957885 If icc_get() fails print the name of the failing path. Signed-off-by: Bryan O'Donoghue --- drivers/media/platform/qcom/camss/camss.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c index 6114ea15fd4a0..d0f149db908c1 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -1503,8 +1503,11 @@ static int camss_icc_get(struct camss *camss) for (i = 0; i < camss->res->icc_path_num; i++) { camss->icc_path[i] = devm_of_icc_get(camss->dev, icc_res[i].name); - if (IS_ERR(camss->icc_path[i])) + if (IS_ERR(camss->icc_path[i])) { + dev_err(camss->dev, "Unable to icc_get %s\n", + icc_res[i].name); return PTR_ERR(camss->icc_path[i]); + } } return 0; From patchwork Mon Aug 14 16:29:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 135544 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp2872508vqi; Mon, 14 Aug 2023 09:53:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFQd4o7zxDmArzCqBDHVjrTRxv8qO68ANjWOKksm5weVx2KseSMwCuENao5Rnyy+7eC527g X-Received: by 2002:a05:6a20:3d8e:b0:12c:b10d:693d with SMTP id s14-20020a056a203d8e00b0012cb10d693dmr11053761pzi.6.1692032005157; Mon, 14 Aug 2023 09:53:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692032005; cv=none; d=google.com; s=arc-20160816; b=QDCBogb2IZVANxUdW8Trq8Mp56GW6XcUapmWXuqJ2AMN1ajwG9QODuJdxa6vl+TI+i QHVfPJ2Js+S34l1GYgRQgshggMdRhHjkkyfo6KUmndYirypwYYS+vQ3cOwLhWW7oii3p XiC9NwyBKJvOzmqQGmA66oX6ocXq2Gm/VZGltbGKu/58boHeNiGBT/7Bljzqf3rCK2Ff 4qmmKEdFKXPcR9jMVWwowhCjsHIprZy5JxSUVSzkN25MP4Z+3Q1Tec6CrYYibe8LSGEw QszFzrz6m611o6V0NUwpWcNIE5aOG44Dm6JtfPvaDgRcyKa375iOpogMmu7xHCHtrbDH zGBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=rHxvfmBq2wQcZEqJeTw0BxrGFmAlBN3kn0Ir0lpbaw4=; fh=zUAAL0oq2+kA0nMRT5WSj9jrme2MlEZTDW5RK2mes1s=; b=nsTtToiquh4qjkjsuN3adVcAZ4ls5XjwcTOaAL2B6sabLO45mD75S3sqe5X1b3QWx3 JiFngIgkgyHuXIJYbyW7UFagjxftK6rHbQ2N3kERTG4jy2RcojIfIUhXQFKm/GeHbL+Z pq065sECBIpxO+qxzQsCsyEkF6+WvhptYfmRws/2JfB/JG8aXZFNyqo7LSXC5jV26+pn k0hPdO6MjBoTlQJDmh/5tCutlJqQ94opOx/l8BwMLAeEH5FdCoU+mAA5apyfvFpVAZEi 9egQyWCm8xH7Id5MM38kIMR/pIWudKH22gYu+xK59kHhGt2HE4WuLqwtdaVwjEoqyD39 T5pw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=MVDUyLNo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e35-20020a630f23000000b0056357ea1d1dsi7935037pgl.532.2023.08.14.09.52.46; Mon, 14 Aug 2023 09:53:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=MVDUyLNo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232723AbjHNQ3y (ORCPT + 99 others); Mon, 14 Aug 2023 12:29:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47134 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232450AbjHNQ33 (ORCPT ); Mon, 14 Aug 2023 12:29:29 -0400 Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2E401E6A for ; Mon, 14 Aug 2023 09:29:25 -0700 (PDT) Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-3fe1a17f983so40969245e9.3 for ; Mon, 14 Aug 2023 09:29:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1692030563; x=1692635363; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rHxvfmBq2wQcZEqJeTw0BxrGFmAlBN3kn0Ir0lpbaw4=; b=MVDUyLNo9O6sKi/JQRUyfv3hbSM3DpAfbwkGmXCuB9+MFbnW8JPBHUHQ+u/AvSSFRf nitMHru2LgEDjO3BcmDYMLPOCePhwIu08gs9S7cjjvWG+IKB3S7kwrLK7r04tvCaroIV y0s8ruLwq1w0hdMQF5e0xi9rHJwvL3wXtFxNPl53Yd32l7H9cd0FIMYeOIM30BpPFHo9 wmnWvgIuQs0R3I0X3zQOVlNWI+sin3RfngrsfrEUQ6xpJidsQyMPVr2yNrVwozV795Yc c3tTdJx4BEh05MBbarGmW/sJf6Pwxrn0dIk+CsH2EBefaH97Mzv4Aex3Zr+AYkv7pmeM ZRaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692030563; x=1692635363; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rHxvfmBq2wQcZEqJeTw0BxrGFmAlBN3kn0Ir0lpbaw4=; b=g7MrIDKu8O5FpxaH7a+U1XZ5UrQj+APyqrpS8ZLjMtWuUaektgQaU0LEyy4TDF15Wn ub51wyDdVABnphpMo2NB96QicGa66qzZ8JQIb4BpWMgi7pUpyhN7aELfrK8cgx5Bh3d3 qlDj/V5BP/Lislw3yvqA8pnnGjPorF4ququxBZI2fjxyAc205qV3bqHcC6GsLYJp0MIG qK0hMUbwfDvd5npC6R4t3Qso9ruj3DW0UTajDLWnbiNn4uKTDjZQ7+m9GfWAQ/Rw8yui 3TBkzRb7mjaRdpjyDYyqZUjZnf8DSuGX55oXKiD17WYinjc5J9xaIlhgskP5EVecazIR kJhQ== X-Gm-Message-State: AOJu0YyRTqxpyVzrsdVolbYitO9bhR+iIZhbdX6VdwKBX0Li7WjBo0NI vFxR1pNAGueCidqS87p1ZWaucA== X-Received: by 2002:a05:600c:218:b0:3fb:b5dc:dab1 with SMTP id 24-20020a05600c021800b003fbb5dcdab1mr7879728wmi.39.1692030563632; Mon, 14 Aug 2023 09:29:23 -0700 (PDT) Received: from sagittarius-a.chello.ie (188-141-3-169.dynamic.upc.ie. [188.141.3.169]) by smtp.gmail.com with ESMTPSA id l14-20020a1c790e000000b003fc16ee2864sm14743475wme.48.2023.08.14.09.29.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Aug 2023 09:29:22 -0700 (PDT) From: Bryan O'Donoghue To: rfoss@kernel.org, todor.too@gmail.com, bryan.odonoghue@linaro.org, agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, laurent.pinchart@ideasonboard.com, sakari.ailus@linux.intel.com, andrey.konovalov@linaro.org Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 11/14] media: qcom: camss: Allow clocks vfeN vfe_liteN or vfe_lite Date: Mon, 14 Aug 2023 17:29:04 +0100 Message-ID: <20230814162907.3878421-12-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> References: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1774224151637758917 X-GMAIL-MSGID: 1774224151637758917 The number of Video Front End - VFE or Image Front End - IFE supported with new SoCs can vary both for the full and lite cases. For example sdm845 has one vfe_lite and two vfe interfaces with the vfe clock called simply "vfe_lite" with no integer postfix. sc8280xp has four vfe and four vfe lite blocks. We need to support the following clock name formats - vfeN - vfe_liteN - vfe_lite with N being any reasonably sized integer. There are two sites in this code which need to do the same thing, constructing and matching strings with the pattern above, so encapsulate the logic in one function. Signed-off-by: Bryan O'Donoghue --- drivers/media/platform/qcom/camss/camss-vfe.c | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/drivers/media/platform/qcom/camss/camss-vfe.c b/drivers/media/platform/qcom/camss/camss-vfe.c index 8f48401e31cd3..73380e75dbb22 100644 --- a/drivers/media/platform/qcom/camss/camss-vfe.c +++ b/drivers/media/platform/qcom/camss/camss-vfe.c @@ -437,6 +437,20 @@ void vfe_isr_reset_ack(struct vfe_device *vfe) complete(&vfe->reset_complete); } +static int vfe_match_clock_names(struct vfe_device *vfe, + struct camss_clock *clock) +{ + char vfe_name[CAMSS_RES_MAX]; + char vfe_lite_name[CAMSS_RES_MAX]; + + snprintf(vfe_name, sizeof(vfe_name), "vfe%d", vfe->id); + snprintf(vfe_lite_name, sizeof(vfe_lite_name), "vfe_lite%d", vfe->id); + + return (!strcmp(clock->name, vfe_name) || + !strcmp(clock->name, vfe_lite_name) || + !strcmp(clock->name, "vfe_lite")); +} + /* * vfe_set_clock_rates - Calculate and set clock rates on VFE module * @vfe: VFE device @@ -460,9 +474,7 @@ static int vfe_set_clock_rates(struct vfe_device *vfe) for (i = 0; i < vfe->nclocks; i++) { struct camss_clock *clock = &vfe->clock[i]; - if (!strcmp(clock->name, "vfe0") || - !strcmp(clock->name, "vfe1") || - !strcmp(clock->name, "vfe_lite")) { + if (vfe_match_clock_names(vfe, clock)) { u64 min_rate = 0; long rate; @@ -543,9 +555,7 @@ static int vfe_check_clock_rates(struct vfe_device *vfe) for (i = 0; i < vfe->nclocks; i++) { struct camss_clock *clock = &vfe->clock[i]; - if (!strcmp(clock->name, "vfe0") || - !strcmp(clock->name, "vfe1") || - !strcmp(clock->name, "vfe_lite")) { + if (vfe_match_clock_names(vfe, clock)) { u64 min_rate = 0; unsigned long rate; From patchwork Mon Aug 14 16:29:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 135556 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp2875319vqi; Mon, 14 Aug 2023 09:58:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFpvMFOFYfCeIBTWCpycPQfCuOG1SaNSPpacRRVYtsaR4KnvH7EqI9+AtEGtOPMfPcbggm8 X-Received: by 2002:a05:6402:322:b0:523:2df6:395e with SMTP id q2-20020a056402032200b005232df6395emr7307094edw.31.1692032338823; Mon, 14 Aug 2023 09:58:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692032338; cv=none; d=google.com; s=arc-20160816; b=kllKgEG6GHx26Or+Behpafi6JAPbajuV5vuRgJafBo9jXGEULIpz1DlnTpeIwqcgz6 F0kPSzKBNjkWmzGfhvUQBVgKKPvxieGrJucKVEGUjXpDybUcTJX4j3fdlQw6uN1+xEHU XJApnlnJGSbE1soQicZY3SyeTPHOCsk/yeYcPjiaY01CIUi4XSbX4DZ5irIvyjqRgcvK Qr8aCuPKesubH7MkO7viV/Kz8tRCiitghwhwA4Jihxz9fQXegdokW3eEj2Q/hrTRdE7y 3LGpVl9sjJ3CiNl3WR1w7XHCv0Ga7m0nBiR/kHSX95+9JqVg+DFNvHBgCn/+GiSJNGkA pyGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=l9FgIR5BO1ZA/xwnNK7HzsY7163eVVAl221xkKgdSQ4=; fh=zUAAL0oq2+kA0nMRT5WSj9jrme2MlEZTDW5RK2mes1s=; b=dmxSAd6dYOKWIz7NCS+vBsT1JV0GZYC/HjjJE96wevX4DHVL415iTfSwVOOFWGtK6/ Kh902M2ZMBi6yi67BwIYsL/xigLWTL1UbHr5QiUH5kj/GeNtqLxBnzEaj7Ah1hQiQBdH TV+lAjgM2ffZjnmnFk/eEHyNwP/LnhcGrpmX3qC5Hi2hpdbLFGMRIUDIFa0uHTRysIo4 XCtLsvA9bhpAQ1IqZuVE3IR3BKZNhacjuCokTM8Xq5PgOsZ4hsesUMesppu/pkV1LQXd dj8QCfyNESHTvRltDxoTJ3EoWALwWdOFG9TxNkll9BbVLoEKr1WPdU+WNvtuugQzCx+s s7cA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=t0DrTBKA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a12-20020a50e70c000000b005255d1088ffsi2628676edn.671.2023.08.14.09.58.33; Mon, 14 Aug 2023 09:58:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=t0DrTBKA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232777AbjHNQ35 (ORCPT + 99 others); Mon, 14 Aug 2023 12:29:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52262 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232511AbjHNQ3a (ORCPT ); Mon, 14 Aug 2023 12:29:30 -0400 Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 448F810F2 for ; Mon, 14 Aug 2023 09:29:26 -0700 (PDT) Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-3fe4ad22eb0so44413685e9.3 for ; Mon, 14 Aug 2023 09:29:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1692030565; x=1692635365; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=l9FgIR5BO1ZA/xwnNK7HzsY7163eVVAl221xkKgdSQ4=; b=t0DrTBKAUnZsOhKTySRBhIZjBEyiCu6lrIZbKlxcEhX6zO1Ez+fk0jM/I6CoLWplDS ntt6v5+8AXCoamgE9CwhyNauIGGhB5vI+AUO6towiMb7WC/K62f7Tw69AyzUY5Mmu+ck 4TqxDvSRKcyTu1c3YonMVg/VVhb6f/FF6NQi54/GTMeuSXqikJpYaLrAix5rsPjDFP7a xxOebx1jx3FWvnIfSbh0Mbc5CNX2ZseiM0RbbtmOP7RTPhfCp8sX7ADwJmmZ02MvBins oexMWOyPM46Y7BI/3IaFBT5msykygWtnD7W2JiHoGS/xWY14wFfdMJETFskRv0N9Mtkk /97g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692030565; x=1692635365; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=l9FgIR5BO1ZA/xwnNK7HzsY7163eVVAl221xkKgdSQ4=; b=HJO0mBbT6IaRYw964DxezttShY8HXls67LewA2UMAt7To2ieMUJZiMxkORtJaK4VjD LmPIb/S6Fej0ZbGBeJpIgPcJ+9/DU65/vAwYJW07hAAoOFmdYdHrgVV1qDaBSosEvoSI TA5u7ewMdFpvuA/YcbvJwx36YpgwVgzfasx7ChFfcGlVFKQreKKwJ+4I0WlsEfOiWFJW 20yLLs25cr43/uvq5j30vQY3IorKa3vMMkHiayUyBwxL82gvmgt5kUisQ1HulC4aTGpH JX7o6gibrXYoFtbvpzu/w3hnMFq4SYb/qLcvtEJ8e/eY4wZD9f1eOxSPNy+7xSWfxCoF ocRA== X-Gm-Message-State: AOJu0Yzd0uZ86cWFzj24VvnAfiUwmakfhnKWngG11Dd4+eq3OM53ZOib SOamBICxkCznqOQ2TD0UyjpEzg== X-Received: by 2002:a05:600c:82c5:b0:3fe:90f:8496 with SMTP id eo5-20020a05600c82c500b003fe090f8496mr7756053wmb.1.1692030564860; Mon, 14 Aug 2023 09:29:24 -0700 (PDT) Received: from sagittarius-a.chello.ie (188-141-3-169.dynamic.upc.ie. [188.141.3.169]) by smtp.gmail.com with ESMTPSA id l14-20020a1c790e000000b003fc16ee2864sm14743475wme.48.2023.08.14.09.29.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Aug 2023 09:29:24 -0700 (PDT) From: Bryan O'Donoghue To: rfoss@kernel.org, todor.too@gmail.com, bryan.odonoghue@linaro.org, agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, laurent.pinchart@ideasonboard.com, sakari.ailus@linux.intel.com, andrey.konovalov@linaro.org Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 12/14] media: qcom: camss: Functionally decompose CSIPHY clock lookups Date: Mon, 14 Aug 2023 17:29:05 +0100 Message-ID: <20230814162907.3878421-13-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> References: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1774224501839686410 X-GMAIL-MSGID: 1774224501839686410 The csiphyX_timer and csiX_phy values need not be hard-coded. We can functionally decompose the string matching inside of a loop. Static string values are brittle, difficult to extend and not required anyway since the camss->res->csiphy_num value informs us of the number of CSIPHYs and hence the set of potential clocks for a given CSIPHY. In simple terms if we have five CSIPHYs we can have no more and no less than five csiphy_timer clocks. Similarly csi_phy core clocks have a 1:1 relationship with the PHY they clock. Signed-off-by: Bryan O'Donoghue --- .../media/platform/qcom/camss/camss-csiphy.c | 37 ++++++++++++------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/drivers/media/platform/qcom/camss/camss-csiphy.c b/drivers/media/platform/qcom/camss/camss-csiphy.c index 0e8c2a59ea241..baf78c525fbfc 100644 --- a/drivers/media/platform/qcom/camss/camss-csiphy.c +++ b/drivers/media/platform/qcom/camss/camss-csiphy.c @@ -536,6 +536,15 @@ static int csiphy_init_formats(struct v4l2_subdev *sd, return csiphy_set_format(sd, fh ? fh->state : NULL, &format); } +static bool csiphy_match_clock_name(const char *clock_name, const char *format, + int index) +{ + char name[CAMSS_RES_MAX]; + + snprintf(name, sizeof(name), format, index); + return !strcmp(clock_name, name); +} + /* * msm_csiphy_subdev_init - Initialize CSIPHY device structure and resources * @csiphy: CSIPHY device @@ -550,7 +559,7 @@ int msm_csiphy_subdev_init(struct camss *camss, { struct device *dev = camss->dev; struct platform_device *pdev = to_platform_device(dev); - int i, j; + int i, j, k; int ret; csiphy->camss = camss; @@ -666,19 +675,19 @@ int msm_csiphy_subdev_init(struct camss *camss, for (j = 0; j < clock->nfreqs; j++) clock->freq[j] = res->clock_rate[i][j]; - if (!strcmp(clock->name, "csiphy0_timer") || - !strcmp(clock->name, "csiphy1_timer") || - !strcmp(clock->name, "csiphy2_timer") || - !strcmp(clock->name, "csiphy3_timer") || - !strcmp(clock->name, "csiphy4_timer") || - !strcmp(clock->name, "csiphy5_timer")) - csiphy->rate_set[i] = true; - - if (camss->res->version == CAMSS_660 && - (!strcmp(clock->name, "csi0_phy") || - !strcmp(clock->name, "csi1_phy") || - !strcmp(clock->name, "csi2_phy"))) - csiphy->rate_set[i] = true; + for (k = 0; k < camss->res->csiphy_num; k++) { + csiphy->rate_set[i] = csiphy_match_clock_name(clock->name, + "csiphy%d_timer", k); + if (csiphy->rate_set[i]) + break; + + if (camss->res->version == CAMSS_660) { + csiphy->rate_set[i] = csiphy_match_clock_name(clock->name, + "csi%d_phy", k); + if (csiphy->rate_set[i]) + break; + } + } } return 0; From patchwork Mon Aug 14 16:29:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 135557 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp2875324vqi; Mon, 14 Aug 2023 09:58:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEUeKZGGkT9DUPw6ArA6974tjk/D2/+TblKHS9m3+Iwh2KShzixD10OGkRLr6PZOMdRgO0G X-Received: by 2002:a17:906:cc4e:b0:99c:e38d:e484 with SMTP id mm14-20020a170906cc4e00b0099ce38de484mr8565453ejb.6.1692032339324; Mon, 14 Aug 2023 09:58:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692032339; cv=none; d=google.com; s=arc-20160816; b=c+i2bvxEQW/PvA0S/eTxmtBsrBIjnn4MsbgWAEr9mrbXyK5R0s+2wDvldDRb72lWd5 xHz6kQvTuibfw1ivvBRdO77vUJ5WyDERfjQIEUALOepDQDtbCiZwmhqaRZfnMoq7ABC/ gOm2ky28EiBW0bDhV0aOaP5OSL/MA+pC4BSpi91YMR05XAJ9I2cwE+5nrubTL8dbEUEA /0CfpxurrL90vykF2NlJpLIn71qAm73y8dHqeXlBvvf0THJZB8/kB7jXHgMT9xcJvOHA BAKb7X+F65oDLfiEBO/fCYwj8dAHdQsQB7d3/cMwdRi10BfJc6RF86QDjC0NFe6CdI+j 3FkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=5CilnvTYr96ahQ3O2WrOgBxIJx4YDnh0XI4B0xmqb0M=; fh=zUAAL0oq2+kA0nMRT5WSj9jrme2MlEZTDW5RK2mes1s=; b=RR8ep+0R/33Y1Xntc2mo9hgESGyRp1O+e8XkyodFM4DJkHO6/l+3JcYaESBfa9O+sX Ao42TtfqcgyHshKOnLT55koj3bVc47d9sPtfxnlQlUY27iG0zp33kbKb9dPrMkR9HIgF KhlEGxUk7vLABh2DCVGQm7g9GxmINyxaNUtlqkxvdUKRuW+yEAG5WDfx6yxhAdi2JU6X RNMwcDEmeNBgXOUEIgjMu6uOxnDk5pgt0s0pUggULp7XHNnNL3dD12Xx/IyinLij3f90 Nl4+HujfNEiRfH6zFPASKiRto+WCd6uLg9w6B6g4SKmqEINB+TYYlxmct3bgWNmx4x/1 /NeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="K3tfo/pR"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i9-20020a170906a28900b00992c5cf17f9si8796130ejz.43.2023.08.14.09.58.33; Mon, 14 Aug 2023 09:58:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="K3tfo/pR"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232834AbjHNQ37 (ORCPT + 99 others); Mon, 14 Aug 2023 12:29:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232519AbjHNQ3a (ORCPT ); Mon, 14 Aug 2023 12:29:30 -0400 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A7411E7D for ; Mon, 14 Aug 2023 09:29:27 -0700 (PDT) Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-3fea0640d88so6581475e9.2 for ; Mon, 14 Aug 2023 09:29:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1692030566; x=1692635366; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5CilnvTYr96ahQ3O2WrOgBxIJx4YDnh0XI4B0xmqb0M=; b=K3tfo/pRi0hQAQaOE5/zas7ptBfHYn16dneCzYANrATrmd3cGIQCdpXrOSTG7KmZ0W TREFgrM33FiAO9NawMoyEQPXfIrpXtWmy1S2UkQpjLruNNOQZMCNcnZcE43w2x0gQ1F7 PwHBa1x8W/wHh8Mclgn8dxWfDBHDyXvzNIdmhydpliJl+L+T/kkzvE1aWvxsCFKs+f19 kXxHbRMC8pILpeMi3haQMoCmGZTY/RR8BvW94n69Pv3FSWxwn3broP1bIJX7PyuMoHq4 LPCIW/J04ZkRRczjawHFJnvixsSAUBGQowv/xwk1Ysr5hjVYH+DQl+nF1EfHngThbg0R oh7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692030566; x=1692635366; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5CilnvTYr96ahQ3O2WrOgBxIJx4YDnh0XI4B0xmqb0M=; b=HNxNdB6UKrNBttJKjHwGaWICB6ntrcw/BRAJTnJbsWp3nB1/PUoxlUXyWZuff/nba2 UHNX2iu0+MMdCObtV4UiHk6si1ESAqP10fNEOFy12mujuyn05grFphAR351fG0oTMXsk 8cszhBVtoUpvgvZH3cr2eyhBK864H/M6b7hsGMthUHVUlLFqziTP7T7djymCuqjN2kim xpyk4awT5SK25r3OT688Kx4VRzF6X/1jXBQBjg5kFG5eU7zk5VdFQDwchA5WgNqdA8pk gC+YO5kyF8ZzcVLRYtXnQ2IedwMS9NU876xgKeIbEjMtDRSlOSAqJE0kZsyde0HIdMfn h6eQ== X-Gm-Message-State: AOJu0Yy9vq2k9+NEVbx7ytJ0ZSzl9xwf6CpEskoIBziuoHrEVu9kM5eR d/OBGo9ntVkn0OH3y2t3fqC6tg== X-Received: by 2002:a7b:c3d8:0:b0:3fe:22a9:907 with SMTP id t24-20020a7bc3d8000000b003fe22a90907mr7548285wmj.20.1692030566183; Mon, 14 Aug 2023 09:29:26 -0700 (PDT) Received: from sagittarius-a.chello.ie (188-141-3-169.dynamic.upc.ie. [188.141.3.169]) by smtp.gmail.com with ESMTPSA id l14-20020a1c790e000000b003fc16ee2864sm14743475wme.48.2023.08.14.09.29.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Aug 2023 09:29:25 -0700 (PDT) From: Bryan O'Donoghue To: rfoss@kernel.org, todor.too@gmail.com, bryan.odonoghue@linaro.org, agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, laurent.pinchart@ideasonboard.com, sakari.ailus@linux.intel.com, andrey.konovalov@linaro.org Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 13/14] media: qcom: camss: Add support for setting CSIPHY clock name csiphyX Date: Mon, 14 Aug 2023 17:29:06 +0100 Message-ID: <20230814162907.3878421-14-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> References: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1774224502157139770 X-GMAIL-MSGID: 1774224502157139770 Several of our upstream and soon-to-be upstream SoC CAMSS dtsi declare csiphyX as opposed to the older clock name csiX_phy. For newer SoCs csiphyX turns out to be a clock you really need to set. On sc8280xp for example we will encounter difficult to track down and root-cause RX CRC errors without setting the csiX_phy clock. On sdm845 and sm8250 we declare the csiXphy clock but seem to get away with not setting it. The right approach here is to set the clock when it is declared. If a SoC doesn't require or a SoC driver implementer doesn't think we need, then the clock ought to simply be omitted from the clock list. Include csiphyX in the set of permissible strings which will subsequently lead to the csiphyX clock being set during csiphy_set_clock_rates() phase. Signed-off-by: Bryan O'Donoghue --- drivers/media/platform/qcom/camss/camss-csiphy.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/media/platform/qcom/camss/camss-csiphy.c b/drivers/media/platform/qcom/camss/camss-csiphy.c index baf78c525fbfc..d9c751f457703 100644 --- a/drivers/media/platform/qcom/camss/camss-csiphy.c +++ b/drivers/media/platform/qcom/camss/camss-csiphy.c @@ -687,6 +687,10 @@ int msm_csiphy_subdev_init(struct camss *camss, if (csiphy->rate_set[i]) break; } + + csiphy->rate_set[i] = csiphy_match_clock_name(clock->name, "csiphy%d", k); + if (csiphy->rate_set[i]) + break; } } From patchwork Mon Aug 14 16:29:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 135561 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp2885892vqi; Mon, 14 Aug 2023 10:15:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEEA/c4SXJ2vVxJOqvOe1IwL0b5CxSg4erd5Ptp3weRORhS8cSqwCuQjZAHEL6ITqY4WoG5 X-Received: by 2002:a05:6a20:6a10:b0:13f:9cee:ff42 with SMTP id p16-20020a056a206a1000b0013f9ceeff42mr14246767pzk.41.1692033306606; Mon, 14 Aug 2023 10:15:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692033306; cv=none; d=google.com; s=arc-20160816; b=vCnQ3IwarI+oFiJ5riEwMHipeJlVeY/7PhVDWMfYXksSb6YoWcDLDwDqwtp0OgucYW ZRgm/xlnHfIQbfET6hT0HZ+1KoE3ifKDiSVUJvJNu42RmISgZzrhv0gjEVvjQDvdDN95 HBPXyEDG9phM2mnQGHOcJBMgup6bZHZiDaQPxjkoRuoyyP3z+Iy90TA0eG/RRPkRiz/B Q8ed8rLFqAAY8M6xQKek0j/0xqG89OhMWtCEl8wSUOfJL69PlHc+tXR9iSaWHsS6TgCt 7FkEcLofpPtUpN4sZXSrDTpHAy1uD3OoNRCxOzC+8qqsx06I+SvPrObA1MrK8uSgpWMM 7tTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=yWSfC4PTyf3c1S/i4WTl2tNnfkmumB5Ykd84R92bEPk=; fh=zUAAL0oq2+kA0nMRT5WSj9jrme2MlEZTDW5RK2mes1s=; b=k508BMPpDHB7cDYd6tQ883CBacsWJQbK861Ns31vkY8Vuq3k9csvErUbwDdXrZGGIP uEVAC0PJ54mF3BlcNkizzrG7Edv2j7czXmr4of4y+8Z8sGrDaaeDboHiCwV7n5uZoob9 opzFHzKXH+y91CZ2mXIWf3rtkOuTLGwOIerkh2SAERBZzf8JqN8gGXOY4fFejig17c1C ohfm5bsVqjV7c244H5mBQVzYspU7/+92u49/HBKCGqPrWQAWDXbKxKqc8fhWAn3g/G2x QMKXECijvR9v/18D+Gx+YI3nGtabJmIBauxd+b8Iuo9d/CKCKWDWFSXe2HKRT//j4Xc9 SLWA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="cDDA/x6u"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e9-20020a654789000000b0053fb354c191si8653279pgs.861.2023.08.14.10.14.52; Mon, 14 Aug 2023 10:15:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="cDDA/x6u"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232792AbjHNQ36 (ORCPT + 99 others); Mon, 14 Aug 2023 12:29:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52304 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232536AbjHNQ3b (ORCPT ); Mon, 14 Aug 2023 12:29:31 -0400 Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com [IPv6:2a00:1450:4864:20::234]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 16DBDE63 for ; Mon, 14 Aug 2023 09:29:29 -0700 (PDT) Received: by mail-lj1-x234.google.com with SMTP id 38308e7fff4ca-2b9a2033978so67655161fa.0 for ; Mon, 14 Aug 2023 09:29:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1692030567; x=1692635367; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yWSfC4PTyf3c1S/i4WTl2tNnfkmumB5Ykd84R92bEPk=; b=cDDA/x6uAs9Fb/p3fnZNPWdLRpHIQkICXRmvtfXsLYbPEZca3GQOyIdWbd+wKaP+zR GXYTESy+Qrymyvq8hhqNN6c2KnCs0uGhbrjLYDRxo7s6rZVTW7VLLZSaY5+2iesYM6gs ebTMwFkfw8bmn4HleDEp62P+LOjHOEVl3rLStV9VyU0boggl8UZovgllNrHT3xuSdKok rDhgeEfAEcOydaO3skzqsi5vcpX2h0iGp2e4+1+hfy/VQLgJql+i3r+qiwWajascFSJR WL7QreSstUophq3R1rxFu36oP1SWEnNz9+xt1gOvKLORSFe/wr/E3hwOMy8NxVHzUmSL xOMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692030567; x=1692635367; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yWSfC4PTyf3c1S/i4WTl2tNnfkmumB5Ykd84R92bEPk=; b=egVaO9S+tnc9rZyWGUDNlrChfkHd/H59QCdp2iORXbYrehTXnsG/QZLd82rjzPYsuQ d+mxmzDvcAH298gPb8iUJSVeiJGdB+t5NgLwG0RmQMHGkn4YV+Fbgsu7SClzFbbYpvqj QQ0lDEKEF8dLEA7n/KiTKM0PiIj3N6Cna8omqjURhNpVxI9gHtqoDEYSphdPS9PtIVJ5 Zvt1BIqf+aywyT+/YK13xtnK2mpYG6k3hRRgLEQCF14yIBx+8Gw7LfkMezYrQC4GHquT X++wCnsD8dl1jjZIrddQqH4zjBjxN2RA0PHpr62GVKhcNgptVvO/sOfHz1Jx4RfDLskH PCOQ== X-Gm-Message-State: AOJu0Yw4TOsANDTlDvc/rF1kgO2/jhk2uv+U8aFRuU/6zy8TMi1kbaix zmEAfofrhOu9KEUYurIoYrEzhQ== X-Received: by 2002:a05:6512:10d4:b0:4fe:746:63d1 with SMTP id k20-20020a05651210d400b004fe074663d1mr7639216lfg.5.1692030567400; Mon, 14 Aug 2023 09:29:27 -0700 (PDT) Received: from sagittarius-a.chello.ie (188-141-3-169.dynamic.upc.ie. [188.141.3.169]) by smtp.gmail.com with ESMTPSA id l14-20020a1c790e000000b003fc16ee2864sm14743475wme.48.2023.08.14.09.29.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Aug 2023 09:29:26 -0700 (PDT) From: Bryan O'Donoghue To: rfoss@kernel.org, todor.too@gmail.com, bryan.odonoghue@linaro.org, agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, mchehab@kernel.org, hverkuil-cisco@xs4all.nl, laurent.pinchart@ideasonboard.com, sakari.ailus@linux.intel.com, andrey.konovalov@linaro.org Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 14/14] media: qcom: camss: Support RDI3 for VFE 17x Date: Mon, 14 Aug 2023 17:29:07 +0100 Message-ID: <20230814162907.3878421-15-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> References: <20230814162907.3878421-1-bryan.odonoghue@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1774225516483711062 X-GMAIL-MSGID: 1774225516483711062 Some VFEs have four RDIs apiece. Right now the ISR code has a hard-coded value which tops-out at RDI2 meaning only three RDIs can be utilised in practice. Extend out the various routines in camss-vfe-17x.c to support the higher RDI count. Signed-off-by: Bryan O'Donoghue --- drivers/media/platform/qcom/camss/camss-vfe-170.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/media/platform/qcom/camss/camss-vfe-170.c b/drivers/media/platform/qcom/camss/camss-vfe-170.c index 8aa921400ded0..c2487a8196db7 100644 --- a/drivers/media/platform/qcom/camss/camss-vfe-170.c +++ b/drivers/media/platform/qcom/camss/camss-vfe-170.c @@ -210,7 +210,8 @@ static void vfe_global_reset(struct vfe_device *vfe) GLOBAL_RESET_CMD_IDLE_CGC | GLOBAL_RESET_CMD_RDI0 | GLOBAL_RESET_CMD_RDI1 | - GLOBAL_RESET_CMD_RDI2; + GLOBAL_RESET_CMD_RDI2 | + GLOBAL_RESET_CMD_RDI3; writel_relaxed(BIT(31), vfe->base + VFE_IRQ_MASK_0); @@ -344,7 +345,7 @@ static void vfe_violation_read(struct vfe_device *vfe) static irqreturn_t vfe_isr(int irq, void *dev) { struct vfe_device *vfe = dev; - u32 status0, status1, vfe_bus_status[3]; + u32 status0, status1, vfe_bus_status[VFE_LINE_NUM_MAX]; int i, wm; status0 = readl_relaxed(vfe->base + VFE_IRQ_STATUS_0); @@ -353,7 +354,7 @@ static irqreturn_t vfe_isr(int irq, void *dev) writel_relaxed(status0, vfe->base + VFE_IRQ_CLEAR_0); writel_relaxed(status1, vfe->base + VFE_IRQ_CLEAR_1); - for (i = VFE_LINE_RDI0; i <= VFE_LINE_RDI2; i++) { + for (i = VFE_LINE_RDI0; i < vfe->line_num; i++) { vfe_bus_status[i] = readl_relaxed(vfe->base + VFE_BUS_IRQ_STATUS(i)); writel_relaxed(vfe_bus_status[i], vfe->base + VFE_BUS_IRQ_CLEAR(i)); } @@ -367,11 +368,11 @@ static irqreturn_t vfe_isr(int irq, void *dev) if (status0 & STATUS_0_RESET_ACK) vfe->isr_ops.reset_ack(vfe); - for (i = VFE_LINE_RDI0; i <= VFE_LINE_RDI2; i++) + for (i = VFE_LINE_RDI0; i < vfe->line_num; i++) if (status0 & STATUS_0_RDI_REG_UPDATE(i)) vfe->isr_ops.reg_update(vfe, i); - for (i = VFE_LINE_RDI0; i <= VFE_LINE_RDI2; i++) + for (i = VFE_LINE_RDI0; i < vfe->line_num; i++) if (status0 & STATUS_1_RDI_SOF(i)) vfe->isr_ops.sof(vfe, i);