mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
media: qcom: camss: Pass icc bandwidth table as a platform parameter
Pass the bandwidth table as a platform parameter not if/else derived pointer to the static table. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
de98fe8d1c
commit
9e0c259777
2 changed files with 11 additions and 21 deletions
|
@ -1485,21 +1485,15 @@ fail_pm:
|
|||
static int camss_icc_get(struct camss *camss)
|
||||
{
|
||||
const struct resources_icc *icc_res;
|
||||
int nbr_icc_paths = 0;
|
||||
int i;
|
||||
|
||||
if (camss->version == CAMSS_8250) {
|
||||
icc_res = &icc_res_sm8250[0];
|
||||
nbr_icc_paths = ICC_SM8250_COUNT;
|
||||
}
|
||||
icc_res = camss->res->icc_res;
|
||||
|
||||
for (i = 0; i < nbr_icc_paths; i++) {
|
||||
for (i = 0; i < camss->res->icc_path_num; i++) {
|
||||
camss->icc_path[i] = devm_of_icc_get(camss->dev,
|
||||
icc_res[i].name);
|
||||
if (IS_ERR(camss->icc_path[i]))
|
||||
return PTR_ERR(camss->icc_path[i]);
|
||||
|
||||
camss->icc_bw_tbl[i] = icc_res[i].icc_bw_tbl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -1742,6 +1736,8 @@ static const struct camss_resources sm8250_resources = {
|
|||
.csiphy_res = csiphy_res_8250,
|
||||
.csid_res = csid_res_8250,
|
||||
.vfe_res = vfe_res_8250,
|
||||
.icc_res = icc_res_sm8250,
|
||||
.icc_path_num = ARRAY_SIZE(icc_res_sm8250),
|
||||
};
|
||||
|
||||
static const struct of_device_id camss_dt_match[] = {
|
||||
|
@ -1758,14 +1754,10 @@ MODULE_DEVICE_TABLE(of, camss_dt_match);
|
|||
static int __maybe_unused camss_runtime_suspend(struct device *dev)
|
||||
{
|
||||
struct camss *camss = dev_get_drvdata(dev);
|
||||
int nbr_icc_paths = 0;
|
||||
int i;
|
||||
int ret;
|
||||
|
||||
if (camss->version == CAMSS_8250)
|
||||
nbr_icc_paths = ICC_SM8250_COUNT;
|
||||
|
||||
for (i = 0; i < nbr_icc_paths; i++) {
|
||||
for (i = 0; i < camss->res->icc_path_num; i++) {
|
||||
ret = icc_set_bw(camss->icc_path[i], 0, 0);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
@ -1777,17 +1769,14 @@ static int __maybe_unused camss_runtime_suspend(struct device *dev)
|
|||
static int __maybe_unused camss_runtime_resume(struct device *dev)
|
||||
{
|
||||
struct camss *camss = dev_get_drvdata(dev);
|
||||
int nbr_icc_paths = 0;
|
||||
const struct resources_icc *icc_res = camss->res->icc_res;
|
||||
int i;
|
||||
int ret;
|
||||
|
||||
if (camss->version == CAMSS_8250)
|
||||
nbr_icc_paths = ICC_SM8250_COUNT;
|
||||
|
||||
for (i = 0; i < nbr_icc_paths; i++) {
|
||||
for (i = 0; i < camss->res->icc_path_num; i++) {
|
||||
ret = icc_set_bw(camss->icc_path[i],
|
||||
camss->icc_bw_tbl[i].avg,
|
||||
camss->icc_bw_tbl[i].peak);
|
||||
icc_res[i].icc_bw_tbl.avg,
|
||||
icc_res[i].icc_bw_tbl.peak);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -84,6 +84,8 @@ struct camss_resources {
|
|||
const struct camss_subdev_resources *csid_res;
|
||||
const struct camss_subdev_resources *ispif_res;
|
||||
const struct camss_subdev_resources *vfe_res;
|
||||
const struct resources_icc *icc_res;
|
||||
const unsigned int icc_path_num;
|
||||
};
|
||||
|
||||
struct camss {
|
||||
|
@ -105,7 +107,6 @@ struct camss {
|
|||
struct device **genpd;
|
||||
struct device_link **genpd_link;
|
||||
struct icc_path *icc_path[ICC_SM8250_COUNT];
|
||||
struct icc_bw_tbl icc_bw_tbl[ICC_SM8250_COUNT];
|
||||
const struct camss_resources *res;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue