LinuxTV Patchwork [1/3] media: sun6i: Fix CSI regmap's max_register

login
register
mail settings
Submitter Chen-Yu Tsai
Date Feb. 3, 2019, 4:03 p.m.
Message ID <20190203160358.21050-2-wens@csie.org>
Download mbox | patch
Permalink /patch/54268/
State Under Review
Delegated to: Hans Verkuil
Headers show

Comments

Chen-Yu Tsai - Feb. 3, 2019, 4:03 p.m.
max_register is currently set to 0x1000. This is beyond the mapped
address range of the hardware, so attempts to dump the regmap from
debugfs would trigger a kernel exception.

Furthermore, the useful registers only occupy a small section at the
beginning of the full range. Change the value to 0x9c, the last known
register on the V3s and H3.

On the A31, the register range is extended to support additional
capture channels. Since this is not yet supported, ignore it for now.

Fixes: 5cc7522d8965 ("media: sun6i: Add support for Allwinner CSI V3s")
Cc: <stable@vger.kernel.org>
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Maxime Ripard - Feb. 4, 2019, 8:01 a.m.
On Mon, Feb 04, 2019 at 12:03:56AM +0800, Chen-Yu Tsai wrote:
> max_register is currently set to 0x1000. This is beyond the mapped
> address range of the hardware, so attempts to dump the regmap from
> debugfs would trigger a kernel exception.
> 
> Furthermore, the useful registers only occupy a small section at the
> beginning of the full range. Change the value to 0x9c, the last known
> register on the V3s and H3.
> 
> On the A31, the register range is extended to support additional
> capture channels. Since this is not yet supported, ignore it for now.
> 
> Fixes: 5cc7522d8965 ("media: sun6i: Add support for Allwinner CSI V3s")
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>

Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>

Maxime

Patch

diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
index ee882b66a5ea..332cf81a7ecf 100644
--- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
+++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
@@ -793,7 +793,7 @@  static const struct regmap_config sun6i_csi_regmap_config = {
 	.reg_bits       = 32,
 	.reg_stride     = 4,
 	.val_bits       = 32,
-	.max_register	= 0x1000,
+	.max_register	= 0x9c,
 };
 
 static int sun6i_csi_resource_request(struct sun6i_csi_dev *sdev,

Privacy Policy