mirror of https://gitee.com/openkylin/linux.git
[media] rtl2832: use regmap reg cache
Enable regmap register cache in order to reduce IO. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
e20b0cf2f3
commit
dcadb82a7a
|
@ -986,6 +986,22 @@ static struct dvb_frontend_ops rtl2832_ops = {
|
||||||
.read_ber = rtl2832_read_ber,
|
.read_ber = rtl2832_read_ber,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static bool rtl2832_volatile_reg(struct device *dev, unsigned int reg)
|
||||||
|
{
|
||||||
|
switch (reg) {
|
||||||
|
case 0x305:
|
||||||
|
case 0x33c:
|
||||||
|
case 0x34e:
|
||||||
|
case 0x351:
|
||||||
|
case 0x40c ... 0x40d:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We implement own I2C access routines for regmap in order to get manual access
|
* We implement own I2C access routines for regmap in order to get manual access
|
||||||
* to I2C adapter lock, which is needed for I2C mux adapter.
|
* to I2C adapter lock, which is needed for I2C mux adapter.
|
||||||
|
@ -1240,9 +1256,11 @@ static int rtl2832_probe(struct i2c_client *client,
|
||||||
static const struct regmap_config regmap_config = {
|
static const struct regmap_config regmap_config = {
|
||||||
.reg_bits = 8,
|
.reg_bits = 8,
|
||||||
.val_bits = 8,
|
.val_bits = 8,
|
||||||
|
.volatile_reg = rtl2832_volatile_reg,
|
||||||
.max_register = 5 * 0x100,
|
.max_register = 5 * 0x100,
|
||||||
.ranges = regmap_range_cfg,
|
.ranges = regmap_range_cfg,
|
||||||
.num_ranges = ARRAY_SIZE(regmap_range_cfg),
|
.num_ranges = ARRAY_SIZE(regmap_range_cfg),
|
||||||
|
.cache_type = REGCACHE_RBTREE,
|
||||||
};
|
};
|
||||||
|
|
||||||
dev_dbg(&client->dev, "\n");
|
dev_dbg(&client->dev, "\n");
|
||||||
|
|
Loading…
Reference in New Issue