Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1078207pxb; Sun, 21 Feb 2021 10:34:01 -0800 (PST) X-Google-Smtp-Source: ABdhPJztpa2/s7eNfIpICX3K9475cNj8xyqYlUhGEozBtPG6lTWt3tqgY3U1uLaJXLdQCcSbsgOX X-Received: by 2002:a17:907:9d6:: with SMTP id bx22mr17534896ejc.331.1613932440953; Sun, 21 Feb 2021 10:34:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613932440; cv=none; d=google.com; s=arc-20160816; b=tQRpyI/edGCalnxdl6IydQJm1M9llvljKGqyenO9qYSFMQVC67x0apZ1GZDDgadDfC cxYGP1Gx5JnS9ZmmHh6BFusknpSaOlV/KWdS7v8Usp9t5Lr/vEEb6zCz2uwVsiBru7i6 rw8QZqioenNvFw4ZJ1Ru7BgWunyPcx3yRJIW2dcTzFiMfYBwHYCeobhB+5optTrWV5zL Prp4qyB3OwWU5G4tNtPPlA0O2CUlvob+m80VY1L2iYddtS1rdtDgNm+oYdbjUX2McqNz aUCtW0GGgWyGsAjH7CwPnlFLdF0N+5HQpKRDSwFw5v6Qxag89spmxVcMdhWjekwbox7v Bkbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=KnNvc8EPgAx6SFv/2GAEQjKe2GV3xaTl29BVLyaHG1A=; b=edsFcDCmtVELMCZMTeo35jm3zovDqUvh3aB41OjwmvEWC5fnICLcpD5XkKk5UMGYhJ bjBktEsRxqEsz4Q6VRv6hnN+DjqQEvNyU5TkLi2PAUdj8PztYHeBWXO70gXu2I3kQDlH ECYBNNh1JN0pfPSdVRfP9kT345730jMdyIwuSa9nCa/mMTsFkeWOW+pz0POFRvKepjMM Me0rAaZJlDAj1bpEuIRdsJmXcjhQ+TliRBc8gmuy7cQtQH/UUQRjtYHPrZtqHevz6RNA EUUiQc6a3vJm03B9hXM0V3aywzUcjpWmSaj1dgcoyq7521ryDjDziUo91lvMkROZbf4g /DMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sPxaFy2t; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h12si8153951edw.487.2021.02.21.10.33.37; Sun, 21 Feb 2021 10:34:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sPxaFy2t; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S230162AbhBUSdK (ORCPT + 99 others); Sun, 21 Feb 2021 13:33:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57784 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229966AbhBUSdJ (ORCPT ); Sun, 21 Feb 2021 13:33:09 -0500 Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F0264C061574 for ; Sun, 21 Feb 2021 10:32:28 -0800 (PST) Received: by mail-lj1-x233.google.com with SMTP id r11so7131138ljk.9 for ; Sun, 21 Feb 2021 10:32:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=KnNvc8EPgAx6SFv/2GAEQjKe2GV3xaTl29BVLyaHG1A=; b=sPxaFy2teHxek9ZwAYyQLq4BAN2yriXneA6XqSIUakBHus4R2fWf2VAx+DpiKVqcOg BYWjVm6Dq4AJwskJjhqMGg+jDYvGQl0nIe44dAg7ujBRMtGHXC5+V+mo7ba/1xKwpkZg LN7wi6imAENmzxuy7pNMHTP551UtRy+ZP00YxUo1/TIasZJ1kT6im4w6zET+N7+Q7kVS PqgeEb56Qa6rFBPrx6Ypai1JWoZIDUR5WhOROfG2IP0mXaSR9CM2l8+E7vdWzox9c/hV 4ht3Gb2snTnVKCbD34Yhzs779GijQcWDvOmgHhTZP48vJ+58EQDeatLNx1UNVyXZInk6 tNkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=KnNvc8EPgAx6SFv/2GAEQjKe2GV3xaTl29BVLyaHG1A=; b=lZfhpQixKPB1ury/HiQeq1ZvX/S0DY0aw9i6Ur/UmzVHdfPKLTpkBRgPiZViBYrSnb AMddYaawUKKfb+rraw+klS74mvJsOBXl/mkFSBoKizQTaLL6ogVdt3fPgf6DSEQwnpxV GkfjottPyr6+v14/bxBcwVC8MlH8WBZIo0NwxAR3rR6nTf+qNlrVVexnVqAkn5UOABw7 ZXESxTAKHaPUkCQjLK1S5C1WnszfSAKFFd60t3p4woxSo9gylYIOirBup4bPvjgmzMc2 tXk0MQCCPzwchPZd0Y6nsr8roGxzpswoISFe7FwbK3iGcDF+iAGdijw5uN2IF9voSYX2 Pn7g== X-Gm-Message-State: AOAM531VBZvu2SaI2t80kjGIpQuf7+I2CHoot7+aR7YMjUHZrgQaDsfc +BvAi7PQImSY1k85WyYotjPzNQ== X-Received: by 2002:a2e:9e17:: with SMTP id e23mr12317090ljk.501.1613932347509; Sun, 21 Feb 2021 10:32:27 -0800 (PST) Received: from [192.168.118.216] ([85.249.43.69]) by smtp.gmail.com with ESMTPSA id t7sm1635563lfl.141.2021.02.21.10.32.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 21 Feb 2021 10:32:27 -0800 (PST) Subject: Re: [PATCH v5 13/22] media: camss: Enable SDM845 To: Robert Foss , agross@kernel.org, bjorn.andersson@linaro.org, todor.too@gmail.com, mchehab@kernel.org, robh+dt@kernel.org, angelogioacchino.delregno@somainline.org, linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, AngeloGioacchino Del Regno , Sakari Ailus , Nicolas Boichat Cc: Rob Herring , Tomasz Figa , Azam Sadiq Pasha Kapatrala Syed , Sarvesh Sridutt , Laurent Pinchart , Jonathan Marek References: <20210217112122.424236-1-robert.foss@linaro.org> <20210217112122.424236-14-robert.foss@linaro.org> From: Andrey Konovalov Message-ID: Date: Sun, 21 Feb 2021 21:32:25 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20210217112122.424236-14-robert.foss@linaro.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Robert, Thank you for your patch! Reviewed-by: Andrey Konovalov Thanks, Andrey On 17.02.2021 14:21, Robert Foss wrote: > Enable support for SDM845 based Titan 170 ISPs. > > Signed-off-by: Robert Foss > --- > drivers/media/platform/qcom/camss/camss.c | 17 +++++++++++++++++ > drivers/media/platform/qcom/camss/camss.h | 6 ++++-- > 2 files changed, 21 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c > index 3c45537b2cfb..3bd3153b7905 100644 > --- a/drivers/media/platform/qcom/camss/camss.c > +++ b/drivers/media/platform/qcom/camss/camss.c > @@ -894,6 +894,12 @@ static int camss_init_subdevices(struct camss *camss) > csid_res = csid_res_660; > ispif_res = &ispif_res_660; > vfe_res = vfe_res_660; > + } else if (camss->version == CAMSS_845) { > + csiphy_res = csiphy_res_845; > + csid_res = csid_res_845; > + /* Titan VFEs don't have an ISPIF */ > + ispif_res = NULL; > + vfe_res = vfe_res_845; > } else { > return -EINVAL; > } > @@ -1196,6 +1202,8 @@ static int camss_configure_pd(struct camss *camss) > if (camss->version == CAMSS_8x96 || > camss->version == CAMSS_660) > nbr_pm_domains = PM_DOMAIN_CAMSS_COUNT; > + else if (camss->version == CAMSS_845) > + nbr_pm_domains = PM_DOMAIN_TITAN_COUNT; > > for (i = 0; i < nbr_pm_domains; i++) { > camss->genpd[i] = dev_pm_domain_attach_by_id(camss->dev, i); > @@ -1264,6 +1272,12 @@ static int camss_probe(struct platform_device *pdev) > camss->csiphy_num = 3; > camss->csid_num = 4; > camss->vfe_num = 2; > + } else if (of_device_is_compatible(dev->of_node, > + "qcom,sdm845-camss")) { > + camss->version = CAMSS_845; > + camss->csiphy_num = 4; > + camss->csid_num = 3; > + camss->vfe_num = 3; > } else { > ret = -EINVAL; > goto err_free; > @@ -1395,6 +1409,8 @@ void camss_delete(struct camss *camss) > if (camss->version == CAMSS_8x96 || > camss->version == CAMSS_660) > nbr_pm_domains = PM_DOMAIN_CAMSS_COUNT; > + else if (camss->version == CAMSS_845) > + nbr_pm_domains = PM_DOMAIN_TITAN_COUNT; > > for (i = 0; i < nbr_pm_domains; i++) { > device_link_del(camss->genpd_link[i]); > @@ -1428,6 +1444,7 @@ static const struct of_device_id camss_dt_match[] = { > { .compatible = "qcom,msm8916-camss" }, > { .compatible = "qcom,msm8996-camss" }, > { .compatible = "qcom,sdm660-camss" }, > + { .compatible = "qcom,sdm845-camss" }, > { } > }; > > diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/platform/qcom/camss/camss.h > index 7560d85b3352..2f853557ed16 100644 > --- a/drivers/media/platform/qcom/camss/camss.h > +++ b/drivers/media/platform/qcom/camss/camss.h > @@ -60,6 +60,8 @@ enum pm_domain { > PM_DOMAIN_VFE0 = 0, > PM_DOMAIN_VFE1 = 1, > PM_DOMAIN_CAMSS_COUNT = 2, /* CAMSS series of ISPs */ > + PM_DOMAIN_VFELITE = 2, /* VFELITE / TOP GDSC */ > + PM_DOMAIN_TITAN_COUNT = 3, /* Titan series of ISPs */ > }; > > enum camss_version { > @@ -83,8 +85,8 @@ struct camss { > int vfe_num; > struct vfe_device *vfe; > atomic_t ref_count; > - struct device *genpd[PM_DOMAIN_CAMSS_COUNT]; > - struct device_link *genpd_link[PM_DOMAIN_CAMSS_COUNT]; > + struct device *genpd[PM_DOMAIN_TITAN_COUNT]; > + struct device_link *genpd_link[PM_DOMAIN_TITAN_COUNT]; > }; > > struct camss_camera_interface { >