summaryrefslogtreecommitdiffstats
path: root/target/linux/at91/patches-5.15/161-media-atmel-atmel-isc-specialize-dma-cfg.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/at91/patches-5.15/161-media-atmel-atmel-isc-specialize-dma-cfg.patch')
-rw-r--r--target/linux/at91/patches-5.15/161-media-atmel-atmel-isc-specialize-dma-cfg.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/target/linux/at91/patches-5.15/161-media-atmel-atmel-isc-specialize-dma-cfg.patch b/target/linux/at91/patches-5.15/161-media-atmel-atmel-isc-specialize-dma-cfg.patch
new file mode 100644
index 0000000000..410831771e
--- /dev/null
+++ b/target/linux/at91/patches-5.15/161-media-atmel-atmel-isc-specialize-dma-cfg.patch
@@ -0,0 +1,60 @@
+From c42305f52560a1be6fc25a2f23579c7b323de654 Mon Sep 17 00:00:00 2001
+From: Eugen Hristev <eugen.hristev@microchip.com>
+Date: Tue, 13 Apr 2021 12:57:03 +0200
+Subject: [PATCH 161/247] media: atmel: atmel-isc: specialize dma cfg
+
+The dma configuration (DCFG) is specific to the product.
+Move this configuration in the product specific driver, and add the
+field inside the driver struct.
+
+Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
+Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
+Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
+---
+ drivers/media/platform/atmel/atmel-isc-base.c | 3 +--
+ drivers/media/platform/atmel/atmel-isc.h | 2 ++
+ drivers/media/platform/atmel/atmel-sama5d2-isc.c | 3 +++
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+--- a/drivers/media/platform/atmel/atmel-isc-base.c
++++ b/drivers/media/platform/atmel/atmel-isc-base.c
+@@ -724,8 +724,7 @@ static int isc_configure(struct isc_devi
+ rlp_mode = isc->config.rlp_cfg_mode;
+ pipeline = isc->config.bits_pipeline;
+
+- dcfg = isc->config.dcfg_imode |
+- ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
++ dcfg = isc->config.dcfg_imode | isc->dcfg;
+
+ pfe_cfg0 |= subdev->pfe_cfg0 | ISC_PFE_CFG0_MODE_PROGRESSIVE;
+ mask = ISC_PFE_CFG0_BPS_MASK | ISC_PFE_CFG0_HPOL_LOW |
+--- a/drivers/media/platform/atmel/atmel-isc.h
++++ b/drivers/media/platform/atmel/atmel-isc.h
+@@ -149,6 +149,7 @@ struct isc_ctrls {
+ * @hclock: Hclock clock input (refer datasheet)
+ * @ispck: iscpck clock (refer datasheet)
+ * @isc_clks: ISC clocks
++ * @dcfg: DMA master configuration, architecture dependent
+ *
+ * @dev: Registered device driver
+ * @v4l2_dev: v4l2 registered device
+@@ -196,6 +197,7 @@ struct isc_device {
+ struct clk *hclock;
+ struct clk *ispck;
+ struct isc_clk isc_clks[2];
++ u32 dcfg;
+
+ struct device *dev;
+ struct v4l2_device v4l2_dev;
+--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
++++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+@@ -219,6 +219,9 @@ static int atmel_isc_probe(struct platfo
+ isc->max_width = ISC_SAMA5D2_MAX_SUPPORT_WIDTH;
+ isc->max_height = ISC_SAMA5D2_MAX_SUPPORT_HEIGHT;
+
++ /* sama5d2-isc - 8 bits per beat */
++ isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
++
+ ret = isc_pipeline_init(isc);
+ if (ret)
+ return ret;