161-media-atmel-atmel-isc-specialize-dma-cfg.patch 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. From c42305f52560a1be6fc25a2f23579c7b323de654 Mon Sep 17 00:00:00 2001
  2. From: Eugen Hristev <[email protected]>
  3. Date: Tue, 13 Apr 2021 12:57:03 +0200
  4. Subject: [PATCH 161/247] media: atmel: atmel-isc: specialize dma cfg
  5. The dma configuration (DCFG) is specific to the product.
  6. Move this configuration in the product specific driver, and add the
  7. field inside the driver struct.
  8. Signed-off-by: Eugen Hristev <[email protected]>
  9. Signed-off-by: Hans Verkuil <[email protected]>
  10. Signed-off-by: Mauro Carvalho Chehab <[email protected]>
  11. ---
  12. drivers/media/platform/atmel/atmel-isc-base.c | 3 +--
  13. drivers/media/platform/atmel/atmel-isc.h | 2 ++
  14. drivers/media/platform/atmel/atmel-sama5d2-isc.c | 3 +++
  15. 3 files changed, 6 insertions(+), 2 deletions(-)
  16. diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
  17. index ed0048e79f3b..07ba439eb7e9 100644
  18. --- a/drivers/media/platform/atmel/atmel-isc-base.c
  19. +++ b/drivers/media/platform/atmel/atmel-isc-base.c
  20. @@ -724,8 +724,7 @@ static int isc_configure(struct isc_device *isc)
  21. rlp_mode = isc->config.rlp_cfg_mode;
  22. pipeline = isc->config.bits_pipeline;
  23. - dcfg = isc->config.dcfg_imode |
  24. - ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
  25. + dcfg = isc->config.dcfg_imode | isc->dcfg;
  26. pfe_cfg0 |= subdev->pfe_cfg0 | ISC_PFE_CFG0_MODE_PROGRESSIVE;
  27. mask = ISC_PFE_CFG0_BPS_MASK | ISC_PFE_CFG0_HPOL_LOW |
  28. diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h
  29. index f208fb691ac9..88ec4268de11 100644
  30. --- a/drivers/media/platform/atmel/atmel-isc.h
  31. +++ b/drivers/media/platform/atmel/atmel-isc.h
  32. @@ -149,6 +149,7 @@ struct isc_ctrls {
  33. * @hclock: Hclock clock input (refer datasheet)
  34. * @ispck: iscpck clock (refer datasheet)
  35. * @isc_clks: ISC clocks
  36. + * @dcfg: DMA master configuration, architecture dependent
  37. *
  38. * @dev: Registered device driver
  39. * @v4l2_dev: v4l2 registered device
  40. @@ -196,6 +197,7 @@ struct isc_device {
  41. struct clk *hclock;
  42. struct clk *ispck;
  43. struct isc_clk isc_clks[2];
  44. + u32 dcfg;
  45. struct device *dev;
  46. struct v4l2_device v4l2_dev;
  47. diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
  48. index 39fc8d4f9bdc..12edeb07b618 100644
  49. --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
  50. +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
  51. @@ -219,6 +219,9 @@ static int atmel_isc_probe(struct platform_device *pdev)
  52. isc->max_width = ISC_SAMA5D2_MAX_SUPPORT_WIDTH;
  53. isc->max_height = ISC_SAMA5D2_MAX_SUPPORT_HEIGHT;
  54. + /* sama5d2-isc - 8 bits per beat */
  55. + isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
  56. +
  57. ret = isc_pipeline_init(isc);
  58. if (ret)
  59. return ret;
  60. --
  61. 2.32.0