mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 04:10:18 +09:00
video: rockchip: mpp: rkvenc: Implement get_soc_info() for rv1126 SoCs
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com> Change-Id: I3f35e0d44be68a84c5f16cf72181ea3f0ee11e1c
This commit is contained in:
@@ -960,6 +960,40 @@ static struct monitor_dev_profile enc_mdevp = {
|
||||
.high_temp_adjust = rockchip_monitor_dev_high_temp_adjust,
|
||||
};
|
||||
|
||||
static int rv1126_get_soc_info(struct device *dev, struct device_node *np,
|
||||
int *bin, int *process)
|
||||
{
|
||||
int ret = 0, value = -EINVAL;
|
||||
|
||||
if (of_property_match_string(np, "nvmem-cell-names", "performance") >= 0) {
|
||||
ret = rockchip_get_efuse_value(np, "performance", &value);
|
||||
if (ret) {
|
||||
dev_err(dev, "Failed to get soc performance value\n");
|
||||
return ret;
|
||||
}
|
||||
if (value == 0x1)
|
||||
*bin = 1;
|
||||
else
|
||||
*bin = 0;
|
||||
}
|
||||
if (*bin >= 0)
|
||||
dev_info(dev, "bin=%d\n", *bin);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const struct of_device_id rockchip_rkvenc_of_match[] = {
|
||||
{
|
||||
.compatible = "rockchip,rv1109",
|
||||
.data = (void *)&rv1126_get_soc_info,
|
||||
},
|
||||
{
|
||||
.compatible = "rockchip,rv1126",
|
||||
.data = (void *)&rv1126_get_soc_info,
|
||||
},
|
||||
{},
|
||||
};
|
||||
|
||||
static int rkvenc_devfreq_init(struct mpp_dev *mpp)
|
||||
{
|
||||
struct rkvenc_dev *enc = to_rkvenc_dev(mpp);
|
||||
@@ -982,7 +1016,7 @@ static int rkvenc_devfreq_init(struct mpp_dev *mpp)
|
||||
return 0;
|
||||
}
|
||||
|
||||
ret = rockchip_init_opp_table(mpp->dev, NULL,
|
||||
ret = rockchip_init_opp_table(mpp->dev, rockchip_rkvenc_of_match,
|
||||
"leakage", "venc");
|
||||
if (ret) {
|
||||
dev_err(mpp->dev, "failed to init_opp_table\n");
|
||||
|
||||
Reference in New Issue
Block a user