Message ID | 20230911-topic-mars-v2-1-3dac84b88c4b@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | Venus cleanups | expand |
Hi All, Please ignore this patch, didn't realize it was in my workspace when I sent the other series. Sorry for spam. Thanks, Dikshita On 7/12/2024 11:18 AM, Dikshita Agarwal wrote: > From: Konrad Dybcio <konrad.dybcio@linaro.org> > > Commit c22b1a29497c ("media: venus: core,pm: Vote for min clk freq > during venus boot") intended to up the rate of the Venus core clock > from the XO minimum to something more reasonable, based on the per- > SoC frequency table. > > Unfortunately, it ended up calling set_rate with that same argument > on all clocks in res->clks. Fix that using the OPP API. > > Fixes: c22b1a29497c ("media: venus: core,pm: Vote for min clk freq during venus boot") > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/pm_helpers.c | 23 +++++++++++------------ > 1 file changed, 11 insertions(+), 12 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c > index 502822059498..8bd0ce4ce69d 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.c > +++ b/drivers/media/platform/qcom/venus/pm_helpers.c > @@ -41,24 +41,23 @@ static int core_clks_get(struct venus_core *core) > static int core_clks_enable(struct venus_core *core) > { > const struct venus_resources *res = core->res; > - const struct freq_tbl *freq_tbl = core->res->freq_tbl; > - unsigned int freq_tbl_size = core->res->freq_tbl_size; > - unsigned long freq; > + struct dev_pm_opp *opp; > + unsigned long freq = 0; > unsigned int i; > int ret; > > - if (!freq_tbl) > - return -EINVAL; > + if (core->has_opp_table) { > + opp = dev_pm_opp_find_freq_ceil(core->dev, &freq); > + if (IS_ERR(opp)) > + return PTR_ERR(opp); > + dev_pm_opp_put(opp); > > - freq = freq_tbl[freq_tbl_size - 1].freq; > + ret = dev_pm_opp_set_rate(core->dev, freq); > + if (ret) > + return ret; > + } > > for (i = 0; i < res->clks_num; i++) { > - if (IS_V6(core)) { > - ret = clk_set_rate(core->clks[i], freq); > - if (ret) > - goto err; > - } > - > ret = clk_prepare_enable(core->clks[i]); > if (ret) > goto err; > > From patchwork Fri Feb 9 21:09:46 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551847 > Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com > [209.85.218.45]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9C64839847 > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:09:52 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.218.45 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707512994; cv=none; > b=nWUaPrudnmxyaYZQ1XJONDRkpf17w1LGH1XRhbIgjZ5H5ONODbyEd7NbGH2IFNhsVaM6afAQWvRvVr82TkkCZdoQ4RKUzeYr78Z3g0F5aaFGae5V0s5Gq9x9Rx/LRF71m2evi8+oZUgnCuVr3GFU2c4g7ICfJNIGn9Ei+hic4Ik= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707512994; c=relaxed/simple; > bh=4x/me5yeOEh7Kc0NCGCe3k/ewNhk7l+PTAXEKLbJtdg=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=B6j5V/fCKsq0tcEHFt497r+L7F5Uc5I793Be5HNRPTv14H6p6Y1AV6RC7vQF7r1YqAJcmrqtI354s3grpq4ndEHf4fkiTDdErbNUEEINnDCQYk4xl7KWYRPAKWVeYJsGGZDG0FVvKOAgCgsbC6CrcJ3txbtK3TBUhM2N3+SWPN4= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=UhiZz07Q; arc=none smtp.client-ip=209.85.218.45 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="UhiZz07Q" > Received: by mail-ej1-f45.google.com with SMTP id > a640c23a62f3a-a3c0d92ca8aso69096266b.3 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:09:52 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707512991; x=1708117791; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=clU3y8fBgJIxt4Cy2lqLbmum74KaZZM8VM+LPgiv+vQ=; > b=UhiZz07Ql0p+y24zxQIMqRo1zLmhdji2ys76dPIywqHDgpw6lJqmS+a+FUs6wCWD1v > lYT2jUE299B+5kq22myFDjdTRl4qOA5NuAu25q/g2XuHdL96MK8srvfoSxNzG6wET8cY > rBbIpUn/H5jgnt5SJBzaRkLPQrP8XXh7BqBcQM7Peu8s1uNqfAvZmpA/0HajUYkqUNtn > sWMyfQtcw5PHASYWWPBzfFpP3sQgWIX32b+ZO697KZksWWG3iSvCW0nQNi/fXCw8caav > NWuj9l4thVUhh+jypKsQ/Bo0FPipzp+Nma14mbsUOki2HkHJ31lw2SYx4B5eNo6h8x2S > 6dmA== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707512991; x=1708117791; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=clU3y8fBgJIxt4Cy2lqLbmum74KaZZM8VM+LPgiv+vQ=; > b=RluKxOaw5aEJE9HKy9vx9Oompi52AzYY0ET6b7xuz3XfEHrSycD2EUBIin4p59Fiud > Gd2yeaSPP3zBj/Sl4AKGhce4gYb18JdEfeAupCbT++o+zP0QphyPoq/Q2l5p90q++uH5 > ggVKJXu5JOEWVGKvHyyx0oP9AGCIlUOdgqwt+47nnz4IbxAeo/LI4rdlKJaBbvjXMyBi > eSJp8i/uSsCuR/7/cY6ojTG+1iCLrbG6tcrkzIkC1B8jMeKKcOvofTkzBh3gxD262Xl/ > knxAS8ZbbBH2R1TSmLmT3Fa6oGj0tZSwXithnmsk/xZEJq1hF0ft85HNCs0zHeyjFMI4 > IHqQ== > X-Gm-Message-State: AOJu0YyP1kQ3Ww6o9hhjno/SYlSAqU1z5JjSst60Y0Gl9k+oZsg2mFHx > p8L8jsN5mDFCZps78LtSI1sVxmtJJsLrhH1vXvk8KbuGfDKvgv2SZix70i4mAgY= > X-Google-Smtp-Source: > AGHT+IGdCSLjmTu54nZwy4pt/JpV9RwCayC/JuDbyxwWbkLW1VMMBQxw2ieEvUAsBp3Fe5UvW2bBmQ== > X-Received: by 2002:a17:906:5f86:b0:a36:f314:d8be with SMTP id > a6-20020a1709065f8600b00a36f314d8bemr177645eju.38.1707512991022; > Fri, 09 Feb 2024 13:09:51 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCVfK1hN2/I2FkTD/QlN2R7RH8j8SoCMNxmB8yrXSniS2G+ww3u2pToMXvVJDjVf8MGI4vTsLSNenCDCP2h5/olEpuVssyMgf9/94iNVi1gO2pCiGDasz1AqSOexpvElGbRI1VbLzQVllPrtiwK9ghp4U+pKOez78H/avBzE5sx7wnQrDMCdwrtKQzG9Ps6cC4BnvtK9Qo9Y277DDvobKnf5HF0xypDNnH/AbFD1y2WbhfahxppvC8csVkmN0gb6WnlQi2bbPh6zHQJ0Hp0QknUaNRVWShWfWfkdvXkLRsCQfPXtJ4gBJKu7MGFRiXPPhh22U3dm7wmKuvITllIZaqtEdlQfkm7RQkpcxAmxZcqt0E/l+rDPHiSnMd3iYtsKkPg8ooFKs7vl4gVeaHUgNgETXitZq+HtrEQz5xGrxfT7zotIr0BcwzAQJbM00ffSCQWfOdtbqhN68yfbjI1XTT05TDcVsraIgCRos7sEg+DUYM8tqf36EC1x6x9CqlwtBBrPqg== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.09.49 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:09:50 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:09:46 +0100 > Subject: [PATCH v2 02/20] media: venus: pm_helpers: Rename core_clks_get to > venus_clks_get > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-2-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512985; l=1211; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=4x/me5yeOEh7Kc0NCGCe3k/ewNhk7l+PTAXEKLbJtdg=; > b=AQAHlC80oGjh6PEJ42jPoSKbuJtBPAtDuFcaMaRA3r7rCnNIsr34E63ziRxXFsC+tD0h8A3HF > KPIe1HYtMWkB4CySePVKqc5bctFpRgss76IcLM6BGkBSxFp9DgmD6vb > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > "core" is used in multiple contexts when talking about Venus, rename > the function to save on confusion. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/pm_helpers.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c > index 8bd0ce4ce69d..ac7c83404c6e 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.c > +++ b/drivers/media/platform/qcom/venus/pm_helpers.c > @@ -23,7 +23,7 @@ > > static bool legacy_binding; > > -static int core_clks_get(struct venus_core *core) > +static int venus_clks_get(struct venus_core *core) > { > const struct venus_resources *res = core->res; > struct device *dev = core->dev; > @@ -294,7 +294,7 @@ static int core_get_v1(struct venus_core *core) > { > int ret; > > - ret = core_clks_get(core); > + ret = venus_clks_get(core); > if (ret) > return ret; > > @@ -961,7 +961,7 @@ static int core_get_v4(struct venus_core *core) > const struct venus_resources *res = core->res; > int ret; > > - ret = core_clks_get(core); > + ret = venus_clks_get(core); > if (ret) > return ret; > > > From patchwork Fri Feb 9 21:09:47 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551848 > Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com > [209.85.218.49]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4EAC139ACB > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:09:54 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.218.49 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707512996; cv=none; > b=dZydTLzn9arQaJA1hkOzv62x7mMY2cIDetzfgbei94WOgKhDj4CaEjZ81GwOnyerasZIl1m+TRrSQZHJOVnnkVHBwN1480HedGw27znczi2Rhlc0S/6QemFQbNjgF92gwdACkf/N4DtxFO6Vn6SbEQ7Njv7p0UNPRWdM2W4YquY= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707512996; c=relaxed/simple; > bh=qRFNx2a0sPyBufJHjBf1XzrjeKK7bQ1fasBPqhqnRAw=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=ZhaS7CHmch+oIYugrTf4t/GPfNlJb+OU1nmDoo42PodQzIp5n7qgiDvi7JB/+gS4W3d4Voj3CLLP9pazxNDI9iiML/PSkkE4zCa+LB9KupaTq6jioZSg0kVcjpUUGaNCAwLiBUsHTLSsrApCYq2wPJ7kgxGf9L/fQYN7gXqZhgo= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=Ei+0GVQw; arc=none smtp.client-ip=209.85.218.49 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="Ei+0GVQw" > Received: by mail-ej1-f49.google.com with SMTP id > a640c23a62f3a-a3566c0309fso162900166b.1 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:09:54 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707512992; x=1708117792; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=3P4+a9/cIAslmQuzQjL8EtOxDSeXqHOG2MyxLu4mmL8=; > b=Ei+0GVQwmIii0J3Qk8pJRGPYG2qfgMy89wRlSYTxhLkhLl49HFl7eZpuMZ0yaRCogV > wBKUcBBfLjnAcn5w0AOz1zewn5RSw6z5NMnolQuflrqduig80bAAgIdYxSAovEhyYaGg > q/OyKywLSn7rSg0gT53fG7F4vgTYkVvS96GX2CwVroq0W7vHCsxVzYLDwPXRQiQvHhfK > G9Hy3y+2i5Ni0KdYmVcbW4IXIJOJTK56pJXpftJ0JFQ7T8qFDBAIx3jugl9MOAwEYYO/ > fEAx7rsVtYAwkPLcNIhQ6Ki3pyLImRriRxagXwBEtJyz9hcQ0dLcDJjYO+gJ5NMwND+z > brqQ== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707512992; x=1708117792; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=3P4+a9/cIAslmQuzQjL8EtOxDSeXqHOG2MyxLu4mmL8=; > b=UuWgLVeNOFgsOdYNKN2Vf26wOBPZHlHgDY1likylYTwb6km83YUlL4qdZmhywGDucy > olDZpXh77wHjRT7tvqDdIYbEcag4+BjGqP6mZ5O9LImhx2LbiPaUaEbtt4nIPqaZapnN > NA/oEpfpDYGWAt/IJnGWtlkkPkEJS1RIa49zjOskgvm717IJ3t1vQaeItjVSg17KMXlX > pASsSzMubNLzaRd2UzouaYcqLLIDAS0rZ3kyauJft7FQ+8YGcdwXDa4QHd+K/Xnn1Jn/ > XQ/fuzGPJs8ytvay9jURRZSn2X/SWAVhsROsmblzhtxlqv6wz9Rbg53pPRuUi3HZY7D3 > jdPA== > X-Gm-Message-State: AOJu0YyoRiFOgfHBsVJdsgdUduRdpSx5s1VJtl8NCvS3xL6PMr2Zc3yD > RPaUFYwA74Fo/PM6lhYOekZMM/7NVUPWJLNfdpeEXfnsjDuswbEQQ7bOok/AyqI= > X-Google-Smtp-Source: > AGHT+IFa0HMwlocBhyQVWEI4wW6URTgMPB8gNjtBmIuHK10dYYUj5mZIjH1dXsaiZkP9IrotHDsD7A== > X-Received: by 2002:a17:906:395a:b0:a37:bbe7:6002 with SMTP id > g26-20020a170906395a00b00a37bbe76002mr155272eje.19.1707512992623; > Fri, 09 Feb 2024 13:09:52 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCUN/6DcLKLHb6GpaRqOLsbKnEuKbZHWazCmSiIi/eBFKEIPXF8GGxewPt3LMu1/QmPuqGL1TiJn3S2+2Pnwv7+2+GAtdhKke2ScKRCZbkP7p4idBo/NO4Gb8tp3qxNOUfJPqq80cSgdwuOPYRRcyOHUz2/F1UTVD8yl7mwo5W1COK3w+X6jkjIUnMYSrDtD8sHj3jq+0cuJhWUPfIuM+dxs1TRpP1uKEajqm8hnuzR9x6Gd9iWUZwX+DwnBO6Fd0CQ0cFfY8e5jCM7+jjG7bJGtFq/4h02aYKmsq8giDJK7C4RVOEkIOi0Wxc6HTMv5300m3hs5jLM+LSgXxsiiQcHCQkjOUSMTmr/cQPDtW7Xl1p88eif6jhjQSpbLIp+sDeFFYw7X9j7BMn9O+y24AKmQqbPx3xhASLrICP8/lh324hdJkoQP+t7DF256Qr1iJkQIWKCtYRaC8kIIkncAZh7d6Q2rzUEMtpVRd1ayA6/Ccf2blDlOvgEZIblLSuEdjp5vkA== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.09.51 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:09:52 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:09:47 +0100 > Subject: [PATCH v2 03/20] media: venus: pm_helpers: Add kerneldoc to > venus_clks_get() > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-3-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512985; l=2105; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=qRFNx2a0sPyBufJHjBf1XzrjeKK7bQ1fasBPqhqnRAw=; > b=8+L3XOpMWqZuFrz8AFmFy2qsmwKomGg/5nzZOYPH7CzOEOf+OTS6f8impKgr957vacUNlHiBq > GN/FOhcaKgbAwFpT4jldS6XE7LvitjMa99xbc6Y0qCHGV6DWv5GxIHq > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > To make it easier to understand the various clock requirements within > this driver, add kerneldoc to venus_clk_get() explaining the fluff. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/pm_helpers.c | 28 ++++++++++++++++++++++++++ > 1 file changed, 28 insertions(+) > > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c > index ac7c83404c6e..ea0a7d4601e2 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.c > +++ b/drivers/media/platform/qcom/venus/pm_helpers.c > @@ -23,6 +23,34 @@ > > static bool legacy_binding; > > +/** > + * venus_clks_get() - Get Venus clocks that are not bound to a vcodec > + * @core: A pointer to the venus core resource > + * > + * The Venus block (depending on the generation) can be split into a couple > + * of clock domains: one for "main logic" and one for each video core (0-2pcs). > + * > + * MSM8916 (and possibly other HFIv1 users) only feature the "main logic" > + * domain, so this function is the only kind if clk_get necessary there. > + * > + * MSM8996 (and other HFIv3 users) feature two video cores, with core0 being > + * statically proclaimed a decoder and core1 an encoder, with both having > + * their own clock domains. > + * > + * SDM845 features two video cores, each one of which may or may not be > + * subdivided into 2 enc/dec threads. > + * > + * Other SoCs either feature a single video core (with its own clock domain) > + * or 1 video core and 1 CVP (Computer Vision Processor) core. In both cases > + * we treat it the same (CVP only happens to live near-by Venus on the SoC). > + * > + * Due to unfortunate developments in the past, we have to support bindings > + * (MSM8996, SDM660, SDM845) that require specifying the clocks and > + * power-domains associated with a video core domain in a bogus subnode, > + * which means that additional fluff is necessary.. > + * > + * Return: 0 on success, negative errno on failure. > + */ > static int venus_clks_get(struct venus_core *core) > { > const struct venus_resources *res = core->res; > > From patchwork Fri Feb 9 21:09:48 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551849 > Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com > [209.85.208.50]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id 566A139FE1 > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:09:56 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.208.50 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707512998; cv=none; > b=hVMIdSH5UFdJyz9Gyx3DrAhENQhmKLamyi0zq2NJ6TrO/8ys+TaCHshbxJkEp69iLx/UzBi/onfn7Rcb8KiA1+TrZarBrKvzDtrg2zRx4+V40USxeWVr/rDM0jf8r5fTkvCY7uXlKodtIjsfemaKMF9VX0geNpb7dxmC0Qt3Es0= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707512998; c=relaxed/simple; > bh=y2JWZvHJdVFdS2JPzFc6K4lM3ffIwu7LSCAQM8cYwps=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=p/ynHiJc+XCBpYduEt4jqoB1uKDScWl2tL4LEmAhFisUmdcMooJ2s9eomh/CtzX7caPTlmO/Fs8o2wtTHyjAG/w8HSoXWCldkPxlGHsNVFrjadhOlZ+yFe4zumN/V1X8RB4GyifGyR7gLdsOzXDrxlFXdt0lvbTdFj95CtO2Vak= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=M3eKtIPT; arc=none smtp.client-ip=209.85.208.50 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="M3eKtIPT" > Received: by mail-ed1-f50.google.com with SMTP id > 4fb4d7f45d1cf-556c3f0d6c5so1809128a12.2 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:09:56 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707512994; x=1708117794; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=zHqRSPmMg9wEwP3rMANc1kfU5BrHC67r5uXE7Pbrcfw=; > b=M3eKtIPTBqosWJIQ7Od1wDVHeQYwKLmZT9p4Tl5NbXWYf7A8cl8PTiCyhFhpyBI3tQ > uG2cj863k3KrJ/C0NWw2hIUqMBBfkNXQ2VS20z2yyweKOVfQIBlaHlFh3XGxX0oZ8LnO > oItikgINfFSyCQ1WRVO4jDb9AjnqzkwXrQf7MEtwpEIXg4SGqMvifcySKHTl5CX3hRcc > QHkt8bAVokpk99n490U9UlDD3pzlpocTsd0ezvt63QhAMJGZPyx3Cgt8wXFaPQWZh7rj > OxzjNJxu4+nbLNdh8gszjx/4pCfZcIw3Cmr7YUlRn+fAhU12c56L3C/alc+kjfOM8Dyb > hcoQ== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707512994; x=1708117794; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=zHqRSPmMg9wEwP3rMANc1kfU5BrHC67r5uXE7Pbrcfw=; > b=LIbKwgMkVmCCQXQcNjScakMI3d6BhCvMgOi8HnZXQx3c/pPgXRRmLzkKL7SKqtZz+N > q8qwqcILwbUOaZ/uhi0UBL1lS+Jr2fDoMM2sr/OTpuC3RP7t7XdkFaaMmouWd/o/PxPa > PFq3sOrlQSIzD7vU2lKCjP41+aZdFqLipPQO5wyR6rZlvGiEIh+5KcYONMeQb/qs+zDk > ZPPxwCF8ifPVEX540QmlhwT5bdqkiEWSgLA5mjSdZQgm1LOfcjj2sLR5DmIakpjHHEgk > EFYnRr6mRQauqrjxN7Jl+R5+rUq7nXkj+WErgUbbDZ2o0SW0R2xgHOttJlOYKBjMw+M4 > ydRw== > X-Gm-Message-State: AOJu0YwxJyyEQIiN/qegro1ThN2KX4Wl5yB53oeUJWjgg9iog+Y4DfP2 > NWWjA5ABDCN8ehMf+C1FoGCviQs4y2sV3ZKKvmrcmBBVjI5Qs7zE8s3kGgVBkZM= > X-Google-Smtp-Source: > AGHT+IFCRWKIfsiL82n4TdoS64yVcnwMBOfM5a1/WQBiaXKRFrUJF45vmgNQwB8+gNMCtrg0vsq52Q== > X-Received: by 2002:a17:906:ece8:b0:a38:1673:682a with SMTP id > qt8-20020a170906ece800b00a381673682amr190148ejb.32.1707512994747; > Fri, 09 Feb 2024 13:09:54 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCX7M3Z2lfJw6CYTLfI4lk7oZf4X/Tt8KydPPEjARXyuSj2RTAotoZMWc/4LontHspfsZvs2mavsE0O7vLe4AwgjKuGNQVD1gTmJVu/kQdu/BTIqerDe8c+vzuNfEhsv8pMxt9MMug51L2Gg7e/FAnvJmt/4XtcraJbsMt9xW0h9VBzs2n9mws+KI0ZlVdbAN6dKdGqa1Dob3dR4YoPWLILCLdo+ybAwJOLpb7b3ZslDfDnQ0H2NGbVv5srAnvbs+5cMj5gQCdloW1ToEHz2hiAs99Enc+EYRQz2Mrm6XHv3XZNZiNbMXVbp4VVd/I0UfBi3RY4gE1JVJtuD3843w7lsGqdtNxNdJUxgELZAu0lsIqehMMedmgZFsCsNbfW5L9xU3LQr4RJ3q8W7c19ZyXCAT/wi9UG2I6bRx52SdEHDvhk1n5cNCGiYBUdXcZUccz2Ml2gbfHrQMilutfat/p3IDzXnz9Lm2rUvdV2/2dz747SiXF4CBeO5iXKd7nVMaXvg0Q== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.09.52 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:09:54 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:09:48 +0100 > Subject: [PATCH v2 04/20] media: venus: core: Set OPP clkname in a common > code path > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-4-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512985; l=2649; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=y2JWZvHJdVFdS2JPzFc6K4lM3ffIwu7LSCAQM8cYwps=; > b=AtvahE0Zp8lNnsXEZ/S0J1BDdGYP6MemKHscNYsYbYfY4wMxb5DnKSFgdvP2tzd3LvvAzgeJ3 > 4f47+3XEPlJA57krg+XF4NHdT1tiITEo7TCJLawQhpnW9hM8/4jvzL1 > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > Calling devm_pm_opp_set_clkname() is repeated for all HFI versions in > pm_ops->core_power. > > Move it to the common codepath. > > This also lets us get rid of core_get_v1. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/core.c | 5 +++++ > drivers/media/platform/qcom/venus/pm_helpers.c | 23 ++--------------------- > 2 files changed, 7 insertions(+), 21 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index ce206b709754..5ab3c414ec0f 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -14,6 +14,7 @@ > #include <linux/of.h> > #include <linux/of_platform.h> > #include <linux/platform_device.h> > +#include <linux/pm_opp.h> > #include <linux/slab.h> > #include <linux/types.h> > #include <linux/pm_domain.h> > @@ -319,6 +320,10 @@ static int venus_probe(struct platform_device *pdev) > if (!core->pm_ops) > return -ENODEV; > > + ret = devm_pm_opp_set_clkname(dev, "core"); > + if (ret) > + return ret; > + > if (core->pm_ops->core_get) { > ret = core->pm_ops->core_get(core); > if (ret) > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c > index ea0a7d4601e2..1ba65345a5e2 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.c > +++ b/drivers/media/platform/qcom/venus/pm_helpers.c > @@ -318,21 +318,6 @@ static int load_scale_v1(struct venus_inst *inst) > return ret; > } > > -static int core_get_v1(struct venus_core *core) > -{ > - int ret; > - > - ret = venus_clks_get(core); > - if (ret) > - return ret; > - > - ret = devm_pm_opp_set_clkname(core->dev, "core"); > - if (ret) > - return ret; > - > - return 0; > -} > - > static void core_put_v1(struct venus_core *core) > { > } > @@ -350,7 +335,7 @@ static int core_power_v1(struct venus_core *core, int on) > } > > static const struct venus_pm_ops pm_ops_v1 = { > - .core_get = core_get_v1, > + .core_get = venus_clks_get, > .core_put = core_put_v1, > .core_power = core_power_v1, > .load_scale = load_scale_v1, > @@ -423,7 +408,7 @@ static int venc_power_v3(struct device *dev, int on) > } > > static const struct venus_pm_ops pm_ops_v3 = { > - .core_get = core_get_v1, > + .core_get = venus_clks_get, > .core_put = core_put_v1, > .core_power = core_power_v1, > .vdec_get = vdec_get_v3, > @@ -1013,10 +998,6 @@ static int core_get_v4(struct venus_core *core) > if (legacy_binding) > return 0; > > - ret = devm_pm_opp_set_clkname(dev, "core"); > - if (ret) > - return ret; > - > ret = vcodec_domains_get(core); > if (ret) > return ret; > > From patchwork Fri Feb 9 21:09:49 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551850 > Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com > [209.85.208.50]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id 009C72E63C > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:09:57 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.208.50 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707512999; cv=none; > b=GQKxQPW8ohUTpsoZsvIILwaKL2mx5pF4/5mmIU/WlqplPoz3fl1RfsFQqm4W66KATbCDqC+eh6afrMYW0aqkjBvKxAAD6oC2TChrRmSciiSj7rCAtb4oht3KnPoKhdvsfUHY+E/dsT1WYgts6fXk/qVdTtgqJ/g482j+TKHy7Cg= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707512999; c=relaxed/simple; > bh=3dtrntbOogwjknLFZqca+wBqcS9QWbQOd9iEEJQfOvA=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=DfC5hHKabaHdGdaZ2OhUd035JQKKmlX0cjRSlT9UeRmxWmkUSP/usFRoOfDq9BoHVTu7w+fi+895nBB1mLWEIkk0qFNWRimUAasnK7yhJ2vEdnsYNaf+OLvqftR2fbYxSh4wY5j0z5BuzF+zCd2/lQXFLY2IhNksA05uGLJKNew= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=rIOCa3FN; arc=none smtp.client-ip=209.85.208.50 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="rIOCa3FN" > Received: by mail-ed1-f50.google.com with SMTP id > 4fb4d7f45d1cf-55ad2a47b7aso2074757a12.3 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:09:57 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707512996; x=1708117796; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=AK+SsOpDJXwjdmEkPZAy2mx09ivoS/IARlVKsNVFoYA=; > b=rIOCa3FNdNrVbpHo30DQbDAzLFeRuRBrY9FZvar1nCu+M3ZF5OOO6axwxVia8pOczF > CLILcUlZ8NsooyGQvWI7gtJoz4WQbNNsH1kAQTPxTbyVlEQ+EyI4eBTCE8633J+23/bi > FbZQwXYk3trULXdzPS8OphdZCZT8aswpdCEBxt3BLeEm+Aa+uyz0EBJpTP+G56ehBPmy > OzefBJiPFmLkD1V4nIEsvkZsw93O8gK1KncKR5nJCVni23Uz53E1s7c2xwPOhoqhZG1H > Lmd4lZH6hNG/C10zl+D7RB7bcw30rNNxoumd50GRVhSsXL4fQx5ngAkjxwBWDUCHKBYr > x1lA== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707512996; x=1708117796; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=AK+SsOpDJXwjdmEkPZAy2mx09ivoS/IARlVKsNVFoYA=; > b=rc06ba+bZh/cZhAj2GYlzq+GtThQzTNOz9SRWXeLfo3qqBHBGRwampbnOwDFooL3IU > AnlxUG25kST229bes3GTrKwsnnRsiEBfuAfXRNJUwb/CcMsgyYsBr0fvXtuKyUgUqg6P > O4/hZS1CFrahqukwncVVWuL1RSAbNeIFi5R6/uKRoGW+Pkhq8FPXxNj5l98JtKc0icyf > b530K5BYYeDwfUfWsrb5l9lvgrzFR4fS8XzOLUZ6RUNK2ElQqW/uI8LV5PvfGo6tX+jy > wUNd1fEdpXaFsbUd3wGJggscrqf7mX137C6PhWGttNCXg20afgz/zHgWCM8XR/rnuhLd > bx6w== > X-Forwarded-Encrypted: i=1; > AJvYcCWxKruFdrJ6E8vUOmapZO73U+NGgw4muC3QBSldd+5q4m6+vzTcCGl9uJ/GPtjdaY+EdKjvJFSYDq7TVZxoAkKH0dDfJha1CRjjImE= > X-Gm-Message-State: AOJu0Yy22cPLkZujNYLLq5iDrHX2vMVGrWxUxtSaQR9CGCh0DVN0JVKJ > e2Zi+gjqbI5kybUjkzPtWsOJVUdkFO0/CP5ANgu0blIdbBH/FA5q1wJ0iI6WnDg= > X-Google-Smtp-Source: > AGHT+IHcGl9JHJqOe5VmdQ7VeXCk54tJsLRobhhO7hKVsXdIqB+9dtCWHyxR0NIAJY7xkg0o+FUGxQ== > X-Received: by 2002:a17:906:af94:b0:a38:1938:3d41 with SMTP id > mj20-20020a170906af9400b00a3819383d41mr189889ejb.10.1707512996410; > Fri, 09 Feb 2024 13:09:56 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCV7yR6qZYcLxMBFDCwovXqEY+5tzDFTiFCuF97xuBkVj2p/H9HKYNngM33WBfc13n9vtJD7IfZtdZrhoiJQ42U3KGXh0WwxyQl0pYiAQW2AOggDtknGTPABl0wpdBu8CBxgyUGYRw9uK99xhZO6wVUH4UKRZM4z1BbJE3GPxC8CihdoLXfoUsoIb21+rjdCJjDj2p+YowtrWSjK0cX/mikxvSVIHA/jHOqwOeJ0/ld6iDCGG9PUOncIgEm6HricqdHhhonjlBVPpyzV79q/M9Xmo+q4hdkprUAopGoQNxwic1GySl9bUeyxVtSuVuGyjpkKZiChcjhAAfE+CrwZokvkabm+8CGp+Q6fEgmj4MSxgWpeacUL9ZFh1DpAPSVGHxoWEFkNmiswfeC+hs+AS87KPKyGrSYhYsWxNrpg0PdlE8crwdI2aWYt6/VXxpkn3+jTePc68hz/1zMgjaHlHECFv6JZEdTNJwHTsvlbPkHZXVjX3FtkjOdpc9oDLBMPybjI3Q== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.09.54 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:09:55 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:09:49 +0100 > Subject: [PATCH v2 05/20] media: venus: pm_helpers: Kill dead code > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-5-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512985; l=1555; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=3dtrntbOogwjknLFZqca+wBqcS9QWbQOd9iEEJQfOvA=; > b=oh5FZnz1G42Z7kWhiKa1BU+f/0l6PypNRePBfJONaCzYzRLoGiiAaxtCapT8+vTs2EweuC6lZ > PlUS6YMzmQLC4SkVj5CuP5XX713SshpGMNA9dXY4b2/tOQrSWSBrAzx > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > A situation like: > > if (!foo) > goto bar; > > for (i = 0; i < foo; i++) > ...1... > > bar: > ...2... > > is totally identical to: > > for (i = 0; i < 0; i++) // === if (0) > ...1... > > ...2... > > Get rid of such boilerplate. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/pm_helpers.c | 10 ---------- > 1 file changed, 10 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c > index 1ba65345a5e2..7193075e8c04 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.c > +++ b/drivers/media/platform/qcom/venus/pm_helpers.c > @@ -878,14 +878,10 @@ static int vcodec_domains_get(struct venus_core *core) > .pd_flags = PD_FLAG_NO_DEV_LINK, > }; > > - if (!res->vcodec_pmdomains_num) > - goto skip_pmdomains; > - > ret = dev_pm_domain_attach_list(dev, &vcodec_data, &core->pmdomains); > if (ret < 0) > return ret; > > -skip_pmdomains: > if (!core->res->opp_pmdomain) > return 0; > > @@ -928,9 +924,6 @@ static int core_resets_reset(struct venus_core *core) > unsigned int i; > int ret; > > - if (!res->resets_num) > - return 0; > - > for (i = 0; i < res->resets_num; i++) { > ret = reset_control_assert(core->resets[i]); > if (ret) > @@ -953,9 +946,6 @@ static int core_resets_get(struct venus_core *core) > unsigned int i; > int ret; > > - if (!res->resets_num) > - return 0; > - > for (i = 0; i < res->resets_num; i++) { > core->resets[i] = > devm_reset_control_get_exclusive(dev, res->resets[i]); > > From patchwork Fri Feb 9 21:09:50 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551851 > Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com > [209.85.218.44]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED0FC1B7E9 > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:09:59 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.218.44 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707513001; cv=none; > b=oeWGgDkGU5PVhaQwa/UD5Fg2AaKLvLc/8p+dF6sj+rtkvxFyj0i06KQNdfhVMi4tmANmjK903zaC8hIX1MbjOsUbNFzernR/lgmtMZBXtXa+XwPHHFUzGHMiEPBNFYLL6NIMBNeI4aKebA6JkhxCIR4Fq59IqER6BXz1tkHK85c= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707513001; c=relaxed/simple; > bh=emlasjHcZnzrIjnafSLSnzSeNd3kwBS4D1Wpb2NJwiU=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=JXG5KNFom/qIDdiT6auubnF0wFLq9CakRHXcRvDkcSNeDBjhI+H6w1zFPHjQitCak6DT7ftF4QuCMoc87gEGNgIN0FoB24t3+WrhOZwMOHGOuOBT9plnweXcVVrgeX2e7yuSqv4x6yWn0sZoXqBTX4ogtBGhYmzO/fd1fbg3r3Q= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=iNoQflyD; arc=none smtp.client-ip=209.85.218.44 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="iNoQflyD" > Received: by mail-ej1-f44.google.com with SMTP id > a640c23a62f3a-a26fa294e56so181560866b.0 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:09:59 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707512998; x=1708117798; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=k2YxXA2KQwmYTykbrsMuU28ijcqoH+ICj0PO4K3eu3g=; > b=iNoQflyDa9h+8hwiffRMHkHBj6JC98z0hs8qbYw+k3TZe2zAhzBzMoNq6bWrOC9B1W > A7miC+LAT+jpaXJu9iscfQcPZ6QKUYFb0y3vNUXpx6EyNp/ElfFKnKsiRCWt+rLRcjPW > SF+JLQuzx3FviG2TveKI05CqX+C+5RWScJvYpIZvp9Bvvbq/qsht3uthc85TRsPuZFaR > J4gairJNc2urNhICduT9CughT8yF8iKvly/qOIvdXqJLngXxiv2LMWyDGJnQj+PDhkfh > 5xsWyKmceaUtwIGk32HZElWONsByN+VdCZ7MmLZvpKWhAjeccQDgg2P9gil3Wq19pwuK > KnNA== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707512998; x=1708117798; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=k2YxXA2KQwmYTykbrsMuU28ijcqoH+ICj0PO4K3eu3g=; > b=CTojgfGWpEEW4pnsocr4FDe6PJa9nojbNjBjM4/kxLdsHWDbxZ5K3L5mSacrnQ8kpo > Q4JaQttPHcs5VBlDh5fy4ihHTkh4o9QkMs0bN6A/BbRr+p0JHyfMtOQ8Pt5e7mMQDLUC > 1tDxaN1AI4HDmR+vkedWCuuAdIH/ng4kOpYGjGJmzyK+VgZN/I7FEbYFalfrMepaAGq4 > xOo9/9UXX0nPMWkgPJ6qJC5DCVZplQX9i7X3s/ax3lhGxRgUUN4W2PVA8UdI43BmXIg1 > cjkDf/1QMfunUwN+y3kCsqhB22705XYY3hpqizSUTz7708g9S6BOxnU6bRU/VjpcIVMj > fy+Q== > X-Gm-Message-State: AOJu0YxZn1r2LUDyhCoWYX2gFUwe5r5h9MUiSjfzLfS6pITJSXLE6L1q > /lTKPQzWshrYgFvkTuFNOvqtHM10u/f2aq6mz/7Xgqecdkcm3mLEC6VKsA+3tHg= > X-Google-Smtp-Source: > AGHT+IHDduXE6feHEfBorIgCVQWl5Jn+Ve4Cd9AvURZgwCUnQ77qWcE4yem/H1l6J8EWd0F+RIyEqA== > X-Received: by 2002:a17:906:a92:b0:a37:f129:262f with SMTP id > y18-20020a1709060a9200b00a37f129262fmr221597ejf.12.1707512998289; > Fri, 09 Feb 2024 13:09:58 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCUc8bLRgweiBVuk9eczSVYfpuNQRnuIh3vZjAIZUIJWRHTF5591PApKSgTs049Uhc/jfFXkI5reynt3T355snl3ywCzO9R6GuUzhr8cdA/UHQSluHSMVbSLVNCpQAmO8yEYqwrTLpyo18PgE8vBSmUYJPN0EKitZ7cetILptYZex+43rxpnQ+txWDgidr8kjTzy5DWjtQe87KAQsJGAVGSYfzhoL1F7fKlTxBwXTxe9uEfA9NmdVpKYTzbXuEjn8YDzGRw9YAryTq3wbMylQj9AuKtcsjCQ9O4cRvf7yDjj8ZUy0NC7GjlmLruofgpJ3eV7JqGDV5Au+APVQGNw2o0y9ORIEQYZZIU/j9QBF9SJw3B46MJ9pExMfZ5xVVkguDzpC0KJZTKsB4oBDAnIL+oKj4G7TSmHJ4NVtQqBBg9iMwdy/R745K0TMZYVfNlcvT/b1zr+aifH5JJDyapdG8bhpXWHGJ7atx4rfpk2y2wrEIVKwsgfSaaQ1tTWPhSdnmjH0A== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.09.56 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:09:57 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:09:50 +0100 > Subject: [PATCH v2 06/20] media: venus: pm_helpers: Move reset acquisition > to common code > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-6-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512985; l=2551; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=emlasjHcZnzrIjnafSLSnzSeNd3kwBS4D1Wpb2NJwiU=; > b=pmdE2ES1G6/MKZfX3GzMyvavVDPlN+plxhvovU/PoEShg7rUaVAZQB3iuBi0KNpybJBJipvMf > wdDfzCVsd/bCwFW/C/FUH3PtUuslzktUB0X3uTw3kGdcrfgsmmrSVwE > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > There is no reason to keep reset_get code local to HFIv4/v6. > > Move it to the common part. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/core.c | 9 ++++++++- > drivers/media/platform/qcom/venus/pm_helpers.c | 23 ----------------------- > 2 files changed, 8 insertions(+), 24 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index 5ab3c414ec0f..0652065cb113 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -15,6 +15,7 @@ > #include <linux/of_platform.h> > #include <linux/platform_device.h> > #include <linux/pm_opp.h> > +#include <linux/reset.h> > #include <linux/slab.h> > #include <linux/types.h> > #include <linux/pm_domain.h> > @@ -286,7 +287,7 @@ static int venus_probe(struct platform_device *pdev) > { > struct device *dev = &pdev->dev; > struct venus_core *core; > - int ret; > + int i, ret; > > core = devm_kzalloc(dev, sizeof(*core), GFP_KERNEL); > if (!core) > @@ -324,6 +325,12 @@ static int venus_probe(struct platform_device *pdev) > if (ret) > return ret; > > + for (i = 0; i < core->res->resets_num; i++) { > + core->resets[i] = devm_reset_control_get_exclusive(dev, core->res->resets[i]); > + if (IS_ERR(core->resets[i])) > + return PTR_ERR(core->resets[i]); > + } > + > if (core->pm_ops->core_get) { > ret = core->pm_ops->core_get(core); > if (ret) > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c > index 7193075e8c04..6017a9236bff 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.c > +++ b/drivers/media/platform/qcom/venus/pm_helpers.c > @@ -939,25 +939,6 @@ static int core_resets_reset(struct venus_core *core) > return ret; > } > > -static int core_resets_get(struct venus_core *core) > -{ > - struct device *dev = core->dev; > - const struct venus_resources *res = core->res; > - unsigned int i; > - int ret; > - > - for (i = 0; i < res->resets_num; i++) { > - core->resets[i] = > - devm_reset_control_get_exclusive(dev, res->resets[i]); > - if (IS_ERR(core->resets[i])) { > - ret = PTR_ERR(core->resets[i]); > - return ret; > - } > - } > - > - return 0; > -} > - > static int core_get_v4(struct venus_core *core) > { > struct device *dev = core->dev; > @@ -981,10 +962,6 @@ static int core_get_v4(struct venus_core *core) > if (ret) > return ret; > > - ret = core_resets_get(core); > - if (ret) > - return ret; > - > if (legacy_binding) > return 0; > > > From patchwork Fri Feb 9 21:09:51 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551852 > Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com > [209.85.218.51]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id A86C83AC26 > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:10:01 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.218.51 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707513003; cv=none; > b=ut5MnpPuux/kMSNqD6tHuuwaQI1vm5sircp4/tk0ZRVGHauSiOPI3cOiwn8OEzScXXjVOH/cirSmsvjitRLXDx7ZpYa5lnymJGZBkQU3yEly/Ze9YqlKYIHB1Xxwxm38nWKCiqJfSy5/rMtiEfVypgsHkL5qkORzNKHHQNhzdoE= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707513003; c=relaxed/simple; > bh=2igVAqX0VNw3fNZBRPW3xI6PegwRz7NA5+KLZ+WJ63U=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=oAK97rgBPLgmUCWnKGqKLV8I/hgf6p1h+cL87x5otDNKvqdaEzAiMECd4xzzU2OuCHBPctd2p9arPmWgattW1lHTJb4Y/wd8Akmcw9y0dyLiaD8Q6OPJ7++tnDqKmG1LlvdegZRIywrr70T9NBeCJLRhE/SsLQRwu6yjecPpcV0= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=SPrfwAj2; arc=none smtp.client-ip=209.85.218.51 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="SPrfwAj2" > Received: by mail-ej1-f51.google.com with SMTP id > a640c23a62f3a-a3be9edf370so142770166b.2 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:10:01 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707513000; x=1708117800; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=xlIzPxVWq+bsAR6HPmAA/ifEN8Nb2TRGFiIMlA64yBs=; > b=SPrfwAj2kg3ZLBhxtTxDB4ydSQjdTpZr7xYCYlZ7W7eGiH7nX/WrDTLOm7Pp55ApmM > hRAszqjZ+DaTkKnB+WHtM5JDMwgQCPcyBCHLFTPchA+USR1mzepx4YRRnT0Vu8FPkm6J > q3AjnUGIwooRtGMguTOyDkRiYFr/d5b5e8hkbTX+bPrYpmxUMRr08uzByDiKvEq4bzpE > nmgKdd/QFllDT+VOgecLy07ZZegkcO5NX/LG8FzBz6vEjVxJbqvwPxWtHNXvt5roBDJX > AOkqWmgDSYjYuxjzqARCVDshFnO7DloORwT8GIX+Fd5yGrZZgCflOpR7gH1Od+ek+QRD > uPbQ== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707513000; x=1708117800; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=xlIzPxVWq+bsAR6HPmAA/ifEN8Nb2TRGFiIMlA64yBs=; > b=r7YTL8glDlLbxHVPzz24g4Xgq6yHZNahl5Cd2tJnr4koxE3Cu2L22DXPmvDqQiL2RM > d9gCqG8aC8k2IOVjjnfVP/tJJ4B0kvUTBg9COF/ZMzk8/Vz64oj2W0JHHcIfo3MfT8WL > og7MVuP1D7JEeN/BH/buyvv4JIICl6DdQiXuLXY4inoXYE5QTq2IgfqESnoVt6/6pKkn > EufxnB1MhYXw7mg+30jecWyrBvXCXMXbTNaMq58w+PaoUMpur48/pk+hR4FKYWfx5rdv > xGlC3oyYLipGd/79oje5ATQ1DxqxsqH+HzHWRUqYmVRFoKktqxLQ7bEvuhxZViqAnoDQ > QHhw== > X-Gm-Message-State: AOJu0YwlU/RVEuHP5xY9Q00tFn45s/72BC9ADDc0saHCC/E5y8DKXT1Q > bsCCJJyDvZ1uThObjHxGpXEV8auKiczeBD6JvEawglpHB+gVlKMIAWG3OLXtQII= > X-Google-Smtp-Source: > AGHT+IFnCxzyEedknS8glnIpOZ9GDBMua8gfkrZRkR3e3+UJ2pcF15UePro3zx+DsQ7PS/+aZf/YiQ== > X-Received: by 2002:a17:906:230b:b0:a3b:e115:7b69 with SMTP id > l11-20020a170906230b00b00a3be1157b69mr167492eja.69.1707513000009; > Fri, 09 Feb 2024 13:10:00 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCU43QCiyrytYxFxTxdhazfamHHqeLm5xnTyGUEoGhxRhNdGtZYwyCobuEDrz13F0peEVzF9hXAC37nnUngLF/3nwOhpGIRgQPW20GasVlz2H0PwfQNIJkZICjK3xuyh8Z8zBEknC0Z/uebrWghTa8wX+IjY4iUf4PeyjWDc0ud7GEpQH5yGlMHDkzrZbql/QDdwW4bluhNc334cQIPU4Ldg/fvBA6oAsIRQIJjiUHaaQAQQuzlhR6p4Xl1z4LWhJiTTKrdYYzbcVy0OYx+V6M5Wwdy7EsmGdjxBTFKCRBktjJMFyMGjMOSvmkTKuqSmdFWsCRjMY4I7aYsrh/JlRkX1KYnlxxQzlvAa+Wb8Ou79RA1AkP5rKBuiAlEv7TzeLjIWTneR6xqG6Q9UU6mMIMxEII8m3nHcZ8fa4xjNvsR9snrx4algbLlIjTtO4UW/aG8c/oUZUDVbCVx6lilNme4N3NWFO3Gg5TArMwagfoh7qtHq6wJE7M3Duu0GUV9XAvipeA== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.09.58 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:09:59 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:09:51 +0100 > Subject: [PATCH v2 07/20] media: venus: core: Constify all members of the > resource struct > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-7-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512985; l=2706; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=2igVAqX0VNw3fNZBRPW3xI6PegwRz7NA5+KLZ+WJ63U=; > b=Y7nFOgWoxzW+xfFgI0rML0+tWKvbFCA3TQs/Nwf2AzFXA+IkV7piuQt7VgOVY3+o7nrSsc7H/ > +E8YHaQRkrxBYhXeRsLvZZmvyVFRd9yxBK3UHiT6QONOW5zXQCNkUo1 > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > Nothing inside the resource struct needs to be mutable. Sprinkle > 'const' all over it. A lot of 'const'. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/core.h | 58 ++++++++++++++++---------------- > 1 file changed, 29 insertions(+), 29 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platform/qcom/venus/core.h > index 6a77de374454..6b1887f7d9cb 100644 > --- a/drivers/media/platform/qcom/venus/core.h > +++ b/drivers/media/platform/qcom/venus/core.h > @@ -56,39 +56,39 @@ enum vpu_version { > }; > > struct venus_resources { > - u64 dma_mask; > - const struct freq_tbl *freq_tbl; > - unsigned int freq_tbl_size; > - const struct bw_tbl *bw_tbl_enc; > - unsigned int bw_tbl_enc_size; > - const struct bw_tbl *bw_tbl_dec; > - unsigned int bw_tbl_dec_size; > - const struct reg_val *reg_tbl; > - unsigned int reg_tbl_size; > - const struct hfi_ubwc_config *ubwc_conf; > + const u64 dma_mask; > + const struct freq_tbl * const freq_tbl; > + const unsigned int freq_tbl_size; > + const struct bw_tbl * const bw_tbl_enc; > + const unsigned int bw_tbl_enc_size; > + const struct bw_tbl * const bw_tbl_dec; > + const unsigned int bw_tbl_dec_size; > + const struct reg_val * const reg_tbl; > + const unsigned int reg_tbl_size; > + const struct hfi_ubwc_config * const ubwc_conf; > const char * const clks[VIDC_CLKS_NUM_MAX]; > - unsigned int clks_num; > + const unsigned int clks_num; > const char * const vcodec0_clks[VIDC_VCODEC_CLKS_NUM_MAX]; > const char * const vcodec1_clks[VIDC_VCODEC_CLKS_NUM_MAX]; > - unsigned int vcodec_clks_num; > - const char **vcodec_pmdomains; > - unsigned int vcodec_pmdomains_num; > - const char **opp_pmdomain; > - unsigned int vcodec_num; > + const unsigned int vcodec_clks_num; > + const char * const *vcodec_pmdomains; > + const unsigned int vcodec_pmdomains_num; > + const char * const * const opp_pmdomain; > + const unsigned int vcodec_num; > const char * const resets[VIDC_RESETS_NUM_MAX]; > - unsigned int resets_num; > - enum hfi_version hfi_version; > - enum vpu_version vpu_version; > - u8 num_vpp_pipes; > - u32 max_load; > - unsigned int vmem_id; > - u32 vmem_size; > - u32 vmem_addr; > - u32 cp_start; > - u32 cp_size; > - u32 cp_nonpixel_start; > - u32 cp_nonpixel_size; > - const char *fwname; > + const unsigned int resets_num; > + const enum hfi_version hfi_version; > + const enum vpu_version vpu_version; > + const u8 num_vpp_pipes; > + const u32 max_load; > + const unsigned int vmem_id; > + const u32 vmem_size; > + const u32 vmem_addr; > + const u32 cp_start; > + const u32 cp_size; > + const u32 cp_nonpixel_start; > + const u32 cp_nonpixel_size; > + const char * const fwname; > }; > > enum venus_fmt { > > From patchwork Fri Feb 9 21:09:52 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551853 > Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com > [209.85.218.52]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id 716F03B79D > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:10:03 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.218.52 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707513005; cv=none; > b=IsU/p4AAY1OGiQvmtcOWVd0mJkVJ8DuyPdCMTaDvmlgwwlh/cPHqx8QXEfU+kLvDlv4nlZCPpIWnGMDGdZRYKpuXIbfAN1xDDhI46sdDMrnZ5xcY3WwdL7CYwsKudM1PaTRBHbcY6j1Ub5+wU6bn8iraTW2QEVxxUyjXhFN691U= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707513005; c=relaxed/simple; > bh=BxP6mknLkkhwH235J5PftaK8VpshDs1dIkEqExrl9fw=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=mHO6hnStztDggEocBabjKegIzkuo6wBtdi53ro5f8xo26iBbqPgnyJrcbR3YeXYKZZ5oHOWRZkj6Q6TAZiIH770ElbcN2ZJI0iX+fzHjqgmcVHe9VOfrwDBeRJtw4ohG19dLhAHeBlLF533talLI3VxplA5DkB3637I/+nDsH6w= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=uw+dS9PN; arc=none smtp.client-ip=209.85.218.52 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="uw+dS9PN" > Received: by mail-ej1-f52.google.com with SMTP id > a640c23a62f3a-a3c23b0e06aso6095866b.2 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:10:03 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707513001; x=1708117801; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=PjYVvA6/x62tiGnPrd+cF2sjnvoUPDtV+GlugrRAEGc=; > b=uw+dS9PNWVj9wRNNOG5bzLY9bPK0Dxx+luF2Tlipv6M2tcvnsodddiOWFFWRunxwjO > QBE4twoGsGieLmcRHnZTqYUlH+M/yNrJS4UkzYLZVBgliM4bG0xqFPd5UJsKfkeT/VFx > k8W+9dC3fvtrd6KAy6vkoNRTAMvaMaebjp+hSxCwXKflscZrIieBzckTReamPRTfA3dU > jYAdSpbIu+USe0eWZAOc72myx2N2NTIqg8p9iLxVS8KmHzzMfzJu6dN63oAGauX1KffV > k2GTeJbGoC6nYPPv0exjPXAYxKs9F/bXfBOcCNSx1/bBqApMuQZNxWIM9jzKdip8zpUl > SBQA== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707513001; x=1708117801; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=PjYVvA6/x62tiGnPrd+cF2sjnvoUPDtV+GlugrRAEGc=; > b=f2bcDOC28SdqN+8/MFyTjd7HfHT2TBVB+f6N0kKvPosk8ksfv3rcaG6eUtUHDe4JGc > M/w0dWnctaUCT8hHCpmhU8U0SazTZK5pz37UFqtNI3MRU//HgnrmS9VhjQEm1PTbGt1D > DG5E0ZZw2cFZFbhxfWisVG5XTHnPptr9CsSpYKpoGQVOhOsOdu/nbwXVxWmYub/H3PQH > j1sJwSPCud2eM+UFNNlsZUumypCxzrTJDujYbycttJqM/t4sZ7kkljXtoZdQYPtpKvFz > yFoWPK/nJBOxgzzeXA6/2p4fI9+9JyvSjK7YJo25kgSuN7FRAOPkjgaNa2iH97N7cOuy > dkjw== > X-Gm-Message-State: AOJu0YzPuFAZZwoYLKZdpdGozqRxvxTXc2yTXi5Qg7EWB1EBgUZsgA7E > D6Zf+x7SRKfZiKmHNRxp66Ds48fUyCRGf1NWlqMg6WocdOIBubU9JD+EG/VtjCI= > X-Google-Smtp-Source: > AGHT+IFp1PWTyLpycl+jUCQr1eGQJdI8e9Yj52cDT9vNrTaarpIUHhbVsEGxWxvBkn2tg4TGxOQwcQ== > X-Received: by 2002:a17:906:378f:b0:a3c:45e:77fa with SMTP id > n15-20020a170906378f00b00a3c045e77famr152223ejc.11.1707513001665; > Fri, 09 Feb 2024 13:10:01 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCW3lTlfXWRs2C2UOrTagbsQew+Gmppxm8P6uAd4UeQ6vHAxDZQD/PFiYRdIu2Pvs6xsyGE5XhMSd6knHTNovwY0LdPfMydvGzPXievOL5F1E2IQvlL9loDKEaLeYW7NrSVwe4Oeknob8QeNkmGM3g5JIz+EL9mePMrikTdpopi1CPpnk8TASPJ5u+AR9r+GjjXwmT6ByDcuMXBB/AC+OKONvRvt4YvyNeYooeZDfbfteb6yfGpZvsP/N5bQCk7XsJYBxdiC+/+CiIUtqgi10pLMIOn51grS8/GvSPGknoLbjmA8alkfDSaHcKsdoOuJ+tdBvCBsVTlnk2WCBpHQaJSEru4eqiwKLcnQQI2mYfXbLxTHi+LKg2mE0idtTP7ibp2WYKb837rpctER0MHPZ8OsYBP5b5/lfa5B7CKLa5q6VRwA3YEk9zUHqCkppAQvGP24GZHNQUf01P6VOQDKYpI4aQ2CmqHlkHLnf55SzD8ZhHDhfZNsf0McnPDiYlnfreCcrw== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.10.00 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:10:01 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:09:52 +0100 > Subject: [PATCH v2 08/20] media: venus: core: Deduplicate OPP genpd names > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-8-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512985; l=2465; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=BxP6mknLkkhwH235J5PftaK8VpshDs1dIkEqExrl9fw=; > b=2O78uSJw10ViDsWmi83rvPytRhzx7ZDuSMlLSa+Uj9Pn4gvDUJGncWd8/wYFas8VOoMyqHPLS > ZIpmbvLgizuBUi3m3Ie3kg93LDgEy+p1MBVHqKMajDDshiuVa9awE25 > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > Instead of redefining the same literals over and over again, define > them once and point the reference to that definition. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/core.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index 0652065cb113..83ac68f1566f 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -538,6 +538,9 @@ static const struct dev_pm_ops venus_pm_ops = { > SET_RUNTIME_PM_OPS(venus_runtime_suspend, venus_runtime_resume, NULL) > }; > > +static const char * const pd_names_cx[] = { "cx", NULL }; > +static const char * const pd_names_mx[] = { "mx", NULL }; > + > static const struct freq_tbl msm8916_freq_table[] = { > { 352800, 228570000 }, /* 1920x1088 @ 30 + 1280x720 @ 30 */ > { 244800, 160000000 }, /* 1920x1088 @ 30 */ > @@ -721,7 +724,7 @@ static const struct venus_resources sdm845_res_v2 = { > .vcodec_clks_num = 2, > .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0", "vcodec1" }, > .vcodec_pmdomains_num = 3, > - .opp_pmdomain = (const char *[]) { "cx", NULL }, > + .opp_pmdomain = pd_names_cx, > .vcodec_num = 2, > .max_load = 3110400, /* 4096x2160@90 */ > .hfi_version = HFI_VERSION_4XX, > @@ -770,7 +773,7 @@ static const struct venus_resources sc7180_res = { > .vcodec_clks_num = 2, > .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0" }, > .vcodec_pmdomains_num = 2, > - .opp_pmdomain = (const char *[]) { "cx", NULL }, > + .opp_pmdomain = pd_names_cx, > .vcodec_num = 1, > .hfi_version = HFI_VERSION_4XX, > .vpu_version = VPU_VERSION_AR50, > @@ -827,7 +830,7 @@ static const struct venus_resources sm8250_res = { > .vcodec_clks_num = 1, > .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0" }, > .vcodec_pmdomains_num = 2, > - .opp_pmdomain = (const char *[]) { "mx", NULL }, > + .opp_pmdomain = pd_names_mx, > .vcodec_num = 1, > .max_load = 7833600, > .hfi_version = HFI_VERSION_6XX, > @@ -886,7 +889,7 @@ static const struct venus_resources sc7280_res = { > .vcodec_clks_num = 2, > .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0" }, > .vcodec_pmdomains_num = 2, > - .opp_pmdomain = (const char *[]) { "cx", NULL }, > + .opp_pmdomain = pd_names_cx, > .vcodec_num = 1, > .hfi_version = HFI_VERSION_6XX, > .vpu_version = VPU_VERSION_IRIS2_1, > > From patchwork Fri Feb 9 21:09:53 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551854 > Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com > [209.85.218.53]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id DBF58210E7 > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:10:04 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.218.53 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707513006; cv=none; > b=FzEvtz5kIOAgyhqIrZnzaama34TJOg2g1nqkPDB16t2zCtxZV0XxPd4JNWjneBGVdyjvlB8g6AUpVBZDqCrAIG7KT9i5tKKjDgCf/IoKU43PmlDlfppRaSMUZv7MIy5IQuFNuVCmbH3LYQy1HqDc2RUXv2OZZdm6qCKlUbK3ajE= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707513006; c=relaxed/simple; > bh=Nc8bwLF77VvKlbJugx5YChhzVAEJFQcCZ1haIFmgnXs=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=uFKWEOpaRWxyT2zLL6SRJzU3U5Fw5EQt3E9o81A062XWEEY1N44t3UMNQvzHIxNy7i1JbUHNwjEJuSUVCerLd8SQSUuY2+ae0mdq1XIp4mPXj5jYmr5HJ47xC+2EE4lWly9AhR4cqxmkUSP2F3ipK7Mxlben3qaLzmQidwX2Ba4= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=Vkfta0ap; arc=none smtp.client-ip=209.85.218.53 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="Vkfta0ap" > Received: by mail-ej1-f53.google.com with SMTP id > a640c23a62f3a-a3c1a6c10bbso21197366b.3 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:10:04 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707513003; x=1708117803; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=cBIdOxdSkaLnpY2Xy7kKGuuvDn1LsIy3fb0GF15YoEg=; > b=Vkfta0apVABq+LMrD5q3GGh8pkFOIBg6oShfJe0sspOgu6LDgYSb9FEQB/jAsZWqXH > t8wZFMU/wUHtgjlLq8NkSmayeHZu1t11oSZT7kobhVEpnxOJmtfxX5IZBjcmI8Niv1MY > YTesAQSLCQCddsR3IWya1H0wTH3earHz4VN5tN4m6apPka9KPPABHwV05zVkeLlOEt03 > b0aXRGjxJDT1YQ1VIiBpc7z4Uf35+ytYnJsukbZlyrC96l1FTrOC9yggVNxC25y+imny > /S3QK35VJJiUGErHNmX7eBoIq6Z4tegcAbYY+pV3yhN3uu/W2XV98iHq5O2Lg8XTW364 > Y1aw== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707513003; x=1708117803; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=cBIdOxdSkaLnpY2Xy7kKGuuvDn1LsIy3fb0GF15YoEg=; > b=MvTZpoyjb1tr5O84Vucytu96mJvqQ6W3t5tC2GLBofysZcH1CsVyyqi8v5vlz7DIal > 00V7bze4444BMcO9/VY36DjnYPcWgTVPg0gLl/VzCT7JYC2y3hIwVywZUP0dfut99BtE > Oo42DqwriqXypgNZEU0W6rDjW2OpBiB4OCD3FyBbaO5xb4n7vd4j7mdbqX7TPJ82znZr > rHQotK3aeqbINc6iZk54OUPQoBtdmEtNoMJi+TDtn+7SVAQ+PHppGpCvGVTll8AffM7Z > r0RHJktr2/nEX4YJf9VitQBMuHDWUicN32gy5jMGTVZAYvng3J5CBG9tLWgTWYmGgGjb > HAyQ== > X-Forwarded-Encrypted: i=1; > AJvYcCVmdQsGrjqzid8v2nGJvc8mLtOFtgxFMx4Ti+ErbBgA1dC+BG84BgaY9Y52I+MCVZLVHQ/xVLEeSgz36dwljoXj8MF2Wz7G/P4i2lI= > X-Gm-Message-State: AOJu0YxsqTofF8/6ISXbpnfmaJ+CSDbQdhdM66YNP0yko8r3uLyYrQlg > UVdb3PsTB38sdHih0t1zKW2AsITIfwsdrUo+qsodlEHuSvc9mxpn+GiGIv3BWfg= > X-Google-Smtp-Source: > AGHT+IH/TIy7X8EFV828kV6GDBQNmCkaZOa/+/wNDX4c6AkkZd1gyri5Htt6OghhH7g3b1kTKySOZA== > X-Received: by 2002:a17:906:2988:b0:a2e:ad24:da8 with SMTP id > x8-20020a170906298800b00a2ead240da8mr196858eje.19.1707513003245; > Fri, 09 Feb 2024 13:10:03 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCVGxDG2/AuEOpnUYKbMxOy8gJOwVXXY8PKb/8q91Orcv8ZA37JyCZ8VHWHwyt9OuW3GPX18oh+D8dN/3w/r14hxtqtcvPBzAcQpBKVNx2w0j6qv+cpF5VWoj1arHgaSrkf3FpGhIyAhSLwOw9jHhTE/VAgYxtJlEGMxDMvyxbZ03Xnmw1N3KFGxe9346YBRop2lj25mooETIF2gGH3d5IPp2XwbbXETECgn9ZR1Slvq6LykEAU08qWGUlKgZjahAjYPriHuTeqg7sa2FzV+C8kNyApDaT1IjqG2EmxkTCGVkr+Ru4yEbpaOxgpmFFip79jHiHEBhJ+Tt31REZVvjgN9L6RSlQt+kKUuF0EnBygeEJWkAYMTf+g8fQ3dTaeTtwU+Zu4PdLg9FeKi7L7i6fmX1lzDw4W+iDukgBa8hkRMS2RaXOxXgb+LLWT4lJmEd8+vy2m8SfzUINuuoR6UdMfX51RG7mIGxKrxdD3z3isNdNuYiyjgsZkjLlz/BfqrrIxzaw== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.10.01 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:10:02 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:09:53 +0100 > Subject: [PATCH v2 09/20] media: venus: core: Get rid of vcodec_num > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-9-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512985; l=3437; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=Nc8bwLF77VvKlbJugx5YChhzVAEJFQcCZ1haIFmgnXs=; > b=Nd+zrzm1xfFXbo15AgzTjIPqJpUpwEHOn9xZqBbwsZ/j8927xZCb+EQYt9O6uFq1THjP3Wuz3 > Fh8rUawPtmPBXcezt5bFmEfM9N4XVETwds6JQbnCBIoHJz5ZPNGnz6L > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > That field was only introduced to differentiate between the legacy and > non-legacy SDM845 binding. Get rid of it. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/core.c | 5 ----- > drivers/media/platform/qcom/venus/core.h | 1 - > drivers/media/platform/qcom/venus/pm_helpers.c | 2 +- > 3 files changed, 1 insertion(+), 7 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index 83ac68f1566f..1307aa9cf951 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -651,7 +651,6 @@ static const struct venus_resources sdm660_res = { > .vcodec0_clks = { "vcodec0_core" }, > .vcodec1_clks = { "vcodec0_core" }, > .vcodec_clks_num = 1, > - .vcodec_num = 1, > .max_load = 1036800, > .hfi_version = HFI_VERSION_3XX, > .vmem_id = VIDC_RESOURCE_NONE, > @@ -725,7 +724,6 @@ static const struct venus_resources sdm845_res_v2 = { > .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0", "vcodec1" }, > .vcodec_pmdomains_num = 3, > .opp_pmdomain = pd_names_cx, > - .vcodec_num = 2, > .max_load = 3110400, /* 4096x2160@90 */ > .hfi_version = HFI_VERSION_4XX, > .vpu_version = VPU_VERSION_AR50, > @@ -774,7 +772,6 @@ static const struct venus_resources sc7180_res = { > .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0" }, > .vcodec_pmdomains_num = 2, > .opp_pmdomain = pd_names_cx, > - .vcodec_num = 1, > .hfi_version = HFI_VERSION_4XX, > .vpu_version = VPU_VERSION_AR50, > .vmem_id = VIDC_RESOURCE_NONE, > @@ -831,7 +828,6 @@ static const struct venus_resources sm8250_res = { > .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0" }, > .vcodec_pmdomains_num = 2, > .opp_pmdomain = pd_names_mx, > - .vcodec_num = 1, > .max_load = 7833600, > .hfi_version = HFI_VERSION_6XX, > .vpu_version = VPU_VERSION_IRIS2, > @@ -890,7 +886,6 @@ static const struct venus_resources sc7280_res = { > .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0" }, > .vcodec_pmdomains_num = 2, > .opp_pmdomain = pd_names_cx, > - .vcodec_num = 1, > .hfi_version = HFI_VERSION_6XX, > .vpu_version = VPU_VERSION_IRIS2_1, > .num_vpp_pipes = 1, > diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platform/qcom/venus/core.h > index 6b1887f7d9cb..22f998637618 100644 > --- a/drivers/media/platform/qcom/venus/core.h > +++ b/drivers/media/platform/qcom/venus/core.h > @@ -74,7 +74,6 @@ struct venus_resources { > const char * const *vcodec_pmdomains; > const unsigned int vcodec_pmdomains_num; > const char * const * const opp_pmdomain; > - const unsigned int vcodec_num; > const char * const resets[VIDC_RESETS_NUM_MAX]; > const unsigned int resets_num; > const enum hfi_version hfi_version; > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c > index 6017a9236bff..8412deb68ed1 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.c > +++ b/drivers/media/platform/qcom/venus/pm_helpers.c > @@ -622,7 +622,7 @@ min_loaded_core(struct venus_inst *inst, u32 *min_coreid, u32 *min_load, bool lo > VIDC_CORE_ID_1 : VIDC_CORE_ID_2; > *min_load = min(core1_load, core2_load); > > - if (cores_max < VIDC_CORE_ID_2 || core->res->vcodec_num < 2) { > + if (cores_max < VIDC_CORE_ID_2 || legacy_binding) { > *min_coreid = VIDC_CORE_ID_1; > *min_load = core1_load; > } > > From patchwork Fri Feb 9 21:09:54 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551855 > Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com > [209.85.218.46]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id 29E083D38C > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:10:07 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.218.46 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707513009; cv=none; > b=aHrVgiUkR/Km/waAstZx+oqiUGDE+MMnjwqz24cfkc4fm12Eqh4VwD/GMJYn54hGPPJT7foXVMJutorUS4TLG2PNMCtSjO0qJ7MnnEuaRWxcNO87YGBjSMTP4/Hxj5U3pgVDT9XZAcULb/IefZwCkpi8sh+FICGnRz8JC0ctqLE= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707513009; c=relaxed/simple; > bh=jJfC467DwKCxWKXFg5drWkI8bmv02/WCRY1D3IsQV48=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=NwD3kCpf9Kr/zkwn1N/FH03FEcmq/0Nu6xUhX1zIY6JBa9zEgvsCFZZVgZeeqOWcDm8wPJ90VJF913pl0SNWxhkmk5Rei8KukWV0QGIgz9hxsqc1BHXjcrvitpf9jmknxi/rHe1Q8h6rCNP/x6e0Jr6Sz4rj1h7P6erDiKF5ULM= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=XbQV9NqJ; arc=none smtp.client-ip=209.85.218.46 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="XbQV9NqJ" > Received: by mail-ej1-f46.google.com with SMTP id > a640c23a62f3a-a38392b9917so186865866b.1 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:10:06 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707513005; x=1708117805; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=CHHNIP6WO0gU8OMi/VaI5bJNCojpf+yHVI+2cBfLhcM=; > b=XbQV9NqJu3uAOFwTnlytVqEfbGhLN8OhYtDSlU1QminDbK3eId3NRdU95EIn/bHfZd > 8p/IjdlxdcpRaOXEYsXAb+mE8nXgxa8td7CBiLge3qrKaicoSRWA2UxGGaqpLD0wqVBk > QT2bdJIOgqyYowwJuUEeialU6e1WjaKjg90bjq4KL+AHCv95/lgU4pNvmL+gXA3QuN5l > u3rKFEdzo5tcg2Y9iXcPKst0ioGHSCkReQPUrcerjM+oUBnOH7TI8Xu0b/65VL2cxVfD > p3r7bUgzrjmLxlk5cUQ+oJRUIrIUlOputhuIEBqqwU9acdrQCtwZjHuLnQkRkgW+Mb/e > wu1w== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707513005; x=1708117805; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=CHHNIP6WO0gU8OMi/VaI5bJNCojpf+yHVI+2cBfLhcM=; > b=AwtjSxQP1SFS5V3fbuItnkf0h8jJ/e3H9kC0SkFOQ7IfJEw8yrQTii18lk+yzaj6WZ > fzaJl2MIl8lSFSY/sHhT+MlgzJkMJaaR4YWWtf3DCyn2Ntj2LHp91a1hP+1EpL4Ez0Fa > sCyWYs/HOLdmrmd2x6b22kG9f6GRPPZYTyQMPdd5MSWGbio3UTU/hXQDQBDg8F2wvqpY > BzLOA5l6UGTv02ISnzYn5r4/drWYt79zL4s3lwaHTgW5YVbY62Gxv/2V9OQ/jX+H0tuc > BaeG1xtnYAiVyxDGIZhf8jRSeGBkIMyRbc68y1liR0Xu2ZMFQ/O/MqsufmUETDUQbI5P > 36zA== > X-Gm-Message-State: AOJu0YzjV5zDbxv8E4wejOxj+toOBvwv0YVzMi7O8rrC3H1tC9S9i8TN > uyMfMggkiDDGuqaZKxXu0vXe+dtltA2+LWHp7oP7di7zo3+U+vOcuY87xyVpGSI= > X-Google-Smtp-Source: > AGHT+IFTu5O1af4j7FGN8AmZHbURUGVX7RejHX0HjgmTa32pd0DFpO6fo/iQEOyWK2Le/tKRoTEjbw== > X-Received: by 2002:a17:906:f854:b0:a38:3282:baf0 with SMTP id > ks20-20020a170906f85400b00a383282baf0mr149252ejb.75.1707513005496; > Fri, 09 Feb 2024 13:10:05 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCX3nxrvLuug7z8HIMwzF5pJaONxq4VyQ1uei7niONjZO8hCT9RxKe3HKb10yHWsDMd5tmy1PlwwFwH30BdlAGx3d9elZTlrO6AFtiKdzLVjCSKbXgKNeFeInYUQJsCCe18PzwZNxV2C0u0udn/YVNgp73w3VMAgTdlqgSOqObjbb9e/W2/L2/Q6s9mcdWRDa3m9L3EWHLadCAq+GQ5TJ4BW7RlqV5RGt/F7+0ig91FA69dNdbFpejt/5JWjsuHxlUO5hFECDQ2X1oNzDORFufFWH2pqBTiASyZWrjbWNtoHXboBoBZz7t5nDxfkVQ7OK2kTSAYs32M2gpF0lxTGbV1KQhaR9xPbdb+DblBajXCvpZbvnw7ZGtDxziCKzw5FFowVdKLEOx0JO6DxCrXFt0kWdZAhR2ZrfY90wz3aEc+3jMQKjHulJGqsYp+N213xk8pvxZ5mXI6hfyBp6kS8hmn4Vb6WIJm9ReAa+pPE+3m7xp6dWzmOTwAVxwOiYvi2uM2adg== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.10.03 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:10:04 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:09:54 +0100 > Subject: [PATCH v2 10/20] media: venus: core: Drop cache properties in > resource struct > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-10-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512985; l=5254; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=jJfC467DwKCxWKXFg5drWkI8bmv02/WCRY1D3IsQV48=; > b=UrjaBNsJnTP3co/PybDHFEc1BH/J0yF4VkvNl7d5QtYigamNSZHSR3tZosOJ3woABlRgxaYwg > c3GZ4Kmx+YdCUW49F1WGK8iVLTkODXwXrAvG+Le8pQjSlrq9Njl2F+l > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > Currently VMEM/OCMEM/LLCC is disabled on all platforms. > > Make it unconditional to save on space. > > These caches will not be enabled until the Venus driver can reference > them as chunks of SRAM (they're modelled as separate devices) to avoid > hardcoding magic addresses and rougely accessing the hardware, > bypassing the normal accessors. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/core.c | 24 ------------------------ > drivers/media/platform/qcom/venus/core.h | 3 --- > drivers/media/platform/qcom/venus/hfi_venus.c | 10 ++++------ > 3 files changed, 4 insertions(+), 33 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index 1307aa9cf951..43105e765c53 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -562,9 +562,6 @@ static const struct venus_resources msm8916_res = { > .clks_num = 3, > .max_load = 352800, /* 720p@30 + 1080p@30 */ > .hfi_version = HFI_VERSION_1XX, > - .vmem_id = VIDC_RESOURCE_NONE, > - .vmem_size = 0, > - .vmem_addr = 0, > .dma_mask = 0xddc00000 - 1, > .fwname = "qcom/venus-1.8/venus.mbn", > }; > @@ -595,9 +592,6 @@ static const struct venus_resources msm8996_res = { > .vcodec_clks_num = 1, > .max_load = 2563200, > .hfi_version = HFI_VERSION_3XX, > - .vmem_id = VIDC_RESOURCE_NONE, > - .vmem_size = 0, > - .vmem_addr = 0, > .dma_mask = 0xddc00000 - 1, > .fwname = "qcom/venus-4.2/venus.mbn", > }; > @@ -653,9 +647,6 @@ static const struct venus_resources sdm660_res = { > .vcodec_clks_num = 1, > .max_load = 1036800, > .hfi_version = HFI_VERSION_3XX, > - .vmem_id = VIDC_RESOURCE_NONE, > - .vmem_size = 0, > - .vmem_addr = 0, > .cp_start = 0, > .cp_size = 0x79000000, > .cp_nonpixel_start = 0x1000000, > @@ -702,9 +693,6 @@ static const struct venus_resources sdm845_res = { > .max_load = 3110400, /* 4096x2160@90 */ > .hfi_version = HFI_VERSION_4XX, > .vpu_version = VPU_VERSION_AR50, > - .vmem_id = VIDC_RESOURCE_NONE, > - .vmem_size = 0, > - .vmem_addr = 0, > .dma_mask = 0xe0000000 - 1, > .fwname = "qcom/venus-5.2/venus.mbn", > }; > @@ -727,9 +715,6 @@ static const struct venus_resources sdm845_res_v2 = { > .max_load = 3110400, /* 4096x2160@90 */ > .hfi_version = HFI_VERSION_4XX, > .vpu_version = VPU_VERSION_AR50, > - .vmem_id = VIDC_RESOURCE_NONE, > - .vmem_size = 0, > - .vmem_addr = 0, > .dma_mask = 0xe0000000 - 1, > .cp_start = 0, > .cp_size = 0x70800000, > @@ -774,9 +759,6 @@ static const struct venus_resources sc7180_res = { > .opp_pmdomain = pd_names_cx, > .hfi_version = HFI_VERSION_4XX, > .vpu_version = VPU_VERSION_AR50, > - .vmem_id = VIDC_RESOURCE_NONE, > - .vmem_size = 0, > - .vmem_addr = 0, > .dma_mask = 0xe0000000 - 1, > .cp_start = 0, > .cp_size = 0x70800000, > @@ -832,9 +814,6 @@ static const struct venus_resources sm8250_res = { > .hfi_version = HFI_VERSION_6XX, > .vpu_version = VPU_VERSION_IRIS2, > .num_vpp_pipes = 4, > - .vmem_id = VIDC_RESOURCE_NONE, > - .vmem_size = 0, > - .vmem_addr = 0, > .dma_mask = 0xe0000000 - 1, > .fwname = "qcom/vpu-1.0/venus.mbn", > }; > @@ -889,9 +868,6 @@ static const struct venus_resources sc7280_res = { > .hfi_version = HFI_VERSION_6XX, > .vpu_version = VPU_VERSION_IRIS2_1, > .num_vpp_pipes = 1, > - .vmem_id = VIDC_RESOURCE_NONE, > - .vmem_size = 0, > - .vmem_addr = 0, > .dma_mask = 0xe0000000 - 1, > .cp_start = 0, > .cp_size = 0x25800000, > diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platform/qcom/venus/core.h > index 22f998637618..b1d0687d294f 100644 > --- a/drivers/media/platform/qcom/venus/core.h > +++ b/drivers/media/platform/qcom/venus/core.h > @@ -80,9 +80,6 @@ struct venus_resources { > const enum vpu_version vpu_version; > const u8 num_vpp_pipes; > const u32 max_load; > - const unsigned int vmem_id; > - const u32 vmem_size; > - const u32 vmem_addr; > const u32 cp_start; > const u32 cp_size; > const u32 cp_nonpixel_start; > diff --git a/drivers/media/platform/qcom/venus/hfi_venus.c b/drivers/media/platform/qcom/venus/hfi_venus.c > index f9437b6412b9..42ff96f71235 100644 > --- a/drivers/media/platform/qcom/venus/hfi_venus.c > +++ b/drivers/media/platform/qcom/venus/hfi_venus.c > @@ -1067,17 +1067,14 @@ static void venus_process_msg_sys_error(struct venus_hfi_device *hdev, > static irqreturn_t venus_isr_thread(struct venus_core *core) > { > struct venus_hfi_device *hdev = to_hfi_priv(core); > - const struct venus_resources *res; > void *pkt; > u32 msg_ret; > > if (!hdev) > return IRQ_NONE; > > - res = hdev->core->res; > pkt = hdev->pkt_buf; > > - > while (!venus_iface_msgq_read(hdev, pkt)) { > msg_ret = hfi_process_msg_packet(core, pkt); > switch (msg_ret) { > @@ -1085,9 +1082,10 @@ static irqreturn_t venus_isr_thread(struct venus_core *core) > venus_process_msg_sys_error(hdev, pkt); > break; > case HFI_MSG_SYS_INIT: > - venus_hfi_core_set_resource(core, res->vmem_id, > - res->vmem_size, > - res->vmem_addr, > + /* Disable OCMEM/VMEM unconditionally until support is added */ > + venus_hfi_core_set_resource(core, VIDC_RESOURCE_NONE, > + 0, > + 0, > hdev); > break; > case HFI_MSG_SYS_RELEASE_RESOURCE: > > From patchwork Fri Feb 9 21:09:55 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551856 > Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com > [209.85.218.41]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id DBB0A3D562 > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:10:08 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.218.41 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707513010; cv=none; > b=Nx/QrF9SOFDRahMaO8/n9j6gB2Qwf3a9MWqfpZJFPdcg0WV8pG8uONV+brS1eGRBakylMUjpuQQ0JqVprKCcgmDGhG7ujHiiFQ9zOF9QbVtoju9+HxbVIHGFUmzDUNYrWJrHGM+94wjln2/JUQMuUXhtTnwEl27FjfNZ4PgJXnM= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707513010; c=relaxed/simple; > bh=jT4cYVE3H7d20Q/uwPs8NimA9d74CuArTIfCuOqGfSo=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=MdtOY9NPh4FTpXwH/RRmzC+ONQra/As2Mn4m29I0zJ3echM9OwDvbAvRUp94fPqJIPENaFJR4zHWsqkVmekbSai+MXJd1sHdMWLPeHx9OY0+wU4aZKnmqu8CFQdbQK+Ht0eMsc7teCsCX6hJ7J5qkpw4m1F4xPghOktZFFUI0zA= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=dwUObXyk; arc=none smtp.client-ip=209.85.218.41 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="dwUObXyk" > Received: by mail-ej1-f41.google.com with SMTP id > a640c23a62f3a-a30e445602cso482881166b.0 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:10:08 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707513007; x=1708117807; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=WkisGcwj7EZsB2uxQJKfFxLa5Zz/RB1HixKJSSlCEXg=; > b=dwUObXykmmsUQFUV7bkwhGtWVRvqLux/q0/d8b6wzBxOieQk9paU81JtAnXTQRJo1P > fAjqLlTX8YQaTzFzsc1kAB+Tnr2wB3qvR80qNQCPtFewHTpph6E8EuDkIjC3Pzj5y4h8 > 6xTHvaTjJwN1X+EhIThDPu411XsrCvGHZfvQpBphoHTFdv0qNdWHwHOWsLjBqMXmEMIb > uj0gE82cN3TnrwEqK/8BXP0B6LMR3w8pK5JbrGIkMmRRUI8QKWUg2hKB7Unm3cyHnl1O > 3eo9Gxw0eVjccEq2hCLYNrQlDxaMmc8NebRrLWywi8By68+as04orn5PRzd0ynzNGQEz > 8+Xg== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707513007; x=1708117807; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=WkisGcwj7EZsB2uxQJKfFxLa5Zz/RB1HixKJSSlCEXg=; > b=KPn8Zan+XRz3NY7AuVx9YzJ9ghdKh9I9lCz0rKTylVUVrb7OoVfRkSFJR/4cy9Yy2M > ux1RyzwEv5Mk/DVE9LI9Wq7Uk0j032SoMEZKFtQsrY3R/gPPztKaEcdfoM6NNiJ1jspj > yeq1df2JoyR+4UVFl3xUM34W2CaWhuIWqPbur83XHRLYgA076gcKJafArFIoaczQ/Wuq > OkDI4YsXBdvQRkPn9YI75gGRGuAChvpTcZnxgoxeRFP+BZeTNeeWy/sZ5p6rvKRJEuuR > BdJ1l6it9HnYDNFhSFW8wmQC71Swiq2lJ4SeZMY6382HUXAk8sgxgKcMiQUpAeHhKyPX > kCuw== > X-Forwarded-Encrypted: i=1; > AJvYcCWrl1j8VnPdnmhh4j39n8lr4zWxNbRr9r52I24qnKZbA89S9vQocAxiU6+ddcXSaOLPZv7Zut8Q/JXx4E+DSCXlrgqxWqVZHNgD15Y= > X-Gm-Message-State: AOJu0YwTEx8BFRp+4210XV9l2FMl5gIuKMNdWvxxVZtz1lbBSWcIi7GL > Qi8ap3dCLQQSw73Dz8Eeyr3CAo4PRLjFTsXZX3vrfsyAjL5uISOlorEQEnGUNBY= > X-Google-Smtp-Source: > AGHT+IEV2H34ApePMZXUbaCjKh72AuWAiuYiRsbsouxJ+9ihBWWmei4quy45Vg8EiBRX+XstRPX3xA== > X-Received: by 2002:a17:906:370e:b0:a38:4f6a:4e7e with SMTP id > d14-20020a170906370e00b00a384f6a4e7emr261180ejc.32.1707513007230; > Fri, 09 Feb 2024 13:10:07 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCU8qP6K965v6pwV2jGGur2yfOhYX9UkKJcDNbPkJzFLgrzHOvxp4AoTJa1Sm2nuKXPyws3QTpEbCik7ElfeFzX8DpIFvy7t/WA9HOiswLIl/qkqtiKoYF2gcILrvpHx/xVIJXIHc2omny6cad7YDa4lU1pFwu2gLejfRKaDfgO2WrM+kXvBtffyKLFMn4+UhX9m7lMJifL7mV+epibggxhqbXS/ZUi7S5EsOPGARKkJ2h7ItEXSGz0nPY1p1ROdMLhh0AU1bkR64tlfzcxJCz4BRio0toD6xBbx7db3x7/+XssoI+Ob3FxoXBbJH9S+p+CY12XJIZbPiDrz2pdAdDTQFtnTqDVajRJv81Cu4HgjZt1JKa5MQxbXUsyFNnv3hcUdaeNHg3FyfptLlleBOmTRBRf4VxvKJyke7E78hrMQvNGKIu7iD26ymC/uBfecI7MCKBmC0KSUPwQl+otnxMLWCb7M3xoVnV8Jb1sZ9cFLoyjJcNJCqJDmmVlvRiNxtpQjRQ== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.10.05 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:10:06 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:09:55 +0100 > Subject: [PATCH v2 11/20] media: venus: core: Use GENMASK for dma_mask > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-11-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512986; l=2706; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=jT4cYVE3H7d20Q/uwPs8NimA9d74CuArTIfCuOqGfSo=; > b=klquj+6pOLak7Axq6ddq02Jht/IyRARYQgLefOrwlb581p4+JvxIEmi6OHz6/y61S/0AJX91F > bZPG5shtVjqAhAAVOPKTlhsk+dNJHgvmzrbytoDKJ43RPIJf1MukBPz > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > The raw literals mean very little. Substitute it with more telling > bitops macros. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/core.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index 43105e765c53..06b78e98cebd 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -562,7 +562,7 @@ static const struct venus_resources msm8916_res = { > .clks_num = 3, > .max_load = 352800, /* 720p@30 + 1080p@30 */ > .hfi_version = HFI_VERSION_1XX, > - .dma_mask = 0xddc00000 - 1, > + .dma_mask = (GENMASK(31, 30) | GENMASK(28, 26) | GENMASK(24, 22)) - 1, > .fwname = "qcom/venus-1.8/venus.mbn", > }; > > @@ -592,7 +592,7 @@ static const struct venus_resources msm8996_res = { > .vcodec_clks_num = 1, > .max_load = 2563200, > .hfi_version = HFI_VERSION_3XX, > - .dma_mask = 0xddc00000 - 1, > + .dma_mask = (GENMASK(31, 30) | GENMASK(28, 26) | GENMASK(24, 22)) - 1, > .fwname = "qcom/venus-4.2/venus.mbn", > }; > > @@ -693,7 +693,7 @@ static const struct venus_resources sdm845_res = { > .max_load = 3110400, /* 4096x2160@90 */ > .hfi_version = HFI_VERSION_4XX, > .vpu_version = VPU_VERSION_AR50, > - .dma_mask = 0xe0000000 - 1, > + .dma_mask = GENMASK(31, 29) - 1, > .fwname = "qcom/venus-5.2/venus.mbn", > }; > > @@ -715,7 +715,7 @@ static const struct venus_resources sdm845_res_v2 = { > .max_load = 3110400, /* 4096x2160@90 */ > .hfi_version = HFI_VERSION_4XX, > .vpu_version = VPU_VERSION_AR50, > - .dma_mask = 0xe0000000 - 1, > + .dma_mask = GENMASK(31, 29) - 1, > .cp_start = 0, > .cp_size = 0x70800000, > .cp_nonpixel_start = 0x1000000, > @@ -759,7 +759,7 @@ static const struct venus_resources sc7180_res = { > .opp_pmdomain = pd_names_cx, > .hfi_version = HFI_VERSION_4XX, > .vpu_version = VPU_VERSION_AR50, > - .dma_mask = 0xe0000000 - 1, > + .dma_mask = GENMASK(31, 29) - 1, > .cp_start = 0, > .cp_size = 0x70800000, > .cp_nonpixel_start = 0x1000000, > @@ -814,7 +814,7 @@ static const struct venus_resources sm8250_res = { > .hfi_version = HFI_VERSION_6XX, > .vpu_version = VPU_VERSION_IRIS2, > .num_vpp_pipes = 4, > - .dma_mask = 0xe0000000 - 1, > + .dma_mask = GENMASK(31, 29) - 1, > .fwname = "qcom/vpu-1.0/venus.mbn", > }; > > @@ -868,7 +868,7 @@ static const struct venus_resources sc7280_res = { > .hfi_version = HFI_VERSION_6XX, > .vpu_version = VPU_VERSION_IRIS2_1, > .num_vpp_pipes = 1, > - .dma_mask = 0xe0000000 - 1, > + .dma_mask = GENMASK(31, 29) - 1, > .cp_start = 0, > .cp_size = 0x25800000, > .cp_nonpixel_start = 0x1000000, > > From patchwork Fri Feb 9 21:09:56 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551857 > Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com > [209.85.167.43]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id 473A33DB89 > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:10:11 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.167.43 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707513013; cv=none; > b=K84IBVFUYpcoLSie79yQZVpJsdK7gmF/Ys3jM090SWIJZ0Gup/9YBl7IF9whjo43bgDB/CrVIzW3yRxQDCnxy1WuBKU36V1rdwdumHm4H0KCSkFhUpFe9YcGllf4XJIcNFOfzHznOLsaso1wX6/sz9fetq3iK9g+1oe4qkaLPKQ= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707513013; c=relaxed/simple; > bh=/kFnbapgubNRtfX1KEblqNgRWZdEMPDSWK83uPCG7ls=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=Sgv0yKvXQhLazbNegipbCzA7xVOa4y2A5aCJsGJG1M0wWOoHXpRlWG/f35HQ15/k5b+LGr7nxz85SkSRKUnCycw2D+n0yKeQ4/pJtybR2u8fTGW//GN0BcDzgquGl3UyLyt1tsgvUxfyuzMcM9B8S5iZaD9SXLPwGdmeZ702veQ= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=qC+7pgNL; arc=none smtp.client-ip=209.85.167.43 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="qC+7pgNL" > Received: by mail-lf1-f43.google.com with SMTP id > 2adb3069b0e04-511616b73ddso2311984e87.0 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:10:11 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707513009; x=1708117809; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=P8GIqzjr5F0muhdfu+nSlnTYCrXU9jfYOiTVyQ6Sb9U=; > b=qC+7pgNL2hqTjlyL0taRYFtGe700EWUItg4BXiyX93XWpv1eemsCeLdlJrWgk1WA+y > B+yXAwliaTjSYMldnkhxlAZWZjzDCIIE9zohzoAXL3ibCGXhlpjNtHdY/AujqE/g779l > qZSifBUe5tFfLm9eIiNUqvfr5DrFzDbATFcFrvRGVc1abnBwdKzNVEqKTeX0NRfctXdu > ds5jtJcw+jJ2Pc208J3tv7k4mrR8PrasoWlwQYbg600B3gWxXWr5Wgx2G1A5BeV2TYMZ > KEdh3B6Gf3KssYdELpBDWlb0f8jH4kviPjRS0tEEEFhb9EaTl2E0vlWTF9sZZgh/heMN > uGtg== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707513009; x=1708117809; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=P8GIqzjr5F0muhdfu+nSlnTYCrXU9jfYOiTVyQ6Sb9U=; > b=M/4/UHYcrY12orD774/mmrzv6HniMSWB1B3ZNUfZK9EoG9k20lIQ4T8yFHijikR5vj > pw94WQ006wIwpm0h6At37QyHBFNHvEG6S0w5RqrVk46dmdtuAMmA4B9X8uGBOb4aRP8j > 3R3PDIO0DN6yhKr7Psr9QgqaI0NJ7Ei7P3uNF1HGkDw2JDR2KCO7PANEeDNvcg53V6MP > h0aCDcdOTr4uhFbI50axB1KYUQiIiQ6KyuryqvEfd4k+eYE99Yi/SYD6YsGe5PRQZ6lc > WkbWuY+g0DqATDk8hAZnMmhMWWIKDZ8CALNOHaoi36q6GNkn4TwQZEf70Bq0OVPg3rgY > Y66w== > X-Gm-Message-State: AOJu0Yzz0djQe9LpencLC2PSILKLv3sCnEhpFKNfI9GRjiWXVpFRB08E > yUOAOCjJQUqyiqEKVjc0AMKo88iotR2DXDNvhixSD8wvToYdHgU6H15Lf2QfCt4= > X-Google-Smtp-Source: > AGHT+IFXV3KzQwy58rEP2blWOY14Ikqpib0euEGzIkKjV/J4kBP2N2s4twAQCqgmVWtRV1Jq+SXPXg== > X-Received: by 2002:a19:ee09:0:b0:511:494b:c483 with SMTP id > g9-20020a19ee09000000b00511494bc483mr118496lfb.31.1707513009461; > Fri, 09 Feb 2024 13:10:09 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCVoFd23U02RRkhlYViO40gpOFYMCnq7G/cfZ0MZFVFnjHbrNv11wygCqcW+U/f8KFUpjBx8RaHsNERMwGIRWJp00rpzbtxi/MNYPSQ4wpHFIB3hbnIhJV24O7JbN6XT1T31RFaQoOfbb9R6/68uiw/yMqH+EzS2WlOygEGsAqUefY/p1v44PW/dffgdwVqQ3A6UxiQdBHJEmTzMoB0UtYruPdqOTc2UPWbL6vPL8LtalR2mukGZorQ9XUzi01PNhup3ZLlXhCu72g+hbZc33Fc9aDf7AaVjg9vEErr/gxJAPOudKqQuYm/fyItv2AD3F1E4pPWuLF0sXmf3hGEttM/6H5RuHQGr9QaYdDt2nvaUelta2QAhWDU91EiuRf3YNpz7NpEFKUW8nydd9BI73GVchzYddFVga0iRPlA/U8vbF8Zzea8FNvAzkiyyG6RFmNsJkf6BHzmafw9IQ+ts5GE+eSohjm6pWNqBjacWVBDzkarqcoIl215LF6Y1kpG+yabohg== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.10.07 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:10:08 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:09:56 +0100 > Subject: [PATCH v2 12/20] media: venus: core: Remove cp_start > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-12-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512986; l=3274; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=/kFnbapgubNRtfX1KEblqNgRWZdEMPDSWK83uPCG7ls=; > b=XjNO/TzZnniFSFa+959SHOc3p3ge3qqR+DGSwZyLfroBs3WCkm3oMoczUsS1gsC6BlPMDBGTZ > xYIgwPIWAcrCFu2HvHqfMCDbLcyvH6GxscR+pstT5S2CYm526//SOmR > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > It's hardcoded to be zero. Always. Ever since msm-3.10. Or maybe > even before. Remove it! > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/core.c | 4 ---- > drivers/media/platform/qcom/venus/core.h | 1 - > drivers/media/platform/qcom/venus/firmware.c | 3 +-- > 3 files changed, 1 insertion(+), 7 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index 06b78e98cebd..65a9e815e6ba 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -647,7 +647,6 @@ static const struct venus_resources sdm660_res = { > .vcodec_clks_num = 1, > .max_load = 1036800, > .hfi_version = HFI_VERSION_3XX, > - .cp_start = 0, > .cp_size = 0x79000000, > .cp_nonpixel_start = 0x1000000, > .cp_nonpixel_size = 0x28000000, > @@ -716,7 +715,6 @@ static const struct venus_resources sdm845_res_v2 = { > .hfi_version = HFI_VERSION_4XX, > .vpu_version = VPU_VERSION_AR50, > .dma_mask = GENMASK(31, 29) - 1, > - .cp_start = 0, > .cp_size = 0x70800000, > .cp_nonpixel_start = 0x1000000, > .cp_nonpixel_size = 0x24800000, > @@ -760,7 +758,6 @@ static const struct venus_resources sc7180_res = { > .hfi_version = HFI_VERSION_4XX, > .vpu_version = VPU_VERSION_AR50, > .dma_mask = GENMASK(31, 29) - 1, > - .cp_start = 0, > .cp_size = 0x70800000, > .cp_nonpixel_start = 0x1000000, > .cp_nonpixel_size = 0x24800000, > @@ -869,7 +866,6 @@ static const struct venus_resources sc7280_res = { > .vpu_version = VPU_VERSION_IRIS2_1, > .num_vpp_pipes = 1, > .dma_mask = GENMASK(31, 29) - 1, > - .cp_start = 0, > .cp_size = 0x25800000, > .cp_nonpixel_start = 0x1000000, > .cp_nonpixel_size = 0x24800000, > diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platform/qcom/venus/core.h > index b1d0687d294f..9dacf533c7ad 100644 > --- a/drivers/media/platform/qcom/venus/core.h > +++ b/drivers/media/platform/qcom/venus/core.h > @@ -80,7 +80,6 @@ struct venus_resources { > const enum vpu_version vpu_version; > const u8 num_vpp_pipes; > const u32 max_load; > - const u32 cp_start; > const u32 cp_size; > const u32 cp_nonpixel_start; > const u32 cp_nonpixel_size; > diff --git a/drivers/media/platform/qcom/venus/firmware.c b/drivers/media/platform/qcom/venus/firmware.c > index fe7da2b30482..16e578780be7 100644 > --- a/drivers/media/platform/qcom/venus/firmware.c > +++ b/drivers/media/platform/qcom/venus/firmware.c > @@ -245,7 +245,6 @@ int venus_boot(struct venus_core *core) > if (core->use_tz && res->cp_size) { > /* > * Clues for porting using downstream data: > - * cp_start = 0 > * cp_size = venus_ns/virtual-addr-pool[0] - yes, address and not size! > * This works, as the non-secure context bank is placed > * contiguously right after the Content Protection region. > @@ -253,7 +252,7 @@ int venus_boot(struct venus_core *core) > * cp_nonpixel_start = venus_sec_non_pixel/virtual-addr-pool[0] > * cp_nonpixel_size = venus_sec_non_pixel/virtual-addr-pool[1] > */ > - ret = qcom_scm_mem_protect_video_var(res->cp_start, > + ret = qcom_scm_mem_protect_video_var(0, > res->cp_size, > res->cp_nonpixel_start, > res->cp_nonpixel_size); > > From patchwork Fri Feb 9 21:09:57 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551858 > Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com > [209.85.208.54]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id DFD9022318 > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:10:12 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.208.54 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707513014; cv=none; > b=oI1aLmMx18KjO69Z+NUtGlN3IbiLoD0cFMxV1tGoANeKqu9px7UAnsaiS/YuSeiSAQYHp0PiBVXkMGoboVORs3DAUa+2fR+6xOVEabUB+9Aa+m1WgLTyY7hAiyuyrjBhZurgv5ySBT+XiMG7Jse0PWr0a+zSM2Pb26e6/+WwWRI= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707513014; c=relaxed/simple; > bh=cRJFudcjiVCid3coXRofqspzGAz6z91Bv4pWpCaIiXM=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=Tlqol2gwPwTa5Z//P7KjJOU2EVG0EBvIO8ZYQZf/dNekqYdG90/wqMtl57Gdoja5PPQWh6EMgQPyRfBxKvbB5/TruaTsQZYgQQQ5Pz21mjcW8UyXkIK7Hb1HgjJbxuKlBy7W1woucXD/ZY7DTWXBLRJjHshI4K32XTkCeThgfT0= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=muEh7yp+; arc=none smtp.client-ip=209.85.208.54 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="muEh7yp+" > Received: by mail-ed1-f54.google.com with SMTP id > 4fb4d7f45d1cf-55f279dca99so2056256a12.3 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:10:12 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707513011; x=1708117811; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=iccq4TLkD2INMIlTDHQm1CqNTexDcalE2BlNeCgcoHc=; > b=muEh7yp+19Fs+uwZ4bkIp/VzhZNMezF68BS7wde47Bes3VKO5ZJShZuBjnx4z/GJ3I > t8r5v39JqnujYb9EVwZyTDoGDeecL/UtlVcoQ/fIni6dx3BdhaYNsdTGKpbkxtQKubO9 > pas8sVrP8hcleZmulTLf9f+4wRi/NIHLkGfETlD/vcuEDpD5gmkOCOTxd0amRxLkE4z2 > oyZdetV0hWbXURKqWoDYRcRHmBsOV0fEpJvaYZHK1V5q+xdoGEvV/BKO7sWx0ci+setV > d9pQDb2CiBCbjuPp86O7UkG1R7khZv4JB3nhhh0vwYtHoq7jDh1oKyCcTqjCqnX5cz0l > Va1Q== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707513011; x=1708117811; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=iccq4TLkD2INMIlTDHQm1CqNTexDcalE2BlNeCgcoHc=; > b=T7sfdTXzKBe4nGPivcUbaHBOG2YALkHm5xAlmGqz7HuTNg2QZzlyno7tUnyHQDqpv2 > QTp4/AJlRqk1465BhonsvJiRKQ8nX8Z94fcZB6WVQgov3e0qfETogyA8ID9qYwHT2mHN > suWj8ZbGDSo9cI5tXicpsP+zGshUl1oOSO0PwsDwfycwbv9TUaReav8tHxB+2JX2mYV+ > q8u4Dgv3gRcqgsGgTx+2EkhayFm3NsbQpDKZllWciAp7qRz+0CTxpTUzcVokF7+vf/LS > ulzDnBZU6bamed+wM1UPXEPQUUP5MDgqceWh30vt9wgWcODJ1v0x76lUt9GjXSOp4FnL > cvKQ== > X-Forwarded-Encrypted: i=1; > AJvYcCVIYKskTmwr7gUUSd2C9KQSur4ffWUkh1p6lmULecKhzuLjhlmUl2cD8pyilyyCkHohQIz4kDn9iXB1YulP57UeKsarCTRZmsEmKIU= > X-Gm-Message-State: AOJu0Yw3vwdz+lVjdowiYh4+cFvzH10pQOYfqtCEDok6yRbThm66NhoN > R8YYKyqUUUgwXBkLkspsq5oD6TZSaOs5kc4EZLNYyxXeb66x3OfZ/VbRX4IWNbs= > X-Google-Smtp-Source: > AGHT+IHQrwh3QgO0B80ohQ/feL+Ziyk/NNIeHQJ6OozwsSXAR9tc91e1mwCH5spPUXxac7RB7wLCXw== > X-Received: by 2002:a17:906:f852:b0:a35:51b1:c757 with SMTP id > ks18-20020a170906f85200b00a3551b1c757mr163298ejb.38.1707513011223; > Fri, 09 Feb 2024 13:10:11 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCXSMjZ577S4cYpw9sK3vDrzwI4sb0ibwgH3xKyPnCukwZ320+J3WCX8vKTo40BzOk56wHZMH1SiFTxHLcrt3Hkn0KB9hdlFBRYf0+5sBamiW7p6FijqIUNjnRwOyzTIbNhBOBzF1lXgYesYuCjRgh3Bhwhdl52a5P6GDX43jddN8dgq/iXA0BWMlrUBuwbp8bNWxdt26Kz9qVv+uhEOc3XYy5ywnVR9cqTdaLRNovUPhGnwfPbXwSjh3gPK9RebDoBSsRWWDnYE3+qtkx4+rKq0IwEVHiKb9WIGaWGsiWkGCk6I3z3GtMRpPLmrQPbjxGd+MUU1wOiIg1ICRaAW+azRrGfB0dvpn+4EX29dqXlzujAB+D3tMKNvLTsgp1qtDLZrxt5X1Dvg3Rt6AIX/PrbNhT8JTX7YbhjGrznkQy/oeVIM3smo8SAOafzARaEcdy+XsaPSBZQ0MeuSeK2AcH+9fEJRzqUnOx4JKgHQtw9wg9dKKo9nK2Xk3hvvL08kq34aYw== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.10.09 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:10:10 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:09:57 +0100 > Subject: [PATCH v2 13/20] media: venus: pm_helpers: Commonize core_power > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-13-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512986; l=4717; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=cRJFudcjiVCid3coXRofqspzGAz6z91Bv4pWpCaIiXM=; > b=Rc3oc6RfokYXBJk1f5VshwRPBBeVoH5ZYiZDI19mfIPuqHWUxAWGIJErO/N+kVzj5BpiRntlt > hUdU68VY56RCM8bGHaW3bzgZxssatAJDZqV9XedjWazYriDhONQhN9g > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > core_power_v4 called with num_resets = 0 and core->pmdomains[0] == NULL > does exactly the same thing as core_power_v1. Unify them! > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/core.c | 21 +++++++-------------- > drivers/media/platform/qcom/venus/pm_helpers.c | 17 +---------------- > drivers/media/platform/qcom/venus/pm_helpers.h | 2 +- > 3 files changed, 9 insertions(+), 31 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index 65a9e815e6ba..9bfd2a30084b 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -477,18 +477,15 @@ static void venus_core_shutdown(struct platform_device *pdev) > static __maybe_unused int venus_runtime_suspend(struct device *dev) > { > struct venus_core *core = dev_get_drvdata(dev); > - const struct venus_pm_ops *pm_ops = core->pm_ops; > int ret; > > ret = hfi_core_suspend(core); > if (ret) > return ret; > > - if (pm_ops->core_power) { > - ret = pm_ops->core_power(core, POWER_OFF); > - if (ret) > - return ret; > - } > + ret = venus_core_power(core, POWER_OFF); > + if (ret) > + return ret; > > ret = icc_set_bw(core->cpucfg_path, 0, 0); > if (ret) > @@ -503,8 +500,7 @@ static __maybe_unused int venus_runtime_suspend(struct device *dev) > err_video_path: > icc_set_bw(core->cpucfg_path, kbps_to_icc(1000), 0); > err_cpucfg_path: > - if (pm_ops->core_power) > - pm_ops->core_power(core, POWER_ON); > + venus_core_power(core, POWER_ON); > > return ret; > } > @@ -512,7 +508,6 @@ static __maybe_unused int venus_runtime_suspend(struct device *dev) > static __maybe_unused int venus_runtime_resume(struct device *dev) > { > struct venus_core *core = dev_get_drvdata(dev); > - const struct venus_pm_ops *pm_ops = core->pm_ops; > int ret; > > ret = icc_set_bw(core->video_path, kbps_to_icc(20000), 0); > @@ -523,11 +518,9 @@ static __maybe_unused int venus_runtime_resume(struct device *dev) > if (ret) > return ret; > > - if (pm_ops->core_power) { > - ret = pm_ops->core_power(core, POWER_ON); > - if (ret) > - return ret; > - } > + ret = venus_core_power(core, POWER_ON); > + if (ret) > + return ret; > > return hfi_core_resume(core, false); > } > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c > index 8412deb68ed1..6f6de9ef1c6c 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.c > +++ b/drivers/media/platform/qcom/venus/pm_helpers.c > @@ -322,22 +322,9 @@ static void core_put_v1(struct venus_core *core) > { > } > > -static int core_power_v1(struct venus_core *core, int on) > -{ > - int ret = 0; > - > - if (on == POWER_ON) > - ret = core_clks_enable(core); > - else > - core_clks_disable(core); > - > - return ret; > -} > - > static const struct venus_pm_ops pm_ops_v1 = { > .core_get = venus_clks_get, > .core_put = core_put_v1, > - .core_power = core_power_v1, > .load_scale = load_scale_v1, > }; > > @@ -410,7 +397,6 @@ static int venc_power_v3(struct device *dev, int on) > static const struct venus_pm_ops pm_ops_v3 = { > .core_get = venus_clks_get, > .core_put = core_put_v1, > - .core_power = core_power_v1, > .vdec_get = vdec_get_v3, > .vdec_power = vdec_power_v3, > .venc_get = venc_get_v3, > @@ -990,7 +976,7 @@ static void core_put_v4(struct venus_core *core) > vcodec_domains_put(core); > } > > -static int core_power_v4(struct venus_core *core, int on) > +int venus_core_power(struct venus_core *core, int on) > { > struct device *dev = core->dev; > struct device *pmctrl = core->pmdomains ? > @@ -1138,7 +1124,6 @@ static int load_scale_v4(struct venus_inst *inst) > static const struct venus_pm_ops pm_ops_v4 = { > .core_get = core_get_v4, > .core_put = core_put_v4, > - .core_power = core_power_v4, > .vdec_get = vdec_get_v4, > .vdec_put = vdec_put_v4, > .vdec_power = vdec_power_v4, > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.h b/drivers/media/platform/qcom/venus/pm_helpers.h > index a492c50c5543..77db940a265c 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.h > +++ b/drivers/media/platform/qcom/venus/pm_helpers.h > @@ -12,7 +12,6 @@ struct venus_core; > struct venus_pm_ops { > int (*core_get)(struct venus_core *core); > void (*core_put)(struct venus_core *core); > - int (*core_power)(struct venus_core *core, int on); > > int (*vdec_get)(struct device *dev); > void (*vdec_put)(struct device *dev); > @@ -28,6 +27,7 @@ struct venus_pm_ops { > }; > > const struct venus_pm_ops *venus_pm_get(enum hfi_version version); > +int venus_core_power(struct venus_core *core, int on); > > static inline int venus_pm_load_scale(struct venus_inst *inst) > { > > From patchwork Fri Feb 9 21:09:58 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551859 > Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com > [209.85.208.45]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id 992D73EA72 > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:10:14 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.208.45 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707513016; cv=none; > b=bnjmnHCMOdqly7dKKUzz4JjvkTkrn29VpRwzfxguGKe3EpVcipS41r5c2hrtmNHi0GX93NoM/Lww2TteSgx5lRMn5qlSMxkdxhYTtjSvKUD5HCzmwaDQ17YNLoLneUwlGk5JAKbzVSvNOhRhu8LCLG1CiMtDkGFZ4F/0+Ik9uzU= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707513016; c=relaxed/simple; > bh=G5EO8gWb7PxJbJwYQwPoc5ia4Xy6TP/ueMeizK0hDu8=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=ZFMPFiJHr0sDj4yg0DTOUFOZGHMgAmuwi6AsHI8YwQGWy1/lva/WisSKxrBT8q0D89EjDpZWZ7VyN4ypL9Hy8T3r18F4+A20Q5oDfgNRRI3mqbTctSwplbFuu5QI2a8C3cdP7KCOueTsRgTsVe7WGdCglYsVeVRn1Mp2HNzUluU= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=cn7qBBSD; arc=none smtp.client-ip=209.85.208.45 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="cn7qBBSD" > Received: by mail-ed1-f45.google.com with SMTP id > 4fb4d7f45d1cf-55ff5f6a610so1711145a12.3 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:10:14 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707513013; x=1708117813; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=uywZaJdRGJQ/k/o6qaBHiBl9Wlir0Y5jv/s44rCrnpY=; > b=cn7qBBSDSfsoiXtBt9BWwA1MHvviYCjd7ttFYCdkt8EqMzsOnnxvWiLty0+WORYRHt > 5wo/1w1Ak1U8/sKE+PM2skay4qByNneUvAkxzJRxH357U0NhqnP0zR+xAe/O6yRZ5dCO > lvQIO8vN2W3D+E8qI9AGztM8poRk3eda9ATirAvQCW8REP53uCClT1Tx+pRoXvGe6nDf > YQ+U3rw0iHDkvG16ND5XtEBKu6Dz6bKJ2Eopdkm/kp7oLGEoILNFhel7CKOWLynubsE9 > YdNkFMA/dEwUYjKqJjZdzj+wYmcz2jeQwVL90qV/GKPbaLgPkB9eViS8L3X44aanmEyw > wApA== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707513013; x=1708117813; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=uywZaJdRGJQ/k/o6qaBHiBl9Wlir0Y5jv/s44rCrnpY=; > b=VRM3FbEZWlZv6/dkbb0/HrIVh0ZUB10pfFpb45jcxhLKC0rc7JSyK5W5wlX3qZOxqT > XU0SmzlhbISKrLkKrWL45v3lMnyknZwWvqFIKARb+O6Gl5wWm6qPoeYW8zd2i50T3ZFD > DLVwScRPgSCJKrezCMoSz9ksCdc7HWq2EBY1vB0M9AdIsCGWPxgJctbaH3vRPHvDgIdJ > ItvHkciC2/QJ9I2zVdopf/bz6kMqA201yHRCy7uXPfQBFy75UWQ4Y2kNtn9FxXqqyVc/ > 1AoXhfqO/hblrK15OHONkeRVvocoGCtHM2E64tBC0RIQ7NkMggl8nrxPMTci33OUjS0m > t/cw== > X-Gm-Message-State: AOJu0YzqEx0j+3M7T1+AqLcorRyf3h1LXnKU5Vqixj+S0EFOErd1db29 > qdz6sOJHiM7kUP6+nSkR+VCICR+/nk32MHaSZXT/cfooNWWBppJLUucFpDrL73Y= > X-Google-Smtp-Source: > AGHT+IFn4UUhkMKr556qFtgiQPsWQOzew24VLWvkaMqAGckTpyTqicd+NyFDWeWRm+x5K4RXMlZOcA== > X-Received: by 2002:a17:906:b304:b0:a38:9923:46da with SMTP id > n4-20020a170906b30400b00a38992346damr194119ejz.20.1707513012869; > Fri, 09 Feb 2024 13:10:12 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCVcC8MslwCJOOVb9rJmnm0MZ2MoASz2q+jc9yEqSbOh4sNAR7mXF/oM6qCXwZuNEgfrAzrCA/JicbhOvX1C66ls1jpoIuyNRSF7QEeRju+3XOXLOSBG2jD1/zSnkHCWgi4ToV3H6d3uGIPXqs9Zq3wXGD5AhYfF2HCQea3GG64pKi5ec3KSosDA+jYzyMlarDmd2zRYMlEonbueGPGPsj/+7YRGExvrpPj/uTcgTPUnmfgJpFPLP3MVsqt2VwfIrfF/64ZMu9xesnHssBU2o4M18PA7XkjknRnrkEKs8Zak5+kzMyT5FhES5bGPX9My2t+1j2DTimrZhQCaLPFaesi2/HORWOEolKoMf7eZSo8k/S9GwNWHYwBp0ZbSeXKXcaY+dMZw1MJ903mhhaMI8dml3+QP6cyK3r+IlMbKsr03LTsYE1h6O+NrIXGxJFDxXupIqNVNJcB5dTWa3MtYyG3nyZ7dxyheZtXa/WcmIiVyBVhJ9PdxLzzsMh2SBTHFz6YTvQ== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.10.11 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:10:12 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:09:58 +0100 > Subject: [PATCH v2 14/20] media: venus: pm_helpers: Remove pm_ops->core_put > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-14-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512986; l=3935; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=G5EO8gWb7PxJbJwYQwPoc5ia4Xy6TP/ueMeizK0hDu8=; > b=kGDBOVa3MohGI2QSLTtyRG8AUOytaLJKLMXSZvjFq6ciBdgCT8Zd4AytyxxpZbcf5J+ZHekv6 > eYfdYC0lFD/AMfmcNDieZxM+aDTLnoV9bYCQR39NyFi8iuVNmaphXh1 > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > Without an OPP table and with vcodec_pmdomains_num (so, v1, v3 and > sdm845_legacy targets), core_put_v4 is a NOP, jut like core_put_v1. > Unify them! > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/core.c | 8 +++----- > drivers/media/platform/qcom/venus/pm_helpers.c | 17 +---------------- > drivers/media/platform/qcom/venus/pm_helpers.h | 2 +- > 3 files changed, 5 insertions(+), 22 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index 9bfd2a30084b..666adc5aac38 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -426,15 +426,14 @@ static int venus_probe(struct platform_device *pdev) > err_core_deinit: > hfi_core_deinit(core, false); > err_core_put: > - if (core->pm_ops->core_put) > - core->pm_ops->core_put(core); > + vcodec_domains_put(core); > + > return ret; > } > > static void venus_remove(struct platform_device *pdev) > { > struct venus_core *core = platform_get_drvdata(pdev); > - const struct venus_pm_ops *pm_ops = core->pm_ops; > struct device *dev = core->dev; > int ret; > > @@ -452,8 +451,7 @@ static void venus_remove(struct platform_device *pdev) > pm_runtime_put_sync(dev); > pm_runtime_disable(dev); > > - if (pm_ops->core_put) > - pm_ops->core_put(core); > + vcodec_domains_put(core); > > v4l2_device_unregister(&core->v4l2_dev); > > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c > index 6f6de9ef1c6c..32f9ccfa9d8a 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.c > +++ b/drivers/media/platform/qcom/venus/pm_helpers.c > @@ -318,13 +318,8 @@ static int load_scale_v1(struct venus_inst *inst) > return ret; > } > > -static void core_put_v1(struct venus_core *core) > -{ > -} > - > static const struct venus_pm_ops pm_ops_v1 = { > .core_get = venus_clks_get, > - .core_put = core_put_v1, > .load_scale = load_scale_v1, > }; > > @@ -396,7 +391,6 @@ static int venc_power_v3(struct device *dev, int on) > > static const struct venus_pm_ops pm_ops_v3 = { > .core_get = venus_clks_get, > - .core_put = core_put_v1, > .vdec_get = vdec_get_v3, > .vdec_power = vdec_power_v3, > .venc_get = venc_get_v3, > @@ -893,7 +887,7 @@ static int vcodec_domains_get(struct venus_core *core) > return ret; > } > > -static void vcodec_domains_put(struct venus_core *core) > +void vcodec_domains_put(struct venus_core *core) > { > dev_pm_domain_detach_list(core->pmdomains); > > @@ -968,14 +962,6 @@ static int core_get_v4(struct venus_core *core) > return 0; > } > > -static void core_put_v4(struct venus_core *core) > -{ > - if (legacy_binding) > - return; > - > - vcodec_domains_put(core); > -} > - > int venus_core_power(struct venus_core *core, int on) > { > struct device *dev = core->dev; > @@ -1123,7 +1109,6 @@ static int load_scale_v4(struct venus_inst *inst) > > static const struct venus_pm_ops pm_ops_v4 = { > .core_get = core_get_v4, > - .core_put = core_put_v4, > .vdec_get = vdec_get_v4, > .vdec_put = vdec_put_v4, > .vdec_power = vdec_power_v4, > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.h b/drivers/media/platform/qcom/venus/pm_helpers.h > index 77db940a265c..3014b39aa6e3 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.h > +++ b/drivers/media/platform/qcom/venus/pm_helpers.h > @@ -11,7 +11,6 @@ struct venus_core; > > struct venus_pm_ops { > int (*core_get)(struct venus_core *core); > - void (*core_put)(struct venus_core *core); > > int (*vdec_get)(struct device *dev); > void (*vdec_put)(struct device *dev); > @@ -28,6 +27,7 @@ struct venus_pm_ops { > > const struct venus_pm_ops *venus_pm_get(enum hfi_version version); > int venus_core_power(struct venus_core *core, int on); > +void vcodec_domains_put(struct venus_core *core); > > static inline int venus_pm_load_scale(struct venus_inst *inst) > { > > From patchwork Fri Feb 9 21:09:59 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551860 > Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com > [209.85.218.51]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id 699B73F8FB > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:10:16 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.218.51 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707513018; cv=none; > b=VyhRpzuF/6+Pj++MP9Lv1Uhhh3pgIaiZvwSQxavpdL5gbrhjfObL022lvhqImwFsrgRGlwYDor5q0R+MltcvNjjaaDeW71l3jE/RmdJJXVga9nWJfz52rjXT2VAq8KMHMM205ttbBNEYdTp4nVM3oYAanLGiK7lbq2Iq9k50z0I= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707513018; c=relaxed/simple; > bh=SxDGgEUtWHupji3kWcgwRwlcQnOElKd5P7BQasbPYTE=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=gEXnCfPZGuUjdQjOEKPsxXqbPl8P8IwvASsXkNzMK7lBYH2OahzfI4URyhPW1SC6m6IkeEt6ns8Tu3riRNK7wKksgK1iVfpqNAvJTueB/Btz0ZGQm6xpbqvSoJ46pA8vvCbAeRQIyMMY9Ee6ZMtuYaD1Kk5k3ZRoknxUgpBCeLM= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=KefW0spb; arc=none smtp.client-ip=209.85.218.51 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="KefW0spb" > Received: by mail-ej1-f51.google.com with SMTP id > a640c23a62f3a-a389ea940f1so152515066b.3 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:10:16 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707513014; x=1708117814; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=SA9Lb59KC+nISC8BTRPiv1Z4bw8dFbjLbRpUOcP2HoY=; > b=KefW0spbhRtS7VxOPjB3UkOU5CxHOAjIGudtxwHXuAYkdhTR8gOstfZfNsGbfG7wbW > 15hi8QrgAjZDQNKWQTRXQJnfA3JuUfAN/q7L+VzzvXAi2tW9BSWdRp8uuyVtgkyZQjv0 > RQ1G98qHpv9efYPcMTHNit5EsHVwgiU4m8x9X+ui/P/0sJBruTfy/8FDC51yJyVSbLDP > 6NUGVdiu30B8EZaJZnAfEiwO5F9/ihb+HjDhWLVof4FdGdmBSrkfoPsio1f1f3jdm+8q > E+hXnQdjlhV4e8mYdFWkjJPJtwY75X2ox5j326NJcW/wx7nGE3nWyC9iwyofcFCibeHB > 9wUQ== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707513014; x=1708117814; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=SA9Lb59KC+nISC8BTRPiv1Z4bw8dFbjLbRpUOcP2HoY=; > b=Du8AI3ELTIKuEDmYlqojdZS9uIENkLN8bVD/vj+9KUHDbp6FX9+9kS/str6wLWIFak > CXqEC0RvbMF5qbIRAddV/cFNvlI96ZaWhL6Jn0Z+mWGTjHrwGBxuBG0LRsY4hHo/mkB8 > pWRN8pBw3mGt6NmTH+WGXWp7yRz9wSP0LhQHBbDR1MjYE7hmAOqZkBhmSYBHHnSM3bZu > /P+zjIQXwvmtm/LBUO2iGvldVK1N8b1ORJb93tUDAqWIUQ3IAOs9Pisk4WK2mxVQpeZA > 8CUlco+VTE3kYr7qxqBN36F0BlUMEAB2wRaq0TG+OMsy5KhW9sSSGrFYoAcf3aIIVLwJ > 6f5g== > X-Gm-Message-State: AOJu0Yy6aY9Ph7Nlz6rxSeRNhZQoP1VV8rEqDeKdAhf1KRSTCsWPf4wW > /Ydql2m6iKKwPzXF4VLKPUEb18YnuNTBgyE3DhYRkghEkRgqXd9fNH7cx40vtNc= > X-Google-Smtp-Source: > AGHT+IHicqWilmWSII5rZ1Re/aDm6w+5uwDxEUNhIEGKLnMpzX+wfwnWXZUpp5H1cOVgVxUri2sAKw== > X-Received: by 2002:a17:906:3552:b0:a3b:fe76:d666 with SMTP id > s18-20020a170906355200b00a3bfe76d666mr225304eja.0.1707513014654; > Fri, 09 Feb 2024 13:10:14 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCU+m0k+l+lLW+83FALDzJXW1dXJI4jsvzqwreFZQ5MH667zVDGstHsy4UTD4EFsHT6dNShE9GcWOjcbij7kGMGJraEryqx+6dkdMAiT1jxCGrK/e8hAsph/JYu4X3WXYix4CiQLvFUyN+P/KelycXipHdG3FonRteFaevQ17ZoVOU2YLTQxKWW8Ts2IBAMzMk19ypMLoXN5iLfJHCBwD6I6R+CTXO2W1oil9DKrhzT8Rw6Ke46Gw584uJOYs4F5kEuqAGdF34w5eUGizX3VFOYngJ10UYzetDoaq9IrRGQsQRM5dVUkULxAZw3evOFVvVlHBmJA8eJj5Y1AsSYz+3JeT56bd45K4+gGFK0hxEv076PGAqukmTP0pyuNg19ehwP6MW4PLSM841Xd3SwAJFfdefnGxVlonOF1fVuZrEJ4NWx7LLYVi9jnfp9VMD8kRqWLTOWkXN1VR/X6EYO5IgNZT96JZmoZeTEJi8XyutDRv3vmyH9YbewVYmzGYF17TpmljQ== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.10.12 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:10:14 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:09:59 +0100 > Subject: [PATCH v2 15/20] media: venus: core: Define a pointer to core->res > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-15-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512986; l=1808; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=SxDGgEUtWHupji3kWcgwRwlcQnOElKd5P7BQasbPYTE=; > b=JlVCMhjWXh7JcvSS6od2SXkwsAUSLCX2191XVANLu17F3Xf11AmPRtaUq8Hx0hUpKs8M5UI07 > owAZMrHdJIXAPWy19gsvnVrXxeJHsIThsUFMbF9qiw6KLapNOngONvH > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > To make the code more concise, define a new variable 'res' pointing to > the abundantly referenced core->res. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/core.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index 666adc5aac38..70c3c9dc49c6 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -285,6 +285,7 @@ static irqreturn_t venus_isr_thread(int irq, void *dev_id) > > static int venus_probe(struct platform_device *pdev) > { > + const struct venus_resources *res; > struct device *dev = &pdev->dev; > struct venus_core *core; > int i, ret; > @@ -315,9 +316,11 @@ static int venus_probe(struct platform_device *pdev) > if (!core->res) > return -ENODEV; > > + res = core->res; > + > mutex_init(&core->pm_lock); > > - core->pm_ops = venus_pm_get(core->res->hfi_version); > + core->pm_ops = venus_pm_get(res->hfi_version); > if (!core->pm_ops) > return -ENODEV; > > @@ -325,8 +328,8 @@ static int venus_probe(struct platform_device *pdev) > if (ret) > return ret; > > - for (i = 0; i < core->res->resets_num; i++) { > - core->resets[i] = devm_reset_control_get_exclusive(dev, core->res->resets[i]); > + for (i = 0; i < res->resets_num; i++) { > + core->resets[i] = devm_reset_control_get_exclusive(dev, res->resets[i]); > if (IS_ERR(core->resets[i])) > return PTR_ERR(core->resets[i]); > } > @@ -337,7 +340,7 @@ static int venus_probe(struct platform_device *pdev) > return ret; > } > > - ret = dma_set_mask_and_coherent(dev, core->res->dma_mask); > + ret = dma_set_mask_and_coherent(dev, res->dma_mask); > if (ret) > goto err_core_put; > > > From patchwork Fri Feb 9 21:10:00 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551861 > Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com > [209.85.218.47]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id F20803FB3A > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:10:17 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.218.47 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707513020; cv=none; > b=gde1QVv0IZZRIkl4qDyfneDloidIMD7RX70JAdhFogXo1SJAZT+lOKXh/ggxXYABMRLf5HYnpw1CMKzF1UWww/o273e9l9bGDZ1Ft2CqsejvkmLv/BR3wDoUb8NmDRYsM6Qek49yaOCh96RICxVZsWRqpFLgdLWe3Fvg+LcdSw4= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707513020; c=relaxed/simple; > bh=vLhLhf+CEVi6B2XJaAnvAcQ3XwKGsnZUrFlDvOw21nc=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=l2TS9Tv6BPXGv6NUnCih0aA2ToNaG3/pIFYYcv9MEJwcTyFM0Gp+DWlSvN5PTZFXS72/93+GoqOxjE7w1Q4Uq/P2Au1kIDf3UpeyKQPFrW3lfnGVLoXl4judV4wf6u/GJmJW6TcZy9lSg8ZzrxoW78ppht2Rz7T5mLi2mSxxBJk= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=HMfMa83P; arc=none smtp.client-ip=209.85.218.47 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="HMfMa83P" > Received: by mail-ej1-f47.google.com with SMTP id > a640c23a62f3a-a37721e42feso187695866b.2 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:10:17 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707513016; x=1708117816; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=PhSad/Mk1NEzaN/RVlCN4R2NZvu025BgZXc2rgwW6iI=; > b=HMfMa83PYqMx0BIGZvxtcPRa5ZcMdQrK4+51LE50p8GJeX+Xj7AkJpOlqGpw/O/eeX > Wiq4K3cmE1x8jIVSdBaVKJGmohCCwm6v0LyQ2cuZUmurEw5wL0k9kLCWUH/FlhUIlL4a > Oe0QJ1GC9DWYjhCaQqeVnFVuB5FVNMeMruElscBnitO6q0HKeiqe80p+wG1ire8PQO6F > 3apRw/XohPR4HwOIM7PZ9apxUEFQ7j6XBLFtuVnNLhXFsc5UuNi5WhlxoQjroQLCNWn4 > 5ySsoI3q3u8KRGhEmexsYRIDwKfWGDP9JYJOh8yCaDRd4OrA5Y1BGYYpaw3PURn5odAA > 59bA== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707513016; x=1708117816; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=PhSad/Mk1NEzaN/RVlCN4R2NZvu025BgZXc2rgwW6iI=; > b=IvAKFZworfR+Eu7+f3+gp1aD07ZpRaW4/AF6oQak7KTOynAZrasns5kgpDAidYEQeC > dT9qeoQN9ztkzeTf7JmfnmWS38HcGzVng1cQNSuWKy9i5YoVGdd0Kew0QrBE8FMKQON2 > xk5FqcSxEL8eZwIqvlO6ZnFDLRtZtts9naRUbVzTo974eRus0s1TEXxz4unesGJef/HF > 3qmEPX8ex9tvRGLXNGtqre17kTfR5pmOPoFwSB46liT8QvYF4kSHBNAKB5zSUvb0xBya > DHyun+43gAhI9fGBV2YhRyaRccUxq0O2yGJ8WghjvcSp0wxj8BTi9CYtjAbzdguAysDr > iHLw== > X-Gm-Message-State: AOJu0YzEEbpjh0gS6vt/ar+L494wTsu57OpPFdA7gTdx2lqR4skmNZ8P > Lpl4J00NySfRm90VgRiI9HCPLHU3yP5QjyymVisj19Ps8ZscRtEv+oVEaKTW1cc= > X-Google-Smtp-Source: > AGHT+IHaoS8E2Yl5Y2nX35dslDR7oR8kEXrrgQ46vjBSQOmcY4a0mCH6DnPtBaI5STRI55sWMXL+UQ== > X-Received: by 2002:a17:906:d979:b0:a38:e745:fb88 with SMTP id > rp25-20020a170906d97900b00a38e745fb88mr142952ejb.57.1707513016407; > Fri, 09 Feb 2024 13:10:16 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCUNGBejFq5PDzl1+CvKgzrv2X7Us6V5508hFb6FLlOZsW5LQdlbQdebLY9R1CIA29+ENWvT09bsJOaA6W7AZY9WlQZUsUI1KEcQ8r/w2SrumlFFAsM7UYgLLJSD3NoCmm9e9WELz4FCNij85g8Cg6wCPl0/O26bZ0jGNZakACZ+DdVVMDlnMOkFOl1c5gF3Zv9yPmISvu2Y/tUdA5VnagLJiRIRD3qWDadkBr/fvOHcDpqWe/gIZHN9RlL6LjCuhYtzFKRmpt74Dy3Upu7504C6f++WlxsitfdAYEL6eDP8V2VMFVbOi7VhJOih0dvhTd1TrNHEIaW2jC82Htkzia4sn2zxJK2gR6RXdaKKJDfEMtSsKuVR+Dsba8XUZECnTwNmLANouP0ztzrz5TPFcTtD5DM7i1lzuocIkr3BH3aK9eHq2GKwrw1yTKRkEwVMV0j09mURrSxdNOEE3PdDGVzLKW196ZPO/oEyQmVMZFtEe/JKYB0kXWOUjKGqnM5J/KSKrg== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.10.14 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:10:15 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:10:00 +0100 > Subject: [PATCH v2 16/20] media: venus: pm_helpers: Simplify vcodec clock > handling > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-16-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512986; l=13452; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=vLhLhf+CEVi6B2XJaAnvAcQ3XwKGsnZUrFlDvOw21nc=; > b=yhMc+HUWGyogB5zChvw1fSFjZ32bTQVH+w4auxc+uJf6IdWacMSVM3VvwjxoaKTVSEd7ZaVfJ > giBWMyzn9ndDfdFOMGLfjjUnU86vMCSyjWD0yhXVsF/aRloJaE4DQT3 > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > Currently the infrastructure is set up for vast expandability, but > it's far too complex for what is just 0-2 clocks. Categorize the > clocks and simplify their getting. > > One notable change is that vcodec clocks are switched to use > devm_clk_get_optional, which will let us commonize the code further > while leaving the burden of figuring out which SoCs need codec-specific > clocks and which don't to the bindings checker. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/core.c | 18 ---- > drivers/media/platform/qcom/venus/core.h | 9 +- > drivers/media/platform/qcom/venus/pm_helpers.c | 129 +++++++++++++------------ > 3 files changed, 69 insertions(+), 87 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index 70c3c9dc49c6..680674dd0d68 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -581,9 +581,6 @@ static const struct venus_resources msm8996_res = { > .reg_tbl_size = ARRAY_SIZE(msm8996_reg_preset), > .clks = {"core", "iface", "bus", "mbus" }, > .clks_num = 4, > - .vcodec0_clks = { "core" }, > - .vcodec1_clks = { "core" }, > - .vcodec_clks_num = 1, > .max_load = 2563200, > .hfi_version = HFI_VERSION_3XX, > .dma_mask = (GENMASK(31, 30) | GENMASK(28, 26) | GENMASK(24, 22)) - 1, > @@ -636,9 +633,6 @@ static const struct venus_resources sdm660_res = { > .bw_tbl_dec_size = ARRAY_SIZE(sdm660_bw_table_dec), > .clks = {"core", "iface", "bus", "bus_throttle" }, > .clks_num = 4, > - .vcodec0_clks = { "vcodec0_core" }, > - .vcodec1_clks = { "vcodec0_core" }, > - .vcodec_clks_num = 1, > .max_load = 1036800, > .hfi_version = HFI_VERSION_3XX, > .cp_size = 0x79000000, > @@ -680,9 +674,6 @@ static const struct venus_resources sdm845_res = { > .bw_tbl_dec_size = ARRAY_SIZE(sdm845_bw_table_dec), > .clks = {"core", "iface", "bus" }, > .clks_num = 3, > - .vcodec0_clks = { "core", "bus" }, > - .vcodec1_clks = { "core", "bus" }, > - .vcodec_clks_num = 2, > .max_load = 3110400, /* 4096x2160@90 */ > .hfi_version = HFI_VERSION_4XX, > .vpu_version = VPU_VERSION_AR50, > @@ -699,9 +690,6 @@ static const struct venus_resources sdm845_res_v2 = { > .bw_tbl_dec_size = ARRAY_SIZE(sdm845_bw_table_dec), > .clks = {"core", "iface", "bus" }, > .clks_num = 3, > - .vcodec0_clks = { "vcodec0_core", "vcodec0_bus" }, > - .vcodec1_clks = { "vcodec1_core", "vcodec1_bus" }, > - .vcodec_clks_num = 2, > .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0", "vcodec1" }, > .vcodec_pmdomains_num = 3, > .opp_pmdomain = pd_names_cx, > @@ -744,8 +732,6 @@ static const struct venus_resources sc7180_res = { > .bw_tbl_dec_size = ARRAY_SIZE(sc7180_bw_table_dec), > .clks = {"core", "iface", "bus" }, > .clks_num = 3, > - .vcodec0_clks = { "vcodec0_core", "vcodec0_bus" }, > - .vcodec_clks_num = 2, > .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0" }, > .vcodec_pmdomains_num = 2, > .opp_pmdomain = pd_names_cx, > @@ -796,8 +782,6 @@ static const struct venus_resources sm8250_res = { > .clks_num = 2, > .resets = { "bus", "core" }, > .resets_num = 2, > - .vcodec0_clks = { "vcodec0_core" }, > - .vcodec_clks_num = 1, > .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0" }, > .vcodec_pmdomains_num = 2, > .opp_pmdomain = pd_names_mx, > @@ -851,8 +835,6 @@ static const struct venus_resources sc7280_res = { > .ubwc_conf = &sc7280_ubwc_config, > .clks = {"core", "bus", "iface"}, > .clks_num = 3, > - .vcodec0_clks = {"vcodec_core", "vcodec_bus"}, > - .vcodec_clks_num = 2, > .vcodec_pmdomains = (const char *[]) { "venus", "vcodec0" }, > .vcodec_pmdomains_num = 2, > .opp_pmdomain = pd_names_cx, > diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platform/qcom/venus/core.h > index 9dacf533c7ad..6ecaa3e38cac 100644 > --- a/drivers/media/platform/qcom/venus/core.h > +++ b/drivers/media/platform/qcom/venus/core.h > @@ -24,9 +24,10 @@ > #define VDBGFW "VenusFW : " > > #define VIDC_CLKS_NUM_MAX 4 > -#define VIDC_VCODEC_CLKS_NUM_MAX 2 > #define VIDC_RESETS_NUM_MAX 2 > > +#define MAX_NUM_VCODECS 2 > + > extern int venus_fw_debug; > > struct freq_tbl { > @@ -68,8 +69,6 @@ struct venus_resources { > const struct hfi_ubwc_config * const ubwc_conf; > const char * const clks[VIDC_CLKS_NUM_MAX]; > const unsigned int clks_num; > - const char * const vcodec0_clks[VIDC_VCODEC_CLKS_NUM_MAX]; > - const char * const vcodec1_clks[VIDC_VCODEC_CLKS_NUM_MAX]; > const unsigned int vcodec_clks_num; > const char * const *vcodec_pmdomains; > const unsigned int vcodec_pmdomains_num; > @@ -176,8 +175,8 @@ struct venus_core { > void __iomem *aon_base; > int irq; > struct clk *clks[VIDC_CLKS_NUM_MAX]; > - struct clk *vcodec0_clks[VIDC_VCODEC_CLKS_NUM_MAX]; > - struct clk *vcodec1_clks[VIDC_VCODEC_CLKS_NUM_MAX]; > + struct clk *vcodec_core_clks[MAX_NUM_VCODECS]; > + struct clk *vcodec_bus_clks[MAX_NUM_VCODECS]; > struct icc_path *video_path; > struct icc_path *cpucfg_path; > bool has_opp_table; > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c > index 32f9ccfa9d8a..a292c788ffba 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.c > +++ b/drivers/media/platform/qcom/venus/pm_helpers.c > @@ -110,67 +110,74 @@ static void core_clks_disable(struct venus_core *core) > > static int core_clks_set_rate(struct venus_core *core, unsigned long freq) > { > - int ret; > + int i, ret; > > ret = dev_pm_opp_set_rate(core->dev, freq); > if (ret) > return ret; > > - ret = clk_set_rate(core->vcodec0_clks[0], freq); > - if (ret) > - return ret; > - > - ret = clk_set_rate(core->vcodec1_clks[0], freq); > - if (ret) > - return ret; > + for (i = 0; i < MAX_NUM_VCODECS; i++) { > + ret = clk_set_rate(core->vcodec_core_clks[i], freq); > + if (ret) > + return ret; > + } > > return 0; > } > > -static int vcodec_clks_get(struct venus_core *core, struct device *dev, > - struct clk **clks, const char * const *id) > +static int vcodec_clks_get(struct venus_core *core, struct device *dev, u8 id) > { > - const struct venus_resources *res = core->res; > - unsigned int i; > + char buf[13] = { 0 }; /* vcodecX_core\0 */ > > - for (i = 0; i < res->vcodec_clks_num; i++) { > - if (!id[i]) > - continue; > - clks[i] = devm_clk_get(dev, id[i]); > - if (IS_ERR(clks[i])) > - return PTR_ERR(clks[i]); > + /* Best we can do is 2 cores */ > + if (id > MAX_NUM_VCODECS - 1) { > + dev_err(dev, "Got impossible vcodec id %u\n", id); > + return -EINVAL; > + }; > + > + snprintf(buf, sizeof(buf), "vcodec%u_core", id); > + > + /* First try the non-legacy name */ > + core->vcodec_core_clks[id] = devm_clk_get_optional(dev, buf); > + if (IS_ERR(core->vcodec_core_clks[id])) { > + /* Try again, with the legacy name */ > + core->vcodec_core_clks[id] = devm_clk_get_optional(dev, "core"); > + if (IS_ERR(core->vcodec_core_clks[id])) > + return PTR_ERR(core->vcodec_core_clks[id]); > + } > + > + memset(buf, 0, sizeof(buf)); > + snprintf(buf, sizeof(buf), "vcodec%u_bus", id); > + > + core->vcodec_bus_clks[id] = devm_clk_get_optional(dev, buf); > + if (IS_ERR(core->vcodec_bus_clks[id])) { > + core->vcodec_bus_clks[id] = devm_clk_get_optional(dev, "bus"); > + if (IS_ERR(core->vcodec_bus_clks[id])) > + return PTR_ERR(core->vcodec_bus_clks[id]); > } > > return 0; > } > > -static int vcodec_clks_enable(struct venus_core *core, struct clk **clks) > +static int vcodec_clks_enable(struct venus_core *core, u8 id) > { > - const struct venus_resources *res = core->res; > - unsigned int i; > int ret; > > - for (i = 0; i < res->vcodec_clks_num; i++) { > - ret = clk_prepare_enable(clks[i]); > - if (ret) > - goto err; > - } > + ret = clk_prepare_enable(core->vcodec_core_clks[id]); > + if (ret) > + return ret; > > - return 0; > -err: > - while (i--) > - clk_disable_unprepare(clks[i]); > + ret = clk_prepare_enable(core->vcodec_bus_clks[id]); > + if (ret) > + clk_disable_unprepare(core->vcodec_core_clks[id]); > > return ret; > } > > -static void vcodec_clks_disable(struct venus_core *core, struct clk **clks) > +static void vcodec_clks_disable(struct venus_core *core, u8 id) > { > - const struct venus_resources *res = core->res; > - unsigned int i = res->vcodec_clks_num; > - > - while (i--) > - clk_disable_unprepare(clks[i]); > + clk_disable_unprepare(core->vcodec_bus_clks[id]); > + clk_disable_unprepare(core->vcodec_core_clks[id]); > } > > static u32 load_per_instance(struct venus_inst *inst) > @@ -343,8 +350,7 @@ static int vdec_get_v3(struct device *dev) > { > struct venus_core *core = dev_get_drvdata(dev); > > - return vcodec_clks_get(core, dev, core->vcodec0_clks, > - core->res->vcodec0_clks); > + return vcodec_clks_get(core, dev, 0); > } > > static int vdec_power_v3(struct device *dev, int on) > @@ -355,9 +361,9 @@ static int vdec_power_v3(struct device *dev, int on) > vcodec_control_v3(core, VIDC_SESSION_TYPE_DEC, true); > > if (on == POWER_ON) > - ret = vcodec_clks_enable(core, core->vcodec0_clks); > + ret = vcodec_clks_enable(core, 0); > else > - vcodec_clks_disable(core, core->vcodec0_clks); > + vcodec_clks_disable(core, 0); > > vcodec_control_v3(core, VIDC_SESSION_TYPE_DEC, false); > > @@ -368,8 +374,7 @@ static int venc_get_v3(struct device *dev) > { > struct venus_core *core = dev_get_drvdata(dev); > > - return vcodec_clks_get(core, dev, core->vcodec1_clks, > - core->res->vcodec1_clks); > + return vcodec_clks_get(core, dev, 1); > } > > static int venc_power_v3(struct device *dev, int on) > @@ -380,9 +385,9 @@ static int venc_power_v3(struct device *dev, int on) > vcodec_control_v3(core, VIDC_SESSION_TYPE_ENC, true); > > if (on == POWER_ON) > - ret = vcodec_clks_enable(core, core->vcodec1_clks); > + ret = vcodec_clks_enable(core, 1); > else > - vcodec_clks_disable(core, core->vcodec1_clks); > + vcodec_clks_disable(core, 1); > > vcodec_control_v3(core, VIDC_SESSION_TYPE_ENC, false); > > @@ -441,7 +446,7 @@ static int poweroff_coreid(struct venus_core *core, unsigned int coreid_mask) > if (ret) > return ret; > > - vcodec_clks_disable(core, core->vcodec0_clks); > + vcodec_clks_disable(core, 0); > > ret = vcodec_control_v4(core, VIDC_CORE_ID_1, false); > if (ret) > @@ -457,7 +462,7 @@ static int poweroff_coreid(struct venus_core *core, unsigned int coreid_mask) > if (ret) > return ret; > > - vcodec_clks_disable(core, core->vcodec1_clks); > + vcodec_clks_disable(core, 1); > > ret = vcodec_control_v4(core, VIDC_CORE_ID_2, false); > if (ret) > @@ -484,7 +489,7 @@ static int poweron_coreid(struct venus_core *core, unsigned int coreid_mask) > if (ret) > return ret; > > - ret = vcodec_clks_enable(core, core->vcodec0_clks); > + ret = vcodec_clks_enable(core, 0); > if (ret) > return ret; > > @@ -502,7 +507,7 @@ static int poweron_coreid(struct venus_core *core, unsigned int coreid_mask) > if (ret) > return ret; > > - ret = vcodec_clks_enable(core, core->vcodec1_clks); > + ret = vcodec_clks_enable(core, 1); > if (ret) > return ret; > > @@ -763,20 +768,18 @@ static int vdec_get_v4(struct device *dev) > if (!legacy_binding) > return 0; > > - return vcodec_clks_get(core, dev, core->vcodec0_clks, > - core->res->vcodec0_clks); > + return vcodec_clks_get(core, dev, 0); > } > > static void vdec_put_v4(struct device *dev) > { > struct venus_core *core = dev_get_drvdata(dev); > - unsigned int i; > > if (!legacy_binding) > return; > > - for (i = 0; i < core->res->vcodec_clks_num; i++) > - core->vcodec0_clks[i] = NULL; > + core->vcodec_core_clks[0] = NULL; > + core->vcodec_bus_clks[0] = NULL; > } > > static int vdec_power_v4(struct device *dev, int on) > @@ -792,9 +795,9 @@ static int vdec_power_v4(struct device *dev, int on) > return ret; > > if (on == POWER_ON) > - ret = vcodec_clks_enable(core, core->vcodec0_clks); > + ret = vcodec_clks_enable(core, 0); > else > - vcodec_clks_disable(core, core->vcodec0_clks); > + vcodec_clks_disable(core, 0); > > vcodec_control_v4(core, VIDC_CORE_ID_1, false); > > @@ -808,20 +811,18 @@ static int venc_get_v4(struct device *dev) > if (!legacy_binding) > return 0; > > - return vcodec_clks_get(core, dev, core->vcodec1_clks, > - core->res->vcodec1_clks); > + return vcodec_clks_get(core, dev, 1); > } > > static void venc_put_v4(struct device *dev) > { > struct venus_core *core = dev_get_drvdata(dev); > - unsigned int i; > > if (!legacy_binding) > return; > > - for (i = 0; i < core->res->vcodec_clks_num; i++) > - core->vcodec1_clks[i] = NULL; > + core->vcodec_core_clks[1] = NULL; > + core->vcodec_bus_clks[1] = NULL; > } > > static int venc_power_v4(struct device *dev, int on) > @@ -837,9 +838,9 @@ static int venc_power_v4(struct device *dev, int on) > return ret; > > if (on == POWER_ON) > - ret = vcodec_clks_enable(core, core->vcodec1_clks); > + ret = vcodec_clks_enable(core, 1); > else > - vcodec_clks_disable(core, core->vcodec1_clks); > + vcodec_clks_disable(core, 1); > > vcodec_control_v4(core, VIDC_CORE_ID_2, false); > > @@ -934,11 +935,11 @@ static int core_get_v4(struct venus_core *core) > > dev_info(dev, "%s legacy binding\n", legacy_binding ? "" : "non"); > > - ret = vcodec_clks_get(core, dev, core->vcodec0_clks, res->vcodec0_clks); > + ret = vcodec_clks_get(core, dev, 0); > if (ret) > return ret; > > - ret = vcodec_clks_get(core, dev, core->vcodec1_clks, res->vcodec1_clks); > + ret = vcodec_clks_get(core, dev, 1); > if (ret) > return ret; > > > From patchwork Fri Feb 9 21:10:01 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551862 > Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com > [209.85.208.172]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id D9A0D446BE > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:10:19 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.208.172 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707513022; cv=none; > b=DM0hlIqLSA6PtXyAfo1hWXVGxyRY2H1A/beBmwd5+7zwnkNBKjNHZXszg6DjfMPxvuxpOyaryaRPdYsGLYk7CQLmykIeOsXdI1DrUa4mzGVbbYAGw47wlW8taNZEg812k9lhySmbD+vDwGlSldtyv0kCtlEFQTgDlJDHfAQbfAY= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707513022; c=relaxed/simple; > bh=MLv2EGPhgvWgejpl7fbRFyjPDkfZHFECDfabJtkG8Ts=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=WptnesCsfuWYYtIVN9/b1f6J2TEbWAs51b2SjDkei9c48bsth1DWd+83rel3ctKTAbrJDx5bzw53qn2ESRN3E8WXeeDQwsYormyrbet6y2EXuFPZzRDqZEyg+MpzGjzJQXiYEX4IhZzGjqSg2r7K2C5vwFO/iCunja4XCqxh+v0= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=QikG+afM; arc=none smtp.client-ip=209.85.208.172 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="QikG+afM" > Received: by mail-lj1-f172.google.com with SMTP id > 38308e7fff4ca-2d0e4ef33b2so1456021fa.1 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:10:19 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707513018; x=1708117818; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=AlA4ayOmstDeitRRZ2W2c5UllMpUVoGUwWdDkp9v1as=; > b=QikG+afMnsM1kIM/Nzem4BffRaN2JoYMSspKt/5ZFkD4LBq8mEIg5ArRpYZCjyLS2m > K4Nyr0q6AczPm6A3PYrol7Y9+el4d3dCsMdRYuEwyJI4mfmfbfie2dV/u0BxLGDd3Ev8 > VhVcET9DcD4HCBR/d8122dlICEbLTRofa1vWifljz63CP7jo6xxnvzrA53rl8MdZHFmO > IoErZn0/F9b8/XffsEeTyNoxh3iKlzKSfsky2FqqFMt49ZVDIUwnEp670e18JVDA/NGL > iYzJm1ypLGQIfkVxWMmxynf0fQfUi16b/SOEgR74TdhS3vdpG3CiZtL8FHkTuYhhE/Sp > n+NA== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707513018; x=1708117818; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=AlA4ayOmstDeitRRZ2W2c5UllMpUVoGUwWdDkp9v1as=; > b=CVg0h0alQOmq4hqaNi787NWkgTVi0rXK+rnHRTYb2gmH4VERpz5zZ4vr4o5CpbKIbm > Cg2jkYf5dUx1lnsyO2wYdc5H0xHDc8Aj5DAkSaBm+lERRFzJWK6Y8cZ6VMTJAih1b9uu > JpyCvl246n6m9Nw09YuAXRJKnkWAieQphIHDFK6idVRVsZmY4s8qSw2pn6rIfVLYvvG1 > uQ1LgQIaA3dEw0oimiGVnyq980XEzPNIhrWiVZmMfm/pUoVROYFQ7xJH9XVLdsOG9XiF > 50+g/4/dnMnE4z+KYI2CDsfBHhDqhV23X8iqmMrwnuD0h7+Y7Bm3NmO8n7t/3UIR/cHD > z+KQ== > X-Forwarded-Encrypted: i=1; > AJvYcCXb5PpvVBlKZ5RFRWFqkjrBQiXLrmSL9GcZTIpCpfKUZeNNMfijBti8wUxGCB7RAcLcS0S/h/FoCXQ8rb+XaKKl/gYM+k+YNoogj0g= > X-Gm-Message-State: AOJu0YwdwVhDGbQmJ9ukxPJEIpjdlyXNfQolriZ5bNzLSTFOMH5a1COF > 2TnxHH5fPdGQAZpAY4qXw0ou3+i5uE3gGpHUpqR8EMNNCsdAfliW3h+uorE7IEQ= > X-Google-Smtp-Source: > AGHT+IFzzZN5KL4cYG0hicyLZubpRFb4oezMjYE5cyxLTyWE7sgQ6y2pJ7SpOmZIS/sM1SfYlpEBjw== > X-Received: by 2002:ac2:41ca:0:b0:511:1ed7:61b8 with SMTP id > d10-20020ac241ca000000b005111ed761b8mr138919lfi.30.1707513017891; > Fri, 09 Feb 2024 13:10:17 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCV2vSXOWP0zPTdPzgr2OB7mO2zO/BBUb6MycDmMBo7iyCA2zGdMN08BEZkTi3oXHkq73Gyr6mJnMewJbhfCN0g3QgXHZE83t99O5gMpRiQ+ubauJZ069Kj4IH0j8fil17TwydvqiE7EyqiHHrOb/UA6FKnEiZJNKUHfSjovojWbyHOaHpYLii5mg5HTYW7nYf+rwGwyLwvqeDf1RQg7qpkrwja72n3pUtqIarC6ZjSKd4ffjkRFoiuj56ZKnjT/NP/f/8Z7Cz/WRodOnc1SJRsNEluaneAid6a1yoUhjvPYmgC+F+JBPRVdYbOgsHiruBK3bZQAhNDQYK785jNLXe5rGkMh/BRIzhzLhpTZGDUElUAvyrdhRYyVi3ScwZqKb7xeDiYH8VQyF09qpIx7yzzyWVUUyyS2pC1mZeifVQSKzHq/GzWUaMD5FLcw6vXU4ZCR86UO3Q19vs4Ql+yePMEtaF0N1jyReWzrh5HwS6usTMkP9XL6XtgESVKeiroCgPHkCQ== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.10.16 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:10:17 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:10:01 +0100 > Subject: [PATCH v2 17/20] media: venus: pm_helpers: Commonize getting > clocks and GenPDs > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-17-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512986; l=3311; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=MLv2EGPhgvWgejpl7fbRFyjPDkfZHFECDfabJtkG8Ts=; > b=nU5akJ8S6NPlZWhfphKzyqepTvPetn6PGSgT5P4fuPWJfhCa9tlFcNZQek5SuRx1S+ZmHp2PL > 7G4hT8ZVxMODhmSzX/S3H5V0Bz6ZahTDetAMN4Kw5+Ry9JuFZHzA73m > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > As has been the story with the past few commits, much of the resource > acquisition logic is totally identical between different generations > and there's no good reason to invent a new function for each one. > > Commonize core_get() and rename it to venus_get_resources() to be more > meaningful. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/core.c | 8 +++----- > drivers/media/platform/qcom/venus/pm_helpers.c | 5 +---- > drivers/media/platform/qcom/venus/pm_helpers.h | 3 +-- > 3 files changed, 5 insertions(+), 11 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index 680674dd0d68..873affe17537 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -334,11 +334,9 @@ static int venus_probe(struct platform_device *pdev) > return PTR_ERR(core->resets[i]); > } > > - if (core->pm_ops->core_get) { > - ret = core->pm_ops->core_get(core); > - if (ret) > - return ret; > - } > + ret = venus_get_resources(core); > + if (ret) > + return ret; > > ret = dma_set_mask_and_coherent(dev, res->dma_mask); > if (ret) > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c > index a292c788ffba..1cbcffbc29af 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.c > +++ b/drivers/media/platform/qcom/venus/pm_helpers.c > @@ -326,7 +326,6 @@ static int load_scale_v1(struct venus_inst *inst) > } > > static const struct venus_pm_ops pm_ops_v1 = { > - .core_get = venus_clks_get, > .load_scale = load_scale_v1, > }; > > @@ -395,7 +394,6 @@ static int venc_power_v3(struct device *dev, int on) > } > > static const struct venus_pm_ops pm_ops_v3 = { > - .core_get = venus_clks_get, > .vdec_get = vdec_get_v3, > .vdec_power = vdec_power_v3, > .venc_get = venc_get_v3, > @@ -920,7 +918,7 @@ static int core_resets_reset(struct venus_core *core) > return ret; > } > > -static int core_get_v4(struct venus_core *core) > +int venus_get_resources(struct venus_core *core) > { > struct device *dev = core->dev; > const struct venus_resources *res = core->res; > @@ -1109,7 +1107,6 @@ static int load_scale_v4(struct venus_inst *inst) > } > > static const struct venus_pm_ops pm_ops_v4 = { > - .core_get = core_get_v4, > .vdec_get = vdec_get_v4, > .vdec_put = vdec_put_v4, > .vdec_power = vdec_power_v4, > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.h b/drivers/media/platform/qcom/venus/pm_helpers.h > index 3014b39aa6e3..7a55a55029f3 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.h > +++ b/drivers/media/platform/qcom/venus/pm_helpers.h > @@ -10,8 +10,6 @@ struct venus_core; > #define POWER_OFF 0 > > struct venus_pm_ops { > - int (*core_get)(struct venus_core *core); > - > int (*vdec_get)(struct device *dev); > void (*vdec_put)(struct device *dev); > int (*vdec_power)(struct device *dev, int on); > @@ -28,6 +26,7 @@ struct venus_pm_ops { > const struct venus_pm_ops *venus_pm_get(enum hfi_version version); > int venus_core_power(struct venus_core *core, int on); > void vcodec_domains_put(struct venus_core *core); > +int venus_get_resources(struct venus_core *core); > > static inline int venus_pm_load_scale(struct venus_inst *inst) > { > > From patchwork Fri Feb 9 21:10:02 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551863 > Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com > [209.85.208.51]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A69F4D584 > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:10:21 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.208.51 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707513023; cv=none; > b=Inz5Lc6MWMJmsxky6Ij6BgAG3orTkcRYr1XY+Eaqxjt//5GqHMS1o5DucGNY22hd/lU6yk45iBJdSAH4GFlPV12dKvLl7J/Qw95i7mip4Spt/iAzcYscNEAMpWU1uEwqni34vF3mnw/UmmWe+YWmS9mP/U8PrOn19HzyU3+pDoE= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707513023; c=relaxed/simple; > bh=j6RqB7qhdLQ/4O4liND2yJpb9uwEoUR3RICjb3kPkBU=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=ndDfOCWqcsqYZUTuMBZr3hJKGTc/UGj6kHyZMdBPXTWiJckm16hVmjIPaDgNeOfJML5OyBFvECmNc3YcGxRQwiwZbYm8FNJSiaPpxkHnkMpVOaAJC7fFiybcZPKpySBts//3YL9XPTCNc9oVRh7SaBrf9eHtLifXk2vsHb6mt4Y= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=zaLCgF10; arc=none smtp.client-ip=209.85.208.51 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="zaLCgF10" > Received: by mail-ed1-f51.google.com with SMTP id > 4fb4d7f45d1cf-560c696ccffso4278297a12.1 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:10:21 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707513020; x=1708117820; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=js2pEuzAV2nN8L7KReaasWsLTFytDhFcrYh7TQGAyMk=; > b=zaLCgF10SoUcJpVrjbPlsxr2BftQgi9Kl0FsRFzKFb9Qt0xgAeTi6XZ0A1Vm/FWrku > f6b2RLKzeiPIppiySgWamvlNt2r+YTWIgMNpsO0RlbmIswK3e78hGwE/L64rdkYxb5wH > 3LtnAvKzymyln1b0N183fqjsdaLfdOPI9RRrdW3sRIgxX9hF2zCng0TGREqz0HuqQD2O > F0zfkLvf4Cr/rTu6G0BPgWwK2TiHwgoC9gkCT8h77eXm1BZ4TKOFfp91wNy5IiX49tEz > WXyofReHQA+/7LX9YyCzZtzCfAoCUduwZtHM2xYNeSq2JIxuCNg2dvBjjFvqnp3izf90 > kV0Q== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707513020; x=1708117820; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=js2pEuzAV2nN8L7KReaasWsLTFytDhFcrYh7TQGAyMk=; > b=v7LUQRKBDgGP7n3u/0ZvbWv24deKWnsl1Oiu2Xi3ELAyrL2xxl9SUWnI2EaXqGrTWC > +zNATnXbvt4DeeKoaFeJsC2v86/XoHQF4u3UTmiCGYJZ+pmXBOylGI1x1KPeXeMmqH4s > WtDCYekVg2QOFIj/mGZlFszbqVSr3Y4cMG3sPmLigXIQrfyZDcyALy0mjpTTztJl8v5I > 9cPL9MPMYgzqQTKcuvuA96ln02mWVqvGW9lHnkA3vel9ADYtIWUx4WZRiJhQZRXScr+a > fpujAWw0pjNxLv62tjVY4ykkOdA0GulYCD82FxryHOIGhOGd8dzT/b5Zx/O7PMBbSHg6 > +mZQ== > X-Forwarded-Encrypted: i=1; > AJvYcCUv5gXGEgZSy3YYWg8EYXzK7jYl6oAmVa9KvJdWS9NR77yXWQagvFW15MkH8WZ/8oa1PhCAF23ItZ4vJsRxN6hh7nO0s5YM4qUmVmQ= > X-Gm-Message-State: AOJu0YxLlmDno5WwXZYH2ig7dlon2o12aL4BorGwWMjTjP7V89Yk+fqk > 9dQPHvNtb/G4IR02tANQAJ4Til4Drn9skU2xhNfKbezxO5GffKR5Kkr7RkWn8Mw= > X-Google-Smtp-Source: > AGHT+IEbaYD180/1YWnZfYBOu4acFr+aUCsPsCkXwJANGBmdc0kktppCzoGX0W+52rZk5nA8+pjDHQ== > X-Received: by 2002:a17:907:9872:b0:a3b:dde8:6a57 with SMTP id > ko18-20020a170907987200b00a3bdde86a57mr258546ejc.23.1707513019779; > Fri, 09 Feb 2024 13:10:19 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCVPsj3/JL+m49YumWioOb6hwJ4PZyfKAxV5EBoHXLB5kuDoUHAT21d6q3TbKuDtpnSbNT5eti0yu8inmkuW8ZKWsGOB8MZnb0uZL4O6bOK42VPeszj8Nx5eLHUJApnynyPhSFx3aJG4J68M1X5JYcn+dXtmof8GcRQi+ChJXdlun1vgU4aYYnKuDlKD37dv9i4Y2Vftyt4A0iUX7A1jqGiSim/FhnEUO+udGIqK9Mjd/AXQ4jmpHvN+w56tUf1E2atIi75D/S2ck/2wk2B+tBTcLzYHANjLba98Gc/LhF6MMcHl25dPW0YZ8JEfgeYKXAm/mErnuwJE6zWDOY9XzWQEett5QI5qI2Wbizos8SeA3BWakMc1rdWozZKoUkK01Ue+y2zZkQzx4hhyMqBKBdxuCrqZvwyzw+aejGPstn0ukY4CN5GI/O/jSPo1FN0MjF60xxpaQzpKzn4sFOrFRxPRs5LbTapiszolVbeQPov7cy6+vRDV2+HPS/lnpOXCNuXLFg== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.10.18 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:10:19 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:10:02 +0100 > Subject: [PATCH v2 18/20] media: venus: pm_helpers: Commonize vdec_get() > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-18-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512986; l=4126; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=j6RqB7qhdLQ/4O4liND2yJpb9uwEoUR3RICjb3kPkBU=; > b=9Y5pQbsbW/NkpOZZSBVKI4DPo8gIzWCYvTPJUpWCb0ma63WrBhZU1JhFW+k4Zm4FDhDj7S0kp > Y0A4IGdL18fBYS2FcvBw1mtqr/tI+ssfAfheQykKMGtFBr2FBMYgYYh > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > This function can be very easily commonized between the supported gens. > Do so! > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/pm_helpers.c | 22 ++-------------------- > drivers/media/platform/qcom/venus/pm_helpers.h | 2 +- > drivers/media/platform/qcom/venus/vdec.c | 9 +++++++-- > 3 files changed, 10 insertions(+), 23 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c > index 1cbcffbc29af..cf0794acf5d0 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.c > +++ b/drivers/media/platform/qcom/venus/pm_helpers.c > @@ -125,7 +125,7 @@ static int core_clks_set_rate(struct venus_core *core, unsigned long freq) > return 0; > } > > -static int vcodec_clks_get(struct venus_core *core, struct device *dev, u8 id) > +int vcodec_clks_get(struct venus_core *core, struct device *dev, u8 id) > { > char buf[13] = { 0 }; /* vcodecX_core\0 */ > > @@ -158,6 +158,7 @@ static int vcodec_clks_get(struct venus_core *core, struct device *dev, u8 id) > > return 0; > } > +EXPORT_SYMBOL_GPL(vcodec_clks_get); > > static int vcodec_clks_enable(struct venus_core *core, u8 id) > { > @@ -345,13 +346,6 @@ vcodec_control_v3(struct venus_core *core, u32 session_type, bool enable) > writel(1, ctrl); > } > > -static int vdec_get_v3(struct device *dev) > -{ > - struct venus_core *core = dev_get_drvdata(dev); > - > - return vcodec_clks_get(core, dev, 0); > -} > - > static int vdec_power_v3(struct device *dev, int on) > { > struct venus_core *core = dev_get_drvdata(dev); > @@ -394,7 +388,6 @@ static int venc_power_v3(struct device *dev, int on) > } > > static const struct venus_pm_ops pm_ops_v3 = { > - .vdec_get = vdec_get_v3, > .vdec_power = vdec_power_v3, > .venc_get = venc_get_v3, > .venc_power = venc_power_v3, > @@ -759,16 +752,6 @@ static int coreid_power_v4(struct venus_inst *inst, int on) > return ret; > } > > -static int vdec_get_v4(struct device *dev) > -{ > - struct venus_core *core = dev_get_drvdata(dev); > - > - if (!legacy_binding) > - return 0; > - > - return vcodec_clks_get(core, dev, 0); > -} > - > static void vdec_put_v4(struct device *dev) > { > struct venus_core *core = dev_get_drvdata(dev); > @@ -1107,7 +1090,6 @@ static int load_scale_v4(struct venus_inst *inst) > } > > static const struct venus_pm_ops pm_ops_v4 = { > - .vdec_get = vdec_get_v4, > .vdec_put = vdec_put_v4, > .vdec_power = vdec_power_v4, > .venc_get = venc_get_v4, > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.h b/drivers/media/platform/qcom/venus/pm_helpers.h > index 7a55a55029f3..4afc57dac865 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.h > +++ b/drivers/media/platform/qcom/venus/pm_helpers.h > @@ -10,7 +10,6 @@ struct venus_core; > #define POWER_OFF 0 > > struct venus_pm_ops { > - int (*vdec_get)(struct device *dev); > void (*vdec_put)(struct device *dev); > int (*vdec_power)(struct device *dev, int on); > > @@ -27,6 +26,7 @@ const struct venus_pm_ops *venus_pm_get(enum hfi_version version); > int venus_core_power(struct venus_core *core, int on); > void vcodec_domains_put(struct venus_core *core); > int venus_get_resources(struct venus_core *core); > +int vcodec_clks_get(struct venus_core *core, struct device *dev, u8 id); > > static inline int venus_pm_load_scale(struct venus_inst *inst) > { > diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c > index 29130a9441e7..d127311100cd 100644 > --- a/drivers/media/platform/qcom/venus/vdec.c > +++ b/drivers/media/platform/qcom/venus/vdec.c > @@ -1788,8 +1788,13 @@ static int vdec_probe(struct platform_device *pdev) > > platform_set_drvdata(pdev, core); > > - if (core->pm_ops->vdec_get) { > - ret = core->pm_ops->vdec_get(dev); > + /* > + * If the vcodec core clock is missing by now, it either doesn't exist > + * (8916) or deprecated bindings with pre-assigned core functions and > + * resources under the decoder node are in use. > + */ > + if (!core->vcodec_core_clks[0]) { > + ret = vcodec_clks_get(core, dev, 0); > if (ret) > return ret; > } > > From patchwork Fri Feb 9 21:10:03 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551864 > Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com > [209.85.167.52]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id 16D504F211 > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:10:22 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.167.52 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707513025; cv=none; > b=ceNXk4jDUXVwUrpymDtF86L/d56X4whw1ppA7bs9TO7P1VqxhpWhrnFBXwJoFQIRPnWgIT+HCK4m9kQbkfcTLYZeV+v5lSlIu+HDFLleSQIx1oUSbv6rq+f5FPnBFq4yjTTiK2UPSfoy0325k5VtauSSPuQ0lRV6o+dshr8b71M= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707513025; c=relaxed/simple; > bh=xmr9gBLALZZ4tCzhH3tzwTSX0EVNrOb18RsCpry8TQQ=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=q5z329ISFtGrejD6W00oeR1y/JyKFVpTOFHxRqoG5/x5OyFmxnBXqKGDTnuH+7JOOnIN4Tyn9k7lgVl941Egv1RTzBC5i3zVRS0sDAjL4dK/i0JMolT1K9DCr5MktUFhiiWOB4FkXA6366uLOS3H0ZVKdk9rDrPmN6N+dF5mCuM= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=ySdP1GTe; arc=none smtp.client-ip=209.85.167.52 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="ySdP1GTe" > Received: by mail-lf1-f52.google.com with SMTP id > 2adb3069b0e04-51178bbb5d9so1084982e87.2 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:10:22 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707513021; x=1708117821; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=yFsyNvwxQilGz6zxZXhAEZJ3UdBMC1zpxUAmMEMQ0vg=; > b=ySdP1GTee9qIBb82i6hVQjoMA4TKieaiB6Hw5nhkFAIhPj4z8jkrF+V9h2GBWhBz/0 > wRhZNFBKKOH73DDwvw/yc55FNuZyu9LGxlULyy9+lyTlovct0nmINdbD1DI4g7H5dnR6 > LT8w5RO6n/gyM3WeDMIwdgrR+r0OQfqwx3hOkcHNcHk6kBXRDETjJCKskhXik/KsWxlK > gZxsEPG38R+RLtXHwG9PMUplyJhuSvQsnwiEGtnLvnWld66P72DVUnmuOiq62/mz4E+W > KtmeirEexc69Yj7EKdXBBgxYj+LtPc4lXOpfLrxPWZF0QwneZTc9seHYATy/KIMncgNs > AwTA== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707513021; x=1708117821; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=yFsyNvwxQilGz6zxZXhAEZJ3UdBMC1zpxUAmMEMQ0vg=; > b=PXsGBJ5dpm62usgm5xkvWHar7sweyWzFB42kKNldkBPHpO/WMc6YR86QDreHMVqy7G > yZ7rZDk06TKxPJS0rW1VK6CWoCfSDPKZZvQxvXS11WniIWYVuUe+z1GWlftIo6WlWhvk > pZZbpPOlh/EUBAEk5N+KQrz8JJsHNdTjAa6ktlawmduEDvECzL+FmehHdKnT0WbPvvg4 > rD7MSL+7v1Y7BnviCH/m2CUUwjzDCHB/cOv/o9nxL8++EbhuYiGsfnkSALO3rZD2Z+mG > ODupa3oXU/ODLSnZ1PvdaLs2Be6H3ruQNri4oxcaR0SC4jRTmWNS2TgDltu3NaQqkdTm > 08+g== > X-Forwarded-Encrypted: i=1; > AJvYcCUYONvvH3nqxms1k6foBG/nEvoVnvey8TRiA1Ke1xzl8YIBJnHvOIBW4Ov8QLvinU3mu/vCQsjx99qztzuh65u2HxCjaoYnAZBbBfM= > X-Gm-Message-State: AOJu0YyL14Y364Icy1BJbqANLy5DDrtkydGncYWajxHv0g3AAH2Tgpm+ > V5mA751cIB9St5E9Y//Ez1lPU+2Hr2rog/t2Gmb+S4aVFqvo/mAEIwuuuYhOc1E= > X-Google-Smtp-Source: > AGHT+IH5m6Adda+lr4r8RqsH5XXoU3LKMfPcMTVpNY8oF3akchcnqTu6j/lvK7FFqJPKmaL7zKlX8g== > X-Received: by 2002:ac2:4243:0:b0:511:7fb5:91fc with SMTP id > m3-20020ac24243000000b005117fb591fcmr138038lfl.20.1707513021249; > Fri, 09 Feb 2024 13:10:21 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCUKO/zPhvMnpN6+uHTF30b9UESaSFB4bZ4gS38403aT0q+1mrhv8dT13hiJGJWoj1ozvWqP4pac0v9QBYBiyN2VZ0n4LTUJkFTOK+oc/Oa66alZU2VKzH/ct2bYwPDI/1N75GoJn94MUxmoTE2ri5x3g/K9W3Nkhbz7ZunXYtfZf14tPZh0GJJL/mq7stwyzLXzdoocAoIMaTmqlK02PtQ5ao59lx9bwPjy4Zr3zJ2Nv78zvEH+g0sGWdqTOdsw/dECzh3ZAhBUvg8qIKbwXh8lhc7C1VedGZVSG46ZBIpzd8MpF/l8XXMsL9MFpK1G/ByDYSJC/e6jRJu6G3n+KP0Sdb7thPNhkjIJ9mPb5kStv2O5AUVshlG1cyp7TrJ1bO5tuWCPPjffKHNqfJuwQeELVJFlonuDsuu6wEHUz+cUS68mPrR46FGz1WjFWO89+8OHb+eQAzCf5G9ZClhHQjXmIti30OgIT0jqI4jDD3Cll7yTF7EOmlj50SmLr5H26XuBcg== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.10.19 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:10:20 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:10:03 +0100 > Subject: [PATCH v2 19/20] media: venus: pm_helpers: Commonize venc_get() > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-19-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512986; l=3254; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=xmr9gBLALZZ4tCzhH3tzwTSX0EVNrOb18RsCpry8TQQ=; > b=MwE+XQyOfpxkRSYew5l9uPJPp+xTAWAOlE0VUdIFsDi45PwmWNoRZ5WsueqGgFCumjHspTGlP > OgMpCyCOFhfCl8/Gst+Hkaf/jwhKbL/R957iYMzifXJpYt4qzrhYuDH > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > This function can be very easily commonized between the supported gens. > Do so! > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > drivers/media/platform/qcom/venus/pm_helpers.c | 19 ------------------- > drivers/media/platform/qcom/venus/pm_helpers.h | 1 - > drivers/media/platform/qcom/venus/venc.c | 9 +++++++-- > 3 files changed, 7 insertions(+), 22 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c > index cf0794acf5d0..9df8f2292c17 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.c > +++ b/drivers/media/platform/qcom/venus/pm_helpers.c > @@ -363,13 +363,6 @@ static int vdec_power_v3(struct device *dev, int on) > return ret; > } > > -static int venc_get_v3(struct device *dev) > -{ > - struct venus_core *core = dev_get_drvdata(dev); > - > - return vcodec_clks_get(core, dev, 1); > -} > - > static int venc_power_v3(struct device *dev, int on) > { > struct venus_core *core = dev_get_drvdata(dev); > @@ -389,7 +382,6 @@ static int venc_power_v3(struct device *dev, int on) > > static const struct venus_pm_ops pm_ops_v3 = { > .vdec_power = vdec_power_v3, > - .venc_get = venc_get_v3, > .venc_power = venc_power_v3, > .load_scale = load_scale_v1, > }; > @@ -785,16 +777,6 @@ static int vdec_power_v4(struct device *dev, int on) > return ret; > } > > -static int venc_get_v4(struct device *dev) > -{ > - struct venus_core *core = dev_get_drvdata(dev); > - > - if (!legacy_binding) > - return 0; > - > - return vcodec_clks_get(core, dev, 1); > -} > - > static void venc_put_v4(struct device *dev) > { > struct venus_core *core = dev_get_drvdata(dev); > @@ -1092,7 +1074,6 @@ static int load_scale_v4(struct venus_inst *inst) > static const struct venus_pm_ops pm_ops_v4 = { > .vdec_put = vdec_put_v4, > .vdec_power = vdec_power_v4, > - .venc_get = venc_get_v4, > .venc_put = venc_put_v4, > .venc_power = venc_power_v4, > .coreid_power = coreid_power_v4, > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.h b/drivers/media/platform/qcom/venus/pm_helpers.h > index 4afc57dac865..cbf54e6c6eab 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.h > +++ b/drivers/media/platform/qcom/venus/pm_helpers.h > @@ -13,7 +13,6 @@ struct venus_pm_ops { > void (*vdec_put)(struct device *dev); > int (*vdec_power)(struct device *dev, int on); > > - int (*venc_get)(struct device *dev); > void (*venc_put)(struct device *dev); > int (*venc_power)(struct device *dev, int on); > > diff --git a/drivers/media/platform/qcom/venus/venc.c b/drivers/media/platform/qcom/venus/venc.c > index 3ec2fb8d9fab..d17aeba74b49 100644 > --- a/drivers/media/platform/qcom/venus/venc.c > +++ b/drivers/media/platform/qcom/venus/venc.c > @@ -1557,8 +1557,13 @@ static int venc_probe(struct platform_device *pdev) > > platform_set_drvdata(pdev, core); > > - if (core->pm_ops->venc_get) { > - ret = core->pm_ops->venc_get(dev); > + /* > + * If the vcodec core clock is missing by now, it either doesn't exist > + * (8916) or deprecated bindings with pre-assigned core functions and > + * resources under the decoder node are in use. > + */ > + if (!core->vcodec_core_clks[1]) { > + ret = vcodec_clks_get(core, dev, 1); > if (ret) > return ret; > } > > From patchwork Fri Feb 9 21:10:04 2024 > Content-Type: text/plain; charset="utf-8" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > X-Patchwork-Submitter: Konrad Dybcio <konrad.dybcio@linaro.org> > X-Patchwork-Id: 13551865 > Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com > [209.85.167.49]) > (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) > (No client certificate requested) > by smtp.subspace.kernel.org (Postfix) with ESMTPS id EC3134F8A8 > for <linux-media@vger.kernel.org>; Fri, 9 Feb 2024 21:10:24 +0000 (UTC) > Authentication-Results: smtp.subspace.kernel.org; > arc=none smtp.client-ip=209.85.167.49 > ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; > t=1707513027; cv=none; > b=t2BZTVAlvyGY9kRy7CEbJZMXOJkwQ2XeFYR27O+Y1/tNWpKjJFbfNKx2a2vasgINmml5nkdyWBjBqDdcdvkTag+VEklq4K2kBYXd4a/wcXFbqS5YPSmh0JcwKmDkN5s5tyK/cpYt44XWdMePLNLuMjlX41VOVX6oKx7QPDGspaY= > ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; > s=arc-20240116; t=1707513027; c=relaxed/simple; > bh=Fz9/3nwY3iRMESW9ND892gH2ujeyGwLuBsrH62OMhc8=; > h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: > In-Reply-To:To:Cc; > b=ktEW23ViQz2eC8f+5GVxRXtSH/e1T66jN8fGxODJkblPAEbNKT1VBUhEV0Kb9dTkSiO+gOu9GWF3KqRU7oaxN55GxhkRpP8+WPw5aPsxEMTtROtqRgLjqNvvnInLE2U2IH6BrTa5gJ8PfiflfccLr+HNcQKg2ZlF+6MMAoT3LOk= > ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org; > spf=pass smtp.mailfrom=linaro.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b=H4v71HX6; arc=none smtp.client-ip=209.85.167.49 > Authentication-Results: smtp.subspace.kernel.org; > dmarc=pass (p=none dis=none) header.from=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > spf=pass smtp.mailfrom=linaro.org > Authentication-Results: smtp.subspace.kernel.org; > dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org > header.b="H4v71HX6" > Received: by mail-lf1-f49.google.com with SMTP id > 2adb3069b0e04-5116ec49081so1577972e87.2 > for <linux-media@vger.kernel.org>; > Fri, 09 Feb 2024 13:10:24 -0800 (PST) > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=linaro.org; s=google; t=1707513023; x=1708117823; > darn=vger.kernel.org; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:from:to:cc:subject:date:message-id > :reply-to; > bh=VBuTuqSBCGp1wdV2drsgjw3VLfRlaM3TQsPOZG9m4W0=; > b=H4v71HX6mKe5gMPn+3B0kX/sDpU2QYy3U+BOFhg8E3nCKWFJo7GI1rXNMq5HiM2i7d > TuWz1+ZSiSRbkKkfSGkbpnaruRWc8gTPTaczdVCigRJ6FdF3lsZkP55Q9xUIa6M8ml3G > 4yicNypI7/+2yaL+CigGp0DP1XZV3IOoIrqxIwZ1tcZ+6PKutB3WiNvDVrtTV0hZTbBX > lS2OjFEDXVdBjYbmvuGVDrvrIZYcPD+1Ag82mOCenYR309KDLEKIdzDTT4B3BjQVJnyE > Ik8Ck0JYm1NJhzH28GC+yYXc0Ocho8WnI9lOXI7q/dOL8C+ckwSEUgiOvTrgbEdAewgD > seNg== > X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=1e100.net; s=20230601; t=1707513023; x=1708117823; > h=cc:to:in-reply-to:references:message-id:content-transfer-encoding > :mime-version:subject:date:from:x-gm-message-state:from:to:cc > :subject:date:message-id:reply-to; > bh=VBuTuqSBCGp1wdV2drsgjw3VLfRlaM3TQsPOZG9m4W0=; > b=MhVKRAfYoG4LVYOv2pdD2pRPqkX6/IxpogjWScjYCwz7d2TZP/YfxEYqUN8aNChKb4 > 5pBU41fnbzAA4xVXNIll5CxU+dr4LcSt4Nqq4XQHg+UmIvd9vf1T/OIu2pWc7C1xCbtz > Bk8wxhaRlNVttFi3D9Ks5nvGzErdFt8MEJdC5TnQMmz3jYqyfi1wd+pJ9+8jk60yWrv/ > piCeVsWs9aHr7IT59jb4LYdtlaC3ALC/0x9VtxI3xilbJLJBPsUUVkpWdK0V8T4fA7cp > l3fu5tDthHUQPwcmvSmiLzyHdSZdnPRKzuR3hmdMDl9G/W2igwFnL9XVphjFBSkQAQAA > v3rA== > X-Gm-Message-State: AOJu0YzrjXkC7NrPmDw+6xYJMD2TaciryZYTUgOcmmUqM+Hs+LCKP9mM > 69TKjYkqT3/HvDH7feBb0lurD68mMLK203tIF6y6iDe3VwlWSGT5pD/cRRzcAyk= > X-Google-Smtp-Source: > AGHT+IFmDovCNo8IXlypQCGqzNluIsgzHOnrtPCmHDEWychihLMIbm3oYmNVKBmYhUe4EhbDalBWGg== > X-Received: by 2002:ac2:42cb:0:b0:511:429e:43d4 with SMTP id > n11-20020ac242cb000000b00511429e43d4mr153429lfl.11.1707513023199; > Fri, 09 Feb 2024 13:10:23 -0800 (PST) > X-Forwarded-Encrypted: i=1; > AJvYcCXaCO1qT04kwtps/bfEISjBC58UTjh+OzcG6dJ/58GzZqaZ4sJXT0ZCCFTSZO4GEUOoVbaCB2hkW2i+iA8G+/jiWkr6FmSe3dUxfhzl5X7XuewdWZPHq72K/dUggw9LviQbCuhILgmFoZlf/UWuAXfeE8ZB1ICSPB1DQSPE02/PsVIwmiaF0c1w2tPagVpJczZXASAWiid9Frgy5PphXUxjz0qpSZoQwm9wQXfZGyM9BwoxrbBl/rmiqovVVxw7WHtftYgYAbJm/e3I6EpSjMC8oayLxmZXCRkaryoFx2b3Un+gZZXJMd20001HWk5q76RHVB+tFrq76AlanSx2mQzoGdpyAaRD7ilmuQudlWtiep6I/mAlpnfka0U3c7oBrpsAeMD0+BLP3M/4g/KSly61ErLdj1mvdBooNXwsbIB3RW87YIbynNB6VOfB+tQJGnw0XpgpXzipH0uEuLzNSVN4HN/qo368y4TUlqYT4ULzxKZ2J8AkWThmxWTgPyZcSTmnbQ== > Received: from [10.167.154.1] (037008245233.garwolin.vectranet.pl. > [37.8.245.233]) > by smtp.gmail.com with ESMTPSA id > vo5-20020a170907a80500b00a3be3b27d0bsm1056517ejc.49.2024.02.09.13.10.21 > (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); > Fri, 09 Feb 2024 13:10:22 -0800 (PST) > From: Konrad Dybcio <konrad.dybcio@linaro.org> > Date: Fri, 09 Feb 2024 22:10:04 +0100 > Subject: [PATCH v2 20/20] media: venus: pm_helpers: Use reset_bulk API > Precedence: bulk > X-Mailing-List: linux-media@vger.kernel.org > List-Id: <linux-media.vger.kernel.org> > List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> > List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> > MIME-Version: 1.0 > Message-Id: <20230911-topic-mars-v2-20-3dac84b88c4b@linaro.org> > References: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > In-Reply-To: <20230911-topic-mars-v2-0-3dac84b88c4b@linaro.org> > To: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>, > Vikash Garodia <quic_vgarodia@quicinc.com>, > Bryan O'Donoghue <bryan.odonoghue@linaro.org>, > Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, > Mauro Carvalho Chehab <mchehab@kernel.org>, > Dikshita Agarwal <quic_dikshita@quicinc.com>, > Philipp Zabel <p.zabel@pengutronix.de> > Cc: Marijn Suijten <marijn.suijten@somainline.org>, > Stanimir Varbanov <stanimir.varbanov@linaro.org>, > Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, > linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, > linux-kernel@vger.kernel.org, Konrad Dybcio <konrad.dybcio@linaro.org> > X-Mailer: b4 0.12.2 > X-Developer-Signature: v=1; a=ed25519-sha256; t=1707512986; l=3454; > i=konrad.dybcio@linaro.org; s=20230215; h=from:subject:message-id; > bh=Fz9/3nwY3iRMESW9ND892gH2ujeyGwLuBsrH62OMhc8=; > b=Fd7i7FaWiwaHVHHLebF/wCA/vcsVdLEcCtmGGg18YNUn3FNRyH6lEVGWeoBqDEYk1gfz8xMJZ > MaSw0hu4S5pCKtrocK1nPDg6flxKKaGSCbv2ywxGWlw/Sy04vZUlTz2 > X-Developer-Key: i=konrad.dybcio@linaro.org; a=ed25519; > pk=iclgkYvtl2w05SSXO5EjjSYlhFKsJ+5OSZBjOkQuEms= > > All of the resets are toggled together. Use the bulk api to save on some > code complexity. > > The delay between resets is now correctly determined by the reset > framework. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de> > --- > drivers/media/platform/qcom/venus/core.c | 15 ++++++++++----- > drivers/media/platform/qcom/venus/core.h | 4 ++-- > drivers/media/platform/qcom/venus/pm_helpers.c | 15 +++------------ > 3 files changed, 15 insertions(+), 19 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index 873affe17537..ff5601a5ce77 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -328,11 +328,16 @@ static int venus_probe(struct platform_device *pdev) > if (ret) > return ret; > > - for (i = 0; i < res->resets_num; i++) { > - core->resets[i] = devm_reset_control_get_exclusive(dev, res->resets[i]); > - if (IS_ERR(core->resets[i])) > - return PTR_ERR(core->resets[i]); > - } > + core->resets = devm_kcalloc(dev, res->resets_num, sizeof(*core->resets), GFP_KERNEL); > + if (res->resets_num && !core->resets) > + return -ENOMEM; > + > + for (i = 0; i < res->resets_num; i++) > + core->resets[i].id = res->resets[i]; > + > + ret = devm_reset_control_bulk_get_exclusive(dev, res->resets_num, core->resets); > + if (ret) > + return dev_err_probe(dev, ret, "Failed to get resets\n"); > > ret = venus_get_resources(core); > if (ret) > diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platform/qcom/venus/core.h > index 6ecaa3e38cac..2376b9cbdf2c 100644 > --- a/drivers/media/platform/qcom/venus/core.h > +++ b/drivers/media/platform/qcom/venus/core.h > @@ -130,7 +130,7 @@ struct venus_format { > * @pmdomains: a pointer to a list of pmdomains > * @opp_dl_venus: an device-link for device OPP > * @opp_pmdomain: an OPP power-domain > - * @resets: an array of reset signals > + * @resets: a reset_control_bulk_data array of hardware reset signals > * @vdev_dec: a reference to video device structure for decoder instances > * @vdev_enc: a reference to video device structure for encoder instances > * @v4l2_dev: a holder for v4l2 device structure > @@ -183,7 +183,7 @@ struct venus_core { > struct dev_pm_domain_list *pmdomains; > struct device_link *opp_dl_venus; > struct device *opp_pmdomain; > - struct reset_control *resets[VIDC_RESETS_NUM_MAX]; > + struct reset_control_bulk_data *resets; > struct video_device *vdev_dec; > struct video_device *vdev_enc; > struct v4l2_device v4l2_dev; > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c > index 9df8f2292c17..170fb131cb1e 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.c > +++ b/drivers/media/platform/qcom/venus/pm_helpers.c > @@ -865,21 +865,12 @@ void vcodec_domains_put(struct venus_core *core) > static int core_resets_reset(struct venus_core *core) > { > const struct venus_resources *res = core->res; > - unsigned int i; > int ret; > > - for (i = 0; i < res->resets_num; i++) { > - ret = reset_control_assert(core->resets[i]); > - if (ret) > - goto err; > - > - usleep_range(150, 250); > - ret = reset_control_deassert(core->resets[i]); > - if (ret) > - goto err; > - } > + ret = reset_control_bulk_reset(res->resets_num, core->resets); > + if (ret) > + dev_err(core->dev, "Failed to toggle resets: %d\n", ret); > > -err: > return ret; > } >
diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c index 502822059498..8bd0ce4ce69d 100644 --- a/drivers/media/platform/qcom/venus/pm_helpers.c +++ b/drivers/media/platform/qcom/venus/pm_helpers.c @@ -41,24 +41,23 @@ static int core_clks_get(struct venus_core *core) static int core_clks_enable(struct venus_core *core) { const struct venus_resources *res = core->res; - const struct freq_tbl *freq_tbl = core->res->freq_tbl; - unsigned int freq_tbl_size = core->res->freq_tbl_size; - unsigned long freq; + struct dev_pm_opp *opp; + unsigned long freq = 0; unsigned int i; int ret; - if (!freq_tbl) - return -EINVAL; + if (core->has_opp_table) { + opp = dev_pm_opp_find_freq_ceil(core->dev, &freq); + if (IS_ERR(opp)) + return PTR_ERR(opp); + dev_pm_opp_put(opp); - freq = freq_tbl[freq_tbl_size - 1].freq; + ret = dev_pm_opp_set_rate(core->dev, freq); + if (ret) + return ret; + } for (i = 0; i < res->clks_num; i++) { - if (IS_V6(core)) { - ret = clk_set_rate(core->clks[i], freq); - if (ret) - goto err; - } - ret = clk_prepare_enable(core->clks[i]); if (ret) goto err;
Commit c22b1a29497c ("media: venus: core,pm: Vote for min clk freq during venus boot") intended to up the rate of the Venus core clock from the XO minimum to something more reasonable, based on the per- SoC frequency table. Unfortunately, it ended up calling set_rate with that same argument on all clocks in res->clks. Fix that using the OPP API. Fixes: c22b1a29497c ("media: venus: core,pm: Vote for min clk freq during venus boot") Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> --- drivers/media/platform/qcom/venus/pm_helpers.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-)