[PATCH 0/5] media: rkisp1: Fix LSC initial configuration on i.MX8MP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

This patch series fixes the Lens Shading Correction initial
configuration on the i.MX8MP.

The i.MX8MP integrates an ISP8000Nano v18.02, which unlike other
versions currently supported by the driver, gates access to the LSC RAM
with the ISP_CTRL.ISP_ENABLE bit. The initial LSC configuration being
performed before the ISP gets enabled, the writes to the RAM are
ignored, leading to incorrect results.

The series starts with four small drive-by cleanups of the LSC code, and
patch 5/5 then fixes the issue. I'm not totally thrilled by the code
architecture, but I'm not sure why, and I have a feeling doing better
would require a large refactoring of the ISP parameters handling. If
anyone sees an option for a better implementation, please say so.

The series is based on top of "[PATCH 0/7] media: rkisp1: Fix and
improve color space support" ([1]). Reviews for that base series would
thus be appreciated too.

[1] https://lore.kernel.org/linux-media/20220815065235.23797-1-laurent.pinchart@xxxxxxxxxxxxxxxx

Laurent Pinchart (5):
  media: rkisp1: Clean up LSC configuration code
  media: rkisp1: Store LSC register values in u32 variables
  media: rkisp1: Simplify LSC x/y size and grad register macros
  media: rkisp1: Use RKISP1_CIF_ISP_LSC_GRAD_SIZE() for gradient
    registers
  media: rkisp1: Configure LSC after enabling the ISP

 .../platform/rockchip/rkisp1/rkisp1-common.h  |  29 +-
 .../platform/rockchip/rkisp1/rkisp1-isp.c     |   9 +-
 .../platform/rockchip/rkisp1/rkisp1-params.c  | 378 ++++++++++--------
 .../platform/rockchip/rkisp1/rkisp1-regs.h    |  20 +-
 4 files changed, 239 insertions(+), 197 deletions(-)

-- 
Regards,

Laurent Pinchart




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux