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 <[email protected]>
---
 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(-)

diff --git a/drivers/media/platform/atmel/atmel-isc-base.c 
b/drivers/media/platform/atmel/atmel-isc-base.c
index 350076dd029a..ff40ee2e2759 100644
--- a/drivers/media/platform/atmel/atmel-isc-base.c
+++ b/drivers/media/platform/atmel/atmel-isc-base.c
@@ -716,8 +716,7 @@ static int isc_configure(struct isc_device *isc)
        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 |
diff --git a/drivers/media/platform/atmel/atmel-isc.h 
b/drivers/media/platform/atmel/atmel-isc.h
index 6becc6c3aaf0..d14ae096fbf6 100644
--- a/drivers/media/platform/atmel/atmel-isc.h
+++ b/drivers/media/platform/atmel/atmel-isc.h
@@ -150,6 +150,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
@@ -197,6 +198,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;
diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c 
b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
index f8d1c8ba99b3..6d9942dcd7c1 100644
--- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
+++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
@@ -198,6 +198,9 @@ static int atmel_isc_probe(struct platform_device *pdev)
        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;
-- 
2.25.1

Reply via email to