| From d31b282e2c0de9c7fb113516820340251f03a625 Mon Sep 17 00:00:00 2001 |
| From: Chen-Yu Tsai <wens@csie.org> |
| Date: Sun, 3 Feb 2019 11:03:56 -0500 |
| Subject: media: sun6i: Fix CSI regmap's max_register |
| |
| From: Chen-Yu Tsai <wens@csie.org> |
| |
| commit d31b282e2c0de9c7fb113516820340251f03a625 upstream. |
| |
| 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> |
| Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> |
| Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- 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_ |
| .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, |