Linux-Media Archive on lore.kernel.org
 help / color / Atom feed
* [GIT PULL] Ressurect the atomisp staging driver
@ 2020-05-01 19:57 Mauro Carvalho Chehab
  2020-05-02  6:03 ` Greg KH
                   ` (2 more replies)
  0 siblings, 3 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-05-01 19:57 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: linux-media, Greg KH, Alan Cox, Alan Cox, linux-kernel

This driver is simply too big for it to be sent to the ML via e-mails. Those
will very likely be rejected due to the e-mail sizes.

So, instead, I'm sending a "GIT PULL" to myself, at the ML.

This series basically "resurrect" this driver from the death, giving it a
second chance to survive.

I did a lot of cleanups on it during my spare time, and changed it to be
able to work with ISP2401 (version A0). Several duplicated files got removed,
several checkpatch warnings solved, and lots of other random things.

My current plans are to have people at the community testing and
contributing with fixes, while I'll keep focused on cleaning its
code and allow to support all ISP variants at the same time
(right now, it requires a build time decision).

That's said, I don't have any Atom hardware with cameras myself, and it
seems that there's at least one version of ISP2401 that may require
some changes (version B0).

So, we don't know if this works or not, but this also applies to any other
driver at staging, as warned when someone tries to use it:

	[    9.270599] atomisp_ov2680: module is from the staging directory, the quality is unknown, you have been warned.
	[    9.350464] atomisp: module is from the staging directory, the quality is unknown, you have been warned.

So, use with care.

Regards,
Mauro

-


The following changes since commit ceab3ac1e60d70afb4e25147d60817c513f235f7:

  media: dvb-frontends: DUMMY_FE should depends on DVB_CORE (2020-04-17 09:21:47 +0200)

are available in the Git repository at:

  git://linuxtv.org/mchehab/experimental.git atomisp_v2


for you to fetch changes up to d3151587fa106c2b71169e5ea7d7de799152745f:

  atomisp: remove some file duplication and do more dir renames (2020-05-01 14:24:58 +0200)

----------------------------------------------------------------
Mauro Carvalho Chehab (69):
      Revert "media: staging: atomisp: Remove driver"
      media: atomisp: fix usage of access_ok() kAPI
      media: atomisp: totalram_pages is now a function
      media: atomisp: replace VFL_TYPE_GRABBER by VFL_TYPE_VIDEO
      media: atomisp: Fix support for time 64 API
      media: atomisp: use cpu_latency_qos_*() instead of pm_qos_update*()
      media: atomisp: use new ida API
      media: atomisp: fix a broken compat32 code
      media: atomisp: allow building the driver again
      media: atomisp: fix several typos
      media: atomisp: fix several coding style issues
      media: atomisp: do lots of other coding style cleanups
      media: atomisp: remove some dead code
      media: atomisp: simplify math_support.h
      media: atomisp: add a way for the driver to know the chipset version
      media: atomisp: atomisp_cmd.c test ISP version in runtime
      media: atomisp: atomisp_dfs_tables.h: don't depend on ISP version
      media: atomisp: pci/atomisp2/*.h remove #ifdef ISP2401
      media: atomisp: atomisp_ioctl.c: get rid of a ISP2400/ISP2401 dependency
      media: atomisp: atomisp_v4l2.c: set wdt timers according with ISP version
      media: atomisp: atomisp_subdev.c check ISP version on runtime
      media: atomisp: atomisp_csi2.c: remove useless ifdefs
      media: atomisp: atomisp_compat_css20.c: detect ISP at runtime
      media: atomisp: atomisp_compat_ioctl32.c: be independent of ISP version
      media: atomisp: sh_css_defs.h: get rid of build time dependencies
      media: atomisp: make sh_css_struct.h independent of ISP version
      media: atomisp: make sh_css_sp_init_pipeline() ISP version independent
      media: atomisp: remove ISP version macros from sh_css_legacy.h
      media: atomisp: remove table duplication from dfs tables
      media: atomisp: unify sh_css_params_shading_id_table_generate()
      media: atomisp: sh_css_param_dvs.h remove ISP version macros
      media: atomisp: print css_version in runtime
      media: atomisp: add support for possible new names
      media: atomisp: css_trace.h: use the newest tracing code
      media: atomisp: ia_css_binary_get_shading_info(): don't test version
      media: atomisp: get rid of some non-existing functions for ISP2401
      media: atomisp: make util.c work with ISP2401 runtime detection
      media: atomisp: sh_css: detect ISP version at runtime
      media: atomisp: isp_const.h: get rid of an unused big define list
      media: atomisp: get rid of several typedef-style defines
      media: atomisp: get rid of trivial ISP2401 dependencies on header files
      media: atomisp: get rid of unused header files
      media: atomisp: remove unused definitions at */isp_capture_defs.h
      media: atomisp: remove several duplicated files
      media: atomisp: remove unused hive_isp_css_host_ids_hrt.h
      media: atomisp: hive_isp_css_defs.h: keep just one copy of it
      media: atomisp: get finish de-duplication of hrt/hive*.h
      media: atomisp: add Asus Transform T101HA ACPI vars
      media: atomisp: use regulator_get_optional() for first attempt
      media: atomisp: remove bayer_io_ls duplication
      media: atomisp: rename anr2 param header file
      media: atomisp: get rid of io_ls/ subdir
      media: atomisp: remove unused duplicated files
      media: atomisp: get rid of trivial version checks at *.h
      media: atomisp: get rid of ia_css_sc_param.h version dependency
      media: atomisp: get rid of ISP_VMEM_IS_BAMEM unused defines
      media: atomisp: get rid of __ISP define tests
      media: atomisp: make all file names unique at atomisp driver
      media: atomisp: simplify makefiles
      media: atomisp: cleanup directory hierarchy
      media: atomisp: get rid of some broken code
      media: atomisp: change function worders and fix include
      media: atomisp: allow building for isp2401
      media: atomisp: cleanup contents of css_2400_system/
      media: atomisp: cleanup contents of css_2401_csi2p_system
      media: atomisp: cleanup contents of css_2401_system
      media: atomisp: get rid of most checks for ISP2401 version
      media: atomisp: add firmware load code for ISP2401 rev B0
      atomisp: remove some file duplication and do more dir renames

 MAINTAINERS                                        |     7 +
 drivers/staging/media/Kconfig                      |     2 +
 drivers/staging/media/Makefile                     |     1 +
 drivers/staging/media/atomisp/Kconfig              |    35 +
 drivers/staging/media/atomisp/Makefile             |   366 +
 drivers/staging/media/atomisp/TODO                 |    74 +
 drivers/staging/media/atomisp/i2c/Kconfig          |    86 +
 drivers/staging/media/atomisp/i2c/Makefile         |    18 +
 drivers/staging/media/atomisp/i2c/atomisp-gc0310.c |  1395 +++
 drivers/staging/media/atomisp/i2c/atomisp-gc2235.c |  1128 ++
 .../media/atomisp/i2c/atomisp-libmsrlisthelper.c   |   207 +
 drivers/staging/media/atomisp/i2c/atomisp-lm3554.c |   961 ++
 .../staging/media/atomisp/i2c/atomisp-mt9m114.c    |  1899 ++++
 drivers/staging/media/atomisp/i2c/atomisp-ov2680.c |  1472 +++
 drivers/staging/media/atomisp/i2c/atomisp-ov2722.c |  1277 +++
 drivers/staging/media/atomisp/i2c/gc0310.h         |   404 +
 drivers/staging/media/atomisp/i2c/gc2235.h         |   680 ++
 drivers/staging/media/atomisp/i2c/mt9m114.h        |  1791 +++
 drivers/staging/media/atomisp/i2c/ov2680.h         |   855 ++
 drivers/staging/media/atomisp/i2c/ov2722.h         |  1272 +++
 drivers/staging/media/atomisp/i2c/ov5693/Kconfig   |    11 +
 drivers/staging/media/atomisp/i2c/ov5693/Makefile  |     2 +
 drivers/staging/media/atomisp/i2c/ov5693/ad5823.h  |    62 +
 .../media/atomisp/i2c/ov5693/atomisp-ov5693.c      |  1995 ++++
 drivers/staging/media/atomisp/i2c/ov5693/ov5693.h  |  1391 +++
 drivers/staging/media/atomisp/include/hmm/hmm.h    |   102 +
 drivers/staging/media/atomisp/include/hmm/hmm_bo.h |   315 +
 .../staging/media/atomisp/include/hmm/hmm_common.h |    96 +
 .../staging/media/atomisp/include/hmm/hmm_pool.h   |   115 +
 drivers/staging/media/atomisp/include/hmm/hmm_vm.h |    65 +
 .../staging/media/atomisp/include/linux/atomisp.h  |  1359 +++
 .../atomisp/include/linux/atomisp_gmin_platform.h  |    36 +
 .../media/atomisp/include/linux/atomisp_platform.h |   247 +
 .../media/atomisp/include/linux/libmsrlisthelper.h |    27 +
 .../staging/media/atomisp/include/media/lm3554.h   |   130 +
 .../staging/media/atomisp/include/mmu/isp_mmu.h    |   169 +
 .../media/atomisp/include/mmu/sh_mmu_mrfld.h       |    24 +
 drivers/staging/media/atomisp/pci/atomisp-regs.h   |   199 +
 drivers/staging/media/atomisp/pci/atomisp_acc.c    |   605 +
 drivers/staging/media/atomisp/pci/atomisp_acc.h    |   119 +
 drivers/staging/media/atomisp/pci/atomisp_cmd.c    |  6629 +++++++++++
 drivers/staging/media/atomisp/pci/atomisp_cmd.h    |   442 +
 drivers/staging/media/atomisp/pci/atomisp_common.h |    74 +
 drivers/staging/media/atomisp/pci/atomisp_compat.h |   663 ++
 .../media/atomisp/pci/atomisp_compat_css20.c       |  4704 ++++++++
 .../media/atomisp/pci/atomisp_compat_css20.h       |   277 +
 .../media/atomisp/pci/atomisp_compat_ioctl32.c     |  1177 ++
 .../media/atomisp/pci/atomisp_compat_ioctl32.h     |   367 +
 drivers/staging/media/atomisp/pci/atomisp_csi2.c   |   426 +
 drivers/staging/media/atomisp/pci/atomisp_csi2.h   |    58 +
 .../staging/media/atomisp/pci/atomisp_dfs_tables.h |    40 +
 drivers/staging/media/atomisp/pci/atomisp_drvfs.c  |   205 +
 drivers/staging/media/atomisp/pci/atomisp_drvfs.h  |    24 +
 drivers/staging/media/atomisp/pci/atomisp_file.c   |   227 +
 drivers/staging/media/atomisp/pci/atomisp_file.h   |    43 +
 drivers/staging/media/atomisp/pci/atomisp_fops.c   |  1305 +++
 drivers/staging/media/atomisp/pci/atomisp_fops.h   |    50 +
 drivers/staging/media/atomisp/pci/atomisp_helper.h |    28 +
 .../staging/media/atomisp/pci/atomisp_internal.h   |   307 +
 drivers/staging/media/atomisp/pci/atomisp_ioctl.c  |  3103 +++++
 drivers/staging/media/atomisp/pci/atomisp_ioctl.h  |    66 +
 drivers/staging/media/atomisp/pci/atomisp_subdev.c |  1423 +++
 drivers/staging/media/atomisp/pci/atomisp_subdev.h |   466 +
 drivers/staging/media/atomisp/pci/atomisp_tables.h |   187 +
 drivers/staging/media/atomisp/pci/atomisp_tpg.c    |   163 +
 drivers/staging/media/atomisp/pci/atomisp_tpg.h    |    38 +
 .../media/atomisp/pci/atomisp_trace_event.h        |   127 +
 drivers/staging/media/atomisp/pci/atomisp_v4l2.c   |  1969 ++++
 drivers/staging/media/atomisp/pci/atomisp_v4l2.h   |    40 +
 .../pci/base/circbuf/interface/ia_css_circbuf.h    |   376 +
 .../base/circbuf/interface/ia_css_circbuf_comm.h   |    58 +
 .../base/circbuf/interface/ia_css_circbuf_desc.h   |   173 +
 .../media/atomisp/pci/base/circbuf/src/circbuf.c   |   320 +
 .../pci/base/refcount/interface/ia_css_refcount.h  |    83 +
 .../media/atomisp/pci/base/refcount/src/refcount.c |   275 +
 drivers/staging/media/atomisp/pci/bits.h           |   104 +
 .../camera/pipe/interface/ia_css_pipe_binarydesc.h |   297 +
 .../camera/pipe/interface/ia_css_pipe_stagedesc.h  |    51 +
 .../pci/camera/pipe/interface/ia_css_pipe_util.h   |    39 +
 .../atomisp/pci/camera/pipe/src/pipe_binarydesc.c  |   873 ++
 .../atomisp/pci/camera/pipe/src/pipe_stagedesc.c   |   118 +
 .../media/atomisp/pci/camera/pipe/src/pipe_util.c  |    50 +
 .../pci/camera/util/interface/ia_css_util.h        |   141 +
 .../media/atomisp/pci/camera/util/src/util.c       |   225 +
 drivers/staging/media/atomisp/pci/cell_params.h    |    40 +
 .../pci/css_2400_system/hive/ia_css_isp_configs.c  |   385 +
 .../pci/css_2400_system/hive/ia_css_isp_params.c   |  3419 ++++++
 .../pci/css_2400_system/hive/ia_css_isp_states.c   |   223 +
 .../hrt/hive_isp_css_irq_types_hrt.h               |    68 +
 .../css_2400_system/hrt/isp2400_mamoiada_params.h  |   228 +
 .../media/atomisp/pci/css_2400_system/spmem_dump.c |  1935 ++++
 .../atomisp/pci/css_2401_system/csi_rx_global.h    |    63 +
 .../pci/css_2401_system/hive/ia_css_isp_configs.c  |   413 +
 .../pci/css_2401_system/hive/ia_css_isp_params.c   |  3366 ++++++
 .../pci/css_2401_system/hive/ia_css_isp_states.c   |   223 +
 .../atomisp/pci/css_2401_system/host/csi_rx.c      |    40 +
 .../pci/css_2401_system/host/csi_rx_local.h        |    62 +
 .../pci/css_2401_system/host/csi_rx_private.h      |   305 +
 .../atomisp/pci/css_2401_system/host/ibuf_ctrl.c   |    22 +
 .../pci/css_2401_system/host/ibuf_ctrl_local.h     |    58 +
 .../pci/css_2401_system/host/ibuf_ctrl_private.h   |   267 +
 .../atomisp/pci/css_2401_system/host/isys_dma.c    |    40 +
 .../pci/css_2401_system/host/isys_dma_local.h      |    20 +
 .../pci/css_2401_system/host/isys_dma_private.h    |    61 +
 .../atomisp/pci/css_2401_system/host/isys_irq.c    |    43 +
 .../pci/css_2401_system/host/isys_irq_local.h      |    35 +
 .../pci/css_2401_system/host/isys_irq_private.h    |   106 +
 .../pci/css_2401_system/host/isys_stream2mmio.c    |    21 +
 .../css_2401_system/host/isys_stream2mmio_local.h  |    36 +
 .../host/isys_stream2mmio_private.h                |   167 +
 .../pci/css_2401_system/host/pixelgen_local.h      |    50 +
 .../pci/css_2401_system/host/pixelgen_private.h    |   182 +
 .../css_2401_system/hrt/PixelGen_SysBlock_defs.h   |   113 +
 .../pci/css_2401_system/hrt/ibuf_cntrl_defs.h      |   134 +
 .../css_2401_system/hrt/mipi_backend_common_defs.h |   205 +
 .../pci/css_2401_system/hrt/mipi_backend_defs.h    |   208 +
 .../atomisp/pci/css_2401_system/hrt/rx_csi_defs.h  |   169 +
 .../pci/css_2401_system/hrt/stream2mmio_defs.h     |    68 +
 .../atomisp/pci/css_2401_system/ibuf_ctrl_global.h |    79 +
 .../atomisp/pci/css_2401_system/isys_dma_global.h  |    89 +
 .../atomisp/pci/css_2401_system/isys_irq_global.h  |    35 +
 .../pci/css_2401_system/isys_stream2mmio_global.h  |    39 +
 .../atomisp/pci/css_2401_system/pixelgen_global.h  |    90 +
 .../media/atomisp/pci/css_2401_system/spmem_dump.c |  1965 ++++
 .../atomisp/pci/css_receiver_2400_common_defs.h    |   198 +
 .../media/atomisp/pci/css_receiver_2400_defs.h     |   256 +
 drivers/staging/media/atomisp/pci/css_trace.h      |   278 +
 drivers/staging/media/atomisp/pci/defs.h           |    36 +
 drivers/staging/media/atomisp/pci/dma_v2_defs.h    |   199 +
 drivers/staging/media/atomisp/pci/gdc_v2_defs.h    |   163 +
 drivers/staging/media/atomisp/pci/gp_timer_defs.h  |    36 +
 .../staging/media/atomisp/pci/gpio_block_defs.h    |    41 +
 .../atomisp/pci/hive_isp_css_2401_irq_types_hrt.h  |    68 +
 .../atomisp/pci/hive_isp_css_common/debug_global.h |    81 +
 .../atomisp/pci/hive_isp_css_common/dma_global.h   |   254 +
 .../pci/hive_isp_css_common/event_fifo_global.h    |    20 +
 .../pci/hive_isp_css_common/fifo_monitor_global.h  |    32 +
 .../atomisp/pci/hive_isp_css_common/gdc_global.h   |    89 +
 .../pci/hive_isp_css_common/gp_device_global.h     |    84 +
 .../pci/hive_isp_css_common/gp_timer_global.h      |    33 +
 .../atomisp/pci/hive_isp_css_common/gpio_global.h  |    45 +
 .../atomisp/pci/hive_isp_css_common/hmem_global.h  |    45 +
 .../atomisp/pci/hive_isp_css_common/host/debug.c   |    71 +
 .../pci/hive_isp_css_common/host/debug_local.h     |    20 +
 .../pci/hive_isp_css_common/host/debug_private.h   |   126 +
 .../atomisp/pci/hive_isp_css_common/host/dma.c     |   299 +
 .../pci/hive_isp_css_common/host/dma_local.h       |   207 +
 .../pci/hive_isp_css_common/host/dma_private.h     |    41 +
 .../pci/hive_isp_css_common/host/event_fifo.c      |    19 +
 .../hive_isp_css_common/host/event_fifo_local.h    |    61 +
 .../hive_isp_css_common/host/event_fifo_private.h  |    77 +
 .../pci/hive_isp_css_common/host/fifo_monitor.c    |   569 +
 .../hive_isp_css_common/host/fifo_monitor_local.h  |    99 +
 .../host/fifo_monitor_private.h                    |    80 +
 .../atomisp/pci/hive_isp_css_common/host/gdc.c     |   125 +
 .../pci/hive_isp_css_common/host/gdc_local.h       |    20 +
 .../pci/hive_isp_css_common/host/gdc_private.h     |    20 +
 .../pci/hive_isp_css_common/host/gp_device.c       |   108 +
 .../pci/hive_isp_css_common/host/gp_device_local.h |   143 +
 .../hive_isp_css_common/host/gp_device_private.h   |    46 +
 .../pci/hive_isp_css_common/host/gp_timer.c        |    70 +
 .../pci/hive_isp_css_common/host/gp_timer_local.h  |    43 +
 .../hive_isp_css_common/host/gp_timer_private.h    |    22 +
 .../pci/hive_isp_css_common/host/gpio_local.h      |    20 +
 .../pci/hive_isp_css_common/host/gpio_private.h    |    44 +
 .../atomisp/pci/hive_isp_css_common/host/hmem.c    |    19 +
 .../pci/hive_isp_css_common/host/hmem_local.h      |    20 +
 .../pci/hive_isp_css_common/host/hmem_private.h    |    30 +
 .../pci/hive_isp_css_common/host/input_formatter.c |   241 +
 .../host/input_formatter_local.h                   |   121 +
 .../host/input_formatter_private.h                 |    46 +
 .../pci/hive_isp_css_common/host/input_system.c    |  1849 +++
 .../atomisp/pci/hive_isp_css_common/host/irq.c     |   451 +
 .../pci/hive_isp_css_common/host/irq_local.h       |   134 +
 .../pci/hive_isp_css_common/host/irq_private.h     |    44 +
 .../atomisp/pci/hive_isp_css_common/host/isp.c     |   128 +
 .../pci/hive_isp_css_common/host/isp_local.h       |    57 +
 .../pci/hive_isp_css_common/host/isp_private.h     |   160 +
 .../atomisp/pci/hive_isp_css_common/host/mmu.c     |    46 +
 .../pci/hive_isp_css_common/host/mmu_local.h       |    20 +
 .../atomisp/pci/hive_isp_css_common/host/sp.c      |    81 +
 .../pci/hive_isp_css_common/host/sp_local.h        |   101 +
 .../pci/hive_isp_css_common/host/sp_private.h      |   166 +
 .../pci/hive_isp_css_common/host/timed_ctrl.c      |    74 +
 .../hive_isp_css_common/host/timed_ctrl_local.h    |    20 +
 .../hive_isp_css_common/host/timed_ctrl_private.h  |    34 +
 .../pci/hive_isp_css_common/host/vamem_local.h     |    20 +
 .../atomisp/pci/hive_isp_css_common/host/vmem.c    |   276 +
 .../pci/hive_isp_css_common/host/vmem_local.h      |    57 +
 .../pci/hive_isp_css_common/host/vmem_private.h    |    20 +
 .../hive_isp_css_common/input_formatter_global.h   |   114 +
 .../atomisp/pci/hive_isp_css_common/irq_global.h   |    45 +
 .../atomisp/pci/hive_isp_css_common/isp_global.h   |   109 +
 .../atomisp/pci/hive_isp_css_common/mmu_global.h   |    22 +
 .../atomisp/pci/hive_isp_css_common/sp_global.h    |    93 +
 .../pci/hive_isp_css_common/timed_ctrl_global.h    |    54 +
 .../atomisp/pci/hive_isp_css_common/vamem_global.h |    34 +
 .../atomisp/pci/hive_isp_css_common/vmem_global.h  |    28 +
 .../staging/media/atomisp/pci/hive_isp_css_defs.h  |   411 +
 .../pci/hive_isp_css_include/assert_support.h      |    73 +
 .../pci/hive_isp_css_include/bitop_support.h       |    24 +
 .../atomisp/pci/hive_isp_css_include/csi_rx.h      |    42 +
 .../media/atomisp/pci/hive_isp_css_include/debug.h |    46 +
 .../device_access/device_access.h                  |   177 +
 .../media/atomisp/pci/hive_isp_css_include/dma.h   |    46 +
 .../pci/hive_isp_css_include/error_support.h       |    39 +
 .../atomisp/pci/hive_isp_css_include/event_fifo.h  |    45 +
 .../pci/hive_isp_css_include/fifo_monitor.h        |    45 +
 .../atomisp/pci/hive_isp_css_include/gdc_device.h  |    47 +
 .../atomisp/pci/hive_isp_css_include/gp_device.h   |    45 +
 .../atomisp/pci/hive_isp_css_include/gp_timer.h    |    45 +
 .../media/atomisp/pci/hive_isp_css_include/gpio.h  |    45 +
 .../media/atomisp/pci/hive_isp_css_include/hmem.h  |    45 +
 .../pci/hive_isp_css_include/host/csi_rx_public.h  |   135 +
 .../pci/hive_isp_css_include/host/debug_public.h   |    98 +
 .../pci/hive_isp_css_include/host/dma_public.h     |    72 +
 .../hive_isp_css_include/host/event_fifo_public.h  |    79 +
 .../host/fifo_monitor_public.h                     |   110 +
 .../pci/hive_isp_css_include/host/gdc_public.h     |    59 +
 .../hive_isp_css_include/host/gp_device_public.h   |    58 +
 .../hive_isp_css_include/host/gp_timer_public.h    |    33 +
 .../pci/hive_isp_css_include/host/gpio_public.h    |    45 +
 .../pci/hive_isp_css_include/host/hmem_public.h    |    32 +
 .../hive_isp_css_include/host/ibuf_ctrl_public.h   |    93 +
 .../host/input_formatter_public.h                  |   115 +
 .../pci/hive_isp_css_include/host/irq_public.h     |   184 +
 .../pci/hive_isp_css_include/host/isp_public.h     |   185 +
 .../hive_isp_css_include/host/isys_dma_public.h    |    38 +
 .../hive_isp_css_include/host/isys_irq_public.h    |    45 +
 .../pci/hive_isp_css_include/host/isys_public.h    |    37 +
 .../host/isys_stream2mmio_public.h                 |   101 +
 .../pci/hive_isp_css_include/host/mmu_public.h     |    94 +
 .../hive_isp_css_include/host/pixelgen_public.h    |    79 +
 .../pci/hive_isp_css_include/host/sp_public.h      |   223 +
 .../pci/hive_isp_css_include/host/tag_public.h     |    40 +
 .../hive_isp_css_include/host/timed_ctrl_public.h  |    59 +
 .../pci/hive_isp_css_include/host/vamem_public.h   |    18 +
 .../pci/hive_isp_css_include/host/vmem_public.h    |    20 +
 .../atomisp/pci/hive_isp_css_include/ibuf_ctrl.h   |    46 +
 .../pci/hive_isp_css_include/input_formatter.h     |    45 +
 .../pci/hive_isp_css_include/input_system.h        |    45 +
 .../media/atomisp/pci/hive_isp_css_include/irq.h   |    45 +
 .../media/atomisp/pci/hive_isp_css_include/isp.h   |    45 +
 .../atomisp/pci/hive_isp_css_include/isys_dma.h    |    46 +
 .../atomisp/pci/hive_isp_css_include/isys_irq.h    |    39 +
 .../pci/hive_isp_css_include/isys_stream2mmio.h    |    46 +
 .../pci/hive_isp_css_include/math_support.h        |   153 +
 .../memory_access/memory_access.h                  |   174 +
 .../pci/hive_isp_css_include/memory_realloc.h      |    38 +
 .../pci/hive_isp_css_include/misc_support.h        |    26 +
 .../atomisp/pci/hive_isp_css_include/mmu_device.h  |    39 +
 .../atomisp/pci/hive_isp_css_include/pixelgen.h    |    46 +
 .../pci/hive_isp_css_include/platform_support.h    |    36 +
 .../pci/hive_isp_css_include/print_support.h       |    41 +
 .../media/atomisp/pci/hive_isp_css_include/queue.h |    45 +
 .../atomisp/pci/hive_isp_css_include/resource.h    |    46 +
 .../media/atomisp/pci/hive_isp_css_include/sp.h    |    45 +
 .../pci/hive_isp_css_include/string_support.h      |   165 +
 .../pci/hive_isp_css_include/system_types.h        |    24 +
 .../media/atomisp/pci/hive_isp_css_include/tag.h   |    44 +
 .../atomisp/pci/hive_isp_css_include/timed_ctrl.h  |    45 +
 .../pci/hive_isp_css_include/type_support.h        |    40 +
 .../media/atomisp/pci/hive_isp_css_include/vamem.h |    36 +
 .../media/atomisp/pci/hive_isp_css_include/vmem.h  |    45 +
 .../pci/hive_isp_css_shared/host/queue_local.h     |    20 +
 .../pci/hive_isp_css_shared/host/queue_private.h   |    18 +
 .../atomisp/pci/hive_isp_css_shared/host/tag.c     |    91 +
 .../pci/hive_isp_css_shared/host/tag_local.h       |    22 +
 .../pci/hive_isp_css_shared/host/tag_private.h     |    18 +
 .../atomisp/pci/hive_isp_css_shared/queue_global.h |    18 +
 .../pci/hive_isp_css_shared/sw_event_global.h      |    35 +
 .../atomisp/pci/hive_isp_css_shared/tag_global.h   |    56 +
 .../pci/hive_isp_css_streaming_to_mipi_types_hrt.h |    26 +
 drivers/staging/media/atomisp/pci/hive_types.h     |   128 +
 drivers/staging/media/atomisp/pci/hmm/hmm.c        |   727 ++
 drivers/staging/media/atomisp/pci/hmm/hmm_bo.c     |  1522 +++
 .../media/atomisp/pci/hmm/hmm_dynamic_pool.c       |   233 +
 .../media/atomisp/pci/hmm/hmm_reserved_pool.c      |   252 +
 drivers/staging/media/atomisp/pci/hmm/hmm_vm.c     |   212 +
 .../atomisp/pci/hrt/hive_isp_css_custom_host_hrt.h |   106 +
 .../media/atomisp/pci/hrt/hive_isp_css_mm_hrt.c    |   124 +
 .../media/atomisp/pci/hrt/hive_isp_css_mm_hrt.h    |    57 +
 drivers/staging/media/atomisp/pci/ia_css.h         |    57 +
 drivers/staging/media/atomisp/pci/ia_css_3a.h      |   189 +
 .../staging/media/atomisp/pci/ia_css_acc_types.h   |   476 +
 drivers/staging/media/atomisp/pci/ia_css_buffer.h  |    85 +
 drivers/staging/media/atomisp/pci/ia_css_control.h |   156 +
 .../media/atomisp/pci/ia_css_device_access.c       |    95 +
 .../media/atomisp/pci/ia_css_device_access.h       |    60 +
 drivers/staging/media/atomisp/pci/ia_css_dvs.h     |   297 +
 drivers/staging/media/atomisp/pci/ia_css_env.h     |    94 +
 drivers/staging/media/atomisp/pci/ia_css_err.h     |    63 +
 .../media/atomisp/pci/ia_css_event_public.h        |   196 +
 .../staging/media/atomisp/pci/ia_css_firmware.h    |    74 +
 drivers/staging/media/atomisp/pci/ia_css_frac.h    |    37 +
 .../media/atomisp/pci/ia_css_frame_format.h        |   101 +
 .../media/atomisp/pci/ia_css_frame_public.h        |   353 +
 .../staging/media/atomisp/pci/ia_css_host_data.h   |    45 +
 .../staging/media/atomisp/pci/ia_css_input_port.h  |    60 +
 drivers/staging/media/atomisp/pci/ia_css_irq.h     |   235 +
 .../staging/media/atomisp/pci/ia_css_isp_configs.h |   191 +
 .../staging/media/atomisp/pci/ia_css_isp_params.h  |   394 +
 .../staging/media/atomisp/pci/ia_css_isp_states.h  |    73 +
 .../media/atomisp/pci/ia_css_memory_access.c       |    85 +
 .../staging/media/atomisp/pci/ia_css_metadata.h    |    72 +
 drivers/staging/media/atomisp/pci/ia_css_mipi.h    |    82 +
 drivers/staging/media/atomisp/pci/ia_css_mmu.h     |    32 +
 .../staging/media/atomisp/pci/ia_css_mmu_private.h |    29 +
 drivers/staging/media/atomisp/pci/ia_css_morph.h   |    39 +
 drivers/staging/media/atomisp/pci/ia_css_pipe.h    |   189 +
 .../staging/media/atomisp/pci/ia_css_pipe_public.h |   569 +
 drivers/staging/media/atomisp/pci/ia_css_prbs.h    |    53 +
 .../staging/media/atomisp/pci/ia_css_properties.h  |    41 +
 drivers/staging/media/atomisp/pci/ia_css_shading.h |    40 +
 drivers/staging/media/atomisp/pci/ia_css_stream.h  |   111 +
 .../media/atomisp/pci/ia_css_stream_format.h       |    29 +
 .../media/atomisp/pci/ia_css_stream_public.h       |   585 +
 drivers/staging/media/atomisp/pci/ia_css_timer.h   |    68 +
 drivers/staging/media/atomisp/pci/ia_css_tpg.h     |    78 +
 drivers/staging/media/atomisp/pci/ia_css_types.h   |   605 +
 drivers/staging/media/atomisp/pci/ia_css_version.h |    40 +
 .../media/atomisp/pci/ia_css_version_data.h        |    27 +
 drivers/staging/media/atomisp/pci/if_defs.h        |    22 +
 .../atomisp/pci/input_formatter_subsystem_defs.h   |    53 +
 .../media/atomisp/pci/input_selector_defs.h        |    88 +
 .../media/atomisp/pci/input_switch_2400_defs.h     |    30 +
 .../media/atomisp/pci/input_system_ctrl_defs.h     |   243 +
 .../staging/media/atomisp/pci/input_system_defs.h  |   126 +
 .../media/atomisp/pci/input_system_global.h        |    10 +
 .../staging/media/atomisp/pci/input_system_local.h |    10 +
 .../media/atomisp/pci/input_system_private.h       |    10 +
 .../media/atomisp/pci/input_system_public.h        |     8 +
 .../media/atomisp/pci/irq_controller_defs.h        |    28 +
 .../pci/isp/kernels/aa/aa_2/ia_css_aa2.host.c      |    31 +
 .../pci/isp/kernels/aa/aa_2/ia_css_aa2.host.h      |    27 +
 .../pci/isp/kernels/aa/aa_2/ia_css_aa2_param.h     |    24 +
 .../pci/isp/kernels/aa/aa_2/ia_css_aa2_types.h     |    46 +
 .../pci/isp/kernels/anr/anr_1.0/ia_css_anr.host.c  |    61 +
 .../pci/isp/kernels/anr/anr_1.0/ia_css_anr.host.h  |    39 +
 .../pci/isp/kernels/anr/anr_1.0/ia_css_anr_param.h |    25 +
 .../pci/isp/kernels/anr/anr_1.0/ia_css_anr_types.h |    35 +
 .../pci/isp/kernels/anr/anr_2/ia_css_anr2.host.c   |    46 +
 .../pci/isp/kernels/anr/anr_2/ia_css_anr2.host.h   |    35 +
 .../pci/isp/kernels/anr/anr_2/ia_css_anr2_param.h  |    27 +
 .../isp/kernels/anr/anr_2/ia_css_anr2_table.host.c |    55 +
 .../isp/kernels/anr/anr_2/ia_css_anr2_table.host.h |    22 +
 .../pci/isp/kernels/anr/anr_2/ia_css_anr2_types.h  |    31 +
 .../pci/isp/kernels/bh/bh_2/ia_css_bh.host.c       |    66 +
 .../pci/isp/kernels/bh/bh_2/ia_css_bh.host.h       |    32 +
 .../pci/isp/kernels/bh/bh_2/ia_css_bh_param.h      |    40 +
 .../pci/isp/kernels/bh/bh_2/ia_css_bh_types.h      |    35 +
 .../pci/isp/kernels/bnlm/ia_css_bnlm.host.c        |   196 +
 .../pci/isp/kernels/bnlm/ia_css_bnlm.host.h        |    40 +
 .../pci/isp/kernels/bnlm/ia_css_bnlm_param.h       |    64 +
 .../pci/isp/kernels/bnlm/ia_css_bnlm_types.h       |   106 +
 .../isp/kernels/bnr/bnr2_2/ia_css_bnr2_2.host.c    |   131 +
 .../isp/kernels/bnr/bnr2_2/ia_css_bnr2_2.host.h    |    35 +
 .../isp/kernels/bnr/bnr2_2/ia_css_bnr2_2_param.h   |    47 +
 .../isp/kernels/bnr/bnr2_2/ia_css_bnr2_2_types.h   |    71 +
 .../pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr.host.c  |    64 +
 .../pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr.host.h  |    34 +
 .../pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr_param.h |    30 +
 .../pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr.host.c  |    28 +
 .../pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr.host.h  |    25 +
 .../pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr_param.h |    24 +
 .../pci/isp/kernels/cnr/cnr_2/ia_css_cnr2.host.c   |    73 +
 .../pci/isp/kernels/cnr/cnr_2/ia_css_cnr2.host.h   |    43 +
 .../pci/isp/kernels/cnr/cnr_2/ia_css_cnr2_param.h  |    32 +
 .../pci/isp/kernels/cnr/cnr_2/ia_css_cnr2_types.h  |    54 +
 .../conversion_1.0/ia_css_conversion.host.c        |    36 +
 .../conversion_1.0/ia_css_conversion.host.h        |    29 +
 .../conversion_1.0/ia_css_conversion_param.h       |    28 +
 .../conversion_1.0/ia_css_conversion_types.h       |    32 +
 .../copy_output_1.0/ia_css_copy_output.host.c      |    46 +
 .../copy_output_1.0/ia_css_copy_output.host.h      |    34 +
 .../copy_output_1.0/ia_css_copy_output_param.h     |    26 +
 .../isp/kernels/crop/crop_1.0/ia_css_crop.host.c   |    64 +
 .../isp/kernels/crop/crop_1.0/ia_css_crop.host.h   |    41 +
 .../isp/kernels/crop/crop_1.0/ia_css_crop_param.h  |    32 +
 .../isp/kernels/crop/crop_1.0/ia_css_crop_types.h  |    34 +
 .../pci/isp/kernels/csc/csc_1.0/ia_css_csc.host.c  |   127 +
 .../pci/isp/kernels/csc/csc_1.0/ia_css_csc.host.h  |    54 +
 .../pci/isp/kernels/csc/csc_1.0/ia_css_csc_param.h |    33 +
 .../pci/isp/kernels/csc/csc_1.0/ia_css_csc_types.h |    78 +
 .../isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.c    |   121 +
 .../isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.h    |    33 +
 .../isp/kernels/ctc/ctc1_5/ia_css_ctc1_5_param.h   |    46 +
 .../pci/isp/kernels/ctc/ctc2/ia_css_ctc2.host.c    |   157 +
 .../pci/isp/kernels/ctc/ctc2/ia_css_ctc2.host.h    |    33 +
 .../pci/isp/kernels/ctc/ctc2/ia_css_ctc2_param.h   |    48 +
 .../pci/isp/kernels/ctc/ctc2/ia_css_ctc2_types.h   |    54 +
 .../pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.c  |    58 +
 .../pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.h  |    36 +
 .../pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_param.h |    44 +
 .../kernels/ctc/ctc_1.0/ia_css_ctc_table.host.c    |   214 +
 .../kernels/ctc/ctc_1.0/ia_css_ctc_table.host.h    |    24 +
 .../pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_types.h |   110 +
 .../pci/isp/kernels/de/de_1.0/ia_css_de.host.c     |    78 +
 .../pci/isp/kernels/de/de_1.0/ia_css_de.host.h     |    44 +
 .../pci/isp/kernels/de/de_1.0/ia_css_de_param.h    |    27 +
 .../pci/isp/kernels/de/de_1.0/ia_css_de_types.h    |    42 +
 .../pci/isp/kernels/de/de_2/ia_css_de2.host.c      |    53 +
 .../pci/isp/kernels/de/de_2/ia_css_de2.host.h      |    38 +
 .../pci/isp/kernels/de/de_2/ia_css_de2_param.h     |    30 +
 .../pci/isp/kernels/de/de_2/ia_css_de2_types.h     |    41 +
 .../pci/isp/kernels/dp/dp_1.0/ia_css_dp.host.c     |   131 +
 .../pci/isp/kernels/dp/dp_1.0/ia_css_dp.host.h     |    47 +
 .../pci/isp/kernels/dp/dp_1.0/ia_css_dp_param.h    |    36 +
 .../pci/isp/kernels/dp/dp_1.0/ia_css_dp_types.h    |    48 +
 .../pci/isp/kernels/dpc2/ia_css_dpc2.host.c        |    65 +
 .../pci/isp/kernels/dpc2/ia_css_dpc2.host.h        |    39 +
 .../pci/isp/kernels/dpc2/ia_css_dpc2_param.h       |    51 +
 .../pci/isp/kernels/dpc2/ia_css_dpc2_types.h       |    59 +
 .../pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs.host.c  |   301 +
 .../pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs.host.h  |    60 +
 .../pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs_param.h |    32 +
 .../pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs_types.h |    29 +
 .../pci/isp/kernels/eed1_8/ia_css_eed1_8.host.c    |   338 +
 .../pci/isp/kernels/eed1_8/ia_css_eed1_8.host.h    |    45 +
 .../pci/isp/kernels/eed1_8/ia_css_eed1_8_param.h   |   153 +
 .../pci/isp/kernels/eed1_8/ia_css_eed1_8_types.h   |    87 +
 .../isp/kernels/fc/fc_1.0/ia_css_formats.host.c    |    63 +
 .../isp/kernels/fc/fc_1.0/ia_css_formats.host.h    |    44 +
 .../isp/kernels/fc/fc_1.0/ia_css_formats_param.h   |    25 +
 .../isp/kernels/fc/fc_1.0/ia_css_formats_types.h   |    38 +
 .../fixedbds/fixedbds_1.0/ia_css_fixedbds_param.h  |    32 +
 .../fixedbds/fixedbds_1.0/ia_css_fixedbds_types.h  |    24 +
 .../pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn.host.c  |    88 +
 .../pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn.host.h  |    44 +
 .../pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn_param.h |    35 +
 .../pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn_types.h |    52 +
 .../pci/isp/kernels/gc/gc_1.0/ia_css_gc.host.c     |   117 +
 .../pci/isp/kernels/gc/gc_1.0/ia_css_gc.host.h     |    65 +
 .../pci/isp/kernels/gc/gc_1.0/ia_css_gc_param.h    |    61 +
 .../isp/kernels/gc/gc_1.0/ia_css_gc_table.host.c   |   213 +
 .../isp/kernels/gc/gc_1.0/ia_css_gc_table.host.h   |    24 +
 .../pci/isp/kernels/gc/gc_1.0/ia_css_gc_types.h    |    97 +
 .../pci/isp/kernels/gc/gc_2/ia_css_gc2.host.c      |   109 +
 .../pci/isp/kernels/gc/gc_2/ia_css_gc2.host.h      |    79 +
 .../pci/isp/kernels/gc/gc_2/ia_css_gc2_param.h     |    43 +
 .../isp/kernels/gc/gc_2/ia_css_gc2_table.host.c    |   131 +
 .../isp/kernels/gc/gc_2/ia_css_gc2_table.host.h    |    26 +
 .../pci/isp/kernels/gc/gc_2/ia_css_gc2_types.h     |    54 +
 .../atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.c  |    41 +
 .../atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.h  |    31 +
 .../atomisp/pci/isp/kernels/hdr/ia_css_hdr_param.h |    59 +
 .../atomisp/pci/isp/kernels/hdr/ia_css_hdr_types.h |    70 +
 .../ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.c  |    93 +
 .../ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.h  |    28 +
 .../ipu2_io_ls/bayer_io_ls/ia_css_bayer_io_param.h |    20 +
 .../ipu2_io_ls/bayer_io_ls/ia_css_bayer_io_types.h |    20 +
 .../ipu2_io_ls/common/ia_css_common_io_param.h     |    20 +
 .../ipu2_io_ls/common/ia_css_common_io_types.h     |    29 +
 .../yuv444_io_ls/ia_css_yuv444_io.host.c           |    93 +
 .../yuv444_io_ls/ia_css_yuv444_io.host.h           |    28 +
 .../yuv444_io_ls/ia_css_yuv444_io_param.h          |    20 +
 .../yuv444_io_ls/ia_css_yuv444_io_types.h          |    20 +
 .../iterator/iterator_1.0/ia_css_iterator.host.c   |    80 +
 .../iterator/iterator_1.0/ia_css_iterator.host.h   |    34 +
 .../iterator/iterator_1.0/ia_css_iterator_param.h  |    38 +
 .../isp/kernels/macc/macc1_5/ia_css_macc1_5.host.c |    74 +
 .../isp/kernels/macc/macc1_5/ia_css_macc1_5.host.h |    41 +
 .../kernels/macc/macc1_5/ia_css_macc1_5_param.h    |    31 +
 .../macc/macc1_5/ia_css_macc1_5_table.host.c       |    34 +
 .../macc/macc1_5/ia_css_macc1_5_table.host.h       |    22 +
 .../kernels/macc/macc1_5/ia_css_macc1_5_types.h    |    73 +
 .../isp/kernels/macc/macc_1.0/ia_css_macc.host.c   |    49 +
 .../isp/kernels/macc/macc_1.0/ia_css_macc.host.h   |    41 +
 .../isp/kernels/macc/macc_1.0/ia_css_macc_param.h  |    25 +
 .../kernels/macc/macc_1.0/ia_css_macc_table.host.c |    51 +
 .../kernels/macc/macc_1.0/ia_css_macc_table.host.h |    23 +
 .../isp/kernels/macc/macc_1.0/ia_css_macc_types.h  |    63 +
 .../isp/kernels/norm/norm_1.0/ia_css_norm.host.c   |    15 +
 .../isp/kernels/norm/norm_1.0/ia_css_norm.host.h   |    20 +
 .../isp/kernels/norm/norm_1.0/ia_css_norm_param.h  |    18 +
 .../pci/isp/kernels/ob/ob2/ia_css_ob2.host.c       |    76 +
 .../pci/isp/kernels/ob/ob2/ia_css_ob2.host.h       |    40 +
 .../pci/isp/kernels/ob/ob2/ia_css_ob2_param.h      |    28 +
 .../pci/isp/kernels/ob/ob2/ia_css_ob2_types.h      |    44 +
 .../pci/isp/kernels/ob/ob_1.0/ia_css_ob.host.c     |   154 +
 .../pci/isp/kernels/ob/ob_1.0/ia_css_ob.host.h     |    53 +
 .../pci/isp/kernels/ob/ob_1.0/ia_css_ob_param.h    |    47 +
 .../pci/isp/kernels/ob/ob_1.0/ia_css_ob_types.h    |    68 +
 .../kernels/output/output_1.0/ia_css_output.host.c |   163 +
 .../kernels/output/output_1.0/ia_css_output.host.h |    75 +
 .../output/output_1.0/ia_css_output_param.h        |    36 +
 .../output/output_1.0/ia_css_output_types.h        |    47 +
 .../kernels/qplane/qplane_2/ia_css_qplane.host.c   |    61 +
 .../kernels/qplane/qplane_2/ia_css_qplane.host.h   |    43 +
 .../kernels/qplane/qplane_2/ia_css_qplane_param.h  |    30 +
 .../kernels/qplane/qplane_2/ia_css_qplane_types.h  |    31 +
 .../pci/isp/kernels/raw/raw_1.0/ia_css_raw.host.c  |   135 +
 .../pci/isp/kernels/raw/raw_1.0/ia_css_raw.host.h  |    38 +
 .../pci/isp/kernels/raw/raw_1.0/ia_css_raw_param.h |    38 +
 .../pci/isp/kernels/raw/raw_1.0/ia_css_raw_types.h |    36 +
 .../raw_aa_binning_1.0/ia_css_raa.host.c           |    35 +
 .../raw_aa_binning_1.0/ia_css_raa.host.h           |    27 +
 .../pci/isp/kernels/ref/ref_1.0/ia_css_ref.host.c  |    76 +
 .../pci/isp/kernels/ref/ref_1.0/ia_css_ref.host.h  |    41 +
 .../pci/isp/kernels/ref/ref_1.0/ia_css_ref_param.h |    36 +
 .../pci/isp/kernels/ref/ref_1.0/ia_css_ref_state.h |    26 +
 .../pci/isp/kernels/ref/ref_1.0/ia_css_ref_types.h |    25 +
 .../pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a.host.c  |   386 +
 .../pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a.host.h  |    77 +
 .../pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a_param.h |    53 +
 .../pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a_types.h |   221 +
 .../pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.c     |   129 +
 .../pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.h     |    77 +
 .../pci/isp/kernels/sc/sc_1.0/ia_css_sc_param.h    |    42 +
 .../pci/isp/kernels/sc/sc_1.0/ia_css_sc_types.h    |   134 +
 .../kernels/sdis/common/ia_css_sdis_common.host.h  |   101 +
 .../kernels/sdis/common/ia_css_sdis_common_types.h |   220 +
 .../isp/kernels/sdis/sdis_1.0/ia_css_sdis.host.c   |   437 +
 .../isp/kernels/sdis/sdis_1.0/ia_css_sdis.host.h   |   101 +
 .../isp/kernels/sdis/sdis_1.0/ia_css_sdis_types.h  |    55 +
 .../isp/kernels/sdis/sdis_2/ia_css_sdis2.host.c    |   350 +
 .../isp/kernels/sdis/sdis_2/ia_css_sdis2.host.h    |    95 +
 .../isp/kernels/sdis/sdis_2/ia_css_sdis2_types.h   |    75 +
 .../pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.c  |    74 +
 .../pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.h  |    38 +
 .../pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf_param.h |    43 +
 .../pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf_types.h |    52 +
 .../pci/isp/kernels/tnr/tnr3/ia_css_tnr3_types.h   |    63 +
 .../pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr.host.c  |   120 +
 .../pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr.host.h  |    56 +
 .../pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_param.h |    40 +
 .../pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_state.h |    26 +
 .../pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_types.h |    57 +
 .../pci/isp/kernels/uds/uds_1.0/ia_css_uds_param.h |    31 +
 .../pci/isp/kernels/vf/vf_1.0/ia_css_vf.host.c     |   138 +
 .../pci/isp/kernels/vf/vf_1.0/ia_css_vf.host.h     |    47 +
 .../pci/isp/kernels/vf/vf_1.0/ia_css_vf_param.h    |    37 +
 .../pci/isp/kernels/vf/vf_1.0/ia_css_vf_types.h    |    31 +
 .../pci/isp/kernels/wb/wb_1.0/ia_css_wb.host.c     |    86 +
 .../pci/isp/kernels/wb/wb_1.0/ia_css_wb.host.h     |    39 +
 .../pci/isp/kernels/wb/wb_1.0/ia_css_wb_param.h    |    29 +
 .../pci/isp/kernels/wb/wb_1.0/ia_css_wb_types.h    |    46 +
 .../pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr.host.c  |    65 +
 .../pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr.host.h  |    47 +
 .../pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_param.h |    50 +
 .../kernels/xnr/xnr_1.0/ia_css_xnr_table.host.c    |    81 +
 .../kernels/xnr/xnr_1.0/ia_css_xnr_table.host.h    |    22 +
 .../pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_types.h |    70 +
 .../pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3.host.c |   249 +
 .../pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3.host.h |    41 +
 .../isp/kernels/xnr/xnr_3.0/ia_css_xnr3_param.h    |    83 +
 .../isp/kernels/xnr/xnr_3.0/ia_css_xnr3_types.h    |    97 +
 .../pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr.host.c  |   217 +
 .../pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr.host.h  |    60 +
 .../pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr_param.h |    49 +
 .../pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr_types.h |    80 +
 .../pci/isp/kernels/ynr/ynr_2/ia_css_ynr2.host.c   |   118 +
 .../pci/isp/kernels/ynr/ynr_2/ia_css_ynr2.host.h   |    56 +
 .../pci/isp/kernels/ynr/ynr_2/ia_css_ynr2_param.h  |    45 +
 .../pci/isp/kernels/ynr/ynr_2/ia_css_ynr2_types.h  |    93 +
 .../pci/isp/modes/interface/input_buf.isp.h        |    37 +
 .../atomisp/pci/isp/modes/interface/isp_const.h    |   180 +
 .../atomisp/pci/isp/modes/interface/isp_types.h    |    79 +
 .../atomisp/pci/isp2400_input_system_global.h      |   155 +
 .../media/atomisp/pci/isp2400_input_system_local.h |   539 +
 .../atomisp/pci/isp2400_input_system_private.h     |   122 +
 .../atomisp/pci/isp2400_input_system_public.h      |   369 +
 .../staging/media/atomisp/pci/isp2400_support.h    |    38 +
 .../media/atomisp/pci/isp2400_system_global.h      |   348 +
 .../media/atomisp/pci/isp2400_system_local.h       |   325 +
 .../atomisp/pci/isp2401_input_system_global.h      |   205 +
 .../media/atomisp/pci/isp2401_input_system_local.h |   106 +
 .../atomisp/pci/isp2401_input_system_private.h     |   129 +
 .../media/atomisp/pci/isp2401_mamoiada_params.h    |   228 +
 .../media/atomisp/pci/isp2401_system_global.h      |   457 +
 .../media/atomisp/pci/isp2401_system_local.h       |   406 +
 .../media/atomisp/pci/isp_acquisition_defs.h       |   229 +
 .../staging/media/atomisp/pci/isp_capture_defs.h   |   278 +
 drivers/staging/media/atomisp/pci/memory_realloc.c |    81 +
 drivers/staging/media/atomisp/pci/mmu/isp_mmu.c    |   581 +
 .../staging/media/atomisp/pci/mmu/sh_mmu_mrfld.c   |    77 +
 drivers/staging/media/atomisp/pci/mmu_defs.h       |    23 +
 .../pci/runtime/binary/interface/ia_css_binary.h   |   228 +
 .../media/atomisp/pci/runtime/binary/src/binary.c  |  1852 +++
 .../pci/runtime/bufq/interface/ia_css_bufq.h       |   177 +
 .../pci/runtime/bufq/interface/ia_css_bufq_comm.h  |    50 +
 .../media/atomisp/pci/runtime/bufq/src/bufq.c      |   566 +
 .../pci/runtime/debug/interface/ia_css_debug.h     |   502 +
 .../debug/interface/ia_css_debug_internal.h        |    15 +
 .../runtime/debug/interface/ia_css_debug_pipe.h    |    67 +
 .../atomisp/pci/runtime/debug/src/ia_css_debug.c   |  3544 ++++++
 .../pci/runtime/event/interface/ia_css_event.h     |    30 +
 .../media/atomisp/pci/runtime/event/src/event.c    |   112 +
 .../pci/runtime/eventq/interface/ia_css_eventq.h   |    53 +
 .../media/atomisp/pci/runtime/eventq/src/eventq.c  |    77 +
 .../pci/runtime/frame/interface/ia_css_frame.h     |   163 +
 .../runtime/frame/interface/ia_css_frame_comm.h    |   115 +
 .../media/atomisp/pci/runtime/frame/src/frame.c    |   989 ++
 .../pci/runtime/ifmtr/interface/ia_css_ifmtr.h     |    33 +
 .../media/atomisp/pci/runtime/ifmtr/src/ifmtr.c    |   552 +
 .../runtime/inputfifo/interface/ia_css_inputfifo.h |    53 +
 .../atomisp/pci/runtime/inputfifo/src/inputfifo.c  |   538 +
 .../runtime/isp_param/interface/ia_css_isp_param.h |   102 +
 .../isp_param/interface/ia_css_isp_param_types.h   |    81 +
 .../atomisp/pci/runtime/isp_param/src/isp_param.c  |   216 +
 .../pci/runtime/isys/interface/ia_css_isys.h       |   184 +
 .../pci/runtime/isys/interface/ia_css_isys_comm.h  |    53 +
 .../atomisp/pci/runtime/isys/src/csi_rx_rmgr.c     |   167 +
 .../atomisp/pci/runtime/isys/src/csi_rx_rmgr.h     |    26 +
 .../atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.c  |   121 +
 .../atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.h  |    38 +
 .../atomisp/pci/runtime/isys/src/isys_dma_rmgr.c   |    87 +
 .../atomisp/pci/runtime/isys/src/isys_dma_rmgr.h   |    24 +
 .../media/atomisp/pci/runtime/isys/src/isys_init.c |   123 +
 .../pci/runtime/isys/src/isys_stream2mmio_rmgr.c   |    89 +
 .../pci/runtime/isys/src/isys_stream2mmio_rmgr.h   |    24 +
 .../media/atomisp/pci/runtime/isys/src/rx.c        |   600 +
 .../atomisp/pci/runtime/isys/src/virtual_isys.c    |   892 ++
 .../atomisp/pci/runtime/isys/src/virtual_isys.h    |    24 +
 .../runtime/pipeline/interface/ia_css_pipeline.h   |   286 +
 .../pipeline/interface/ia_css_pipeline_common.h    |    27 +
 .../atomisp/pci/runtime/pipeline/src/pipeline.c    |   786 ++
 .../pci/runtime/queue/interface/ia_css_queue.h     |   175 +
 .../runtime/queue/interface/ia_css_queue_comm.h    |    53 +
 .../media/atomisp/pci/runtime/queue/src/queue.c    |   422 +
 .../atomisp/pci/runtime/queue/src/queue_access.c   |   176 +
 .../atomisp/pci/runtime/queue/src/queue_access.h   |    85 +
 .../pci/runtime/rmgr/interface/ia_css_rmgr.h       |    72 +
 .../pci/runtime/rmgr/interface/ia_css_rmgr_vbuf.h  |    99 +
 .../media/atomisp/pci/runtime/rmgr/src/rmgr.c      |    39 +
 .../media/atomisp/pci/runtime/rmgr/src/rmgr_vbuf.c |   336 +
 .../pci/runtime/spctrl/interface/ia_css_spctrl.h   |    68 +
 .../runtime/spctrl/interface/ia_css_spctrl_comm.h  |    45 +
 .../media/atomisp/pci/runtime/spctrl/src/spctrl.c  |   182 +
 .../tagger/interface/ia_css_tagger_common.h        |    43 +
 .../media/atomisp/pci/runtime/timer/src/timer.c    |    31 +
 .../atomisp/pci/scalar_processor_2400_params.h     |    20 +
 drivers/staging/media/atomisp/pci/sh_css.c         | 11179 +++++++++++++++++++
 drivers/staging/media/atomisp/pci/sh_css_defs.h    |   410 +
 .../staging/media/atomisp/pci/sh_css_dvs_info.h    |    36 +
 .../staging/media/atomisp/pci/sh_css_firmware.c    |   331 +
 .../staging/media/atomisp/pci/sh_css_firmware.h    |    55 +
 drivers/staging/media/atomisp/pci/sh_css_frac.h    |    40 +
 .../staging/media/atomisp/pci/sh_css_host_data.c   |    42 +
 drivers/staging/media/atomisp/pci/sh_css_hrt.c     |    85 +
 drivers/staging/media/atomisp/pci/sh_css_hrt.h     |    34 +
 .../staging/media/atomisp/pci/sh_css_internal.h    |  1061 ++
 drivers/staging/media/atomisp/pci/sh_css_legacy.h  |    70 +
 .../staging/media/atomisp/pci/sh_css_metadata.c    |    16 +
 drivers/staging/media/atomisp/pci/sh_css_metrics.c |   175 +
 drivers/staging/media/atomisp/pci/sh_css_metrics.h |    55 +
 drivers/staging/media/atomisp/pci/sh_css_mipi.c    |   757 ++
 drivers/staging/media/atomisp/pci/sh_css_mipi.h    |    49 +
 drivers/staging/media/atomisp/pci/sh_css_mmu.c     |    60 +
 drivers/staging/media/atomisp/pci/sh_css_morph.c   |    16 +
 .../staging/media/atomisp/pci/sh_css_param_dvs.c   |   286 +
 .../staging/media/atomisp/pci/sh_css_param_dvs.h   |    85 +
 .../media/atomisp/pci/sh_css_param_shading.c       |   402 +
 .../media/atomisp/pci/sh_css_param_shading.h       |    34 +
 drivers/staging/media/atomisp/pci/sh_css_params.c  |  5247 +++++++++
 drivers/staging/media/atomisp/pci/sh_css_params.h  |   188 +
 .../media/atomisp/pci/sh_css_params_internal.h     |    21 +
 drivers/staging/media/atomisp/pci/sh_css_pipe.c    |    16 +
 .../staging/media/atomisp/pci/sh_css_properties.c  |    43 +
 drivers/staging/media/atomisp/pci/sh_css_shading.c |    16 +
 drivers/staging/media/atomisp/pci/sh_css_sp.c      |  1829 +++
 drivers/staging/media/atomisp/pci/sh_css_sp.h      |   248 +
 drivers/staging/media/atomisp/pci/sh_css_stream.c  |    16 +
 .../media/atomisp/pci/sh_css_stream_format.c       |    76 +
 .../media/atomisp/pci/sh_css_stream_format.h       |    23 +
 drivers/staging/media/atomisp/pci/sh_css_struct.h  |    85 +
 drivers/staging/media/atomisp/pci/sh_css_uds.h     |    37 +
 drivers/staging/media/atomisp/pci/sh_css_version.c |    37 +
 drivers/staging/media/atomisp/pci/str2mem_defs.h   |    39 +
 .../media/atomisp/pci/streaming_to_mipi_defs.h     |    28 +
 drivers/staging/media/atomisp/pci/system_global.h  |    10 +
 drivers/staging/media/atomisp/pci/system_local.h   |    10 +
 .../media/atomisp/pci/timed_controller_defs.h      |    22 +
 drivers/staging/media/atomisp/pci/version.h        |    20 +
 drivers/staging/media/atomisp/platform/Makefile    |     5 +
 .../media/atomisp/platform/intel-mid/Makefile      |     4 +
 .../platform/intel-mid/atomisp_gmin_platform.c     |   810 ++
 677 files changed, 147292 insertions(+)
 create mode 100644 drivers/staging/media/atomisp/Kconfig
 create mode 100644 drivers/staging/media/atomisp/Makefile
 create mode 100644 drivers/staging/media/atomisp/TODO
 create mode 100644 drivers/staging/media/atomisp/i2c/Kconfig
 create mode 100644 drivers/staging/media/atomisp/i2c/Makefile
 create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-gc0310.c
 create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-gc2235.c
 create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper.c
 create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-lm3554.c
 create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
 create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-ov2680.c
 create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-ov2722.c
 create mode 100644 drivers/staging/media/atomisp/i2c/gc0310.h
 create mode 100644 drivers/staging/media/atomisp/i2c/gc2235.h
 create mode 100644 drivers/staging/media/atomisp/i2c/mt9m114.h
 create mode 100644 drivers/staging/media/atomisp/i2c/ov2680.h
 create mode 100644 drivers/staging/media/atomisp/i2c/ov2722.h
 create mode 100644 drivers/staging/media/atomisp/i2c/ov5693/Kconfig
 create mode 100644 drivers/staging/media/atomisp/i2c/ov5693/Makefile
 create mode 100644 drivers/staging/media/atomisp/i2c/ov5693/ad5823.h
 create mode 100644 drivers/staging/media/atomisp/i2c/ov5693/atomisp-ov5693.c
 create mode 100644 drivers/staging/media/atomisp/i2c/ov5693/ov5693.h
 create mode 100644 drivers/staging/media/atomisp/include/hmm/hmm.h
 create mode 100644 drivers/staging/media/atomisp/include/hmm/hmm_bo.h
 create mode 100644 drivers/staging/media/atomisp/include/hmm/hmm_common.h
 create mode 100644 drivers/staging/media/atomisp/include/hmm/hmm_pool.h
 create mode 100644 drivers/staging/media/atomisp/include/hmm/hmm_vm.h
 create mode 100644 drivers/staging/media/atomisp/include/linux/atomisp.h
 create mode 100644 drivers/staging/media/atomisp/include/linux/atomisp_gmin_platform.h
 create mode 100644 drivers/staging/media/atomisp/include/linux/atomisp_platform.h
 create mode 100644 drivers/staging/media/atomisp/include/linux/libmsrlisthelper.h
 create mode 100644 drivers/staging/media/atomisp/include/media/lm3554.h
 create mode 100644 drivers/staging/media/atomisp/include/mmu/isp_mmu.h
 create mode 100644 drivers/staging/media/atomisp/include/mmu/sh_mmu_mrfld.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp-regs.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_acc.c
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_acc.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_cmd.c
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_cmd.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_common.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_compat.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_compat_css20.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_compat_ioctl32.c
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_compat_ioctl32.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_csi2.c
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_csi2.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_dfs_tables.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_drvfs.c
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_drvfs.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_file.c
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_file.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_fops.c
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_fops.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_helper.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_internal.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_ioctl.c
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_ioctl.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_subdev.c
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_subdev.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_tables.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_tpg.c
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_tpg.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_trace_event.h
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_v4l2.c
 create mode 100644 drivers/staging/media/atomisp/pci/atomisp_v4l2.h
 create mode 100644 drivers/staging/media/atomisp/pci/base/circbuf/interface/ia_css_circbuf.h
 create mode 100644 drivers/staging/media/atomisp/pci/base/circbuf/interface/ia_css_circbuf_comm.h
 create mode 100644 drivers/staging/media/atomisp/pci/base/circbuf/interface/ia_css_circbuf_desc.h
 create mode 100644 drivers/staging/media/atomisp/pci/base/circbuf/src/circbuf.c
 create mode 100644 drivers/staging/media/atomisp/pci/base/refcount/interface/ia_css_refcount.h
 create mode 100644 drivers/staging/media/atomisp/pci/base/refcount/src/refcount.c
 create mode 100644 drivers/staging/media/atomisp/pci/bits.h
 create mode 100644 drivers/staging/media/atomisp/pci/camera/pipe/interface/ia_css_pipe_binarydesc.h
 create mode 100644 drivers/staging/media/atomisp/pci/camera/pipe/interface/ia_css_pipe_stagedesc.h
 create mode 100644 drivers/staging/media/atomisp/pci/camera/pipe/interface/ia_css_pipe_util.h
 create mode 100644 drivers/staging/media/atomisp/pci/camera/pipe/src/pipe_binarydesc.c
 create mode 100644 drivers/staging/media/atomisp/pci/camera/pipe/src/pipe_stagedesc.c
 create mode 100644 drivers/staging/media/atomisp/pci/camera/pipe/src/pipe_util.c
 create mode 100644 drivers/staging/media/atomisp/pci/camera/util/interface/ia_css_util.h
 create mode 100644 drivers/staging/media/atomisp/pci/camera/util/src/util.c
 create mode 100644 drivers/staging/media/atomisp/pci/cell_params.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2400_system/hive/ia_css_isp_configs.c
 create mode 100644 drivers/staging/media/atomisp/pci/css_2400_system/hive/ia_css_isp_params.c
 create mode 100644 drivers/staging/media/atomisp/pci/css_2400_system/hive/ia_css_isp_states.c
 create mode 100644 drivers/staging/media/atomisp/pci/css_2400_system/hrt/hive_isp_css_irq_types_hrt.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2400_system/hrt/isp2400_mamoiada_params.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2400_system/spmem_dump.c
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/csi_rx_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/hive/ia_css_isp_configs.c
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/hive/ia_css_isp_params.c
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/hive/ia_css_isp_states.c
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/csi_rx.c
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/csi_rx_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/csi_rx_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/ibuf_ctrl.c
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/ibuf_ctrl_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/ibuf_ctrl_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/isys_dma.c
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/isys_dma_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/isys_dma_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/isys_irq.c
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/isys_irq_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/isys_irq_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/isys_stream2mmio.c
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/isys_stream2mmio_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/isys_stream2mmio_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/pixelgen_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/host/pixelgen_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/hrt/PixelGen_SysBlock_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/hrt/ibuf_cntrl_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/hrt/mipi_backend_common_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/hrt/mipi_backend_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/hrt/rx_csi_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/hrt/stream2mmio_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/ibuf_ctrl_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/isys_dma_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/isys_irq_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/isys_stream2mmio_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/pixelgen_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_2401_system/spmem_dump.c
 create mode 100644 drivers/staging/media/atomisp/pci/css_receiver_2400_common_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_receiver_2400_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/css_trace.h
 create mode 100644 drivers/staging/media/atomisp/pci/defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/dma_v2_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/gdc_v2_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/gp_timer_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/gpio_block_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_2401_irq_types_hrt.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/debug_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/dma_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/event_fifo_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/fifo_monitor_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/gdc_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/gp_device_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/gp_timer_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/gpio_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/hmem_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/debug.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/debug_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/debug_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/dma.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/dma_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/dma_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/event_fifo.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/event_fifo_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/event_fifo_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/fifo_monitor.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/fifo_monitor_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/fifo_monitor_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gdc.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gdc_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gdc_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_device.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_device_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_device_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_timer.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_timer_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_timer_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gpio_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gpio_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/hmem.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/hmem_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/hmem_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/input_formatter.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/input_formatter_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/input_formatter_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/input_system.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/irq.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/irq_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/irq_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/isp.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/isp_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/isp_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/mmu.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/mmu_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/sp.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/sp_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/sp_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/timed_ctrl.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/timed_ctrl_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/timed_ctrl_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vamem_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/input_formatter_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/irq_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/isp_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/mmu_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/sp_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/timed_ctrl_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/vamem_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_common/vmem_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/assert_support.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/bitop_support.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/csi_rx.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/debug.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/device_access/device_access.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/dma.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/error_support.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/event_fifo.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/fifo_monitor.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/gdc_device.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/gp_device.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/gp_timer.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/gpio.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/hmem.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/csi_rx_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/debug_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/dma_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/event_fifo_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/fifo_monitor_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/gdc_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/gp_device_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/gp_timer_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/gpio_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/hmem_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/ibuf_ctrl_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/input_formatter_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/irq_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/isp_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/isys_dma_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/isys_irq_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/isys_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/isys_stream2mmio_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/mmu_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/pixelgen_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/sp_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/tag_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/timed_ctrl_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/vamem_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/host/vmem_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/ibuf_ctrl.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/input_formatter.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/input_system.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/irq.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/isp.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/isys_dma.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/isys_irq.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/isys_stream2mmio.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/math_support.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/memory_access/memory_access.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/memory_realloc.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/misc_support.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/mmu_device.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/pixelgen.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/platform_support.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/print_support.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/queue.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/resource.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/sp.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/string_support.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/system_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/tag.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/timed_ctrl.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/type_support.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/vamem.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/vmem.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_shared/host/queue_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_shared/host/queue_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_shared/host/tag.c
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_shared/host/tag_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_shared/host/tag_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_shared/queue_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_shared/sw_event_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_shared/tag_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_streaming_to_mipi_types_hrt.h
 create mode 100644 drivers/staging/media/atomisp/pci/hive_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/hmm/hmm.c
 create mode 100644 drivers/staging/media/atomisp/pci/hmm/hmm_bo.c
 create mode 100644 drivers/staging/media/atomisp/pci/hmm/hmm_dynamic_pool.c
 create mode 100644 drivers/staging/media/atomisp/pci/hmm/hmm_reserved_pool.c
 create mode 100644 drivers/staging/media/atomisp/pci/hmm/hmm_vm.c
 create mode 100644 drivers/staging/media/atomisp/pci/hrt/hive_isp_css_custom_host_hrt.h
 create mode 100644 drivers/staging/media/atomisp/pci/hrt/hive_isp_css_mm_hrt.c
 create mode 100644 drivers/staging/media/atomisp/pci/hrt/hive_isp_css_mm_hrt.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_3a.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_acc_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_buffer.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_control.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_device_access.c
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_device_access.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_dvs.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_env.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_err.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_event_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_firmware.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_frac.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_frame_format.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_frame_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_host_data.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_input_port.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_irq.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_isp_configs.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_isp_params.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_isp_states.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_memory_access.c
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_metadata.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_mipi.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_mmu.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_mmu_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_morph.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_pipe.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_pipe_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_prbs.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_properties.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_shading.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_stream.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_stream_format.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_stream_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_timer.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_tpg.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_version.h
 create mode 100644 drivers/staging/media/atomisp/pci/ia_css_version_data.h
 create mode 100644 drivers/staging/media/atomisp/pci/if_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/input_formatter_subsystem_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/input_selector_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/input_switch_2400_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/input_system_ctrl_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/input_system_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/input_system_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/input_system_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/input_system_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/input_system_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/irq_controller_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/aa/aa_2/ia_css_aa2.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/aa/aa_2/ia_css_aa2.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/aa/aa_2/ia_css_aa2_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/aa/aa_2/ia_css_aa2_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_1.0/ia_css_anr.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_1.0/ia_css_anr.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_1.0/ia_css_anr_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_1.0/ia_css_anr_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2_table.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2_table.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/bh/bh_2/ia_css_bh.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/bh/bh_2/ia_css_bh.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/bh/bh_2/ia_css_bh_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/bh/bh_2/ia_css_bh_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/bnlm/ia_css_bnlm.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/bnlm/ia_css_bnlm.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/bnlm/ia_css_bnlm_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/bnlm/ia_css_bnlm_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr2_2/ia_css_bnr2_2.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr2_2/ia_css_bnr2_2.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr2_2/ia_css_bnr2_2_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr2_2/ia_css_bnr2_2_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_2/ia_css_cnr2.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_2/ia_css_cnr2.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_2/ia_css_cnr2_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_2/ia_css_cnr2_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/conversion/conversion_1.0/ia_css_conversion.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/conversion/conversion_1.0/ia_css_conversion.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/conversion/conversion_1.0/ia_css_conversion_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/conversion/conversion_1.0/ia_css_conversion_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/copy_output/copy_output_1.0/ia_css_copy_output.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/copy_output/copy_output_1.0/ia_css_copy_output.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/copy_output/copy_output_1.0/ia_css_copy_output_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/crop/crop_1.0/ia_css_crop.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/crop/crop_1.0/ia_css_crop.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/crop/crop_1.0/ia_css_crop_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/crop/crop_1.0/ia_css_crop_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/csc/csc_1.0/ia_css_csc.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/csc/csc_1.0/ia_css_csc.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/csc/csc_1.0/ia_css_csc_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/csc/csc_1.0/ia_css_csc_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc1_5/ia_css_ctc1_5_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc2/ia_css_ctc2.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc2/ia_css_ctc2.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc2/ia_css_ctc2_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc2/ia_css_ctc2_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_table.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_table.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/de/de_1.0/ia_css_de.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/de/de_1.0/ia_css_de.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/de/de_1.0/ia_css_de_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/de/de_1.0/ia_css_de_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/de/de_2/ia_css_de2.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/de/de_2/ia_css_de2.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/de/de_2/ia_css_de2_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/de/de_2/ia_css_de2_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/dp/dp_1.0/ia_css_dp.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/dp/dp_1.0/ia_css_dp.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/dp/dp_1.0/ia_css_dp_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/dp/dp_1.0/ia_css_dp_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/dpc2/ia_css_dpc2.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/dpc2/ia_css_dpc2.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/dpc2/ia_css_dpc2_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/dpc2/ia_css_dpc2_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/fc/fc_1.0/ia_css_formats.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/fc/fc_1.0/ia_css_formats.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/fc/fc_1.0/ia_css_formats_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/fc/fc_1.0/ia_css_formats_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/fixedbds/fixedbds_1.0/ia_css_fixedbds_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/fixedbds/fixedbds_1.0/ia_css_fixedbds_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc_table.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc_table.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2_table.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2_table.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/ia_css_bayer_io_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/ia_css_bayer_io_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/common/ia_css_common_io_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/common/ia_css_common_io_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls/ia_css_yuv444_io.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls/ia_css_yuv444_io.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls/ia_css_yuv444_io_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls/ia_css_yuv444_io_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/iterator/iterator_1.0/ia_css_iterator.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/iterator/iterator_1.0/ia_css_iterator.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/iterator/iterator_1.0/ia_css_iterator_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_macc1_5.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_macc1_5.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_macc1_5_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_macc1_5_table.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_macc1_5_table.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_macc1_5_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_macc.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_macc.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_macc_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_macc_table.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_macc_table.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_macc_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/norm/norm_1.0/ia_css_norm.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/norm/norm_1.0/ia_css_norm.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/norm/norm_1.0/ia_css_norm_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ob/ob2/ia_css_ob2.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ob/ob2/ia_css_ob2.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ob/ob2/ia_css_ob2_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ob/ob2/ia_css_ob2_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ob/ob_1.0/ia_css_ob.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ob/ob_1.0/ia_css_ob.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ob/ob_1.0/ia_css_ob_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ob/ob_1.0/ia_css_ob_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/output/output_1.0/ia_css_output.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/output/output_1.0/ia_css_output.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/output/output_1.0/ia_css_output_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/output/output_1.0/ia_css_output_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/qplane/qplane_2/ia_css_qplane.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/qplane/qplane_2/ia_css_qplane.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/qplane/qplane_2/ia_css_qplane_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/qplane/qplane_2/ia_css_qplane_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/raw/raw_1.0/ia_css_raw.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/raw/raw_1.0/ia_css_raw.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/raw/raw_1.0/ia_css_raw_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/raw/raw_1.0/ia_css_raw_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/raw_aa_binning/raw_aa_binning_1.0/ia_css_raa.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/raw_aa_binning/raw_aa_binning_1.0/ia_css_raa.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref_state.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/sdis/common/ia_css_sdis_common.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/sdis/common/ia_css_sdis_common_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_1.0/ia_css_sdis.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_1.0/ia_css_sdis.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_1.0/ia_css_sdis_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_2/ia_css_sdis2.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_2/ia_css_sdis2.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_2/ia_css_sdis2_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr3/ia_css_tnr3_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_state.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/uds/uds_1.0/ia_css_uds_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/vf/vf_1.0/ia_css_vf.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/vf/vf_1.0/ia_css_vf.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/vf/vf_1.0/ia_css_vf_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/vf/vf_1.0/ia_css_vf_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/wb/wb_1.0/ia_css_wb.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/wb/wb_1.0/ia_css_wb.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/wb/wb_1.0/ia_css_wb_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/wb/wb_1.0/ia_css_wb_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_table.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_table.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_2/ia_css_ynr2.host.c
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_2/ia_css_ynr2.host.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_2/ia_css_ynr2_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_2/ia_css_ynr2_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/modes/interface/input_buf.isp.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/modes/interface/isp_const.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp/modes/interface/isp_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp2400_input_system_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp2400_input_system_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp2400_input_system_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp2400_input_system_public.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp2400_support.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp2400_system_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp2400_system_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp2401_input_system_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp2401_input_system_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp2401_input_system_private.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp2401_mamoiada_params.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp2401_system_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp2401_system_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp_acquisition_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/isp_capture_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/memory_realloc.c
 create mode 100644 drivers/staging/media/atomisp/pci/mmu/isp_mmu.c
 create mode 100644 drivers/staging/media/atomisp/pci/mmu/sh_mmu_mrfld.c
 create mode 100644 drivers/staging/media/atomisp/pci/mmu_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/binary/interface/ia_css_binary.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/bufq/interface/ia_css_bufq.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/bufq/interface/ia_css_bufq_comm.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/bufq/src/bufq.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug_internal.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug_pipe.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/debug/src/ia_css_debug.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/event/interface/ia_css_event.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/event/src/event.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/eventq/interface/ia_css_eventq.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/eventq/src/eventq.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/frame/interface/ia_css_frame.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/frame/interface/ia_css_frame_comm.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/frame/src/frame.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/ifmtr/interface/ia_css_ifmtr.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/ifmtr/src/ifmtr.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/inputfifo/interface/ia_css_inputfifo.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/inputfifo/src/inputfifo.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isp_param/interface/ia_css_isp_param.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isp_param/interface/ia_css_isp_param_types.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isp_param/src/isp_param.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isys/interface/ia_css_isys.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isys/interface/ia_css_isys_comm.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isys/src/csi_rx_rmgr.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isys/src/csi_rx_rmgr.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isys/src/isys_dma_rmgr.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isys/src/isys_dma_rmgr.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isys/src/isys_init.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isys/src/isys_stream2mmio_rmgr.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isys/src/isys_stream2mmio_rmgr.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isys/src/rx.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/pipeline/interface/ia_css_pipeline.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/pipeline/interface/ia_css_pipeline_common.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/pipeline/src/pipeline.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/queue/interface/ia_css_queue.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/queue/interface/ia_css_queue_comm.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/queue/src/queue.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/queue/src/queue_access.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/queue/src/queue_access.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/rmgr/interface/ia_css_rmgr.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/rmgr/interface/ia_css_rmgr_vbuf.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/rmgr/src/rmgr.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/rmgr/src/rmgr_vbuf.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/spctrl/interface/ia_css_spctrl.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/spctrl/interface/ia_css_spctrl_comm.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/spctrl/src/spctrl.c
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/tagger/interface/ia_css_tagger_common.h
 create mode 100644 drivers/staging/media/atomisp/pci/runtime/timer/src/timer.c
 create mode 100644 drivers/staging/media/atomisp/pci/scalar_processor_2400_params.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_dvs_info.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_firmware.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_firmware.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_frac.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_host_data.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_hrt.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_hrt.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_internal.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_legacy.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_metadata.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_metrics.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_metrics.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_mipi.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_mipi.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_mmu.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_morph.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_param_dvs.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_param_dvs.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_param_shading.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_param_shading.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_params.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_params.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_params_internal.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_pipe.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_properties.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_shading.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_sp.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_sp.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_stream.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_stream_format.c
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_stream_format.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_struct.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_uds.h
 create mode 100644 drivers/staging/media/atomisp/pci/sh_css_version.c
 create mode 100644 drivers/staging/media/atomisp/pci/str2mem_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/streaming_to_mipi_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/system_global.h
 create mode 100644 drivers/staging/media/atomisp/pci/system_local.h
 create mode 100644 drivers/staging/media/atomisp/pci/timed_controller_defs.h
 create mode 100644 drivers/staging/media/atomisp/pci/version.h
 create mode 100644 drivers/staging/media/atomisp/platform/Makefile
 create mode 100644 drivers/staging/media/atomisp/platform/intel-mid/Makefile
 create mode 100644 drivers/staging/media/atomisp/platform/intel-mid/atomisp_gmin_platform.c

Thanks,
Mauro

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-01 19:57 [GIT PULL] Ressurect the atomisp staging driver Mauro Carvalho Chehab
@ 2020-05-02  6:03 ` Greg KH
  2020-05-20  7:48   ` Mauro Carvalho Chehab
  2020-05-03  9:19 ` Francescodario Cuzzocrea
  2020-05-03  9:23 ` bosconovic
  2 siblings, 1 reply; 26+ messages in thread
From: Greg KH @ 2020-05-02  6:03 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: Mauro Carvalho Chehab, linux-media, Alan Cox, Alan Cox, linux-kernel

On Fri, May 01, 2020 at 09:57:41PM +0200, Mauro Carvalho Chehab wrote:
> This driver is simply too big for it to be sent to the ML via e-mails. Those
> will very likely be rejected due to the e-mail sizes.
> 
> So, instead, I'm sending a "GIT PULL" to myself, at the ML.
> 
> This series basically "resurrect" this driver from the death, giving it a
> second chance to survive.

Hah, good luck!  Without the hardware I think you are going to be
fighting a loosing battle, best of luck...

greg k-h

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-01 19:57 [GIT PULL] Ressurect the atomisp staging driver Mauro Carvalho Chehab
  2020-05-02  6:03 ` Greg KH
@ 2020-05-03  9:19 ` Francescodario Cuzzocrea
  2020-05-03 10:07   ` Mauro Carvalho Chehab
  2020-05-03 15:32   ` Mauro Carvalho Chehab
  2020-05-03  9:23 ` bosconovic
  2 siblings, 2 replies; 26+ messages in thread
From: Francescodario Cuzzocrea @ 2020-05-03  9:19 UTC (permalink / raw)
  To: mchehab, mchehab+huawei; +Cc: linux-media, gregkh, linux-kernel, gnomes, alan

Hi ! 

Thanks for this, it is very appreciated !! 

I have a bay trail 2in1 (namely, the acer aspire swtich 10 sw5-012,
with an OV2722 module, so supported by the driver) on top of which I
run android-x86-q so I would be able to help a bit with testing the
driver.

I tried to pull in your changes on top of my 5.7-rc2 here : 
https://gitlab.com/lineageos-x86/android_kernel_common/-/commits/5.7-media

but I did not understood how to correctly enable the driver.
According
to Kconfig help, there is still the hardcoded switch between ISP2401
and ISP2400, so for my Bay Trail tablet I should set :

#
CONFIG_VIDEO_ATOMISP_ISP2401 is not set

but settings this breaks compilation with : 

ERROR: modpost:
"ia_css_configure_sc"[drivers/staging/media/atomisp/atomisp.ko]
undefined!

Looking at commit history, I noticed that the driver should be able to
recognize at runtime the ISP version, so what I tried next was to set
CONFIG_VIDEO_ATOMISP_ISP2401=y, and the compilation went fine.
I was able to boot the kernel (and I also added both
shisp_2400b0_v21.bin and shisp_2401a0_v21.bin from an android tablet
dump).

The kernel booted fine, the ov2722 module is loaded, but according to
dmesg it is not able to initialize the hardware : 
https://pastebin.com/VBMD1bau

Unfortunately I am not too experienced in kernel\driver development but
I would be happy to help to debug this, with guidance, if possible.

Il giorno ven, 01/05/2020 alle 21.57 +0200, Mauro Carvalho Chehab ha
scritto:
> This driver is simply too big for it to be sent to the ML via e-
> mails. Those
> will very likely be rejected due to the e-mail sizes.
> 
> So, instead, I'm sending a "GIT PULL" to myself, at the ML.
> 
> This series basically "resurrect" this driver from the death, giving
> it a
> second chance to survive.
> 
> I did a lot of cleanups on it during my spare time, and changed it to
> be
> able to work with ISP2401 (version A0). Several duplicated files got
> removed,
> several checkpatch warnings solved, and lots of other random things.
> 
> My current plans are to have people at the community testing and
> contributing with fixes, while I'll keep focused on cleaning its
> code and allow to support all ISP variants at the same time
> (right now, it requires a build time decision).
> 
> That's said, I don't have any Atom hardware with cameras myself, and
> it
> seems that there's at least one version of ISP2401 that may require
> some changes (version B0).
> 
> So, we don't know if this works or not, but this also applies to any
> other
> driver at staging, as warned when someone tries to use it:
> 
> 	[    9.270599] atomisp_ov2680: module is from the staging
> directory, the quality is unknown, you have been warned.
> 	[    9.350464] atomisp: module is from the staging directory,
> the quality is unknown, you have been warned.
> 
> So, use with care.
> 
> Regards,
> Mauro
> 
> -
> 
> 
> The following changes since commit
> ceab3ac1e60d70afb4e25147d60817c513f235f7:
> 
>   media: dvb-frontends: DUMMY_FE should depends on DVB_CORE (2020-04-
> 17 09:21:47 +0200)
> 
> are available in the Git repository at:
> 
>   git://linuxtv.org/mchehab/experimental.git atomisp_v2
> 
> 
> for you to fetch changes up to
> d3151587fa106c2b71169e5ea7d7de799152745f:
> 
>   atomisp: remove some file duplication and do more dir renames
> (2020-05-01 14:24:58 +0200)
> 
> ----------------------------------------------------------------
> Mauro Carvalho Chehab (69):
>       Revert "media: staging: atomisp: Remove driver"
>       media: atomisp: fix usage of access_ok() kAPI
>       media: atomisp: totalram_pages is now a function
>       media: atomisp: replace VFL_TYPE_GRABBER by VFL_TYPE_VIDEO
>       media: atomisp: Fix support for time 64 API
>       media: atomisp: use cpu_latency_qos_*() instead of
> pm_qos_update*()
>       media: atomisp: use new ida API
>       media: atomisp: fix a broken compat32 code
>       media: atomisp: allow building the driver again
>       media: atomisp: fix several typos
>       media: atomisp: fix several coding style issues
>       media: atomisp: do lots of other coding style cleanups
>       media: atomisp: remove some dead code
>       media: atomisp: simplify math_support.h
>       media: atomisp: add a way for the driver to know the chipset
> version
>       media: atomisp: atomisp_cmd.c test ISP version in runtime
>       media: atomisp: atomisp_dfs_tables.h: don't depend on ISP
> version
>       media: atomisp: pci/atomisp2/*.h remove #ifdef ISP2401
>       media: atomisp: atomisp_ioctl.c: get rid of a ISP2400/ISP2401
> dependency
>       media: atomisp: atomisp_v4l2.c: set wdt timers according with
> ISP version
>       media: atomisp: atomisp_subdev.c check ISP version on runtime
>       media: atomisp: atomisp_csi2.c: remove useless ifdefs
>       media: atomisp: atomisp_compat_css20.c: detect ISP at runtime
>       media: atomisp: atomisp_compat_ioctl32.c: be independent of ISP
> version
>       media: atomisp: sh_css_defs.h: get rid of build time
> dependencies
>       media: atomisp: make sh_css_struct.h independent of ISP version
>       media: atomisp: make sh_css_sp_init_pipeline() ISP version
> independent
>       media: atomisp: remove ISP version macros from sh_css_legacy.h
>       media: atomisp: remove table duplication from dfs tables
>       media: atomisp: unify sh_css_params_shading_id_table_generate()
>       media: atomisp: sh_css_param_dvs.h remove ISP version macros
>       media: atomisp: print css_version in runtime
>       media: atomisp: add support for possible new names
>       media: atomisp: css_trace.h: use the newest tracing code
>       media: atomisp: ia_css_binary_get_shading_info(): don't test
> version
>       media: atomisp: get rid of some non-existing functions for
> ISP2401
>       media: atomisp: make util.c work with ISP2401 runtime detection
>       media: atomisp: sh_css: detect ISP version at runtime
>       media: atomisp: isp_const.h: get rid of an unused big define
> list
>       media: atomisp: get rid of several typedef-style defines
>       media: atomisp: get rid of trivial ISP2401 dependencies on
> header files
>       media: atomisp: get rid of unused header files
>       media: atomisp: remove unused definitions at
> */isp_capture_defs.h
>       media: atomisp: remove several duplicated files
>       media: atomisp: remove unused hive_isp_css_host_ids_hrt.h
>       media: atomisp: hive_isp_css_defs.h: keep just one copy of it
>       media: atomisp: get finish de-duplication of hrt/hive*.h
>       media: atomisp: add Asus Transform T101HA ACPI vars
>       media: atomisp: use regulator_get_optional() for first attempt
>       media: atomisp: remove bayer_io_ls duplication
>       media: atomisp: rename anr2 param header file
>       media: atomisp: get rid of io_ls/ subdir
>       media: atomisp: remove unused duplicated files
>       media: atomisp: get rid of trivial version checks at *.h
>       media: atomisp: get rid of ia_css_sc_param.h version dependency
>       media: atomisp: get rid of ISP_VMEM_IS_BAMEM unused defines
>       media: atomisp: get rid of __ISP define tests
>       media: atomisp: make all file names unique at atomisp driver
>       media: atomisp: simplify makefiles
>       media: atomisp: cleanup directory hierarchy
>       media: atomisp: get rid of some broken code
>       media: atomisp: change function worders and fix include
>       media: atomisp: allow building for isp2401
>       media: atomisp: cleanup contents of css_2400_system/
>       media: atomisp: cleanup contents of css_2401_csi2p_system
>       media: atomisp: cleanup contents of css_2401_system
>       media: atomisp: get rid of most checks for ISP2401 version
>       media: atomisp: add firmware load code for ISP2401 rev B0
>       atomisp: remove some file duplication and do more dir renames
> 
>  MAINTAINERS                                        |     7 +
>  drivers/staging/media/Kconfig                      |     2 +
>  drivers/staging/media/Makefile                     |     1 +
>  drivers/staging/media/atomisp/Kconfig              |    35 +
>  drivers/staging/media/atomisp/Makefile             |   366 +
>  drivers/staging/media/atomisp/TODO                 |    74 +
>  drivers/staging/media/atomisp/i2c/Kconfig          |    86 +
>  drivers/staging/media/atomisp/i2c/Makefile         |    18 +
>  drivers/staging/media/atomisp/i2c/atomisp-gc0310.c |  1395 +++
>  drivers/staging/media/atomisp/i2c/atomisp-gc2235.c |  1128 ++
>  .../media/atomisp/i2c/atomisp-libmsrlisthelper.c   |   207 +
>  drivers/staging/media/atomisp/i2c/atomisp-lm3554.c |   961 ++
>  .../staging/media/atomisp/i2c/atomisp-mt9m114.c    |  1899 ++++
>  drivers/staging/media/atomisp/i2c/atomisp-ov2680.c |  1472 +++
>  drivers/staging/media/atomisp/i2c/atomisp-ov2722.c |  1277 +++
>  drivers/staging/media/atomisp/i2c/gc0310.h         |   404 +
>  drivers/staging/media/atomisp/i2c/gc2235.h         |   680 ++
>  drivers/staging/media/atomisp/i2c/mt9m114.h        |  1791 +++
>  drivers/staging/media/atomisp/i2c/ov2680.h         |   855 ++
>  drivers/staging/media/atomisp/i2c/ov2722.h         |  1272 +++
>  drivers/staging/media/atomisp/i2c/ov5693/Kconfig   |    11 +
>  drivers/staging/media/atomisp/i2c/ov5693/Makefile  |     2 +
>  drivers/staging/media/atomisp/i2c/ov5693/ad5823.h  |    62 +
>  .../media/atomisp/i2c/ov5693/atomisp-ov5693.c      |  1995 ++++
>  drivers/staging/media/atomisp/i2c/ov5693/ov5693.h  |  1391 +++
>  drivers/staging/media/atomisp/include/hmm/hmm.h    |   102 +
>  drivers/staging/media/atomisp/include/hmm/hmm_bo.h |   315 +
>  .../staging/media/atomisp/include/hmm/hmm_common.h |    96 +
>  .../staging/media/atomisp/include/hmm/hmm_pool.h   |   115 +
>  drivers/staging/media/atomisp/include/hmm/hmm_vm.h |    65 +
>  .../staging/media/atomisp/include/linux/atomisp.h  |  1359 +++
>  .../atomisp/include/linux/atomisp_gmin_platform.h  |    36 +
>  .../media/atomisp/include/linux/atomisp_platform.h |   247 +
>  .../media/atomisp/include/linux/libmsrlisthelper.h |    27 +
>  .../staging/media/atomisp/include/media/lm3554.h   |   130 +
>  .../staging/media/atomisp/include/mmu/isp_mmu.h    |   169 +
>  .../media/atomisp/include/mmu/sh_mmu_mrfld.h       |    24 +
>  drivers/staging/media/atomisp/pci/atomisp-regs.h   |   199 +
>  drivers/staging/media/atomisp/pci/atomisp_acc.c    |   605 +
>  drivers/staging/media/atomisp/pci/atomisp_acc.h    |   119 +
>  drivers/staging/media/atomisp/pci/atomisp_cmd.c    |  6629
> +++++++++++
>  drivers/staging/media/atomisp/pci/atomisp_cmd.h    |   442 +
>  drivers/staging/media/atomisp/pci/atomisp_common.h |    74 +
>  drivers/staging/media/atomisp/pci/atomisp_compat.h |   663 ++
>  .../media/atomisp/pci/atomisp_compat_css20.c       |  4704 ++++++++
>  .../media/atomisp/pci/atomisp_compat_css20.h       |   277 +
>  .../media/atomisp/pci/atomisp_compat_ioctl32.c     |  1177 ++
>  .../media/atomisp/pci/atomisp_compat_ioctl32.h     |   367 +
>  drivers/staging/media/atomisp/pci/atomisp_csi2.c   |   426 +
>  drivers/staging/media/atomisp/pci/atomisp_csi2.h   |    58 +
>  .../staging/media/atomisp/pci/atomisp_dfs_tables.h |    40 +
>  drivers/staging/media/atomisp/pci/atomisp_drvfs.c  |   205 +
>  drivers/staging/media/atomisp/pci/atomisp_drvfs.h  |    24 +
>  drivers/staging/media/atomisp/pci/atomisp_file.c   |   227 +
>  drivers/staging/media/atomisp/pci/atomisp_file.h   |    43 +
>  drivers/staging/media/atomisp/pci/atomisp_fops.c   |  1305 +++
>  drivers/staging/media/atomisp/pci/atomisp_fops.h   |    50 +
>  drivers/staging/media/atomisp/pci/atomisp_helper.h |    28 +
>  .../staging/media/atomisp/pci/atomisp_internal.h   |   307 +
>  drivers/staging/media/atomisp/pci/atomisp_ioctl.c  |  3103 +++++
>  drivers/staging/media/atomisp/pci/atomisp_ioctl.h  |    66 +
>  drivers/staging/media/atomisp/pci/atomisp_subdev.c |  1423 +++
>  drivers/staging/media/atomisp/pci/atomisp_subdev.h |   466 +
>  drivers/staging/media/atomisp/pci/atomisp_tables.h |   187 +
>  drivers/staging/media/atomisp/pci/atomisp_tpg.c    |   163 +
>  drivers/staging/media/atomisp/pci/atomisp_tpg.h    |    38 +
>  .../media/atomisp/pci/atomisp_trace_event.h        |   127 +
>  drivers/staging/media/atomisp/pci/atomisp_v4l2.c   |  1969 ++++
>  drivers/staging/media/atomisp/pci/atomisp_v4l2.h   |    40 +
>  .../pci/base/circbuf/interface/ia_css_circbuf.h    |   376 +
>  .../base/circbuf/interface/ia_css_circbuf_comm.h   |    58 +
>  .../base/circbuf/interface/ia_css_circbuf_desc.h   |   173 +
>  .../media/atomisp/pci/base/circbuf/src/circbuf.c   |   320 +
>  .../pci/base/refcount/interface/ia_css_refcount.h  |    83 +
>  .../media/atomisp/pci/base/refcount/src/refcount.c |   275 +
>  drivers/staging/media/atomisp/pci/bits.h           |   104 +
>  .../camera/pipe/interface/ia_css_pipe_binarydesc.h |   297 +
>  .../camera/pipe/interface/ia_css_pipe_stagedesc.h  |    51 +
>  .../pci/camera/pipe/interface/ia_css_pipe_util.h   |    39 +
>  .../atomisp/pci/camera/pipe/src/pipe_binarydesc.c  |   873 ++
>  .../atomisp/pci/camera/pipe/src/pipe_stagedesc.c   |   118 +
>  .../media/atomisp/pci/camera/pipe/src/pipe_util.c  |    50 +
>  .../pci/camera/util/interface/ia_css_util.h        |   141 +
>  .../media/atomisp/pci/camera/util/src/util.c       |   225 +
>  drivers/staging/media/atomisp/pci/cell_params.h    |    40 +
>  .../pci/css_2400_system/hive/ia_css_isp_configs.c  |   385 +
>  .../pci/css_2400_system/hive/ia_css_isp_params.c   |  3419 ++++++
>  .../pci/css_2400_system/hive/ia_css_isp_states.c   |   223 +
>  .../hrt/hive_isp_css_irq_types_hrt.h               |    68 +
>  .../css_2400_system/hrt/isp2400_mamoiada_params.h  |   228 +
>  .../media/atomisp/pci/css_2400_system/spmem_dump.c |  1935 ++++
>  .../atomisp/pci/css_2401_system/csi_rx_global.h    |    63 +
>  .../pci/css_2401_system/hive/ia_css_isp_configs.c  |   413 +
>  .../pci/css_2401_system/hive/ia_css_isp_params.c   |  3366 ++++++
>  .../pci/css_2401_system/hive/ia_css_isp_states.c   |   223 +
>  .../atomisp/pci/css_2401_system/host/csi_rx.c      |    40 +
>  .../pci/css_2401_system/host/csi_rx_local.h        |    62 +
>  .../pci/css_2401_system/host/csi_rx_private.h      |   305 +
>  .../atomisp/pci/css_2401_system/host/ibuf_ctrl.c   |    22 +
>  .../pci/css_2401_system/host/ibuf_ctrl_local.h     |    58 +
>  .../pci/css_2401_system/host/ibuf_ctrl_private.h   |   267 +
>  .../atomisp/pci/css_2401_system/host/isys_dma.c    |    40 +
>  .../pci/css_2401_system/host/isys_dma_local.h      |    20 +
>  .../pci/css_2401_system/host/isys_dma_private.h    |    61 +
>  .../atomisp/pci/css_2401_system/host/isys_irq.c    |    43 +
>  .../pci/css_2401_system/host/isys_irq_local.h      |    35 +
>  .../pci/css_2401_system/host/isys_irq_private.h    |   106 +
>  .../pci/css_2401_system/host/isys_stream2mmio.c    |    21 +
>  .../css_2401_system/host/isys_stream2mmio_local.h  |    36 +
>  .../host/isys_stream2mmio_private.h                |   167 +
>  .../pci/css_2401_system/host/pixelgen_local.h      |    50 +
>  .../pci/css_2401_system/host/pixelgen_private.h    |   182 +
>  .../css_2401_system/hrt/PixelGen_SysBlock_defs.h   |   113 +
>  .../pci/css_2401_system/hrt/ibuf_cntrl_defs.h      |   134 +
>  .../css_2401_system/hrt/mipi_backend_common_defs.h |   205 +
>  .../pci/css_2401_system/hrt/mipi_backend_defs.h    |   208 +
>  .../atomisp/pci/css_2401_system/hrt/rx_csi_defs.h  |   169 +
>  .../pci/css_2401_system/hrt/stream2mmio_defs.h     |    68 +
>  .../atomisp/pci/css_2401_system/ibuf_ctrl_global.h |    79 +
>  .../atomisp/pci/css_2401_system/isys_dma_global.h  |    89 +
>  .../atomisp/pci/css_2401_system/isys_irq_global.h  |    35 +
>  .../pci/css_2401_system/isys_stream2mmio_global.h  |    39 +
>  .../atomisp/pci/css_2401_system/pixelgen_global.h  |    90 +
>  .../media/atomisp/pci/css_2401_system/spmem_dump.c |  1965 ++++
>  .../atomisp/pci/css_receiver_2400_common_defs.h    |   198 +
>  .../media/atomisp/pci/css_receiver_2400_defs.h     |   256 +
>  drivers/staging/media/atomisp/pci/css_trace.h      |   278 +
>  drivers/staging/media/atomisp/pci/defs.h           |    36 +
>  drivers/staging/media/atomisp/pci/dma_v2_defs.h    |   199 +
>  drivers/staging/media/atomisp/pci/gdc_v2_defs.h    |   163 +
>  drivers/staging/media/atomisp/pci/gp_timer_defs.h  |    36 +
>  .../staging/media/atomisp/pci/gpio_block_defs.h    |    41 +
>  .../atomisp/pci/hive_isp_css_2401_irq_types_hrt.h  |    68 +
>  .../atomisp/pci/hive_isp_css_common/debug_global.h |    81 +
>  .../atomisp/pci/hive_isp_css_common/dma_global.h   |   254 +
>  .../pci/hive_isp_css_common/event_fifo_global.h    |    20 +
>  .../pci/hive_isp_css_common/fifo_monitor_global.h  |    32 +
>  .../atomisp/pci/hive_isp_css_common/gdc_global.h   |    89 +
>  .../pci/hive_isp_css_common/gp_device_global.h     |    84 +
>  .../pci/hive_isp_css_common/gp_timer_global.h      |    33 +
>  .../atomisp/pci/hive_isp_css_common/gpio_global.h  |    45 +
>  .../atomisp/pci/hive_isp_css_common/hmem_global.h  |    45 +
>  .../atomisp/pci/hive_isp_css_common/host/debug.c   |    71 +
>  .../pci/hive_isp_css_common/host/debug_local.h     |    20 +
>  .../pci/hive_isp_css_common/host/debug_private.h   |   126 +
>  .../atomisp/pci/hive_isp_css_common/host/dma.c     |   299 +
>  .../pci/hive_isp_css_common/host/dma_local.h       |   207 +
>  .../pci/hive_isp_css_common/host/dma_private.h     |    41 +
>  .../pci/hive_isp_css_common/host/event_fifo.c      |    19 +
>  .../hive_isp_css_common/host/event_fifo_local.h    |    61 +
>  .../hive_isp_css_common/host/event_fifo_private.h  |    77 +
>  .../pci/hive_isp_css_common/host/fifo_monitor.c    |   569 +
>  .../hive_isp_css_common/host/fifo_monitor_local.h  |    99 +
>  .../host/fifo_monitor_private.h                    |    80 +
>  .../atomisp/pci/hive_isp_css_common/host/gdc.c     |   125 +
>  .../pci/hive_isp_css_common/host/gdc_local.h       |    20 +
>  .../pci/hive_isp_css_common/host/gdc_private.h     |    20 +
>  .../pci/hive_isp_css_common/host/gp_device.c       |   108 +
>  .../pci/hive_isp_css_common/host/gp_device_local.h |   143 +
>  .../hive_isp_css_common/host/gp_device_private.h   |    46 +
>  .../pci/hive_isp_css_common/host/gp_timer.c        |    70 +
>  .../pci/hive_isp_css_common/host/gp_timer_local.h  |    43 +
>  .../hive_isp_css_common/host/gp_timer_private.h    |    22 +
>  .../pci/hive_isp_css_common/host/gpio_local.h      |    20 +
>  .../pci/hive_isp_css_common/host/gpio_private.h    |    44 +
>  .../atomisp/pci/hive_isp_css_common/host/hmem.c    |    19 +
>  .../pci/hive_isp_css_common/host/hmem_local.h      |    20 +
>  .../pci/hive_isp_css_common/host/hmem_private.h    |    30 +
>  .../pci/hive_isp_css_common/host/input_formatter.c |   241 +
>  .../host/input_formatter_local.h                   |   121 +
>  .../host/input_formatter_private.h                 |    46 +
>  .../pci/hive_isp_css_common/host/input_system.c    |  1849 +++
>  .../atomisp/pci/hive_isp_css_common/host/irq.c     |   451 +
>  .../pci/hive_isp_css_common/host/irq_local.h       |   134 +
>  .../pci/hive_isp_css_common/host/irq_private.h     |    44 +
>  .../atomisp/pci/hive_isp_css_common/host/isp.c     |   128 +
>  .../pci/hive_isp_css_common/host/isp_local.h       |    57 +
>  .../pci/hive_isp_css_common/host/isp_private.h     |   160 +
>  .../atomisp/pci/hive_isp_css_common/host/mmu.c     |    46 +
>  .../pci/hive_isp_css_common/host/mmu_local.h       |    20 +
>  .../atomisp/pci/hive_isp_css_common/host/sp.c      |    81 +
>  .../pci/hive_isp_css_common/host/sp_local.h        |   101 +
>  .../pci/hive_isp_css_common/host/sp_private.h      |   166 +
>  .../pci/hive_isp_css_common/host/timed_ctrl.c      |    74 +
>  .../hive_isp_css_common/host/timed_ctrl_local.h    |    20 +
>  .../hive_isp_css_common/host/timed_ctrl_private.h  |    34 +
>  .../pci/hive_isp_css_common/host/vamem_local.h     |    20 +
>  .../atomisp/pci/hive_isp_css_common/host/vmem.c    |   276 +
>  .../pci/hive_isp_css_common/host/vmem_local.h      |    57 +
>  .../pci/hive_isp_css_common/host/vmem_private.h    |    20 +
>  .../hive_isp_css_common/input_formatter_global.h   |   114 +
>  .../atomisp/pci/hive_isp_css_common/irq_global.h   |    45 +
>  .../atomisp/pci/hive_isp_css_common/isp_global.h   |   109 +
>  .../atomisp/pci/hive_isp_css_common/mmu_global.h   |    22 +
>  .../atomisp/pci/hive_isp_css_common/sp_global.h    |    93 +
>  .../pci/hive_isp_css_common/timed_ctrl_global.h    |    54 +
>  .../atomisp/pci/hive_isp_css_common/vamem_global.h |    34 +
>  .../atomisp/pci/hive_isp_css_common/vmem_global.h  |    28 +
>  .../staging/media/atomisp/pci/hive_isp_css_defs.h  |   411 +
>  .../pci/hive_isp_css_include/assert_support.h      |    73 +
>  .../pci/hive_isp_css_include/bitop_support.h       |    24 +
>  .../atomisp/pci/hive_isp_css_include/csi_rx.h      |    42 +
>  .../media/atomisp/pci/hive_isp_css_include/debug.h |    46 +
>  .../device_access/device_access.h                  |   177 +
>  .../media/atomisp/pci/hive_isp_css_include/dma.h   |    46 +
>  .../pci/hive_isp_css_include/error_support.h       |    39 +
>  .../atomisp/pci/hive_isp_css_include/event_fifo.h  |    45 +
>  .../pci/hive_isp_css_include/fifo_monitor.h        |    45 +
>  .../atomisp/pci/hive_isp_css_include/gdc_device.h  |    47 +
>  .../atomisp/pci/hive_isp_css_include/gp_device.h   |    45 +
>  .../atomisp/pci/hive_isp_css_include/gp_timer.h    |    45 +
>  .../media/atomisp/pci/hive_isp_css_include/gpio.h  |    45 +
>  .../media/atomisp/pci/hive_isp_css_include/hmem.h  |    45 +
>  .../pci/hive_isp_css_include/host/csi_rx_public.h  |   135 +
>  .../pci/hive_isp_css_include/host/debug_public.h   |    98 +
>  .../pci/hive_isp_css_include/host/dma_public.h     |    72 +
>  .../hive_isp_css_include/host/event_fifo_public.h  |    79 +
>  .../host/fifo_monitor_public.h                     |   110 +
>  .../pci/hive_isp_css_include/host/gdc_public.h     |    59 +
>  .../hive_isp_css_include/host/gp_device_public.h   |    58 +
>  .../hive_isp_css_include/host/gp_timer_public.h    |    33 +
>  .../pci/hive_isp_css_include/host/gpio_public.h    |    45 +
>  .../pci/hive_isp_css_include/host/hmem_public.h    |    32 +
>  .../hive_isp_css_include/host/ibuf_ctrl_public.h   |    93 +
>  .../host/input_formatter_public.h                  |   115 +
>  .../pci/hive_isp_css_include/host/irq_public.h     |   184 +
>  .../pci/hive_isp_css_include/host/isp_public.h     |   185 +
>  .../hive_isp_css_include/host/isys_dma_public.h    |    38 +
>  .../hive_isp_css_include/host/isys_irq_public.h    |    45 +
>  .../pci/hive_isp_css_include/host/isys_public.h    |    37 +
>  .../host/isys_stream2mmio_public.h                 |   101 +
>  .../pci/hive_isp_css_include/host/mmu_public.h     |    94 +
>  .../hive_isp_css_include/host/pixelgen_public.h    |    79 +
>  .../pci/hive_isp_css_include/host/sp_public.h      |   223 +
>  .../pci/hive_isp_css_include/host/tag_public.h     |    40 +
>  .../hive_isp_css_include/host/timed_ctrl_public.h  |    59 +
>  .../pci/hive_isp_css_include/host/vamem_public.h   |    18 +
>  .../pci/hive_isp_css_include/host/vmem_public.h    |    20 +
>  .../atomisp/pci/hive_isp_css_include/ibuf_ctrl.h   |    46 +
>  .../pci/hive_isp_css_include/input_formatter.h     |    45 +
>  .../pci/hive_isp_css_include/input_system.h        |    45 +
>  .../media/atomisp/pci/hive_isp_css_include/irq.h   |    45 +
>  .../media/atomisp/pci/hive_isp_css_include/isp.h   |    45 +
>  .../atomisp/pci/hive_isp_css_include/isys_dma.h    |    46 +
>  .../atomisp/pci/hive_isp_css_include/isys_irq.h    |    39 +
>  .../pci/hive_isp_css_include/isys_stream2mmio.h    |    46 +
>  .../pci/hive_isp_css_include/math_support.h        |   153 +
>  .../memory_access/memory_access.h                  |   174 +
>  .../pci/hive_isp_css_include/memory_realloc.h      |    38 +
>  .../pci/hive_isp_css_include/misc_support.h        |    26 +
>  .../atomisp/pci/hive_isp_css_include/mmu_device.h  |    39 +
>  .../atomisp/pci/hive_isp_css_include/pixelgen.h    |    46 +
>  .../pci/hive_isp_css_include/platform_support.h    |    36 +
>  .../pci/hive_isp_css_include/print_support.h       |    41 +
>  .../media/atomisp/pci/hive_isp_css_include/queue.h |    45 +
>  .../atomisp/pci/hive_isp_css_include/resource.h    |    46 +
>  .../media/atomisp/pci/hive_isp_css_include/sp.h    |    45 +
>  .../pci/hive_isp_css_include/string_support.h      |   165 +
>  .../pci/hive_isp_css_include/system_types.h        |    24 +
>  .../media/atomisp/pci/hive_isp_css_include/tag.h   |    44 +
>  .../atomisp/pci/hive_isp_css_include/timed_ctrl.h  |    45 +
>  .../pci/hive_isp_css_include/type_support.h        |    40 +
>  .../media/atomisp/pci/hive_isp_css_include/vamem.h |    36 +
>  .../media/atomisp/pci/hive_isp_css_include/vmem.h  |    45 +
>  .../pci/hive_isp_css_shared/host/queue_local.h     |    20 +
>  .../pci/hive_isp_css_shared/host/queue_private.h   |    18 +
>  .../atomisp/pci/hive_isp_css_shared/host/tag.c     |    91 +
>  .../pci/hive_isp_css_shared/host/tag_local.h       |    22 +
>  .../pci/hive_isp_css_shared/host/tag_private.h     |    18 +
>  .../atomisp/pci/hive_isp_css_shared/queue_global.h |    18 +
>  .../pci/hive_isp_css_shared/sw_event_global.h      |    35 +
>  .../atomisp/pci/hive_isp_css_shared/tag_global.h   |    56 +
>  .../pci/hive_isp_css_streaming_to_mipi_types_hrt.h |    26 +
>  drivers/staging/media/atomisp/pci/hive_types.h     |   128 +
>  drivers/staging/media/atomisp/pci/hmm/hmm.c        |   727 ++
>  drivers/staging/media/atomisp/pci/hmm/hmm_bo.c     |  1522 +++
>  .../media/atomisp/pci/hmm/hmm_dynamic_pool.c       |   233 +
>  .../media/atomisp/pci/hmm/hmm_reserved_pool.c      |   252 +
>  drivers/staging/media/atomisp/pci/hmm/hmm_vm.c     |   212 +
>  .../atomisp/pci/hrt/hive_isp_css_custom_host_hrt.h |   106 +
>  .../media/atomisp/pci/hrt/hive_isp_css_mm_hrt.c    |   124 +
>  .../media/atomisp/pci/hrt/hive_isp_css_mm_hrt.h    |    57 +
>  drivers/staging/media/atomisp/pci/ia_css.h         |    57 +
>  drivers/staging/media/atomisp/pci/ia_css_3a.h      |   189 +
>  .../staging/media/atomisp/pci/ia_css_acc_types.h   |   476 +
>  drivers/staging/media/atomisp/pci/ia_css_buffer.h  |    85 +
>  drivers/staging/media/atomisp/pci/ia_css_control.h |   156 +
>  .../media/atomisp/pci/ia_css_device_access.c       |    95 +
>  .../media/atomisp/pci/ia_css_device_access.h       |    60 +
>  drivers/staging/media/atomisp/pci/ia_css_dvs.h     |   297 +
>  drivers/staging/media/atomisp/pci/ia_css_env.h     |    94 +
>  drivers/staging/media/atomisp/pci/ia_css_err.h     |    63 +
>  .../media/atomisp/pci/ia_css_event_public.h        |   196 +
>  .../staging/media/atomisp/pci/ia_css_firmware.h    |    74 +
>  drivers/staging/media/atomisp/pci/ia_css_frac.h    |    37 +
>  .../media/atomisp/pci/ia_css_frame_format.h        |   101 +
>  .../media/atomisp/pci/ia_css_frame_public.h        |   353 +
>  .../staging/media/atomisp/pci/ia_css_host_data.h   |    45 +
>  .../staging/media/atomisp/pci/ia_css_input_port.h  |    60 +
>  drivers/staging/media/atomisp/pci/ia_css_irq.h     |   235 +
>  .../staging/media/atomisp/pci/ia_css_isp_configs.h |   191 +
>  .../staging/media/atomisp/pci/ia_css_isp_params.h  |   394 +
>  .../staging/media/atomisp/pci/ia_css_isp_states.h  |    73 +
>  .../media/atomisp/pci/ia_css_memory_access.c       |    85 +
>  .../staging/media/atomisp/pci/ia_css_metadata.h    |    72 +
>  drivers/staging/media/atomisp/pci/ia_css_mipi.h    |    82 +
>  drivers/staging/media/atomisp/pci/ia_css_mmu.h     |    32 +
>  .../staging/media/atomisp/pci/ia_css_mmu_private.h |    29 +
>  drivers/staging/media/atomisp/pci/ia_css_morph.h   |    39 +
>  drivers/staging/media/atomisp/pci/ia_css_pipe.h    |   189 +
>  .../staging/media/atomisp/pci/ia_css_pipe_public.h |   569 +
>  drivers/staging/media/atomisp/pci/ia_css_prbs.h    |    53 +
>  .../staging/media/atomisp/pci/ia_css_properties.h  |    41 +
>  drivers/staging/media/atomisp/pci/ia_css_shading.h |    40 +
>  drivers/staging/media/atomisp/pci/ia_css_stream.h  |   111 +
>  .../media/atomisp/pci/ia_css_stream_format.h       |    29 +
>  .../media/atomisp/pci/ia_css_stream_public.h       |   585 +
>  drivers/staging/media/atomisp/pci/ia_css_timer.h   |    68 +
>  drivers/staging/media/atomisp/pci/ia_css_tpg.h     |    78 +
>  drivers/staging/media/atomisp/pci/ia_css_types.h   |   605 +
>  drivers/staging/media/atomisp/pci/ia_css_version.h |    40 +
>  .../media/atomisp/pci/ia_css_version_data.h        |    27 +
>  drivers/staging/media/atomisp/pci/if_defs.h        |    22 +
>  .../atomisp/pci/input_formatter_subsystem_defs.h   |    53 +
>  .../media/atomisp/pci/input_selector_defs.h        |    88 +
>  .../media/atomisp/pci/input_switch_2400_defs.h     |    30 +
>  .../media/atomisp/pci/input_system_ctrl_defs.h     |   243 +
>  .../staging/media/atomisp/pci/input_system_defs.h  |   126 +
>  .../media/atomisp/pci/input_system_global.h        |    10 +
>  .../staging/media/atomisp/pci/input_system_local.h |    10 +
>  .../media/atomisp/pci/input_system_private.h       |    10 +
>  .../media/atomisp/pci/input_system_public.h        |     8 +
>  .../media/atomisp/pci/irq_controller_defs.h        |    28 +
>  .../pci/isp/kernels/aa/aa_2/ia_css_aa2.host.c      |    31 +
>  .../pci/isp/kernels/aa/aa_2/ia_css_aa2.host.h      |    27 +
>  .../pci/isp/kernels/aa/aa_2/ia_css_aa2_param.h     |    24 +
>  .../pci/isp/kernels/aa/aa_2/ia_css_aa2_types.h     |    46 +
>  .../pci/isp/kernels/anr/anr_1.0/ia_css_anr.host.c  |    61 +
>  .../pci/isp/kernels/anr/anr_1.0/ia_css_anr.host.h  |    39 +
>  .../pci/isp/kernels/anr/anr_1.0/ia_css_anr_param.h |    25 +
>  .../pci/isp/kernels/anr/anr_1.0/ia_css_anr_types.h |    35 +
>  .../pci/isp/kernels/anr/anr_2/ia_css_anr2.host.c   |    46 +
>  .../pci/isp/kernels/anr/anr_2/ia_css_anr2.host.h   |    35 +
>  .../pci/isp/kernels/anr/anr_2/ia_css_anr2_param.h  |    27 +
>  .../isp/kernels/anr/anr_2/ia_css_anr2_table.host.c |    55 +
>  .../isp/kernels/anr/anr_2/ia_css_anr2_table.host.h |    22 +
>  .../pci/isp/kernels/anr/anr_2/ia_css_anr2_types.h  |    31 +
>  .../pci/isp/kernels/bh/bh_2/ia_css_bh.host.c       |    66 +
>  .../pci/isp/kernels/bh/bh_2/ia_css_bh.host.h       |    32 +
>  .../pci/isp/kernels/bh/bh_2/ia_css_bh_param.h      |    40 +
>  .../pci/isp/kernels/bh/bh_2/ia_css_bh_types.h      |    35 +
>  .../pci/isp/kernels/bnlm/ia_css_bnlm.host.c        |   196 +
>  .../pci/isp/kernels/bnlm/ia_css_bnlm.host.h        |    40 +
>  .../pci/isp/kernels/bnlm/ia_css_bnlm_param.h       |    64 +
>  .../pci/isp/kernels/bnlm/ia_css_bnlm_types.h       |   106 +
>  .../isp/kernels/bnr/bnr2_2/ia_css_bnr2_2.host.c    |   131 +
>  .../isp/kernels/bnr/bnr2_2/ia_css_bnr2_2.host.h    |    35 +
>  .../isp/kernels/bnr/bnr2_2/ia_css_bnr2_2_param.h   |    47 +
>  .../isp/kernels/bnr/bnr2_2/ia_css_bnr2_2_types.h   |    71 +
>  .../pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr.host.c  |    64 +
>  .../pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr.host.h  |    34 +
>  .../pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr_param.h |    30 +
>  .../pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr.host.c  |    28 +
>  .../pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr.host.h  |    25 +
>  .../pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr_param.h |    24 +
>  .../pci/isp/kernels/cnr/cnr_2/ia_css_cnr2.host.c   |    73 +
>  .../pci/isp/kernels/cnr/cnr_2/ia_css_cnr2.host.h   |    43 +
>  .../pci/isp/kernels/cnr/cnr_2/ia_css_cnr2_param.h  |    32 +
>  .../pci/isp/kernels/cnr/cnr_2/ia_css_cnr2_types.h  |    54 +
>  .../conversion_1.0/ia_css_conversion.host.c        |    36 +
>  .../conversion_1.0/ia_css_conversion.host.h        |    29 +
>  .../conversion_1.0/ia_css_conversion_param.h       |    28 +
>  .../conversion_1.0/ia_css_conversion_types.h       |    32 +
>  .../copy_output_1.0/ia_css_copy_output.host.c      |    46 +
>  .../copy_output_1.0/ia_css_copy_output.host.h      |    34 +
>  .../copy_output_1.0/ia_css_copy_output_param.h     |    26 +
>  .../isp/kernels/crop/crop_1.0/ia_css_crop.host.c   |    64 +
>  .../isp/kernels/crop/crop_1.0/ia_css_crop.host.h   |    41 +
>  .../isp/kernels/crop/crop_1.0/ia_css_crop_param.h  |    32 +
>  .../isp/kernels/crop/crop_1.0/ia_css_crop_types.h  |    34 +
>  .../pci/isp/kernels/csc/csc_1.0/ia_css_csc.host.c  |   127 +
>  .../pci/isp/kernels/csc/csc_1.0/ia_css_csc.host.h  |    54 +
>  .../pci/isp/kernels/csc/csc_1.0/ia_css_csc_param.h |    33 +
>  .../pci/isp/kernels/csc/csc_1.0/ia_css_csc_types.h |    78 +
>  .../isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.c    |   121 +
>  .../isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.h    |    33 +
>  .../isp/kernels/ctc/ctc1_5/ia_css_ctc1_5_param.h   |    46 +
>  .../pci/isp/kernels/ctc/ctc2/ia_css_ctc2.host.c    |   157 +
>  .../pci/isp/kernels/ctc/ctc2/ia_css_ctc2.host.h    |    33 +
>  .../pci/isp/kernels/ctc/ctc2/ia_css_ctc2_param.h   |    48 +
>  .../pci/isp/kernels/ctc/ctc2/ia_css_ctc2_types.h   |    54 +
>  .../pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.c  |    58 +
>  .../pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.h  |    36 +
>  .../pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_param.h |    44 +
>  .../kernels/ctc/ctc_1.0/ia_css_ctc_table.host.c    |   214 +
>  .../kernels/ctc/ctc_1.0/ia_css_ctc_table.host.h    |    24 +
>  .../pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_types.h |   110 +
>  .../pci/isp/kernels/de/de_1.0/ia_css_de.host.c     |    78 +
>  .../pci/isp/kernels/de/de_1.0/ia_css_de.host.h     |    44 +
>  .../pci/isp/kernels/de/de_1.0/ia_css_de_param.h    |    27 +
>  .../pci/isp/kernels/de/de_1.0/ia_css_de_types.h    |    42 +
>  .../pci/isp/kernels/de/de_2/ia_css_de2.host.c      |    53 +
>  .../pci/isp/kernels/de/de_2/ia_css_de2.host.h      |    38 +
>  .../pci/isp/kernels/de/de_2/ia_css_de2_param.h     |    30 +
>  .../pci/isp/kernels/de/de_2/ia_css_de2_types.h     |    41 +
>  .../pci/isp/kernels/dp/dp_1.0/ia_css_dp.host.c     |   131 +
>  .../pci/isp/kernels/dp/dp_1.0/ia_css_dp.host.h     |    47 +
>  .../pci/isp/kernels/dp/dp_1.0/ia_css_dp_param.h    |    36 +
>  .../pci/isp/kernels/dp/dp_1.0/ia_css_dp_types.h    |    48 +
>  .../pci/isp/kernels/dpc2/ia_css_dpc2.host.c        |    65 +
>  .../pci/isp/kernels/dpc2/ia_css_dpc2.host.h        |    39 +
>  .../pci/isp/kernels/dpc2/ia_css_dpc2_param.h       |    51 +
>  .../pci/isp/kernels/dpc2/ia_css_dpc2_types.h       |    59 +
>  .../pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs.host.c  |   301 +
>  .../pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs.host.h  |    60 +
>  .../pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs_param.h |    32 +
>  .../pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs_types.h |    29 +
>  .../pci/isp/kernels/eed1_8/ia_css_eed1_8.host.c    |   338 +
>  .../pci/isp/kernels/eed1_8/ia_css_eed1_8.host.h    |    45 +
>  .../pci/isp/kernels/eed1_8/ia_css_eed1_8_param.h   |   153 +
>  .../pci/isp/kernels/eed1_8/ia_css_eed1_8_types.h   |    87 +
>  .../isp/kernels/fc/fc_1.0/ia_css_formats.host.c    |    63 +
>  .../isp/kernels/fc/fc_1.0/ia_css_formats.host.h    |    44 +
>  .../isp/kernels/fc/fc_1.0/ia_css_formats_param.h   |    25 +
>  .../isp/kernels/fc/fc_1.0/ia_css_formats_types.h   |    38 +
>  .../fixedbds/fixedbds_1.0/ia_css_fixedbds_param.h  |    32 +
>  .../fixedbds/fixedbds_1.0/ia_css_fixedbds_types.h  |    24 +
>  .../pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn.host.c  |    88 +
>  .../pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn.host.h  |    44 +
>  .../pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn_param.h |    35 +
>  .../pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn_types.h |    52 +
>  .../pci/isp/kernels/gc/gc_1.0/ia_css_gc.host.c     |   117 +
>  .../pci/isp/kernels/gc/gc_1.0/ia_css_gc.host.h     |    65 +
>  .../pci/isp/kernels/gc/gc_1.0/ia_css_gc_param.h    |    61 +
>  .../isp/kernels/gc/gc_1.0/ia_css_gc_table.host.c   |   213 +
>  .../isp/kernels/gc/gc_1.0/ia_css_gc_table.host.h   |    24 +
>  .../pci/isp/kernels/gc/gc_1.0/ia_css_gc_types.h    |    97 +
>  .../pci/isp/kernels/gc/gc_2/ia_css_gc2.host.c      |   109 +
>  .../pci/isp/kernels/gc/gc_2/ia_css_gc2.host.h      |    79 +
>  .../pci/isp/kernels/gc/gc_2/ia_css_gc2_param.h     |    43 +
>  .../isp/kernels/gc/gc_2/ia_css_gc2_table.host.c    |   131 +
>  .../isp/kernels/gc/gc_2/ia_css_gc2_table.host.h    |    26 +
>  .../pci/isp/kernels/gc/gc_2/ia_css_gc2_types.h     |    54 +
>  .../atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.c  |    41 +
>  .../atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.h  |    31 +
>  .../atomisp/pci/isp/kernels/hdr/ia_css_hdr_param.h |    59 +
>  .../atomisp/pci/isp/kernels/hdr/ia_css_hdr_types.h |    70 +
>  .../ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.c  |    93 +
>  .../ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.h  |    28 +
>  .../ipu2_io_ls/bayer_io_ls/ia_css_bayer_io_param.h |    20 +
>  .../ipu2_io_ls/bayer_io_ls/ia_css_bayer_io_types.h |    20 +
>  .../ipu2_io_ls/common/ia_css_common_io_param.h     |    20 +
>  .../ipu2_io_ls/common/ia_css_common_io_types.h     |    29 +
>  .../yuv444_io_ls/ia_css_yuv444_io.host.c           |    93 +
>  .../yuv444_io_ls/ia_css_yuv444_io.host.h           |    28 +
>  .../yuv444_io_ls/ia_css_yuv444_io_param.h          |    20 +
>  .../yuv444_io_ls/ia_css_yuv444_io_types.h          |    20 +
>  .../iterator/iterator_1.0/ia_css_iterator.host.c   |    80 +
>  .../iterator/iterator_1.0/ia_css_iterator.host.h   |    34 +
>  .../iterator/iterator_1.0/ia_css_iterator_param.h  |    38 +
>  .../isp/kernels/macc/macc1_5/ia_css_macc1_5.host.c |    74 +
>  .../isp/kernels/macc/macc1_5/ia_css_macc1_5.host.h |    41 +
>  .../kernels/macc/macc1_5/ia_css_macc1_5_param.h    |    31 +
>  .../macc/macc1_5/ia_css_macc1_5_table.host.c       |    34 +
>  .../macc/macc1_5/ia_css_macc1_5_table.host.h       |    22 +
>  .../kernels/macc/macc1_5/ia_css_macc1_5_types.h    |    73 +
>  .../isp/kernels/macc/macc_1.0/ia_css_macc.host.c   |    49 +
>  .../isp/kernels/macc/macc_1.0/ia_css_macc.host.h   |    41 +
>  .../isp/kernels/macc/macc_1.0/ia_css_macc_param.h  |    25 +
>  .../kernels/macc/macc_1.0/ia_css_macc_table.host.c |    51 +
>  .../kernels/macc/macc_1.0/ia_css_macc_table.host.h |    23 +
>  .../isp/kernels/macc/macc_1.0/ia_css_macc_types.h  |    63 +
>  .../isp/kernels/norm/norm_1.0/ia_css_norm.host.c   |    15 +
>  .../isp/kernels/norm/norm_1.0/ia_css_norm.host.h   |    20 +
>  .../isp/kernels/norm/norm_1.0/ia_css_norm_param.h  |    18 +
>  .../pci/isp/kernels/ob/ob2/ia_css_ob2.host.c       |    76 +
>  .../pci/isp/kernels/ob/ob2/ia_css_ob2.host.h       |    40 +
>  .../pci/isp/kernels/ob/ob2/ia_css_ob2_param.h      |    28 +
>  .../pci/isp/kernels/ob/ob2/ia_css_ob2_types.h      |    44 +
>  .../pci/isp/kernels/ob/ob_1.0/ia_css_ob.host.c     |   154 +
>  .../pci/isp/kernels/ob/ob_1.0/ia_css_ob.host.h     |    53 +
>  .../pci/isp/kernels/ob/ob_1.0/ia_css_ob_param.h    |    47 +
>  .../pci/isp/kernels/ob/ob_1.0/ia_css_ob_types.h    |    68 +
>  .../kernels/output/output_1.0/ia_css_output.host.c |   163 +
>  .../kernels/output/output_1.0/ia_css_output.host.h |    75 +
>  .../output/output_1.0/ia_css_output_param.h        |    36 +
>  .../output/output_1.0/ia_css_output_types.h        |    47 +
>  .../kernels/qplane/qplane_2/ia_css_qplane.host.c   |    61 +
>  .../kernels/qplane/qplane_2/ia_css_qplane.host.h   |    43 +
>  .../kernels/qplane/qplane_2/ia_css_qplane_param.h  |    30 +
>  .../kernels/qplane/qplane_2/ia_css_qplane_types.h  |    31 +
>  .../pci/isp/kernels/raw/raw_1.0/ia_css_raw.host.c  |   135 +
>  .../pci/isp/kernels/raw/raw_1.0/ia_css_raw.host.h  |    38 +
>  .../pci/isp/kernels/raw/raw_1.0/ia_css_raw_param.h |    38 +
>  .../pci/isp/kernels/raw/raw_1.0/ia_css_raw_types.h |    36 +
>  .../raw_aa_binning_1.0/ia_css_raa.host.c           |    35 +
>  .../raw_aa_binning_1.0/ia_css_raa.host.h           |    27 +
>  .../pci/isp/kernels/ref/ref_1.0/ia_css_ref.host.c  |    76 +
>  .../pci/isp/kernels/ref/ref_1.0/ia_css_ref.host.h  |    41 +
>  .../pci/isp/kernels/ref/ref_1.0/ia_css_ref_param.h |    36 +
>  .../pci/isp/kernels/ref/ref_1.0/ia_css_ref_state.h |    26 +
>  .../pci/isp/kernels/ref/ref_1.0/ia_css_ref_types.h |    25 +
>  .../pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a.host.c  |   386 +
>  .../pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a.host.h  |    77 +
>  .../pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a_param.h |    53 +
>  .../pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a_types.h |   221 +
>  .../pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.c     |   129 +
>  .../pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.h     |    77 +
>  .../pci/isp/kernels/sc/sc_1.0/ia_css_sc_param.h    |    42 +
>  .../pci/isp/kernels/sc/sc_1.0/ia_css_sc_types.h    |   134 +
>  .../kernels/sdis/common/ia_css_sdis_common.host.h  |   101 +
>  .../kernels/sdis/common/ia_css_sdis_common_types.h |   220 +
>  .../isp/kernels/sdis/sdis_1.0/ia_css_sdis.host.c   |   437 +
>  .../isp/kernels/sdis/sdis_1.0/ia_css_sdis.host.h   |   101 +
>  .../isp/kernels/sdis/sdis_1.0/ia_css_sdis_types.h  |    55 +
>  .../isp/kernels/sdis/sdis_2/ia_css_sdis2.host.c    |   350 +
>  .../isp/kernels/sdis/sdis_2/ia_css_sdis2.host.h    |    95 +
>  .../isp/kernels/sdis/sdis_2/ia_css_sdis2_types.h   |    75 +
>  .../pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.c  |    74 +
>  .../pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.h  |    38 +
>  .../pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf_param.h |    43 +
>  .../pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf_types.h |    52 +
>  .../pci/isp/kernels/tnr/tnr3/ia_css_tnr3_types.h   |    63 +
>  .../pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr.host.c  |   120 +
>  .../pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr.host.h  |    56 +
>  .../pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_param.h |    40 +
>  .../pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_state.h |    26 +
>  .../pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_types.h |    57 +
>  .../pci/isp/kernels/uds/uds_1.0/ia_css_uds_param.h |    31 +
>  .../pci/isp/kernels/vf/vf_1.0/ia_css_vf.host.c     |   138 +
>  .../pci/isp/kernels/vf/vf_1.0/ia_css_vf.host.h     |    47 +
>  .../pci/isp/kernels/vf/vf_1.0/ia_css_vf_param.h    |    37 +
>  .../pci/isp/kernels/vf/vf_1.0/ia_css_vf_types.h    |    31 +
>  .../pci/isp/kernels/wb/wb_1.0/ia_css_wb.host.c     |    86 +
>  .../pci/isp/kernels/wb/wb_1.0/ia_css_wb.host.h     |    39 +
>  .../pci/isp/kernels/wb/wb_1.0/ia_css_wb_param.h    |    29 +
>  .../pci/isp/kernels/wb/wb_1.0/ia_css_wb_types.h    |    46 +
>  .../pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr.host.c  |    65 +
>  .../pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr.host.h  |    47 +
>  .../pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_param.h |    50 +
>  .../kernels/xnr/xnr_1.0/ia_css_xnr_table.host.c    |    81 +
>  .../kernels/xnr/xnr_1.0/ia_css_xnr_table.host.h    |    22 +
>  .../pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_types.h |    70 +
>  .../pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3.host.c |   249 +
>  .../pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3.host.h |    41 +
>  .../isp/kernels/xnr/xnr_3.0/ia_css_xnr3_param.h    |    83 +
>  .../isp/kernels/xnr/xnr_3.0/ia_css_xnr3_types.h    |    97 +
>  .../pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr.host.c  |   217 +
>  .../pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr.host.h  |    60 +
>  .../pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr_param.h |    49 +
>  .../pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr_types.h |    80 +
>  .../pci/isp/kernels/ynr/ynr_2/ia_css_ynr2.host.c   |   118 +
>  .../pci/isp/kernels/ynr/ynr_2/ia_css_ynr2.host.h   |    56 +
>  .../pci/isp/kernels/ynr/ynr_2/ia_css_ynr2_param.h  |    45 +
>  .../pci/isp/kernels/ynr/ynr_2/ia_css_ynr2_types.h  |    93 +
>  .../pci/isp/modes/interface/input_buf.isp.h        |    37 +
>  .../atomisp/pci/isp/modes/interface/isp_const.h    |   180 +
>  .../atomisp/pci/isp/modes/interface/isp_types.h    |    79 +
>  .../atomisp/pci/isp2400_input_system_global.h      |   155 +
>  .../media/atomisp/pci/isp2400_input_system_local.h |   539 +
>  .../atomisp/pci/isp2400_input_system_private.h     |   122 +
>  .../atomisp/pci/isp2400_input_system_public.h      |   369 +
>  .../staging/media/atomisp/pci/isp2400_support.h    |    38 +
>  .../media/atomisp/pci/isp2400_system_global.h      |   348 +
>  .../media/atomisp/pci/isp2400_system_local.h       |   325 +
>  .../atomisp/pci/isp2401_input_system_global.h      |   205 +
>  .../media/atomisp/pci/isp2401_input_system_local.h |   106 +
>  .../atomisp/pci/isp2401_input_system_private.h     |   129 +
>  .../media/atomisp/pci/isp2401_mamoiada_params.h    |   228 +
>  .../media/atomisp/pci/isp2401_system_global.h      |   457 +
>  .../media/atomisp/pci/isp2401_system_local.h       |   406 +
>  .../media/atomisp/pci/isp_acquisition_defs.h       |   229 +
>  .../staging/media/atomisp/pci/isp_capture_defs.h   |   278 +
>  drivers/staging/media/atomisp/pci/memory_realloc.c |    81 +
>  drivers/staging/media/atomisp/pci/mmu/isp_mmu.c    |   581 +
>  .../staging/media/atomisp/pci/mmu/sh_mmu_mrfld.c   |    77 +
>  drivers/staging/media/atomisp/pci/mmu_defs.h       |    23 +
>  .../pci/runtime/binary/interface/ia_css_binary.h   |   228 +
>  .../media/atomisp/pci/runtime/binary/src/binary.c  |  1852 +++
>  .../pci/runtime/bufq/interface/ia_css_bufq.h       |   177 +
>  .../pci/runtime/bufq/interface/ia_css_bufq_comm.h  |    50 +
>  .../media/atomisp/pci/runtime/bufq/src/bufq.c      |   566 +
>  .../pci/runtime/debug/interface/ia_css_debug.h     |   502 +
>  .../debug/interface/ia_css_debug_internal.h        |    15 +
>  .../runtime/debug/interface/ia_css_debug_pipe.h    |    67 +
>  .../atomisp/pci/runtime/debug/src/ia_css_debug.c   |  3544 ++++++
>  .../pci/runtime/event/interface/ia_css_event.h     |    30 +
>  .../media/atomisp/pci/runtime/event/src/event.c    |   112 +
>  .../pci/runtime/eventq/interface/ia_css_eventq.h   |    53 +
>  .../media/atomisp/pci/runtime/eventq/src/eventq.c  |    77 +
>  .../pci/runtime/frame/interface/ia_css_frame.h     |   163 +
>  .../runtime/frame/interface/ia_css_frame_comm.h    |   115 +
>  .../media/atomisp/pci/runtime/frame/src/frame.c    |   989 ++
>  .../pci/runtime/ifmtr/interface/ia_css_ifmtr.h     |    33 +
>  .../media/atomisp/pci/runtime/ifmtr/src/ifmtr.c    |   552 +
>  .../runtime/inputfifo/interface/ia_css_inputfifo.h |    53 +
>  .../atomisp/pci/runtime/inputfifo/src/inputfifo.c  |   538 +
>  .../runtime/isp_param/interface/ia_css_isp_param.h |   102 +
>  .../isp_param/interface/ia_css_isp_param_types.h   |    81 +
>  .../atomisp/pci/runtime/isp_param/src/isp_param.c  |   216 +
>  .../pci/runtime/isys/interface/ia_css_isys.h       |   184 +
>  .../pci/runtime/isys/interface/ia_css_isys_comm.h  |    53 +
>  .../atomisp/pci/runtime/isys/src/csi_rx_rmgr.c     |   167 +
>  .../atomisp/pci/runtime/isys/src/csi_rx_rmgr.h     |    26 +
>  .../atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.c  |   121 +
>  .../atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.h  |    38 +
>  .../atomisp/pci/runtime/isys/src/isys_dma_rmgr.c   |    87 +
>  .../atomisp/pci/runtime/isys/src/isys_dma_rmgr.h   |    24 +
>  .../media/atomisp/pci/runtime/isys/src/isys_init.c |   123 +
>  .../pci/runtime/isys/src/isys_stream2mmio_rmgr.c   |    89 +
>  .../pci/runtime/isys/src/isys_stream2mmio_rmgr.h   |    24 +
>  .../media/atomisp/pci/runtime/isys/src/rx.c        |   600 +
>  .../atomisp/pci/runtime/isys/src/virtual_isys.c    |   892 ++
>  .../atomisp/pci/runtime/isys/src/virtual_isys.h    |    24 +
>  .../runtime/pipeline/interface/ia_css_pipeline.h   |   286 +
>  .../pipeline/interface/ia_css_pipeline_common.h    |    27 +
>  .../atomisp/pci/runtime/pipeline/src/pipeline.c    |   786 ++
>  .../pci/runtime/queue/interface/ia_css_queue.h     |   175 +
>  .../runtime/queue/interface/ia_css_queue_comm.h    |    53 +
>  .../media/atomisp/pci/runtime/queue/src/queue.c    |   422 +
>  .../atomisp/pci/runtime/queue/src/queue_access.c   |   176 +
>  .../atomisp/pci/runtime/queue/src/queue_access.h   |    85 +
>  .../pci/runtime/rmgr/interface/ia_css_rmgr.h       |    72 +
>  .../pci/runtime/rmgr/interface/ia_css_rmgr_vbuf.h  |    99 +
>  .../media/atomisp/pci/runtime/rmgr/src/rmgr.c      |    39 +
>  .../media/atomisp/pci/runtime/rmgr/src/rmgr_vbuf.c |   336 +
>  .../pci/runtime/spctrl/interface/ia_css_spctrl.h   |    68 +
>  .../runtime/spctrl/interface/ia_css_spctrl_comm.h  |    45 +
>  .../media/atomisp/pci/runtime/spctrl/src/spctrl.c  |   182 +
>  .../tagger/interface/ia_css_tagger_common.h        |    43 +
>  .../media/atomisp/pci/runtime/timer/src/timer.c    |    31 +
>  .../atomisp/pci/scalar_processor_2400_params.h     |    20 +
>  drivers/staging/media/atomisp/pci/sh_css.c         | 11179
> +++++++++++++++++++
>  drivers/staging/media/atomisp/pci/sh_css_defs.h    |   410 +
>  .../staging/media/atomisp/pci/sh_css_dvs_info.h    |    36 +
>  .../staging/media/atomisp/pci/sh_css_firmware.c    |   331 +
>  .../staging/media/atomisp/pci/sh_css_firmware.h    |    55 +
>  drivers/staging/media/atomisp/pci/sh_css_frac.h    |    40 +
>  .../staging/media/atomisp/pci/sh_css_host_data.c   |    42 +
>  drivers/staging/media/atomisp/pci/sh_css_hrt.c     |    85 +
>  drivers/staging/media/atomisp/pci/sh_css_hrt.h     |    34 +
>  .../staging/media/atomisp/pci/sh_css_internal.h    |  1061 ++
>  drivers/staging/media/atomisp/pci/sh_css_legacy.h  |    70 +
>  .../staging/media/atomisp/pci/sh_css_metadata.c    |    16 +
>  drivers/staging/media/atomisp/pci/sh_css_metrics.c |   175 +
>  drivers/staging/media/atomisp/pci/sh_css_metrics.h |    55 +
>  drivers/staging/media/atomisp/pci/sh_css_mipi.c    |   757 ++
>  drivers/staging/media/atomisp/pci/sh_css_mipi.h    |    49 +
>  drivers/staging/media/atomisp/pci/sh_css_mmu.c     |    60 +
>  drivers/staging/media/atomisp/pci/sh_css_morph.c   |    16 +
>  .../staging/media/atomisp/pci/sh_css_param_dvs.c   |   286 +
>  .../staging/media/atomisp/pci/sh_css_param_dvs.h   |    85 +
>  .../media/atomisp/pci/sh_css_param_shading.c       |   402 +
>  .../media/atomisp/pci/sh_css_param_shading.h       |    34 +
>  drivers/staging/media/atomisp/pci/sh_css_params.c  |  5247 +++++++++
>  drivers/staging/media/atomisp/pci/sh_css_params.h  |   188 +
>  .../media/atomisp/pci/sh_css_params_internal.h     |    21 +
>  drivers/staging/media/atomisp/pci/sh_css_pipe.c    |    16 +
>  .../staging/media/atomisp/pci/sh_css_properties.c  |    43 +
>  drivers/staging/media/atomisp/pci/sh_css_shading.c |    16 +
>  drivers/staging/media/atomisp/pci/sh_css_sp.c      |  1829 +++
>  drivers/staging/media/atomisp/pci/sh_css_sp.h      |   248 +
>  drivers/staging/media/atomisp/pci/sh_css_stream.c  |    16 +
>  .../media/atomisp/pci/sh_css_stream_format.c       |    76 +
>  .../media/atomisp/pci/sh_css_stream_format.h       |    23 +
>  drivers/staging/media/atomisp/pci/sh_css_struct.h  |    85 +
>  drivers/staging/media/atomisp/pci/sh_css_uds.h     |    37 +
>  drivers/staging/media/atomisp/pci/sh_css_version.c |    37 +
>  drivers/staging/media/atomisp/pci/str2mem_defs.h   |    39 +
>  .../media/atomisp/pci/streaming_to_mipi_defs.h     |    28 +
>  drivers/staging/media/atomisp/pci/system_global.h  |    10 +
>  drivers/staging/media/atomisp/pci/system_local.h   |    10 +
>  .../media/atomisp/pci/timed_controller_defs.h      |    22 +
>  drivers/staging/media/atomisp/pci/version.h        |    20 +
>  drivers/staging/media/atomisp/platform/Makefile    |     5 +
>  .../media/atomisp/platform/intel-mid/Makefile      |     4 +
>  .../platform/intel-mid/atomisp_gmin_platform.c     |   810 ++
>  677 files changed, 147292 insertions(+)
>  create mode 100644 drivers/staging/media/atomisp/Kconfig
>  create mode 100644 drivers/staging/media/atomisp/Makefile
>  create mode 100644 drivers/staging/media/atomisp/TODO
>  create mode 100644 drivers/staging/media/atomisp/i2c/Kconfig
>  create mode 100644 drivers/staging/media/atomisp/i2c/Makefile
>  create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-
> gc0310.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-
> gc2235.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-
> libmsrlisthelper.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-
> lm3554.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-
> mt9m114.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-
> ov2680.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-
> ov2722.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/gc0310.h
>  create mode 100644 drivers/staging/media/atomisp/i2c/gc2235.h
>  create mode 100644 drivers/staging/media/atomisp/i2c/mt9m114.h
>  create mode 100644 drivers/staging/media/atomisp/i2c/ov2680.h
>  create mode 100644 drivers/staging/media/atomisp/i2c/ov2722.h
>  create mode 100644 drivers/staging/media/atomisp/i2c/ov5693/Kconfig
>  create mode 100644 drivers/staging/media/atomisp/i2c/ov5693/Makefile
>  create mode 100644 drivers/staging/media/atomisp/i2c/ov5693/ad5823.h
>  create mode 100644 drivers/staging/media/atomisp/i2c/ov5693/atomisp-
> ov5693.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/ov5693/ov5693.h
>  create mode 100644 drivers/staging/media/atomisp/include/hmm/hmm.h
>  create mode 100644
> drivers/staging/media/atomisp/include/hmm/hmm_bo.h
>  create mode 100644
> drivers/staging/media/atomisp/include/hmm/hmm_common.h
>  create mode 100644
> drivers/staging/media/atomisp/include/hmm/hmm_pool.h
>  create mode 100644
> drivers/staging/media/atomisp/include/hmm/hmm_vm.h
>  create mode 100644
> drivers/staging/media/atomisp/include/linux/atomisp.h
>  create mode 100644
> drivers/staging/media/atomisp/include/linux/atomisp_gmin_platform.h
>  create mode 100644
> drivers/staging/media/atomisp/include/linux/atomisp_platform.h
>  create mode 100644
> drivers/staging/media/atomisp/include/linux/libmsrlisthelper.h
>  create mode 100644
> drivers/staging/media/atomisp/include/media/lm3554.h
>  create mode 100644
> drivers/staging/media/atomisp/include/mmu/isp_mmu.h
>  create mode 100644
> drivers/staging/media/atomisp/include/mmu/sh_mmu_mrfld.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp-regs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_acc.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_acc.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_cmd.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_cmd.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_common.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_compat.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_compat_css20.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_compat_ioctl32.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_compat_ioctl32.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_csi2.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_csi2.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_dfs_tables.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_drvfs.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_drvfs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_file.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_file.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_fops.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_fops.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_helper.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_internal.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_ioctl.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_ioctl.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_subdev.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_subdev.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_tables.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_tpg.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_tpg.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_trace_event.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_v4l2.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_v4l2.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/base/circbuf/interface/ia_css_circb
> uf.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/base/circbuf/interface/ia_css_circb
> uf_comm.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/base/circbuf/interface/ia_css_circb
> uf_desc.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/base/circbuf/src/circbuf.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/base/refcount/interface/ia_css_refc
> ount.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/base/refcount/src/refcount.c
>  create mode 100644 drivers/staging/media/atomisp/pci/bits.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/pipe/interface/ia_css_pipe_b
> inarydesc.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/pipe/interface/ia_css_pipe_s
> tagedesc.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/pipe/interface/ia_css_pipe_u
> til.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/pipe/src/pipe_binarydesc.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/pipe/src/pipe_stagedesc.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/pipe/src/pipe_util.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/util/interface/ia_css_util.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/util/src/util.c
>  create mode 100644 drivers/staging/media/atomisp/pci/cell_params.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2400_system/hive/ia_css_isp_con
> figs.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2400_system/hive/ia_css_isp_par
> ams.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2400_system/hive/ia_css_isp_sta
> tes.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2400_system/hrt/hive_isp_css_ir
> q_types_hrt.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2400_system/hrt/isp2400_mamoiad
> a_params.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2400_system/spmem_dump.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/csi_rx_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hive/ia_css_isp_con
> figs.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hive/ia_css_isp_par
> ams.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hive/ia_css_isp_sta
> tes.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/csi_rx.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/csi_rx_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/csi_rx_private
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/ibuf_ctrl.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/ibuf_ctrl_loca
> l.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/ibuf_ctrl_priv
> ate.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_dma.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_dma_local
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_dma_priva
> te.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_irq.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_irq_local
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_irq_priva
> te.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_stream2mm
> io.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_stream2mm
> io_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_stream2mm
> io_private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/pixelgen_local
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/pixelgen_priva
> te.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hrt/PixelGen_SysBlo
> ck_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hrt/ibuf_cntrl_defs
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hrt/mipi_backend_co
> mmon_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hrt/mipi_backend_de
> fs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hrt/rx_csi_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hrt/stream2mmio_def
> s.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/ibuf_ctrl_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/isys_dma_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/isys_irq_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/isys_stream2mmio_gl
> obal.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/pixelgen_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/spmem_dump.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_receiver_2400_common_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_receiver_2400_defs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/css_trace.h
>  create mode 100644 drivers/staging/media/atomisp/pci/defs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/dma_v2_defs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/gdc_v2_defs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/gp_timer_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/gpio_block_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_2401_irq_types_hrt.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/debug_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/dma_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/event_fifo_glob
> al.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/fifo_monitor_gl
> obal.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/gdc_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/gp_device_globa
> l.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/gp_timer_global
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/gpio_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/hmem_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/debug.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/debug_loca
> l.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/debug_priv
> ate.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/dma.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/dma_local.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/dma_privat
> e.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/event_fifo
> .c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/event_fifo
> _local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/event_fifo
> _private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/fifo_monit
> or.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/fifo_monit
> or_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/fifo_monit
> or_private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gdc.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gdc_local.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gdc_privat
> e.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_device.
> c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_device_
> local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_device_
> private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_timer.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_timer_l
> ocal.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_timer_p
> rivate.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gpio_local
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gpio_priva
> te.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/hmem.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/hmem_local
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/hmem_priva
> te.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/input_form
> atter.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/input_form
> atter_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/input_form
> atter_private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/input_syst
> em.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/irq.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/irq_local.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/irq_privat
> e.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/isp.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/isp_local.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/isp_privat
> e.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/mmu.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/mmu_local.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/sp.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/sp_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/sp_private
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/timed_ctrl
> .c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/timed_ctrl
> _local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/timed_ctrl
> _private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vamem_loca
> l.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem_local
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem_priva
> te.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/input_formatter
> _global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/irq_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/isp_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/mmu_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/sp_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/timed_ctrl_glob
> al.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/vamem_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/vmem_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/assert_support
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/bitop_support.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/csi_rx.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/debug.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/device_access/
> device_access.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/dma.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/error_support.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/event_fifo.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/fifo_monitor.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/gdc_device.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/gp_device.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/gp_timer.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/gpio.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/hmem.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/csi_rx_pu
> blic.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/debug_pub
> lic.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/dma_publi
> c.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/event_fif
> o_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/fifo_moni
> tor_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/gdc_publi
> c.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/gp_device
> _public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/gp_timer_
> public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/gpio_publ
> ic.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/hmem_publ
> ic.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/ibuf_ctrl
> _public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/input_for
> matter_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/irq_publi
> c.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/isp_publi
> c.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/isys_dma_
> public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/isys_irq_
> public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/isys_publ
> ic.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/isys_stre
> am2mmio_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/mmu_publi
> c.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/pixelgen_
> public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/sp_public
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/tag_publi
> c.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/timed_ctr
> l_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/vamem_pub
> lic.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/vmem_publ
> ic.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/ibuf_ctrl.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/input_formatte
> r.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/input_system.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/irq.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/isp.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/isys_dma.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/isys_irq.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/isys_stream2mm
> io.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/math_support.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/memory_access/
> memory_access.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/memory_realloc
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/misc_support.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/mmu_device.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/pixelgen.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/platform_suppo
> rt.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/print_support.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/queue.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/resource.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/sp.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/string_support
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/system_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/tag.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/timed_ctrl.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/type_support.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/vamem.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/vmem.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/host/queue_loca
> l.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/host/queue_priv
> ate.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/host/tag.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/host/tag_local.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/host/tag_privat
> e.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/queue_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/sw_event_global
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/tag_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_streaming_to_mipi_type
> s_hrt.h
>  create mode 100644 drivers/staging/media/atomisp/pci/hive_types.h
>  create mode 100644 drivers/staging/media/atomisp/pci/hmm/hmm.c
>  create mode 100644 drivers/staging/media/atomisp/pci/hmm/hmm_bo.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hmm/hmm_dynamic_pool.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hmm/hmm_reserved_pool.c
>  create mode 100644 drivers/staging/media/atomisp/pci/hmm/hmm_vm.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hrt/hive_isp_css_custom_host_hrt.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hrt/hive_isp_css_mm_hrt.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hrt/hive_isp_css_mm_hrt.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_3a.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_acc_types.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_buffer.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_control.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_device_access.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_device_access.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_dvs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_env.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_err.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_event_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_firmware.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_frac.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_frame_format.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_frame_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_host_data.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_input_port.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_irq.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_isp_configs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_isp_params.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_isp_states.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_memory_access.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_metadata.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_mipi.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_mmu.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_mmu_private.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_morph.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_pipe.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_pipe_public.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_prbs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_properties.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_shading.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_stream.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_stream_format.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_stream_public.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_timer.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_tpg.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_version.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_version_data.h
>  create mode 100644 drivers/staging/media/atomisp/pci/if_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_formatter_subsystem_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_selector_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_switch_2400_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_system_ctrl_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_system_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_system_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_system_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_system_private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_system_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/irq_controller_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/aa/aa_2/ia_css_aa2.host
> .c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/aa/aa_2/ia_css_aa2.host
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/aa/aa_2/ia_css_aa2_para
> m.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/aa/aa_2/ia_css_aa2_type
> s.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_1.0/ia_css_anr.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_1.0/ia_css_anr.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_1.0/ia_css_anr_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_1.0/ia_css_anr_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2.h
> ost.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2.h
> ost.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2_p
> aram.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2_t
> able.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2_t
> able.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2_t
> ypes.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bh/bh_2/ia_css_bh.host.
> c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bh/bh_2/ia_css_bh.host.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bh/bh_2/ia_css_bh_param
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bh/bh_2/ia_css_bh_types
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnlm/ia_css_bnlm.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnlm/ia_css_bnlm.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnlm/ia_css_bnlm_param.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnlm/ia_css_bnlm_types.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr2_2/ia_css_bnr2_
> 2.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr2_2/ia_css_bnr2_
> 2.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr2_2/ia_css_bnr2_
> 2_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr2_2/ia_css_bnr2_
> 2_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_2/ia_css_cnr2.h
> ost.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_2/ia_css_cnr2.h
> ost.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_2/ia_css_cnr2_p
> aram.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_2/ia_css_cnr2_t
> ypes.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/conversion/conversion_1
> .0/ia_css_conversion.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/conversion/conversion_1
> .0/ia_css_conversion.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/conversion/conversion_1
> .0/ia_css_conversion_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/conversion/conversion_1
> .0/ia_css_conversion_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/copy_output/copy_output
> _1.0/ia_css_copy_output.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/copy_output/copy_output
> _1.0/ia_css_copy_output.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/copy_output/copy_output
> _1.0/ia_css_copy_output_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/crop/crop_1.0/ia_css_cr
> op.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/crop/crop_1.0/ia_css_cr
> op.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/crop/crop_1.0/ia_css_cr
> op_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/crop/crop_1.0/ia_css_cr
> op_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/csc/csc_1.0/ia_css_csc.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/csc/csc_1.0/ia_css_csc.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/csc/csc_1.0/ia_css_csc_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/csc/csc_1.0/ia_css_csc_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc1_5/ia_css_ctc1_
> 5.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc1_5/ia_css_ctc1_
> 5.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc1_5/ia_css_ctc1_
> 5_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc2/ia_css_ctc2.ho
> st.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc2/ia_css_ctc2.ho
> st.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc2/ia_css_ctc2_pa
> ram.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc2/ia_css_ctc2_ty
> pes.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_
> table.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_
> table.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_1.0/ia_css_de.hos
> t.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_1.0/ia_css_de.hos
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_1.0/ia_css_de_par
> am.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_1.0/ia_css_de_typ
> es.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_2/ia_css_de2.host
> .c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_2/ia_css_de2.host
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_2/ia_css_de2_para
> m.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_2/ia_css_de2_type
> s.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dp/dp_1.0/ia_css_dp.hos
> t.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dp/dp_1.0/ia_css_dp.hos
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dp/dp_1.0/ia_css_dp_par
> am.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dp/dp_1.0/ia_css_dp_typ
> es.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dpc2/ia_css_dpc2.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dpc2/ia_css_dpc2.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dpc2/ia_css_dpc2_param.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dpc2/ia_css_dpc2_types.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8.ho
> st.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8.ho
> st.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8_pa
> ram.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8_ty
> pes.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fc/fc_1.0/ia_css_format
> s.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fc/fc_1.0/ia_css_format
> s.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fc/fc_1.0/ia_css_format
> s_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fc/fc_1.0/ia_css_format
> s_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fixedbds/fixedbds_1.0/i
> a_css_fixedbds_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fixedbds/fixedbds_1.0/i
> a_css_fixedbds_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc.hos
> t.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc.hos
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc_par
> am.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc_tab
> le.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc_tab
> le.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc_typ
> es.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2.host
> .c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2.host
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2_para
> m.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2_tabl
> e.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2_tabl
> e.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2_type
> s.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/
> ia_css_bayer_io.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/
> ia_css_bayer_io.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/
> ia_css_bayer_io_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/
> ia_css_bayer_io_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/common/ia_cs
> s_common_io_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/common/ia_cs
> s_common_io_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls
> /ia_css_yuv444_io.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls
> /ia_css_yuv444_io.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls
> /ia_css_yuv444_io_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls
> /ia_css_yuv444_io_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/iterator/iterator_1.0/i
> a_css_iterator.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/iterator/iterator_1.0/i
> a_css_iterator.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/iterator/iterator_1.0/i
> a_css_iterator_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_mac
> c1_5.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_mac
> c1_5.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_mac
> c1_5_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_mac
> c1_5_table.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_mac
> c1_5_table.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_mac
> c1_5_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_ma
> cc.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_ma
> cc.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_ma
> cc_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_ma
> cc_table.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_ma
> cc_table.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_ma
> cc_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/norm/norm_1.0/ia_css_no
> rm.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/norm/norm_1.0/ia_css_no
> rm.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/norm/norm_1.0/ia_css_no
> rm_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob2/ia_css_ob2.host.
> c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob2/ia_css_ob2.host.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob2/ia_css_ob2_param
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob2/ia_css_ob2_types
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob_1.0/ia_css_ob.hos
> t.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob_1.0/ia_css_ob.hos
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob_1.0/ia_css_ob_par
> am.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob_1.0/ia_css_ob_typ
> es.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/output/output_1.0/ia_cs
> s_output.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/output/output_1.0/ia_cs
> s_output.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/output/output_1.0/ia_cs
> s_output_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/output/output_1.0/ia_cs
> s_output_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/qplane/qplane_2/ia_css_
> qplane.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/qplane/qplane_2/ia_css_
> qplane.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/qplane/qplane_2/ia_css_
> qplane_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/qplane/qplane_2/ia_css_
> qplane_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/raw/raw_1.0/ia_css_raw.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/raw/raw_1.0/ia_css_raw.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/raw/raw_1.0/ia_css_raw_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/raw/raw_1.0/ia_css_raw_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/raw_aa_binning/raw_aa_b
> inning_1.0/ia_css_raa.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/raw_aa_binning/raw_aa_b
> inning_1.0/ia_css_raa.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref_
> state.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc.hos
> t.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc.hos
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc_par
> am.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc_typ
> es.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/common/ia_css_sdis
> _common.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/common/ia_css_sdis
> _common_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_1.0/ia_css_sd
> is.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_1.0/ia_css_sd
> is.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_1.0/ia_css_sd
> is_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_2/ia_css_sdis
> 2.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_2/ia_css_sdis
> 2.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_2/ia_css_sdis
> 2_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr3/ia_css_tnr3_ty
> pes.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_
> state.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/uds/uds_1.0/ia_css_uds_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/vf/vf_1.0/ia_css_vf.hos
> t.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/vf/vf_1.0/ia_css_vf.hos
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/vf/vf_1.0/ia_css_vf_par
> am.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/vf/vf_1.0/ia_css_vf_typ
> es.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/wb/wb_1.0/ia_css_wb.hos
> t.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/wb/wb_1.0/ia_css_wb.hos
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/wb/wb_1.0/ia_css_wb_par
> am.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/wb/wb_1.0/ia_css_wb_typ
> es.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_
> table.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_
> table.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3
> .host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3
> .host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3
> _param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3
> _types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_2/ia_css_ynr2.h
> ost.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_2/ia_css_ynr2.h
> ost.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_2/ia_css_ynr2_p
> aram.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_2/ia_css_ynr2_t
> ypes.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/modes/interface/input_buf.isp.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/modes/interface/isp_const.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/modes/interface/isp_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2400_input_system_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2400_input_system_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2400_input_system_private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2400_input_system_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2400_support.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2400_system_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2400_system_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2401_input_system_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2401_input_system_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2401_input_system_private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2401_mamoiada_params.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2401_system_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2401_system_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp_acquisition_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp_capture_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/memory_realloc.c
>  create mode 100644 drivers/staging/media/atomisp/pci/mmu/isp_mmu.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/mmu/sh_mmu_mrfld.c
>  create mode 100644 drivers/staging/media/atomisp/pci/mmu_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/binary/interface/ia_css_bin
> ary.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/bufq/interface/ia_css_bufq.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/bufq/interface/ia_css_bufq_
> comm.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/bufq/src/bufq.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debu
> g.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debu
> g_internal.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debu
> g_pipe.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/debug/src/ia_css_debug.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/event/interface/ia_css_even
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/event/src/event.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/eventq/interface/ia_css_eve
> ntq.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/eventq/src/eventq.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/frame/interface/ia_css_fram
> e.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/frame/interface/ia_css_fram
> e_comm.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/frame/src/frame.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/ifmtr/interface/ia_css_ifmt
> r.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/ifmtr/src/ifmtr.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/inputfifo/interface/ia_css_
> inputfifo.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/inputfifo/src/inputfifo.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isp_param/interface/ia_css_
> isp_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isp_param/interface/ia_css_
> isp_param_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isp_param/src/isp_param.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/interface/ia_css_isys.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/interface/ia_css_isys_
> comm.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/csi_rx_rmgr.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/csi_rx_rmgr.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/isys_dma_rmgr.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/isys_dma_rmgr.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/isys_init.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/isys_stream2mmio_r
> mgr.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/isys_stream2mmio_r
> mgr.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/rx.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/pipeline/interface/ia_css_p
> ipeline.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/pipeline/interface/ia_css_p
> ipeline_common.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/pipeline/src/pipeline.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/queue/interface/ia_css_queu
> e.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/queue/interface/ia_css_queu
> e_comm.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/queue/src/queue.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/queue/src/queue_access.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/queue/src/queue_access.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/rmgr/interface/ia_css_rmgr.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/rmgr/interface/ia_css_rmgr_
> vbuf.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/rmgr/src/rmgr.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/rmgr/src/rmgr_vbuf.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/spctrl/interface/ia_css_spc
> trl.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/spctrl/interface/ia_css_spc
> trl_comm.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/spctrl/src/spctrl.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/tagger/interface/ia_css_tag
> ger_common.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/timer/src/timer.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/scalar_processor_2400_params.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_dvs_info.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_firmware.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_firmware.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_frac.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_host_data.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_hrt.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_hrt.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_internal.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_legacy.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_metadata.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_metrics.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_metrics.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_mipi.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_mipi.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_mmu.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_morph.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_param_dvs.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_param_dvs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_param_shading.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_param_shading.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_params.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_params.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_params_internal.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_pipe.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_properties.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_shading.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_sp.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_sp.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_stream.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_stream_format.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_stream_format.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_struct.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_uds.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_version.c
>  create mode 100644 drivers/staging/media/atomisp/pci/str2mem_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/streaming_to_mipi_defs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/system_global.h
>  create mode 100644 drivers/staging/media/atomisp/pci/system_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/timed_controller_defs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/version.h
>  create mode 100644 drivers/staging/media/atomisp/platform/Makefile
>  create mode 100644 drivers/staging/media/atomisp/platform/intel-
> mid/Makefile
>  create mode 100644 drivers/staging/media/atomisp/platform/intel-
> mid/atomisp_gmin_platform.c
> 
> Thanks,
> Mauro

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-01 19:57 [GIT PULL] Ressurect the atomisp staging driver Mauro Carvalho Chehab
  2020-05-02  6:03 ` Greg KH
  2020-05-03  9:19 ` Francescodario Cuzzocrea
@ 2020-05-03  9:23 ` bosconovic
  2 siblings, 0 replies; 26+ messages in thread
From: bosconovic @ 2020-05-03  9:23 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Mauro Carvalho Chehab
  Cc: linux-media, Greg KH, Alan Cox, Alan Cox, linux-kernel

Hi ! 

Thanks for this, it is very appreciated !! 

I have a bay trail 2in1 (namely, the acer aspire swtich 10 sw5-012,
with an OV2722 module, so supported by the driver) on top of which I
run android-x86-q so I would be able to help a bit with testing the
driver.

I tried to pull in your changes on top of my 5.7-rc2 here : 
https://gitlab.com/lineageos-x86/android_kernel_common/-/commits/5.7-media

but I did not understood how to correctly enable the driver.
According
to Kconfig help, there is still the hardcoded switch between ISP2401
and ISP2400, so for my Bay Trail tablet I should set :

#
CONFIG_VIDEO_ATOMISP_ISP2401 is not set

but settings this breaks compilation with : 

ERROR: modpost:
"ia_css_configure_sc"[drivers/staging/media/atomisp/atomisp.ko]
undefined!

Looking at commit history, I noticed that the driver should be able to
recognize at runtime the ISP version, so what I tried next was to set
CONFIG_VIDEO_ATOMISP_ISP2401=y, and the compilation went fine.
I was able to boot the kernel (and I also added both
shisp_2400b0_v21.bin and shisp_2401a0_v21.bin from an android tablet
dump).

The kernel booted fine, the ov2722 module is loaded, but according to
dmesg it is not able to initialize the hardware : 
https://pastebin.com/VBMD1bau

Unfortunately I am not too experienced in kernel\driver development but
I would be happy to help to debug this, with guidance, if possible.

Il giorno ven, 01/05/2020 alle 21.57 +0200, Mauro Carvalho Chehab ha
scritto:
> This driver is simply too big for it to be sent to the ML via e-
> mails. Those
> will very likely be rejected due to the e-mail sizes.
> 
> So, instead, I'm sending a "GIT PULL" to myself, at the ML.
> 
> This series basically "resurrect" this driver from the death, giving
> it a
> second chance to survive.
> 
> I did a lot of cleanups on it during my spare time, and changed it to
> be
> able to work with ISP2401 (version A0). Several duplicated files got
> removed,
> several checkpatch warnings solved, and lots of other random things.
> 
> My current plans are to have people at the community testing and
> contributing with fixes, while I'll keep focused on cleaning its
> code and allow to support all ISP variants at the same time
> (right now, it requires a build time decision).
> 
> That's said, I don't have any Atom hardware with cameras myself, and
> it
> seems that there's at least one version of ISP2401 that may require
> some changes (version B0).
> 
> So, we don't know if this works or not, but this also applies to any
> other
> driver at staging, as warned when someone tries to use it:
> 
> 	[    9.270599] atomisp_ov2680: module is from the staging
> directory, the quality is unknown, you have been warned.
> 	[    9.350464] atomisp: module is from the staging directory,
> the quality is unknown, you have been warned.
> 
> So, use with care.
> 
> Regards,
> Mauro
> 
> -
> 
> 
> The following changes since commit
> ceab3ac1e60d70afb4e25147d60817c513f235f7:
> 
>   media: dvb-frontends: DUMMY_FE should depends on DVB_CORE (2020-04-
> 17 09:21:47 +0200)
> 
> are available in the Git repository at:
> 
>   git://linuxtv.org/mchehab/experimental.git atomisp_v2
> 
> 
> for you to fetch changes up to
> d3151587fa106c2b71169e5ea7d7de799152745f:
> 
>   atomisp: remove some file duplication and do more dir renames
> (2020-05-01 14:24:58 +0200)
> 
> ----------------------------------------------------------------
> Mauro Carvalho Chehab (69):
>       Revert "media: staging: atomisp: Remove driver"
>       media: atomisp: fix usage of access_ok() kAPI
>       media: atomisp: totalram_pages is now a function
>       media: atomisp: replace VFL_TYPE_GRABBER by VFL_TYPE_VIDEO
>       media: atomisp: Fix support for time 64 API
>       media: atomisp: use cpu_latency_qos_*() instead of
> pm_qos_update*()
>       media: atomisp: use new ida API
>       media: atomisp: fix a broken compat32 code
>       media: atomisp: allow building the driver again
>       media: atomisp: fix several typos
>       media: atomisp: fix several coding style issues
>       media: atomisp: do lots of other coding style cleanups
>       media: atomisp: remove some dead code
>       media: atomisp: simplify math_support.h
>       media: atomisp: add a way for the driver to know the chipset
> version
>       media: atomisp: atomisp_cmd.c test ISP version in runtime
>       media: atomisp: atomisp_dfs_tables.h: don't depend on ISP
> version
>       media: atomisp: pci/atomisp2/*.h remove #ifdef ISP2401
>       media: atomisp: atomisp_ioctl.c: get rid of a ISP2400/ISP2401
> dependency
>       media: atomisp: atomisp_v4l2.c: set wdt timers according with
> ISP version
>       media: atomisp: atomisp_subdev.c check ISP version on runtime
>       media: atomisp: atomisp_csi2.c: remove useless ifdefs
>       media: atomisp: atomisp_compat_css20.c: detect ISP at runtime
>       media: atomisp: atomisp_compat_ioctl32.c: be independent of ISP
> version
>       media: atomisp: sh_css_defs.h: get rid of build time
> dependencies
>       media: atomisp: make sh_css_struct.h independent of ISP version
>       media: atomisp: make sh_css_sp_init_pipeline() ISP version
> independent
>       media: atomisp: remove ISP version macros from sh_css_legacy.h
>       media: atomisp: remove table duplication from dfs tables
>       media: atomisp: unify sh_css_params_shading_id_table_generate()
>       media: atomisp: sh_css_param_dvs.h remove ISP version macros
>       media: atomisp: print css_version in runtime
>       media: atomisp: add support for possible new names
>       media: atomisp: css_trace.h: use the newest tracing code
>       media: atomisp: ia_css_binary_get_shading_info(): don't test
> version
>       media: atomisp: get rid of some non-existing functions for
> ISP2401
>       media: atomisp: make util.c work with ISP2401 runtime detection
>       media: atomisp: sh_css: detect ISP version at runtime
>       media: atomisp: isp_const.h: get rid of an unused big define
> list
>       media: atomisp: get rid of several typedef-style defines
>       media: atomisp: get rid of trivial ISP2401 dependencies on
> header files
>       media: atomisp: get rid of unused header files
>       media: atomisp: remove unused definitions at
> */isp_capture_defs.h
>       media: atomisp: remove several duplicated files
>       media: atomisp: remove unused hive_isp_css_host_ids_hrt.h
>       media: atomisp: hive_isp_css_defs.h: keep just one copy of it
>       media: atomisp: get finish de-duplication of hrt/hive*.h
>       media: atomisp: add Asus Transform T101HA ACPI vars
>       media: atomisp: use regulator_get_optional() for first attempt
>       media: atomisp: remove bayer_io_ls duplication
>       media: atomisp: rename anr2 param header file
>       media: atomisp: get rid of io_ls/ subdir
>       media: atomisp: remove unused duplicated files
>       media: atomisp: get rid of trivial version checks at *.h
>       media: atomisp: get rid of ia_css_sc_param.h version dependency
>       media: atomisp: get rid of ISP_VMEM_IS_BAMEM unused defines
>       media: atomisp: get rid of __ISP define tests
>       media: atomisp: make all file names unique at atomisp driver
>       media: atomisp: simplify makefiles
>       media: atomisp: cleanup directory hierarchy
>       media: atomisp: get rid of some broken code
>       media: atomisp: change function worders and fix include
>       media: atomisp: allow building for isp2401
>       media: atomisp: cleanup contents of css_2400_system/
>       media: atomisp: cleanup contents of css_2401_csi2p_system
>       media: atomisp: cleanup contents of css_2401_system
>       media: atomisp: get rid of most checks for ISP2401 version
>       media: atomisp: add firmware load code for ISP2401 rev B0
>       atomisp: remove some file duplication and do more dir renames
> 
>  MAINTAINERS                                        |     7 +
>  drivers/staging/media/Kconfig                      |     2 +
>  drivers/staging/media/Makefile                     |     1 +
>  drivers/staging/media/atomisp/Kconfig              |    35 +
>  drivers/staging/media/atomisp/Makefile             |   366 +
>  drivers/staging/media/atomisp/TODO                 |    74 +
>  drivers/staging/media/atomisp/i2c/Kconfig          |    86 +
>  drivers/staging/media/atomisp/i2c/Makefile         |    18 +
>  drivers/staging/media/atomisp/i2c/atomisp-gc0310.c |  1395 +++
>  drivers/staging/media/atomisp/i2c/atomisp-gc2235.c |  1128 ++
>  .../media/atomisp/i2c/atomisp-libmsrlisthelper.c   |   207 +
>  drivers/staging/media/atomisp/i2c/atomisp-lm3554.c |   961 ++
>  .../staging/media/atomisp/i2c/atomisp-mt9m114.c    |  1899 ++++
>  drivers/staging/media/atomisp/i2c/atomisp-ov2680.c |  1472 +++
>  drivers/staging/media/atomisp/i2c/atomisp-ov2722.c |  1277 +++
>  drivers/staging/media/atomisp/i2c/gc0310.h         |   404 +
>  drivers/staging/media/atomisp/i2c/gc2235.h         |   680 ++
>  drivers/staging/media/atomisp/i2c/mt9m114.h        |  1791 +++
>  drivers/staging/media/atomisp/i2c/ov2680.h         |   855 ++
>  drivers/staging/media/atomisp/i2c/ov2722.h         |  1272 +++
>  drivers/staging/media/atomisp/i2c/ov5693/Kconfig   |    11 +
>  drivers/staging/media/atomisp/i2c/ov5693/Makefile  |     2 +
>  drivers/staging/media/atomisp/i2c/ov5693/ad5823.h  |    62 +
>  .../media/atomisp/i2c/ov5693/atomisp-ov5693.c      |  1995 ++++
>  drivers/staging/media/atomisp/i2c/ov5693/ov5693.h  |  1391 +++
>  drivers/staging/media/atomisp/include/hmm/hmm.h    |   102 +
>  drivers/staging/media/atomisp/include/hmm/hmm_bo.h |   315 +
>  .../staging/media/atomisp/include/hmm/hmm_common.h |    96 +
>  .../staging/media/atomisp/include/hmm/hmm_pool.h   |   115 +
>  drivers/staging/media/atomisp/include/hmm/hmm_vm.h |    65 +
>  .../staging/media/atomisp/include/linux/atomisp.h  |  1359 +++
>  .../atomisp/include/linux/atomisp_gmin_platform.h  |    36 +
>  .../media/atomisp/include/linux/atomisp_platform.h |   247 +
>  .../media/atomisp/include/linux/libmsrlisthelper.h |    27 +
>  .../staging/media/atomisp/include/media/lm3554.h   |   130 +
>  .../staging/media/atomisp/include/mmu/isp_mmu.h    |   169 +
>  .../media/atomisp/include/mmu/sh_mmu_mrfld.h       |    24 +
>  drivers/staging/media/atomisp/pci/atomisp-regs.h   |   199 +
>  drivers/staging/media/atomisp/pci/atomisp_acc.c    |   605 +
>  drivers/staging/media/atomisp/pci/atomisp_acc.h    |   119 +
>  drivers/staging/media/atomisp/pci/atomisp_cmd.c    |  6629
> +++++++++++
>  drivers/staging/media/atomisp/pci/atomisp_cmd.h    |   442 +
>  drivers/staging/media/atomisp/pci/atomisp_common.h |    74 +
>  drivers/staging/media/atomisp/pci/atomisp_compat.h |   663 ++
>  .../media/atomisp/pci/atomisp_compat_css20.c       |  4704 ++++++++
>  .../media/atomisp/pci/atomisp_compat_css20.h       |   277 +
>  .../media/atomisp/pci/atomisp_compat_ioctl32.c     |  1177 ++
>  .../media/atomisp/pci/atomisp_compat_ioctl32.h     |   367 +
>  drivers/staging/media/atomisp/pci/atomisp_csi2.c   |   426 +
>  drivers/staging/media/atomisp/pci/atomisp_csi2.h   |    58 +
>  .../staging/media/atomisp/pci/atomisp_dfs_tables.h |    40 +
>  drivers/staging/media/atomisp/pci/atomisp_drvfs.c  |   205 +
>  drivers/staging/media/atomisp/pci/atomisp_drvfs.h  |    24 +
>  drivers/staging/media/atomisp/pci/atomisp_file.c   |   227 +
>  drivers/staging/media/atomisp/pci/atomisp_file.h   |    43 +
>  drivers/staging/media/atomisp/pci/atomisp_fops.c   |  1305 +++
>  drivers/staging/media/atomisp/pci/atomisp_fops.h   |    50 +
>  drivers/staging/media/atomisp/pci/atomisp_helper.h |    28 +
>  .../staging/media/atomisp/pci/atomisp_internal.h   |   307 +
>  drivers/staging/media/atomisp/pci/atomisp_ioctl.c  |  3103 +++++
>  drivers/staging/media/atomisp/pci/atomisp_ioctl.h  |    66 +
>  drivers/staging/media/atomisp/pci/atomisp_subdev.c |  1423 +++
>  drivers/staging/media/atomisp/pci/atomisp_subdev.h |   466 +
>  drivers/staging/media/atomisp/pci/atomisp_tables.h |   187 +
>  drivers/staging/media/atomisp/pci/atomisp_tpg.c    |   163 +
>  drivers/staging/media/atomisp/pci/atomisp_tpg.h    |    38 +
>  .../media/atomisp/pci/atomisp_trace_event.h        |   127 +
>  drivers/staging/media/atomisp/pci/atomisp_v4l2.c   |  1969 ++++
>  drivers/staging/media/atomisp/pci/atomisp_v4l2.h   |    40 +
>  .../pci/base/circbuf/interface/ia_css_circbuf.h    |   376 +
>  .../base/circbuf/interface/ia_css_circbuf_comm.h   |    58 +
>  .../base/circbuf/interface/ia_css_circbuf_desc.h   |   173 +
>  .../media/atomisp/pci/base/circbuf/src/circbuf.c   |   320 +
>  .../pci/base/refcount/interface/ia_css_refcount.h  |    83 +
>  .../media/atomisp/pci/base/refcount/src/refcount.c |   275 +
>  drivers/staging/media/atomisp/pci/bits.h           |   104 +
>  .../camera/pipe/interface/ia_css_pipe_binarydesc.h |   297 +
>  .../camera/pipe/interface/ia_css_pipe_stagedesc.h  |    51 +
>  .../pci/camera/pipe/interface/ia_css_pipe_util.h   |    39 +
>  .../atomisp/pci/camera/pipe/src/pipe_binarydesc.c  |   873 ++
>  .../atomisp/pci/camera/pipe/src/pipe_stagedesc.c   |   118 +
>  .../media/atomisp/pci/camera/pipe/src/pipe_util.c  |    50 +
>  .../pci/camera/util/interface/ia_css_util.h        |   141 +
>  .../media/atomisp/pci/camera/util/src/util.c       |   225 +
>  drivers/staging/media/atomisp/pci/cell_params.h    |    40 +
>  .../pci/css_2400_system/hive/ia_css_isp_configs.c  |   385 +
>  .../pci/css_2400_system/hive/ia_css_isp_params.c   |  3419 ++++++
>  .../pci/css_2400_system/hive/ia_css_isp_states.c   |   223 +
>  .../hrt/hive_isp_css_irq_types_hrt.h               |    68 +
>  .../css_2400_system/hrt/isp2400_mamoiada_params.h  |   228 +
>  .../media/atomisp/pci/css_2400_system/spmem_dump.c |  1935 ++++
>  .../atomisp/pci/css_2401_system/csi_rx_global.h    |    63 +
>  .../pci/css_2401_system/hive/ia_css_isp_configs.c  |   413 +
>  .../pci/css_2401_system/hive/ia_css_isp_params.c   |  3366 ++++++
>  .../pci/css_2401_system/hive/ia_css_isp_states.c   |   223 +
>  .../atomisp/pci/css_2401_system/host/csi_rx.c      |    40 +
>  .../pci/css_2401_system/host/csi_rx_local.h        |    62 +
>  .../pci/css_2401_system/host/csi_rx_private.h      |   305 +
>  .../atomisp/pci/css_2401_system/host/ibuf_ctrl.c   |    22 +
>  .../pci/css_2401_system/host/ibuf_ctrl_local.h     |    58 +
>  .../pci/css_2401_system/host/ibuf_ctrl_private.h   |   267 +
>  .../atomisp/pci/css_2401_system/host/isys_dma.c    |    40 +
>  .../pci/css_2401_system/host/isys_dma_local.h      |    20 +
>  .../pci/css_2401_system/host/isys_dma_private.h    |    61 +
>  .../atomisp/pci/css_2401_system/host/isys_irq.c    |    43 +
>  .../pci/css_2401_system/host/isys_irq_local.h      |    35 +
>  .../pci/css_2401_system/host/isys_irq_private.h    |   106 +
>  .../pci/css_2401_system/host/isys_stream2mmio.c    |    21 +
>  .../css_2401_system/host/isys_stream2mmio_local.h  |    36 +
>  .../host/isys_stream2mmio_private.h                |   167 +
>  .../pci/css_2401_system/host/pixelgen_local.h      |    50 +
>  .../pci/css_2401_system/host/pixelgen_private.h    |   182 +
>  .../css_2401_system/hrt/PixelGen_SysBlock_defs.h   |   113 +
>  .../pci/css_2401_system/hrt/ibuf_cntrl_defs.h      |   134 +
>  .../css_2401_system/hrt/mipi_backend_common_defs.h |   205 +
>  .../pci/css_2401_system/hrt/mipi_backend_defs.h    |   208 +
>  .../atomisp/pci/css_2401_system/hrt/rx_csi_defs.h  |   169 +
>  .../pci/css_2401_system/hrt/stream2mmio_defs.h     |    68 +
>  .../atomisp/pci/css_2401_system/ibuf_ctrl_global.h |    79 +
>  .../atomisp/pci/css_2401_system/isys_dma_global.h  |    89 +
>  .../atomisp/pci/css_2401_system/isys_irq_global.h  |    35 +
>  .../pci/css_2401_system/isys_stream2mmio_global.h  |    39 +
>  .../atomisp/pci/css_2401_system/pixelgen_global.h  |    90 +
>  .../media/atomisp/pci/css_2401_system/spmem_dump.c |  1965 ++++
>  .../atomisp/pci/css_receiver_2400_common_defs.h    |   198 +
>  .../media/atomisp/pci/css_receiver_2400_defs.h     |   256 +
>  drivers/staging/media/atomisp/pci/css_trace.h      |   278 +
>  drivers/staging/media/atomisp/pci/defs.h           |    36 +
>  drivers/staging/media/atomisp/pci/dma_v2_defs.h    |   199 +
>  drivers/staging/media/atomisp/pci/gdc_v2_defs.h    |   163 +
>  drivers/staging/media/atomisp/pci/gp_timer_defs.h  |    36 +
>  .../staging/media/atomisp/pci/gpio_block_defs.h    |    41 +
>  .../atomisp/pci/hive_isp_css_2401_irq_types_hrt.h  |    68 +
>  .../atomisp/pci/hive_isp_css_common/debug_global.h |    81 +
>  .../atomisp/pci/hive_isp_css_common/dma_global.h   |   254 +
>  .../pci/hive_isp_css_common/event_fifo_global.h    |    20 +
>  .../pci/hive_isp_css_common/fifo_monitor_global.h  |    32 +
>  .../atomisp/pci/hive_isp_css_common/gdc_global.h   |    89 +
>  .../pci/hive_isp_css_common/gp_device_global.h     |    84 +
>  .../pci/hive_isp_css_common/gp_timer_global.h      |    33 +
>  .../atomisp/pci/hive_isp_css_common/gpio_global.h  |    45 +
>  .../atomisp/pci/hive_isp_css_common/hmem_global.h  |    45 +
>  .../atomisp/pci/hive_isp_css_common/host/debug.c   |    71 +
>  .../pci/hive_isp_css_common/host/debug_local.h     |    20 +
>  .../pci/hive_isp_css_common/host/debug_private.h   |   126 +
>  .../atomisp/pci/hive_isp_css_common/host/dma.c     |   299 +
>  .../pci/hive_isp_css_common/host/dma_local.h       |   207 +
>  .../pci/hive_isp_css_common/host/dma_private.h     |    41 +
>  .../pci/hive_isp_css_common/host/event_fifo.c      |    19 +
>  .../hive_isp_css_common/host/event_fifo_local.h    |    61 +
>  .../hive_isp_css_common/host/event_fifo_private.h  |    77 +
>  .../pci/hive_isp_css_common/host/fifo_monitor.c    |   569 +
>  .../hive_isp_css_common/host/fifo_monitor_local.h  |    99 +
>  .../host/fifo_monitor_private.h                    |    80 +
>  .../atomisp/pci/hive_isp_css_common/host/gdc.c     |   125 +
>  .../pci/hive_isp_css_common/host/gdc_local.h       |    20 +
>  .../pci/hive_isp_css_common/host/gdc_private.h     |    20 +
>  .../pci/hive_isp_css_common/host/gp_device.c       |   108 +
>  .../pci/hive_isp_css_common/host/gp_device_local.h |   143 +
>  .../hive_isp_css_common/host/gp_device_private.h   |    46 +
>  .../pci/hive_isp_css_common/host/gp_timer.c        |    70 +
>  .../pci/hive_isp_css_common/host/gp_timer_local.h  |    43 +
>  .../hive_isp_css_common/host/gp_timer_private.h    |    22 +
>  .../pci/hive_isp_css_common/host/gpio_local.h      |    20 +
>  .../pci/hive_isp_css_common/host/gpio_private.h    |    44 +
>  .../atomisp/pci/hive_isp_css_common/host/hmem.c    |    19 +
>  .../pci/hive_isp_css_common/host/hmem_local.h      |    20 +
>  .../pci/hive_isp_css_common/host/hmem_private.h    |    30 +
>  .../pci/hive_isp_css_common/host/input_formatter.c |   241 +
>  .../host/input_formatter_local.h                   |   121 +
>  .../host/input_formatter_private.h                 |    46 +
>  .../pci/hive_isp_css_common/host/input_system.c    |  1849 +++
>  .../atomisp/pci/hive_isp_css_common/host/irq.c     |   451 +
>  .../pci/hive_isp_css_common/host/irq_local.h       |   134 +
>  .../pci/hive_isp_css_common/host/irq_private.h     |    44 +
>  .../atomisp/pci/hive_isp_css_common/host/isp.c     |   128 +
>  .../pci/hive_isp_css_common/host/isp_local.h       |    57 +
>  .../pci/hive_isp_css_common/host/isp_private.h     |   160 +
>  .../atomisp/pci/hive_isp_css_common/host/mmu.c     |    46 +
>  .../pci/hive_isp_css_common/host/mmu_local.h       |    20 +
>  .../atomisp/pci/hive_isp_css_common/host/sp.c      |    81 +
>  .../pci/hive_isp_css_common/host/sp_local.h        |   101 +
>  .../pci/hive_isp_css_common/host/sp_private.h      |   166 +
>  .../pci/hive_isp_css_common/host/timed_ctrl.c      |    74 +
>  .../hive_isp_css_common/host/timed_ctrl_local.h    |    20 +
>  .../hive_isp_css_common/host/timed_ctrl_private.h  |    34 +
>  .../pci/hive_isp_css_common/host/vamem_local.h     |    20 +
>  .../atomisp/pci/hive_isp_css_common/host/vmem.c    |   276 +
>  .../pci/hive_isp_css_common/host/vmem_local.h      |    57 +
>  .../pci/hive_isp_css_common/host/vmem_private.h    |    20 +
>  .../hive_isp_css_common/input_formatter_global.h   |   114 +
>  .../atomisp/pci/hive_isp_css_common/irq_global.h   |    45 +
>  .../atomisp/pci/hive_isp_css_common/isp_global.h   |   109 +
>  .../atomisp/pci/hive_isp_css_common/mmu_global.h   |    22 +
>  .../atomisp/pci/hive_isp_css_common/sp_global.h    |    93 +
>  .../pci/hive_isp_css_common/timed_ctrl_global.h    |    54 +
>  .../atomisp/pci/hive_isp_css_common/vamem_global.h |    34 +
>  .../atomisp/pci/hive_isp_css_common/vmem_global.h  |    28 +
>  .../staging/media/atomisp/pci/hive_isp_css_defs.h  |   411 +
>  .../pci/hive_isp_css_include/assert_support.h      |    73 +
>  .../pci/hive_isp_css_include/bitop_support.h       |    24 +
>  .../atomisp/pci/hive_isp_css_include/csi_rx.h      |    42 +
>  .../media/atomisp/pci/hive_isp_css_include/debug.h |    46 +
>  .../device_access/device_access.h                  |   177 +
>  .../media/atomisp/pci/hive_isp_css_include/dma.h   |    46 +
>  .../pci/hive_isp_css_include/error_support.h       |    39 +
>  .../atomisp/pci/hive_isp_css_include/event_fifo.h  |    45 +
>  .../pci/hive_isp_css_include/fifo_monitor.h        |    45 +
>  .../atomisp/pci/hive_isp_css_include/gdc_device.h  |    47 +
>  .../atomisp/pci/hive_isp_css_include/gp_device.h   |    45 +
>  .../atomisp/pci/hive_isp_css_include/gp_timer.h    |    45 +
>  .../media/atomisp/pci/hive_isp_css_include/gpio.h  |    45 +
>  .../media/atomisp/pci/hive_isp_css_include/hmem.h  |    45 +
>  .../pci/hive_isp_css_include/host/csi_rx_public.h  |   135 +
>  .../pci/hive_isp_css_include/host/debug_public.h   |    98 +
>  .../pci/hive_isp_css_include/host/dma_public.h     |    72 +
>  .../hive_isp_css_include/host/event_fifo_public.h  |    79 +
>  .../host/fifo_monitor_public.h                     |   110 +
>  .../pci/hive_isp_css_include/host/gdc_public.h     |    59 +
>  .../hive_isp_css_include/host/gp_device_public.h   |    58 +
>  .../hive_isp_css_include/host/gp_timer_public.h    |    33 +
>  .../pci/hive_isp_css_include/host/gpio_public.h    |    45 +
>  .../pci/hive_isp_css_include/host/hmem_public.h    |    32 +
>  .../hive_isp_css_include/host/ibuf_ctrl_public.h   |    93 +
>  .../host/input_formatter_public.h                  |   115 +
>  .../pci/hive_isp_css_include/host/irq_public.h     |   184 +
>  .../pci/hive_isp_css_include/host/isp_public.h     |   185 +
>  .../hive_isp_css_include/host/isys_dma_public.h    |    38 +
>  .../hive_isp_css_include/host/isys_irq_public.h    |    45 +
>  .../pci/hive_isp_css_include/host/isys_public.h    |    37 +
>  .../host/isys_stream2mmio_public.h                 |   101 +
>  .../pci/hive_isp_css_include/host/mmu_public.h     |    94 +
>  .../hive_isp_css_include/host/pixelgen_public.h    |    79 +
>  .../pci/hive_isp_css_include/host/sp_public.h      |   223 +
>  .../pci/hive_isp_css_include/host/tag_public.h     |    40 +
>  .../hive_isp_css_include/host/timed_ctrl_public.h  |    59 +
>  .../pci/hive_isp_css_include/host/vamem_public.h   |    18 +
>  .../pci/hive_isp_css_include/host/vmem_public.h    |    20 +
>  .../atomisp/pci/hive_isp_css_include/ibuf_ctrl.h   |    46 +
>  .../pci/hive_isp_css_include/input_formatter.h     |    45 +
>  .../pci/hive_isp_css_include/input_system.h        |    45 +
>  .../media/atomisp/pci/hive_isp_css_include/irq.h   |    45 +
>  .../media/atomisp/pci/hive_isp_css_include/isp.h   |    45 +
>  .../atomisp/pci/hive_isp_css_include/isys_dma.h    |    46 +
>  .../atomisp/pci/hive_isp_css_include/isys_irq.h    |    39 +
>  .../pci/hive_isp_css_include/isys_stream2mmio.h    |    46 +
>  .../pci/hive_isp_css_include/math_support.h        |   153 +
>  .../memory_access/memory_access.h                  |   174 +
>  .../pci/hive_isp_css_include/memory_realloc.h      |    38 +
>  .../pci/hive_isp_css_include/misc_support.h        |    26 +
>  .../atomisp/pci/hive_isp_css_include/mmu_device.h  |    39 +
>  .../atomisp/pci/hive_isp_css_include/pixelgen.h    |    46 +
>  .../pci/hive_isp_css_include/platform_support.h    |    36 +
>  .../pci/hive_isp_css_include/print_support.h       |    41 +
>  .../media/atomisp/pci/hive_isp_css_include/queue.h |    45 +
>  .../atomisp/pci/hive_isp_css_include/resource.h    |    46 +
>  .../media/atomisp/pci/hive_isp_css_include/sp.h    |    45 +
>  .../pci/hive_isp_css_include/string_support.h      |   165 +
>  .../pci/hive_isp_css_include/system_types.h        |    24 +
>  .../media/atomisp/pci/hive_isp_css_include/tag.h   |    44 +
>  .../atomisp/pci/hive_isp_css_include/timed_ctrl.h  |    45 +
>  .../pci/hive_isp_css_include/type_support.h        |    40 +
>  .../media/atomisp/pci/hive_isp_css_include/vamem.h |    36 +
>  .../media/atomisp/pci/hive_isp_css_include/vmem.h  |    45 +
>  .../pci/hive_isp_css_shared/host/queue_local.h     |    20 +
>  .../pci/hive_isp_css_shared/host/queue_private.h   |    18 +
>  .../atomisp/pci/hive_isp_css_shared/host/tag.c     |    91 +
>  .../pci/hive_isp_css_shared/host/tag_local.h       |    22 +
>  .../pci/hive_isp_css_shared/host/tag_private.h     |    18 +
>  .../atomisp/pci/hive_isp_css_shared/queue_global.h |    18 +
>  .../pci/hive_isp_css_shared/sw_event_global.h      |    35 +
>  .../atomisp/pci/hive_isp_css_shared/tag_global.h   |    56 +
>  .../pci/hive_isp_css_streaming_to_mipi_types_hrt.h |    26 +
>  drivers/staging/media/atomisp/pci/hive_types.h     |   128 +
>  drivers/staging/media/atomisp/pci/hmm/hmm.c        |   727 ++
>  drivers/staging/media/atomisp/pci/hmm/hmm_bo.c     |  1522 +++
>  .../media/atomisp/pci/hmm/hmm_dynamic_pool.c       |   233 +
>  .../media/atomisp/pci/hmm/hmm_reserved_pool.c      |   252 +
>  drivers/staging/media/atomisp/pci/hmm/hmm_vm.c     |   212 +
>  .../atomisp/pci/hrt/hive_isp_css_custom_host_hrt.h |   106 +
>  .../media/atomisp/pci/hrt/hive_isp_css_mm_hrt.c    |   124 +
>  .../media/atomisp/pci/hrt/hive_isp_css_mm_hrt.h    |    57 +
>  drivers/staging/media/atomisp/pci/ia_css.h         |    57 +
>  drivers/staging/media/atomisp/pci/ia_css_3a.h      |   189 +
>  .../staging/media/atomisp/pci/ia_css_acc_types.h   |   476 +
>  drivers/staging/media/atomisp/pci/ia_css_buffer.h  |    85 +
>  drivers/staging/media/atomisp/pci/ia_css_control.h |   156 +
>  .../media/atomisp/pci/ia_css_device_access.c       |    95 +
>  .../media/atomisp/pci/ia_css_device_access.h       |    60 +
>  drivers/staging/media/atomisp/pci/ia_css_dvs.h     |   297 +
>  drivers/staging/media/atomisp/pci/ia_css_env.h     |    94 +
>  drivers/staging/media/atomisp/pci/ia_css_err.h     |    63 +
>  .../media/atomisp/pci/ia_css_event_public.h        |   196 +
>  .../staging/media/atomisp/pci/ia_css_firmware.h    |    74 +
>  drivers/staging/media/atomisp/pci/ia_css_frac.h    |    37 +
>  .../media/atomisp/pci/ia_css_frame_format.h        |   101 +
>  .../media/atomisp/pci/ia_css_frame_public.h        |   353 +
>  .../staging/media/atomisp/pci/ia_css_host_data.h   |    45 +
>  .../staging/media/atomisp/pci/ia_css_input_port.h  |    60 +
>  drivers/staging/media/atomisp/pci/ia_css_irq.h     |   235 +
>  .../staging/media/atomisp/pci/ia_css_isp_configs.h |   191 +
>  .../staging/media/atomisp/pci/ia_css_isp_params.h  |   394 +
>  .../staging/media/atomisp/pci/ia_css_isp_states.h  |    73 +
>  .../media/atomisp/pci/ia_css_memory_access.c       |    85 +
>  .../staging/media/atomisp/pci/ia_css_metadata.h    |    72 +
>  drivers/staging/media/atomisp/pci/ia_css_mipi.h    |    82 +
>  drivers/staging/media/atomisp/pci/ia_css_mmu.h     |    32 +
>  .../staging/media/atomisp/pci/ia_css_mmu_private.h |    29 +
>  drivers/staging/media/atomisp/pci/ia_css_morph.h   |    39 +
>  drivers/staging/media/atomisp/pci/ia_css_pipe.h    |   189 +
>  .../staging/media/atomisp/pci/ia_css_pipe_public.h |   569 +
>  drivers/staging/media/atomisp/pci/ia_css_prbs.h    |    53 +
>  .../staging/media/atomisp/pci/ia_css_properties.h  |    41 +
>  drivers/staging/media/atomisp/pci/ia_css_shading.h |    40 +
>  drivers/staging/media/atomisp/pci/ia_css_stream.h  |   111 +
>  .../media/atomisp/pci/ia_css_stream_format.h       |    29 +
>  .../media/atomisp/pci/ia_css_stream_public.h       |   585 +
>  drivers/staging/media/atomisp/pci/ia_css_timer.h   |    68 +
>  drivers/staging/media/atomisp/pci/ia_css_tpg.h     |    78 +
>  drivers/staging/media/atomisp/pci/ia_css_types.h   |   605 +
>  drivers/staging/media/atomisp/pci/ia_css_version.h |    40 +
>  .../media/atomisp/pci/ia_css_version_data.h        |    27 +
>  drivers/staging/media/atomisp/pci/if_defs.h        |    22 +
>  .../atomisp/pci/input_formatter_subsystem_defs.h   |    53 +
>  .../media/atomisp/pci/input_selector_defs.h        |    88 +
>  .../media/atomisp/pci/input_switch_2400_defs.h     |    30 +
>  .../media/atomisp/pci/input_system_ctrl_defs.h     |   243 +
>  .../staging/media/atomisp/pci/input_system_defs.h  |   126 +
>  .../media/atomisp/pci/input_system_global.h        |    10 +
>  .../staging/media/atomisp/pci/input_system_local.h |    10 +
>  .../media/atomisp/pci/input_system_private.h       |    10 +
>  .../media/atomisp/pci/input_system_public.h        |     8 +
>  .../media/atomisp/pci/irq_controller_defs.h        |    28 +
>  .../pci/isp/kernels/aa/aa_2/ia_css_aa2.host.c      |    31 +
>  .../pci/isp/kernels/aa/aa_2/ia_css_aa2.host.h      |    27 +
>  .../pci/isp/kernels/aa/aa_2/ia_css_aa2_param.h     |    24 +
>  .../pci/isp/kernels/aa/aa_2/ia_css_aa2_types.h     |    46 +
>  .../pci/isp/kernels/anr/anr_1.0/ia_css_anr.host.c  |    61 +
>  .../pci/isp/kernels/anr/anr_1.0/ia_css_anr.host.h  |    39 +
>  .../pci/isp/kernels/anr/anr_1.0/ia_css_anr_param.h |    25 +
>  .../pci/isp/kernels/anr/anr_1.0/ia_css_anr_types.h |    35 +
>  .../pci/isp/kernels/anr/anr_2/ia_css_anr2.host.c   |    46 +
>  .../pci/isp/kernels/anr/anr_2/ia_css_anr2.host.h   |    35 +
>  .../pci/isp/kernels/anr/anr_2/ia_css_anr2_param.h  |    27 +
>  .../isp/kernels/anr/anr_2/ia_css_anr2_table.host.c |    55 +
>  .../isp/kernels/anr/anr_2/ia_css_anr2_table.host.h |    22 +
>  .../pci/isp/kernels/anr/anr_2/ia_css_anr2_types.h  |    31 +
>  .../pci/isp/kernels/bh/bh_2/ia_css_bh.host.c       |    66 +
>  .../pci/isp/kernels/bh/bh_2/ia_css_bh.host.h       |    32 +
>  .../pci/isp/kernels/bh/bh_2/ia_css_bh_param.h      |    40 +
>  .../pci/isp/kernels/bh/bh_2/ia_css_bh_types.h      |    35 +
>  .../pci/isp/kernels/bnlm/ia_css_bnlm.host.c        |   196 +
>  .../pci/isp/kernels/bnlm/ia_css_bnlm.host.h        |    40 +
>  .../pci/isp/kernels/bnlm/ia_css_bnlm_param.h       |    64 +
>  .../pci/isp/kernels/bnlm/ia_css_bnlm_types.h       |   106 +
>  .../isp/kernels/bnr/bnr2_2/ia_css_bnr2_2.host.c    |   131 +
>  .../isp/kernels/bnr/bnr2_2/ia_css_bnr2_2.host.h    |    35 +
>  .../isp/kernels/bnr/bnr2_2/ia_css_bnr2_2_param.h   |    47 +
>  .../isp/kernels/bnr/bnr2_2/ia_css_bnr2_2_types.h   |    71 +
>  .../pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr.host.c  |    64 +
>  .../pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr.host.h  |    34 +
>  .../pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr_param.h |    30 +
>  .../pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr.host.c  |    28 +
>  .../pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr.host.h  |    25 +
>  .../pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr_param.h |    24 +
>  .../pci/isp/kernels/cnr/cnr_2/ia_css_cnr2.host.c   |    73 +
>  .../pci/isp/kernels/cnr/cnr_2/ia_css_cnr2.host.h   |    43 +
>  .../pci/isp/kernels/cnr/cnr_2/ia_css_cnr2_param.h  |    32 +
>  .../pci/isp/kernels/cnr/cnr_2/ia_css_cnr2_types.h  |    54 +
>  .../conversion_1.0/ia_css_conversion.host.c        |    36 +
>  .../conversion_1.0/ia_css_conversion.host.h        |    29 +
>  .../conversion_1.0/ia_css_conversion_param.h       |    28 +
>  .../conversion_1.0/ia_css_conversion_types.h       |    32 +
>  .../copy_output_1.0/ia_css_copy_output.host.c      |    46 +
>  .../copy_output_1.0/ia_css_copy_output.host.h      |    34 +
>  .../copy_output_1.0/ia_css_copy_output_param.h     |    26 +
>  .../isp/kernels/crop/crop_1.0/ia_css_crop.host.c   |    64 +
>  .../isp/kernels/crop/crop_1.0/ia_css_crop.host.h   |    41 +
>  .../isp/kernels/crop/crop_1.0/ia_css_crop_param.h  |    32 +
>  .../isp/kernels/crop/crop_1.0/ia_css_crop_types.h  |    34 +
>  .../pci/isp/kernels/csc/csc_1.0/ia_css_csc.host.c  |   127 +
>  .../pci/isp/kernels/csc/csc_1.0/ia_css_csc.host.h  |    54 +
>  .../pci/isp/kernels/csc/csc_1.0/ia_css_csc_param.h |    33 +
>  .../pci/isp/kernels/csc/csc_1.0/ia_css_csc_types.h |    78 +
>  .../isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.c    |   121 +
>  .../isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.h    |    33 +
>  .../isp/kernels/ctc/ctc1_5/ia_css_ctc1_5_param.h   |    46 +
>  .../pci/isp/kernels/ctc/ctc2/ia_css_ctc2.host.c    |   157 +
>  .../pci/isp/kernels/ctc/ctc2/ia_css_ctc2.host.h    |    33 +
>  .../pci/isp/kernels/ctc/ctc2/ia_css_ctc2_param.h   |    48 +
>  .../pci/isp/kernels/ctc/ctc2/ia_css_ctc2_types.h   |    54 +
>  .../pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.c  |    58 +
>  .../pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.h  |    36 +
>  .../pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_param.h |    44 +
>  .../kernels/ctc/ctc_1.0/ia_css_ctc_table.host.c    |   214 +
>  .../kernels/ctc/ctc_1.0/ia_css_ctc_table.host.h    |    24 +
>  .../pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_types.h |   110 +
>  .../pci/isp/kernels/de/de_1.0/ia_css_de.host.c     |    78 +
>  .../pci/isp/kernels/de/de_1.0/ia_css_de.host.h     |    44 +
>  .../pci/isp/kernels/de/de_1.0/ia_css_de_param.h    |    27 +
>  .../pci/isp/kernels/de/de_1.0/ia_css_de_types.h    |    42 +
>  .../pci/isp/kernels/de/de_2/ia_css_de2.host.c      |    53 +
>  .../pci/isp/kernels/de/de_2/ia_css_de2.host.h      |    38 +
>  .../pci/isp/kernels/de/de_2/ia_css_de2_param.h     |    30 +
>  .../pci/isp/kernels/de/de_2/ia_css_de2_types.h     |    41 +
>  .../pci/isp/kernels/dp/dp_1.0/ia_css_dp.host.c     |   131 +
>  .../pci/isp/kernels/dp/dp_1.0/ia_css_dp.host.h     |    47 +
>  .../pci/isp/kernels/dp/dp_1.0/ia_css_dp_param.h    |    36 +
>  .../pci/isp/kernels/dp/dp_1.0/ia_css_dp_types.h    |    48 +
>  .../pci/isp/kernels/dpc2/ia_css_dpc2.host.c        |    65 +
>  .../pci/isp/kernels/dpc2/ia_css_dpc2.host.h        |    39 +
>  .../pci/isp/kernels/dpc2/ia_css_dpc2_param.h       |    51 +
>  .../pci/isp/kernels/dpc2/ia_css_dpc2_types.h       |    59 +
>  .../pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs.host.c  |   301 +
>  .../pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs.host.h  |    60 +
>  .../pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs_param.h |    32 +
>  .../pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs_types.h |    29 +
>  .../pci/isp/kernels/eed1_8/ia_css_eed1_8.host.c    |   338 +
>  .../pci/isp/kernels/eed1_8/ia_css_eed1_8.host.h    |    45 +
>  .../pci/isp/kernels/eed1_8/ia_css_eed1_8_param.h   |   153 +
>  .../pci/isp/kernels/eed1_8/ia_css_eed1_8_types.h   |    87 +
>  .../isp/kernels/fc/fc_1.0/ia_css_formats.host.c    |    63 +
>  .../isp/kernels/fc/fc_1.0/ia_css_formats.host.h    |    44 +
>  .../isp/kernels/fc/fc_1.0/ia_css_formats_param.h   |    25 +
>  .../isp/kernels/fc/fc_1.0/ia_css_formats_types.h   |    38 +
>  .../fixedbds/fixedbds_1.0/ia_css_fixedbds_param.h  |    32 +
>  .../fixedbds/fixedbds_1.0/ia_css_fixedbds_types.h  |    24 +
>  .../pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn.host.c  |    88 +
>  .../pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn.host.h  |    44 +
>  .../pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn_param.h |    35 +
>  .../pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn_types.h |    52 +
>  .../pci/isp/kernels/gc/gc_1.0/ia_css_gc.host.c     |   117 +
>  .../pci/isp/kernels/gc/gc_1.0/ia_css_gc.host.h     |    65 +
>  .../pci/isp/kernels/gc/gc_1.0/ia_css_gc_param.h    |    61 +
>  .../isp/kernels/gc/gc_1.0/ia_css_gc_table.host.c   |   213 +
>  .../isp/kernels/gc/gc_1.0/ia_css_gc_table.host.h   |    24 +
>  .../pci/isp/kernels/gc/gc_1.0/ia_css_gc_types.h    |    97 +
>  .../pci/isp/kernels/gc/gc_2/ia_css_gc2.host.c      |   109 +
>  .../pci/isp/kernels/gc/gc_2/ia_css_gc2.host.h      |    79 +
>  .../pci/isp/kernels/gc/gc_2/ia_css_gc2_param.h     |    43 +
>  .../isp/kernels/gc/gc_2/ia_css_gc2_table.host.c    |   131 +
>  .../isp/kernels/gc/gc_2/ia_css_gc2_table.host.h    |    26 +
>  .../pci/isp/kernels/gc/gc_2/ia_css_gc2_types.h     |    54 +
>  .../atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.c  |    41 +
>  .../atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.h  |    31 +
>  .../atomisp/pci/isp/kernels/hdr/ia_css_hdr_param.h |    59 +
>  .../atomisp/pci/isp/kernels/hdr/ia_css_hdr_types.h |    70 +
>  .../ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.c  |    93 +
>  .../ipu2_io_ls/bayer_io_ls/ia_css_bayer_io.host.h  |    28 +
>  .../ipu2_io_ls/bayer_io_ls/ia_css_bayer_io_param.h |    20 +
>  .../ipu2_io_ls/bayer_io_ls/ia_css_bayer_io_types.h |    20 +
>  .../ipu2_io_ls/common/ia_css_common_io_param.h     |    20 +
>  .../ipu2_io_ls/common/ia_css_common_io_types.h     |    29 +
>  .../yuv444_io_ls/ia_css_yuv444_io.host.c           |    93 +
>  .../yuv444_io_ls/ia_css_yuv444_io.host.h           |    28 +
>  .../yuv444_io_ls/ia_css_yuv444_io_param.h          |    20 +
>  .../yuv444_io_ls/ia_css_yuv444_io_types.h          |    20 +
>  .../iterator/iterator_1.0/ia_css_iterator.host.c   |    80 +
>  .../iterator/iterator_1.0/ia_css_iterator.host.h   |    34 +
>  .../iterator/iterator_1.0/ia_css_iterator_param.h  |    38 +
>  .../isp/kernels/macc/macc1_5/ia_css_macc1_5.host.c |    74 +
>  .../isp/kernels/macc/macc1_5/ia_css_macc1_5.host.h |    41 +
>  .../kernels/macc/macc1_5/ia_css_macc1_5_param.h    |    31 +
>  .../macc/macc1_5/ia_css_macc1_5_table.host.c       |    34 +
>  .../macc/macc1_5/ia_css_macc1_5_table.host.h       |    22 +
>  .../kernels/macc/macc1_5/ia_css_macc1_5_types.h    |    73 +
>  .../isp/kernels/macc/macc_1.0/ia_css_macc.host.c   |    49 +
>  .../isp/kernels/macc/macc_1.0/ia_css_macc.host.h   |    41 +
>  .../isp/kernels/macc/macc_1.0/ia_css_macc_param.h  |    25 +
>  .../kernels/macc/macc_1.0/ia_css_macc_table.host.c |    51 +
>  .../kernels/macc/macc_1.0/ia_css_macc_table.host.h |    23 +
>  .../isp/kernels/macc/macc_1.0/ia_css_macc_types.h  |    63 +
>  .../isp/kernels/norm/norm_1.0/ia_css_norm.host.c   |    15 +
>  .../isp/kernels/norm/norm_1.0/ia_css_norm.host.h   |    20 +
>  .../isp/kernels/norm/norm_1.0/ia_css_norm_param.h  |    18 +
>  .../pci/isp/kernels/ob/ob2/ia_css_ob2.host.c       |    76 +
>  .../pci/isp/kernels/ob/ob2/ia_css_ob2.host.h       |    40 +
>  .../pci/isp/kernels/ob/ob2/ia_css_ob2_param.h      |    28 +
>  .../pci/isp/kernels/ob/ob2/ia_css_ob2_types.h      |    44 +
>  .../pci/isp/kernels/ob/ob_1.0/ia_css_ob.host.c     |   154 +
>  .../pci/isp/kernels/ob/ob_1.0/ia_css_ob.host.h     |    53 +
>  .../pci/isp/kernels/ob/ob_1.0/ia_css_ob_param.h    |    47 +
>  .../pci/isp/kernels/ob/ob_1.0/ia_css_ob_types.h    |    68 +
>  .../kernels/output/output_1.0/ia_css_output.host.c |   163 +
>  .../kernels/output/output_1.0/ia_css_output.host.h |    75 +
>  .../output/output_1.0/ia_css_output_param.h        |    36 +
>  .../output/output_1.0/ia_css_output_types.h        |    47 +
>  .../kernels/qplane/qplane_2/ia_css_qplane.host.c   |    61 +
>  .../kernels/qplane/qplane_2/ia_css_qplane.host.h   |    43 +
>  .../kernels/qplane/qplane_2/ia_css_qplane_param.h  |    30 +
>  .../kernels/qplane/qplane_2/ia_css_qplane_types.h  |    31 +
>  .../pci/isp/kernels/raw/raw_1.0/ia_css_raw.host.c  |   135 +
>  .../pci/isp/kernels/raw/raw_1.0/ia_css_raw.host.h  |    38 +
>  .../pci/isp/kernels/raw/raw_1.0/ia_css_raw_param.h |    38 +
>  .../pci/isp/kernels/raw/raw_1.0/ia_css_raw_types.h |    36 +
>  .../raw_aa_binning_1.0/ia_css_raa.host.c           |    35 +
>  .../raw_aa_binning_1.0/ia_css_raa.host.h           |    27 +
>  .../pci/isp/kernels/ref/ref_1.0/ia_css_ref.host.c  |    76 +
>  .../pci/isp/kernels/ref/ref_1.0/ia_css_ref.host.h  |    41 +
>  .../pci/isp/kernels/ref/ref_1.0/ia_css_ref_param.h |    36 +
>  .../pci/isp/kernels/ref/ref_1.0/ia_css_ref_state.h |    26 +
>  .../pci/isp/kernels/ref/ref_1.0/ia_css_ref_types.h |    25 +
>  .../pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a.host.c  |   386 +
>  .../pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a.host.h  |    77 +
>  .../pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a_param.h |    53 +
>  .../pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a_types.h |   221 +
>  .../pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.c     |   129 +
>  .../pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.h     |    77 +
>  .../pci/isp/kernels/sc/sc_1.0/ia_css_sc_param.h    |    42 +
>  .../pci/isp/kernels/sc/sc_1.0/ia_css_sc_types.h    |   134 +
>  .../kernels/sdis/common/ia_css_sdis_common.host.h  |   101 +
>  .../kernels/sdis/common/ia_css_sdis_common_types.h |   220 +
>  .../isp/kernels/sdis/sdis_1.0/ia_css_sdis.host.c   |   437 +
>  .../isp/kernels/sdis/sdis_1.0/ia_css_sdis.host.h   |   101 +
>  .../isp/kernels/sdis/sdis_1.0/ia_css_sdis_types.h  |    55 +
>  .../isp/kernels/sdis/sdis_2/ia_css_sdis2.host.c    |   350 +
>  .../isp/kernels/sdis/sdis_2/ia_css_sdis2.host.h    |    95 +
>  .../isp/kernels/sdis/sdis_2/ia_css_sdis2_types.h   |    75 +
>  .../pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.c  |    74 +
>  .../pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.h  |    38 +
>  .../pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf_param.h |    43 +
>  .../pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf_types.h |    52 +
>  .../pci/isp/kernels/tnr/tnr3/ia_css_tnr3_types.h   |    63 +
>  .../pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr.host.c  |   120 +
>  .../pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr.host.h  |    56 +
>  .../pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_param.h |    40 +
>  .../pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_state.h |    26 +
>  .../pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_types.h |    57 +
>  .../pci/isp/kernels/uds/uds_1.0/ia_css_uds_param.h |    31 +
>  .../pci/isp/kernels/vf/vf_1.0/ia_css_vf.host.c     |   138 +
>  .../pci/isp/kernels/vf/vf_1.0/ia_css_vf.host.h     |    47 +
>  .../pci/isp/kernels/vf/vf_1.0/ia_css_vf_param.h    |    37 +
>  .../pci/isp/kernels/vf/vf_1.0/ia_css_vf_types.h    |    31 +
>  .../pci/isp/kernels/wb/wb_1.0/ia_css_wb.host.c     |    86 +
>  .../pci/isp/kernels/wb/wb_1.0/ia_css_wb.host.h     |    39 +
>  .../pci/isp/kernels/wb/wb_1.0/ia_css_wb_param.h    |    29 +
>  .../pci/isp/kernels/wb/wb_1.0/ia_css_wb_types.h    |    46 +
>  .../pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr.host.c  |    65 +
>  .../pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr.host.h  |    47 +
>  .../pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_param.h |    50 +
>  .../kernels/xnr/xnr_1.0/ia_css_xnr_table.host.c    |    81 +
>  .../kernels/xnr/xnr_1.0/ia_css_xnr_table.host.h    |    22 +
>  .../pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_types.h |    70 +
>  .../pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3.host.c |   249 +
>  .../pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3.host.h |    41 +
>  .../isp/kernels/xnr/xnr_3.0/ia_css_xnr3_param.h    |    83 +
>  .../isp/kernels/xnr/xnr_3.0/ia_css_xnr3_types.h    |    97 +
>  .../pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr.host.c  |   217 +
>  .../pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr.host.h  |    60 +
>  .../pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr_param.h |    49 +
>  .../pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr_types.h |    80 +
>  .../pci/isp/kernels/ynr/ynr_2/ia_css_ynr2.host.c   |   118 +
>  .../pci/isp/kernels/ynr/ynr_2/ia_css_ynr2.host.h   |    56 +
>  .../pci/isp/kernels/ynr/ynr_2/ia_css_ynr2_param.h  |    45 +
>  .../pci/isp/kernels/ynr/ynr_2/ia_css_ynr2_types.h  |    93 +
>  .../pci/isp/modes/interface/input_buf.isp.h        |    37 +
>  .../atomisp/pci/isp/modes/interface/isp_const.h    |   180 +
>  .../atomisp/pci/isp/modes/interface/isp_types.h    |    79 +
>  .../atomisp/pci/isp2400_input_system_global.h      |   155 +
>  .../media/atomisp/pci/isp2400_input_system_local.h |   539 +
>  .../atomisp/pci/isp2400_input_system_private.h     |   122 +
>  .../atomisp/pci/isp2400_input_system_public.h      |   369 +
>  .../staging/media/atomisp/pci/isp2400_support.h    |    38 +
>  .../media/atomisp/pci/isp2400_system_global.h      |   348 +
>  .../media/atomisp/pci/isp2400_system_local.h       |   325 +
>  .../atomisp/pci/isp2401_input_system_global.h      |   205 +
>  .../media/atomisp/pci/isp2401_input_system_local.h |   106 +
>  .../atomisp/pci/isp2401_input_system_private.h     |   129 +
>  .../media/atomisp/pci/isp2401_mamoiada_params.h    |   228 +
>  .../media/atomisp/pci/isp2401_system_global.h      |   457 +
>  .../media/atomisp/pci/isp2401_system_local.h       |   406 +
>  .../media/atomisp/pci/isp_acquisition_defs.h       |   229 +
>  .../staging/media/atomisp/pci/isp_capture_defs.h   |   278 +
>  drivers/staging/media/atomisp/pci/memory_realloc.c |    81 +
>  drivers/staging/media/atomisp/pci/mmu/isp_mmu.c    |   581 +
>  .../staging/media/atomisp/pci/mmu/sh_mmu_mrfld.c   |    77 +
>  drivers/staging/media/atomisp/pci/mmu_defs.h       |    23 +
>  .../pci/runtime/binary/interface/ia_css_binary.h   |   228 +
>  .../media/atomisp/pci/runtime/binary/src/binary.c  |  1852 +++
>  .../pci/runtime/bufq/interface/ia_css_bufq.h       |   177 +
>  .../pci/runtime/bufq/interface/ia_css_bufq_comm.h  |    50 +
>  .../media/atomisp/pci/runtime/bufq/src/bufq.c      |   566 +
>  .../pci/runtime/debug/interface/ia_css_debug.h     |   502 +
>  .../debug/interface/ia_css_debug_internal.h        |    15 +
>  .../runtime/debug/interface/ia_css_debug_pipe.h    |    67 +
>  .../atomisp/pci/runtime/debug/src/ia_css_debug.c   |  3544 ++++++
>  .../pci/runtime/event/interface/ia_css_event.h     |    30 +
>  .../media/atomisp/pci/runtime/event/src/event.c    |   112 +
>  .../pci/runtime/eventq/interface/ia_css_eventq.h   |    53 +
>  .../media/atomisp/pci/runtime/eventq/src/eventq.c  |    77 +
>  .../pci/runtime/frame/interface/ia_css_frame.h     |   163 +
>  .../runtime/frame/interface/ia_css_frame_comm.h    |   115 +
>  .../media/atomisp/pci/runtime/frame/src/frame.c    |   989 ++
>  .../pci/runtime/ifmtr/interface/ia_css_ifmtr.h     |    33 +
>  .../media/atomisp/pci/runtime/ifmtr/src/ifmtr.c    |   552 +
>  .../runtime/inputfifo/interface/ia_css_inputfifo.h |    53 +
>  .../atomisp/pci/runtime/inputfifo/src/inputfifo.c  |   538 +
>  .../runtime/isp_param/interface/ia_css_isp_param.h |   102 +
>  .../isp_param/interface/ia_css_isp_param_types.h   |    81 +
>  .../atomisp/pci/runtime/isp_param/src/isp_param.c  |   216 +
>  .../pci/runtime/isys/interface/ia_css_isys.h       |   184 +
>  .../pci/runtime/isys/interface/ia_css_isys_comm.h  |    53 +
>  .../atomisp/pci/runtime/isys/src/csi_rx_rmgr.c     |   167 +
>  .../atomisp/pci/runtime/isys/src/csi_rx_rmgr.h     |    26 +
>  .../atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.c  |   121 +
>  .../atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.h  |    38 +
>  .../atomisp/pci/runtime/isys/src/isys_dma_rmgr.c   |    87 +
>  .../atomisp/pci/runtime/isys/src/isys_dma_rmgr.h   |    24 +
>  .../media/atomisp/pci/runtime/isys/src/isys_init.c |   123 +
>  .../pci/runtime/isys/src/isys_stream2mmio_rmgr.c   |    89 +
>  .../pci/runtime/isys/src/isys_stream2mmio_rmgr.h   |    24 +
>  .../media/atomisp/pci/runtime/isys/src/rx.c        |   600 +
>  .../atomisp/pci/runtime/isys/src/virtual_isys.c    |   892 ++
>  .../atomisp/pci/runtime/isys/src/virtual_isys.h    |    24 +
>  .../runtime/pipeline/interface/ia_css_pipeline.h   |   286 +
>  .../pipeline/interface/ia_css_pipeline_common.h    |    27 +
>  .../atomisp/pci/runtime/pipeline/src/pipeline.c    |   786 ++
>  .../pci/runtime/queue/interface/ia_css_queue.h     |   175 +
>  .../runtime/queue/interface/ia_css_queue_comm.h    |    53 +
>  .../media/atomisp/pci/runtime/queue/src/queue.c    |   422 +
>  .../atomisp/pci/runtime/queue/src/queue_access.c   |   176 +
>  .../atomisp/pci/runtime/queue/src/queue_access.h   |    85 +
>  .../pci/runtime/rmgr/interface/ia_css_rmgr.h       |    72 +
>  .../pci/runtime/rmgr/interface/ia_css_rmgr_vbuf.h  |    99 +
>  .../media/atomisp/pci/runtime/rmgr/src/rmgr.c      |    39 +
>  .../media/atomisp/pci/runtime/rmgr/src/rmgr_vbuf.c |   336 +
>  .../pci/runtime/spctrl/interface/ia_css_spctrl.h   |    68 +
>  .../runtime/spctrl/interface/ia_css_spctrl_comm.h  |    45 +
>  .../media/atomisp/pci/runtime/spctrl/src/spctrl.c  |   182 +
>  .../tagger/interface/ia_css_tagger_common.h        |    43 +
>  .../media/atomisp/pci/runtime/timer/src/timer.c    |    31 +
>  .../atomisp/pci/scalar_processor_2400_params.h     |    20 +
>  drivers/staging/media/atomisp/pci/sh_css.c         | 11179
> +++++++++++++++++++
>  drivers/staging/media/atomisp/pci/sh_css_defs.h    |   410 +
>  .../staging/media/atomisp/pci/sh_css_dvs_info.h    |    36 +
>  .../staging/media/atomisp/pci/sh_css_firmware.c    |   331 +
>  .../staging/media/atomisp/pci/sh_css_firmware.h    |    55 +
>  drivers/staging/media/atomisp/pci/sh_css_frac.h    |    40 +
>  .../staging/media/atomisp/pci/sh_css_host_data.c   |    42 +
>  drivers/staging/media/atomisp/pci/sh_css_hrt.c     |    85 +
>  drivers/staging/media/atomisp/pci/sh_css_hrt.h     |    34 +
>  .../staging/media/atomisp/pci/sh_css_internal.h    |  1061 ++
>  drivers/staging/media/atomisp/pci/sh_css_legacy.h  |    70 +
>  .../staging/media/atomisp/pci/sh_css_metadata.c    |    16 +
>  drivers/staging/media/atomisp/pci/sh_css_metrics.c |   175 +
>  drivers/staging/media/atomisp/pci/sh_css_metrics.h |    55 +
>  drivers/staging/media/atomisp/pci/sh_css_mipi.c    |   757 ++
>  drivers/staging/media/atomisp/pci/sh_css_mipi.h    |    49 +
>  drivers/staging/media/atomisp/pci/sh_css_mmu.c     |    60 +
>  drivers/staging/media/atomisp/pci/sh_css_morph.c   |    16 +
>  .../staging/media/atomisp/pci/sh_css_param_dvs.c   |   286 +
>  .../staging/media/atomisp/pci/sh_css_param_dvs.h   |    85 +
>  .../media/atomisp/pci/sh_css_param_shading.c       |   402 +
>  .../media/atomisp/pci/sh_css_param_shading.h       |    34 +
>  drivers/staging/media/atomisp/pci/sh_css_params.c  |  5247 +++++++++
>  drivers/staging/media/atomisp/pci/sh_css_params.h  |   188 +
>  .../media/atomisp/pci/sh_css_params_internal.h     |    21 +
>  drivers/staging/media/atomisp/pci/sh_css_pipe.c    |    16 +
>  .../staging/media/atomisp/pci/sh_css_properties.c  |    43 +
>  drivers/staging/media/atomisp/pci/sh_css_shading.c |    16 +
>  drivers/staging/media/atomisp/pci/sh_css_sp.c      |  1829 +++
>  drivers/staging/media/atomisp/pci/sh_css_sp.h      |   248 +
>  drivers/staging/media/atomisp/pci/sh_css_stream.c  |    16 +
>  .../media/atomisp/pci/sh_css_stream_format.c       |    76 +
>  .../media/atomisp/pci/sh_css_stream_format.h       |    23 +
>  drivers/staging/media/atomisp/pci/sh_css_struct.h  |    85 +
>  drivers/staging/media/atomisp/pci/sh_css_uds.h     |    37 +
>  drivers/staging/media/atomisp/pci/sh_css_version.c |    37 +
>  drivers/staging/media/atomisp/pci/str2mem_defs.h   |    39 +
>  .../media/atomisp/pci/streaming_to_mipi_defs.h     |    28 +
>  drivers/staging/media/atomisp/pci/system_global.h  |    10 +
>  drivers/staging/media/atomisp/pci/system_local.h   |    10 +
>  .../media/atomisp/pci/timed_controller_defs.h      |    22 +
>  drivers/staging/media/atomisp/pci/version.h        |    20 +
>  drivers/staging/media/atomisp/platform/Makefile    |     5 +
>  .../media/atomisp/platform/intel-mid/Makefile      |     4 +
>  .../platform/intel-mid/atomisp_gmin_platform.c     |   810 ++
>  677 files changed, 147292 insertions(+)
>  create mode 100644 drivers/staging/media/atomisp/Kconfig
>  create mode 100644 drivers/staging/media/atomisp/Makefile
>  create mode 100644 drivers/staging/media/atomisp/TODO
>  create mode 100644 drivers/staging/media/atomisp/i2c/Kconfig
>  create mode 100644 drivers/staging/media/atomisp/i2c/Makefile
>  create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-
> gc0310.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-
> gc2235.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-
> libmsrlisthelper.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-
> lm3554.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-
> mt9m114.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-
> ov2680.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/atomisp-
> ov2722.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/gc0310.h
>  create mode 100644 drivers/staging/media/atomisp/i2c/gc2235.h
>  create mode 100644 drivers/staging/media/atomisp/i2c/mt9m114.h
>  create mode 100644 drivers/staging/media/atomisp/i2c/ov2680.h
>  create mode 100644 drivers/staging/media/atomisp/i2c/ov2722.h
>  create mode 100644 drivers/staging/media/atomisp/i2c/ov5693/Kconfig
>  create mode 100644 drivers/staging/media/atomisp/i2c/ov5693/Makefile
>  create mode 100644 drivers/staging/media/atomisp/i2c/ov5693/ad5823.h
>  create mode 100644 drivers/staging/media/atomisp/i2c/ov5693/atomisp-
> ov5693.c
>  create mode 100644 drivers/staging/media/atomisp/i2c/ov5693/ov5693.h
>  create mode 100644 drivers/staging/media/atomisp/include/hmm/hmm.h
>  create mode 100644
> drivers/staging/media/atomisp/include/hmm/hmm_bo.h
>  create mode 100644
> drivers/staging/media/atomisp/include/hmm/hmm_common.h
>  create mode 100644
> drivers/staging/media/atomisp/include/hmm/hmm_pool.h
>  create mode 100644
> drivers/staging/media/atomisp/include/hmm/hmm_vm.h
>  create mode 100644
> drivers/staging/media/atomisp/include/linux/atomisp.h
>  create mode 100644
> drivers/staging/media/atomisp/include/linux/atomisp_gmin_platform.h
>  create mode 100644
> drivers/staging/media/atomisp/include/linux/atomisp_platform.h
>  create mode 100644
> drivers/staging/media/atomisp/include/linux/libmsrlisthelper.h
>  create mode 100644
> drivers/staging/media/atomisp/include/media/lm3554.h
>  create mode 100644
> drivers/staging/media/atomisp/include/mmu/isp_mmu.h
>  create mode 100644
> drivers/staging/media/atomisp/include/mmu/sh_mmu_mrfld.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp-regs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_acc.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_acc.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_cmd.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_cmd.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_common.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_compat.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_compat_css20.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_compat_ioctl32.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_compat_ioctl32.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_csi2.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_csi2.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_dfs_tables.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_drvfs.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_drvfs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_file.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_file.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_fops.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_fops.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_helper.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_internal.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_ioctl.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_ioctl.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_subdev.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_subdev.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_tables.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_tpg.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_tpg.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/atomisp_trace_event.h
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_v4l2.c
>  create mode 100644 drivers/staging/media/atomisp/pci/atomisp_v4l2.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/base/circbuf/interface/ia_css_circb
> uf.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/base/circbuf/interface/ia_css_circb
> uf_comm.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/base/circbuf/interface/ia_css_circb
> uf_desc.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/base/circbuf/src/circbuf.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/base/refcount/interface/ia_css_refc
> ount.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/base/refcount/src/refcount.c
>  create mode 100644 drivers/staging/media/atomisp/pci/bits.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/pipe/interface/ia_css_pipe_b
> inarydesc.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/pipe/interface/ia_css_pipe_s
> tagedesc.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/pipe/interface/ia_css_pipe_u
> til.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/pipe/src/pipe_binarydesc.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/pipe/src/pipe_stagedesc.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/pipe/src/pipe_util.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/util/interface/ia_css_util.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/camera/util/src/util.c
>  create mode 100644 drivers/staging/media/atomisp/pci/cell_params.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2400_system/hive/ia_css_isp_con
> figs.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2400_system/hive/ia_css_isp_par
> ams.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2400_system/hive/ia_css_isp_sta
> tes.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2400_system/hrt/hive_isp_css_ir
> q_types_hrt.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2400_system/hrt/isp2400_mamoiad
> a_params.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2400_system/spmem_dump.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/csi_rx_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hive/ia_css_isp_con
> figs.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hive/ia_css_isp_par
> ams.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hive/ia_css_isp_sta
> tes.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/csi_rx.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/csi_rx_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/csi_rx_private
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/ibuf_ctrl.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/ibuf_ctrl_loca
> l.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/ibuf_ctrl_priv
> ate.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_dma.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_dma_local
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_dma_priva
> te.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_irq.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_irq_local
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_irq_priva
> te.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_stream2mm
> io.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_stream2mm
> io_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/isys_stream2mm
> io_private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/pixelgen_local
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/host/pixelgen_priva
> te.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hrt/PixelGen_SysBlo
> ck_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hrt/ibuf_cntrl_defs
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hrt/mipi_backend_co
> mmon_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hrt/mipi_backend_de
> fs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hrt/rx_csi_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/hrt/stream2mmio_def
> s.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/ibuf_ctrl_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/isys_dma_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/isys_irq_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/isys_stream2mmio_gl
> obal.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/pixelgen_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_2401_system/spmem_dump.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_receiver_2400_common_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/css_receiver_2400_defs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/css_trace.h
>  create mode 100644 drivers/staging/media/atomisp/pci/defs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/dma_v2_defs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/gdc_v2_defs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/gp_timer_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/gpio_block_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_2401_irq_types_hrt.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/debug_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/dma_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/event_fifo_glob
> al.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/fifo_monitor_gl
> obal.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/gdc_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/gp_device_globa
> l.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/gp_timer_global
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/gpio_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/hmem_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/debug.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/debug_loca
> l.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/debug_priv
> ate.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/dma.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/dma_local.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/dma_privat
> e.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/event_fifo
> .c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/event_fifo
> _local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/event_fifo
> _private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/fifo_monit
> or.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/fifo_monit
> or_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/fifo_monit
> or_private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gdc.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gdc_local.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gdc_privat
> e.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_device.
> c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_device_
> local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_device_
> private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_timer.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_timer_l
> ocal.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gp_timer_p
> rivate.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gpio_local
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/gpio_priva
> te.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/hmem.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/hmem_local
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/hmem_priva
> te.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/input_form
> atter.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/input_form
> atter_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/input_form
> atter_private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/input_syst
> em.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/irq.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/irq_local.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/irq_privat
> e.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/isp.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/isp_local.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/isp_privat
> e.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/mmu.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/mmu_local.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/sp.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/sp_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/sp_private
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/timed_ctrl
> .c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/timed_ctrl
> _local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/timed_ctrl
> _private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vamem_loca
> l.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem_local
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem_priva
> te.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/input_formatter
> _global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/irq_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/isp_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/mmu_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/sp_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/timed_ctrl_glob
> al.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/vamem_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_common/vmem_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/assert_support
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/bitop_support.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/csi_rx.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/debug.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/device_access/
> device_access.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/dma.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/error_support.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/event_fifo.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/fifo_monitor.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/gdc_device.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/gp_device.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/gp_timer.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/gpio.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/hmem.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/csi_rx_pu
> blic.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/debug_pub
> lic.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/dma_publi
> c.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/event_fif
> o_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/fifo_moni
> tor_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/gdc_publi
> c.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/gp_device
> _public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/gp_timer_
> public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/gpio_publ
> ic.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/hmem_publ
> ic.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/ibuf_ctrl
> _public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/input_for
> matter_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/irq_publi
> c.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/isp_publi
> c.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/isys_dma_
> public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/isys_irq_
> public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/isys_publ
> ic.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/isys_stre
> am2mmio_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/mmu_publi
> c.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/pixelgen_
> public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/sp_public
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/tag_publi
> c.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/timed_ctr
> l_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/vamem_pub
> lic.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/host/vmem_publ
> ic.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/ibuf_ctrl.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/input_formatte
> r.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/input_system.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/irq.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/isp.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/isys_dma.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/isys_irq.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/isys_stream2mm
> io.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/math_support.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/memory_access/
> memory_access.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/memory_realloc
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/misc_support.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/mmu_device.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/pixelgen.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/platform_suppo
> rt.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/print_support.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/queue.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/resource.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/sp.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/string_support
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/system_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/tag.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/timed_ctrl.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/type_support.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/vamem.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_include/vmem.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/host/queue_loca
> l.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/host/queue_priv
> ate.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/host/tag.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/host/tag_local.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/host/tag_privat
> e.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/queue_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/sw_event_global
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_shared/tag_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hive_isp_css_streaming_to_mipi_type
> s_hrt.h
>  create mode 100644 drivers/staging/media/atomisp/pci/hive_types.h
>  create mode 100644 drivers/staging/media/atomisp/pci/hmm/hmm.c
>  create mode 100644 drivers/staging/media/atomisp/pci/hmm/hmm_bo.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hmm/hmm_dynamic_pool.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hmm/hmm_reserved_pool.c
>  create mode 100644 drivers/staging/media/atomisp/pci/hmm/hmm_vm.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hrt/hive_isp_css_custom_host_hrt.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/hrt/hive_isp_css_mm_hrt.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/hrt/hive_isp_css_mm_hrt.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_3a.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_acc_types.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_buffer.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_control.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_device_access.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_device_access.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_dvs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_env.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_err.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_event_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_firmware.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_frac.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_frame_format.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_frame_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_host_data.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_input_port.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_irq.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_isp_configs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_isp_params.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_isp_states.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_memory_access.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_metadata.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_mipi.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_mmu.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_mmu_private.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_morph.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_pipe.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_pipe_public.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_prbs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_properties.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_shading.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_stream.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_stream_format.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_stream_public.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_timer.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_tpg.h
>  create mode 100644 drivers/staging/media/atomisp/pci/ia_css_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_version.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/ia_css_version_data.h
>  create mode 100644 drivers/staging/media/atomisp/pci/if_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_formatter_subsystem_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_selector_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_switch_2400_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_system_ctrl_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_system_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_system_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_system_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_system_private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/input_system_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/irq_controller_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/aa/aa_2/ia_css_aa2.host
> .c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/aa/aa_2/ia_css_aa2.host
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/aa/aa_2/ia_css_aa2_para
> m.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/aa/aa_2/ia_css_aa2_type
> s.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_1.0/ia_css_anr.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_1.0/ia_css_anr.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_1.0/ia_css_anr_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_1.0/ia_css_anr_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2.h
> ost.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2.h
> ost.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2_p
> aram.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2_t
> able.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2_t
> able.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/anr/anr_2/ia_css_anr2_t
> ypes.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bh/bh_2/ia_css_bh.host.
> c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bh/bh_2/ia_css_bh.host.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bh/bh_2/ia_css_bh_param
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bh/bh_2/ia_css_bh_types
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnlm/ia_css_bnlm.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnlm/ia_css_bnlm.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnlm/ia_css_bnlm_param.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnlm/ia_css_bnlm_types.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr2_2/ia_css_bnr2_
> 2.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr2_2/ia_css_bnr2_
> 2.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr2_2/ia_css_bnr2_
> 2_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr2_2/ia_css_bnr2_
> 2_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/bnr/bnr_1.0/ia_css_bnr_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_1.0/ia_css_cnr_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_2/ia_css_cnr2.h
> ost.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_2/ia_css_cnr2.h
> ost.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_2/ia_css_cnr2_p
> aram.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/cnr/cnr_2/ia_css_cnr2_t
> ypes.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/conversion/conversion_1
> .0/ia_css_conversion.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/conversion/conversion_1
> .0/ia_css_conversion.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/conversion/conversion_1
> .0/ia_css_conversion_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/conversion/conversion_1
> .0/ia_css_conversion_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/copy_output/copy_output
> _1.0/ia_css_copy_output.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/copy_output/copy_output
> _1.0/ia_css_copy_output.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/copy_output/copy_output
> _1.0/ia_css_copy_output_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/crop/crop_1.0/ia_css_cr
> op.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/crop/crop_1.0/ia_css_cr
> op.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/crop/crop_1.0/ia_css_cr
> op_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/crop/crop_1.0/ia_css_cr
> op_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/csc/csc_1.0/ia_css_csc.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/csc/csc_1.0/ia_css_csc.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/csc/csc_1.0/ia_css_csc_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/csc/csc_1.0/ia_css_csc_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc1_5/ia_css_ctc1_
> 5.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc1_5/ia_css_ctc1_
> 5.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc1_5/ia_css_ctc1_
> 5_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc2/ia_css_ctc2.ho
> st.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc2/ia_css_ctc2.ho
> st.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc2/ia_css_ctc2_pa
> ram.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc2/ia_css_ctc2_ty
> pes.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_
> table.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_
> table.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ctc/ctc_1.0/ia_css_ctc_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_1.0/ia_css_de.hos
> t.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_1.0/ia_css_de.hos
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_1.0/ia_css_de_par
> am.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_1.0/ia_css_de_typ
> es.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_2/ia_css_de2.host
> .c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_2/ia_css_de2.host
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_2/ia_css_de2_para
> m.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/de/de_2/ia_css_de2_type
> s.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dp/dp_1.0/ia_css_dp.hos
> t.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dp/dp_1.0/ia_css_dp.hos
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dp/dp_1.0/ia_css_dp_par
> am.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dp/dp_1.0/ia_css_dp_typ
> es.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dpc2/ia_css_dpc2.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dpc2/ia_css_dpc2.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dpc2/ia_css_dpc2_param.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dpc2/ia_css_dpc2_types.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8.ho
> st.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8.ho
> st.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8_pa
> ram.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/eed1_8/ia_css_eed1_8_ty
> pes.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fc/fc_1.0/ia_css_format
> s.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fc/fc_1.0/ia_css_format
> s.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fc/fc_1.0/ia_css_format
> s_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fc/fc_1.0/ia_css_format
> s_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fixedbds/fixedbds_1.0/i
> a_css_fixedbds_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fixedbds/fixedbds_1.0/i
> a_css_fixedbds_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc.hos
> t.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc.hos
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc_par
> am.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc_tab
> le.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc_tab
> le.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_1.0/ia_css_gc_typ
> es.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2.host
> .c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2.host
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2_para
> m.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2_tabl
> e.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2_tabl
> e.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/gc/gc_2/ia_css_gc2_type
> s.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/
> ia_css_bayer_io.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/
> ia_css_bayer_io.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/
> ia_css_bayer_io_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/bayer_io_ls/
> ia_css_bayer_io_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/common/ia_cs
> s_common_io_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/common/ia_cs
> s_common_io_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls
> /ia_css_yuv444_io.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls
> /ia_css_yuv444_io.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls
> /ia_css_yuv444_io_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ipu2_io_ls/yuv444_io_ls
> /ia_css_yuv444_io_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/iterator/iterator_1.0/i
> a_css_iterator.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/iterator/iterator_1.0/i
> a_css_iterator.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/iterator/iterator_1.0/i
> a_css_iterator_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_mac
> c1_5.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_mac
> c1_5.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_mac
> c1_5_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_mac
> c1_5_table.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_mac
> c1_5_table.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc1_5/ia_css_mac
> c1_5_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_ma
> cc.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_ma
> cc.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_ma
> cc_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_ma
> cc_table.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_ma
> cc_table.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/macc/macc_1.0/ia_css_ma
> cc_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/norm/norm_1.0/ia_css_no
> rm.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/norm/norm_1.0/ia_css_no
> rm.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/norm/norm_1.0/ia_css_no
> rm_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob2/ia_css_ob2.host.
> c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob2/ia_css_ob2.host.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob2/ia_css_ob2_param
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob2/ia_css_ob2_types
> .h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob_1.0/ia_css_ob.hos
> t.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob_1.0/ia_css_ob.hos
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob_1.0/ia_css_ob_par
> am.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ob/ob_1.0/ia_css_ob_typ
> es.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/output/output_1.0/ia_cs
> s_output.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/output/output_1.0/ia_cs
> s_output.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/output/output_1.0/ia_cs
> s_output_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/output/output_1.0/ia_cs
> s_output_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/qplane/qplane_2/ia_css_
> qplane.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/qplane/qplane_2/ia_css_
> qplane.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/qplane/qplane_2/ia_css_
> qplane_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/qplane/qplane_2/ia_css_
> qplane_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/raw/raw_1.0/ia_css_raw.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/raw/raw_1.0/ia_css_raw.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/raw/raw_1.0/ia_css_raw_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/raw/raw_1.0/ia_css_raw_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/raw_aa_binning/raw_aa_b
> inning_1.0/ia_css_raa.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/raw_aa_binning/raw_aa_b
> inning_1.0/ia_css_raa.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref_
> state.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc.hos
> t.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc.hos
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc_par
> am.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc_typ
> es.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/common/ia_css_sdis
> _common.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/common/ia_css_sdis
> _common_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_1.0/ia_css_sd
> is.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_1.0/ia_css_sd
> is.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_1.0/ia_css_sd
> is_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_2/ia_css_sdis
> 2.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_2/ia_css_sdis
> 2.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_2/ia_css_sdis
> 2_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tdf/tdf_1.0/ia_css_tdf_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr3/ia_css_tnr3_ty
> pes.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_
> state.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/uds/uds_1.0/ia_css_uds_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/vf/vf_1.0/ia_css_vf.hos
> t.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/vf/vf_1.0/ia_css_vf.hos
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/vf/vf_1.0/ia_css_vf_par
> am.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/vf/vf_1.0/ia_css_vf_typ
> es.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/wb/wb_1.0/ia_css_wb.hos
> t.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/wb/wb_1.0/ia_css_wb.hos
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/wb/wb_1.0/ia_css_wb_par
> am.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/wb/wb_1.0/ia_css_wb_typ
> es.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_
> table.host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_
> table.host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_1.0/ia_css_xnr_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3
> .host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3
> .host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3
> _param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/xnr/xnr_3.0/ia_css_xnr3
> _types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr.
> host.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr.
> host.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr_
> param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr_
> types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_2/ia_css_ynr2.h
> ost.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_2/ia_css_ynr2.h
> ost.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_2/ia_css_ynr2_p
> aram.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_2/ia_css_ynr2_t
> ypes.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/modes/interface/input_buf.isp.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/modes/interface/isp_const.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp/modes/interface/isp_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2400_input_system_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2400_input_system_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2400_input_system_private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2400_input_system_public.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2400_support.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2400_system_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2400_system_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2401_input_system_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2401_input_system_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2401_input_system_private.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2401_mamoiada_params.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2401_system_global.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp2401_system_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp_acquisition_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/isp_capture_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/memory_realloc.c
>  create mode 100644 drivers/staging/media/atomisp/pci/mmu/isp_mmu.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/mmu/sh_mmu_mrfld.c
>  create mode 100644 drivers/staging/media/atomisp/pci/mmu_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/binary/interface/ia_css_bin
> ary.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/bufq/interface/ia_css_bufq.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/bufq/interface/ia_css_bufq_
> comm.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/bufq/src/bufq.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debu
> g.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debu
> g_internal.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debu
> g_pipe.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/debug/src/ia_css_debug.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/event/interface/ia_css_even
> t.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/event/src/event.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/eventq/interface/ia_css_eve
> ntq.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/eventq/src/eventq.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/frame/interface/ia_css_fram
> e.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/frame/interface/ia_css_fram
> e_comm.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/frame/src/frame.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/ifmtr/interface/ia_css_ifmt
> r.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/ifmtr/src/ifmtr.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/inputfifo/interface/ia_css_
> inputfifo.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/inputfifo/src/inputfifo.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isp_param/interface/ia_css_
> isp_param.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isp_param/interface/ia_css_
> isp_param_types.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isp_param/src/isp_param.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/interface/ia_css_isys.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/interface/ia_css_isys_
> comm.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/csi_rx_rmgr.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/csi_rx_rmgr.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/ibuf_ctrl_rmgr.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/isys_dma_rmgr.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/isys_dma_rmgr.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/isys_init.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/isys_stream2mmio_r
> mgr.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/isys_stream2mmio_r
> mgr.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/rx.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/pipeline/interface/ia_css_p
> ipeline.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/pipeline/interface/ia_css_p
> ipeline_common.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/pipeline/src/pipeline.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/queue/interface/ia_css_queu
> e.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/queue/interface/ia_css_queu
> e_comm.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/queue/src/queue.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/queue/src/queue_access.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/queue/src/queue_access.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/rmgr/interface/ia_css_rmgr.
> h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/rmgr/interface/ia_css_rmgr_
> vbuf.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/rmgr/src/rmgr.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/rmgr/src/rmgr_vbuf.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/spctrl/interface/ia_css_spc
> trl.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/spctrl/interface/ia_css_spc
> trl_comm.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/spctrl/src/spctrl.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/tagger/interface/ia_css_tag
> ger_common.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/runtime/timer/src/timer.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/scalar_processor_2400_params.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_dvs_info.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_firmware.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_firmware.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_frac.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_host_data.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_hrt.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_hrt.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_internal.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_legacy.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_metadata.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_metrics.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_metrics.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_mipi.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_mipi.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_mmu.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_morph.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_param_dvs.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_param_dvs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_param_shading.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_param_shading.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_params.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_params.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_params_internal.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_pipe.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_properties.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_shading.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_sp.c
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_sp.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_stream.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_stream_format.c
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_stream_format.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_struct.h
>  create mode 100644 drivers/staging/media/atomisp/pci/sh_css_uds.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/sh_css_version.c
>  create mode 100644 drivers/staging/media/atomisp/pci/str2mem_defs.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/streaming_to_mipi_defs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/system_global.h
>  create mode 100644 drivers/staging/media/atomisp/pci/system_local.h
>  create mode 100644
> drivers/staging/media/atomisp/pci/timed_controller_defs.h
>  create mode 100644 drivers/staging/media/atomisp/pci/version.h
>  create mode 100644 drivers/staging/media/atomisp/platform/Makefile
>  create mode 100644 drivers/staging/media/atomisp/platform/intel-
> mid/Makefile
>  create mode 100644 drivers/staging/media/atomisp/platform/intel-
> mid/atomisp_gmin_platform.c
> 
> Thanks,
> Mauro


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-03  9:19 ` Francescodario Cuzzocrea
@ 2020-05-03 10:07   ` Mauro Carvalho Chehab
  2020-05-03 15:32   ` Mauro Carvalho Chehab
  1 sibling, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-05-03 10:07 UTC (permalink / raw)
  To: Francescodario Cuzzocrea
  Cc: mchehab+huawei, linux-media, gregkh, linux-kernel, gnomes, alan

Hi Francescodario,

Em Sun, 3 May 2020 09:19:55 +0000
Francescodario Cuzzocrea <francescodario.cuzzocrea@mail.polimi.it> escreveu:

> Hi ! 
> 
> Thanks for this, it is very appreciated !! 
> 
> I have a bay trail 2in1 (namely, the acer aspire swtich 10 sw5-012,
> with an OV2722 module, so supported by the driver) on top of which I
> run android-x86-q so I would be able to help a bit with testing the
> driver.
> 
> I tried to pull in your changes on top of my 5.7-rc2 here : 
> https://gitlab.com/lineageos-x86/android_kernel_common/-/commits/5.7-media
> 
> but I did not understood how to correctly enable the driver.
> According
> to Kconfig help, there is still the hardcoded switch between ISP2401
> and ISP2400, so for my Bay Trail tablet I should set :
> 
> #
> CONFIG_VIDEO_ATOMISP_ISP2401 is not set
> 
> but settings this breaks compilation with : 
> 
> ERROR: modpost:
> "ia_css_configure_sc"[drivers/staging/media/atomisp/atomisp.ko]
> undefined!

I'll double check and address this issue. 

> 
> Looking at commit history, I noticed that the driver should be able to
> recognize at runtime the ISP version,

Not yet. There are simply too many places there with checks for ISP2400
or ISP2401. I got rid of most of them, but there are 4 header files
that contain ISP-version specific information, whose are used by several
parts of the driver. Getting rid of it would require more work.

> so what I tried next was to set
> CONFIG_VIDEO_ATOMISP_ISP2401=y, and the compilation went fine.
> I was able to boot the kernel (and I also added both
> shisp_2400b0_v21.bin and shisp_2401a0_v21.bin from an android tablet
> dump).
> 
> The kernel booted fine, the ov2722 module is loaded, but according to
> dmesg it is not able to initialize the hardware : 
> https://pastebin.com/VBMD1bau

(transcribing the relevant messages from pastebin below)

> ov2722 i2c-INT33FB: 00: gmin: initializing atomisp module subdev data.PMIC ID 1
> ov2722 i2c-INT33FB: 00: supply V1P2A not found, using dummy regulator
> ov2722 i2c-INT33FB: 00: supply VPROG4B not found, using dummy regulator
> ov2722 i2c-INT33FB: 00: supply Regulator1p8v not found, using dummy regulator
> ov2722 i2c-INT33FB: 00: supply Regulator2p8v not found, using dummy regulator
> ov2722 i2c-INT33FB: 00: unable to set PMC rate 1
> ov2722 i2c-INT33FB: 00: camera pdata: port: 0 lanes: 1 order: 00000000
> ov2722 i2c-INT33FB: 00: read from offset 0x300a error -121
> ov2722 i2c-INT33FB: 00: sensor_id_high = 0xffff
> ov2722 i2c-INT33FB: 00: ov2722_detect err s_config.
> ov2722 i2c-INT33FB: 00: sensor power-gating failed

That's the same that happened with the tests we've done so far:
it is not finding the regulators. I'm currently seeking for a solution
to that.

Usually, regulator data comes via OpenFirmware/Device Tree.

However, ACPI BIOS store this on a different way. Some (missing) code
would need to get the relevant parameters from the BIOS and setup
the regulators.

Btw, could you please send me a tarball with the output of your
BIOS ACPI tables?

You can get it with:

	$ sudo acpidump |bzip2 > acpi.log.bz2

Thanks,
Mauro

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-03  9:19 ` Francescodario Cuzzocrea
  2020-05-03 10:07   ` Mauro Carvalho Chehab
@ 2020-05-03 15:32   ` Mauro Carvalho Chehab
       [not found]     ` <CADnVkj96W0QfthukTKQ0a-i2fH1buooH3BEgfy22J9H9=_PcKA@mail.gmail.com>
  1 sibling, 1 reply; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-05-03 15:32 UTC (permalink / raw)
  To: Francescodario Cuzzocrea, Andy Shevchenko, Patrik Gfeller
  Cc: mchehab+huawei, linux-media

Em Sun, 3 May 2020 09:19:55 +0000
Francescodario Cuzzocrea <francescodario.cuzzocrea@mail.polimi.it> escreveu:

> I have a bay trail 2in1 (namely, the acer aspire swtich 10 sw5-012,
> with an OV2722 module, so supported by the driver) on top of which I
> run android-x86-q so I would be able to help a bit with testing the
> driver.
> 
> I tried to pull in your changes on top of my 5.7-rc2 here : 
> https://gitlab.com/lineageos-x86/android_kernel_common/-/commits/5.7-media
> 
> but I did not understood how to correctly enable the driver.
> According
> to Kconfig help, there is still the hardcoded switch between ISP2401
> and ISP2400, so for my Bay Trail tablet I should set :
> 
> #
> CONFIG_VIDEO_ATOMISP_ISP2401 is not set
> 
> but settings this breaks compilation with : 
> 
> ERROR: modpost:
> "ia_css_configure_sc"[drivers/staging/media/atomisp/atomisp.ko]
> undefined!

Fixed. you need to run:

	$ git remote update && git reset --hard atomisp_v2

in order to get the latest patch.

Btw, I added another branch on my experimental tree:

	https://git.linuxtv.org/mchehab/experimental.git/log/?h=yocto_intel_atom

It is based on Kernel 4.4, and it has only those patches from
the https://github.com/intel-aero/meta-intel-aero.git tree for ISP2401,
as available at changeset 4ebb7cc829f5 
(Merge pull request #70 from zehortigoza/jam):

	$ git grep -l atomisp
	recipes-kernel/linux/linux-yocto/0013-temp-atomisp-support.patch
	recipes-kernel/linux/linux-yocto/0014-OV8858-add-sensor-sources-to-cloudsrest-platform.patch
	recipes-kernel/linux/linux-yocto/0015-kernel-Adding-support-for-HW-flip-using-AtomISP.patch
	recipes-kernel/linux/linux-yocto/0016-kernel-bug-fix-for-intermittent-green-patches.patch
	recipes-kernel/linux/linux-yocto/0022-ov8858-fix-regulator-management-on-ov8858_s_ctrl.patch
	recipes-kernel/linux/linux-yocto/0023-ov7251-remove-early-return-statement.patch

It would be cool to have it tested on boards with ISP2401. If this works,
then we'll have a reference implementation to check against our tree.

https://github.com/intel-aero/meta-intel-aero/blob/4ebb7cc829f57306b9895f20af8fd17987089392/recipes-kernel/linux/linux-yocto/shisp_2401a0_v21.bin

That said, there are some *.cfg files with stuff that should be at the
Kernel's .config, like this one:

https://github.com/intel-aero/meta-intel-aero/blob/4ebb7cc829f57306b9895f20af8fd17987089392/recipes-kernel/linux/linux-yocto/regulator.cfg

Thanks,
Mauro

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
       [not found]     ` <CADnVkj96W0QfthukTKQ0a-i2fH1buooH3BEgfy22J9H9=_PcKA@mail.gmail.com>
@ 2020-05-03 16:07       ` Patrik Gfeller
  2020-05-04  8:16         ` Patrik Gfeller
  0 siblings, 1 reply; 26+ messages in thread
From: Patrik Gfeller @ 2020-05-03 16:07 UTC (permalink / raw)
  To: Francescodario Cuzzocrea
  Cc: Mauro Carvalho Chehab, Andy Shevchenko, mchehab+huawei, linux-media

On Sun, 3 May 2020 18:03:54 +0200
Francescodario Cuzzocrea <francescodario.cuzzocrea@mail.polimi.it> wrote:

> Il giorno dom 3 mag 2020 alle ore 17:32 Mauro Carvalho Chehab <
> mchehab@kernel.org> ha scritto:  
> 
> > Em Sun, 3 May 2020 09:19:55 +0000
> > Francescodario Cuzzocrea <francescodario.cuzzocrea@mail.polimi.it>
> > escreveu:
> >  
>  [...]  
> > https://gitlab.com/lineageos-x86/android_kernel_common/-/commits/5.7-media  
>  [...]  
> >
> > Fixed. you need to run:
> >
> >         $ git remote update && git reset --hard atomisp_v2
> >
> > in order to get the latest patch.
> >  
> 
> Thanks a lot !!
> 
> 
> >
> > Btw, I added another branch on my experimental tree:
> >
> >
> > https://git.linuxtv.org/mchehab/experimental.git/log/?h=yocto_intel_atom
> >
> > It is based on Kernel 4.4, and it has only those patches from
> > the https://github.com/intel-aero/meta-intel-aero.git tree for ISP2401,
> > as available at changeset 4ebb7cc829f5
> > (Merge pull request #70 from zehortigoza/jam):
> >
> >         $ git grep -l atomisp
> >         recipes-kernel/linux/linux-yocto/0013-temp-atomisp-support.patch
> >
> > recipes-kernel/linux/linux-yocto/0014-OV8858-add-sensor-sources-to-cloudsrest-platform.patch
> >
> > recipes-kernel/linux/linux-yocto/0015-kernel-Adding-support-for-HW-flip-using-AtomISP.patch
> >
> > recipes-kernel/linux/linux-yocto/0016-kernel-bug-fix-for-intermittent-green-patches.patch
> >
> > recipes-kernel/linux/linux-yocto/0022-ov8858-fix-regulator-management-on-ov8858_s_ctrl.patch
> >
> > recipes-kernel/linux/linux-yocto/0023-ov7251-remove-early-return-statement.patch
> >
> > It would be cool to have it tested on boards with ISP2401. If this works,
> > then we'll have a reference implementation to check against our tree.
> >
> >  
> According to my understarding mine which is baytrail should be  ISP2400

I have ISP2401 (rev B) ... I'll give it a try :-) - thanks Mauro!

> 
> https://github.com/intel-aero/meta-intel-aero/blob/4ebb7cc829f57306b9895f20af8fd17987089392/recipes-kernel/linux/linux-yocto/shisp_2401a0_v21.bin
> >
> > That said, there are some *.cfg files with stuff that should be at the
> > Kernel's .config, like this one:
> >
> >
> > https://github.com/intel-aero/meta-intel-aero/blob/4ebb7cc829f57306b9895f20af8fd17987089392/recipes-kernel/linux/linux-yocto/regulator.cfg
> >
> > Thanks,
> > Mauro
> >  
> 
> Dario


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-03 16:07       ` Patrik Gfeller
@ 2020-05-04  8:16         ` Patrik Gfeller
  2020-05-04  8:49           ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 26+ messages in thread
From: Patrik Gfeller @ 2020-05-04  8:16 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: Francescodario Cuzzocrea, Andy Shevchenko, mchehab+huawei, linux-media

On Sun, 3 May 2020 18:07:51 +0200
Patrik Gfeller <patrik.gfeller@gmail.com> wrote:

> On Sun, 3 May 2020 18:03:54 +0200
> Francescodario Cuzzocrea <francescodario.cuzzocrea@mail.polimi.it> wrote:
> 
> > Il giorno dom 3 mag 2020 alle ore 17:32 Mauro Carvalho Chehab <    
>  [...]  
> > 
> > Thanks a lot !!
> >   
>  [...]  
> > According to my understarding mine which is baytrail should be  ISP2400  
> 
> I have ISP2401 (rev B) ... I'll give it a try :-) - thanks Mauro!

I was not able yet to compile the kernel 4.4 successfully yet. I get quite
some warnings that are treated as errors. I assume that I can "resolve"
this by removing the respective compiler flag (-Werror).

drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_cmd.c:36:10: fatal error: linux/kct.h: No such file or directory
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_internal.h:61: error: "IS_CHT" redefined [-Werror]
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_internal.h:63: error: "IS_MOFD" redefined [-Werror]
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_internal.h:65: error: "IS_BYT" redefined [-Werror]
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_internal.h:61: error: "IS_CHT" redefined [-Werror]
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_internal.h:63: error: "IS_MOFD" redefined [-Werror]
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_internal.h:65: error: "IS_BYT" redefined [-Werror]
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_compat_ioctl32.c:86:5: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_ioctl.c:590:5: error: this ‘else’ clause does not guard... [-Werror=misleading-indentation]
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_ioctl.c:604:9: error: ‘struct v4l2_dbg_chip_ident’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
include/media/v4l2-subdev.h:821:51: error: ‘const struct v4l2_subdev_core_ops’ has no member named ‘g_chip_ident’
include/media/v4l2-subdev.h:822:15: error: ‘const struct v4l2_subdev_core_ops’ has no member named ‘g_chip_ident’
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_internal.h:61: error: "IS_CHT" redefined [-Werror]
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_internal.h:63: error: "IS_MOFD" redefined [-Werror]
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_internal.h:65: error: "IS_BYT" redefined [-Werror]
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_ioctl.c:1916:3: error: implicit declaration of function ‘pci_write_config_word’; did you mean ‘gmin_get_config_var’? [-Werror=implicit-function-declaration]
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_ioctl.c:1942:3: error: implicit declaration of function ‘INIT_COMPLETION’; did you mean ‘CONFIG_COMPACTION’? [-Werror=implicit-function-declaration]
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_ioctl.c:2182:3: error: implicit declaration of function ‘pci_write_config_dword’; did you mean ‘gmin_get_config_var’? [-Werror=implicit-function-declaration]
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_ioctl.c:3063:3: error: ‘const struct v4l2_ioctl_ops’ has no member named ‘vidioc_g_chip_ident’; did you mean ‘vidioc_g_enc_index’?
drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_ioctl.c:3063:25: error: initialization of ‘int (*)(struct file *, void *, struct v4l2_fmtdesc *)’ from incompatible pointer type ‘int (*)(struct file *, void *, struct v4l2_dbg_chip_ident *)’ [-Werror=incompatible-pointer-types]
cc1: all warnings being treated as errors

But there are a few things that will take more time for me to investigate:

drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_cmd.c:36:10: fatal error: linux/kct.h: No such file or directory
include/media/v4l2-subdev.h:821:51: error: ‘const struct v4l2_subdev_core_ops’ has no member named ‘g_chip_ident’
include/media/v4l2-subdev.h:822:15: error: ‘const struct v4l2_subdev_core_ops’ has no member named ‘g_chip_ident’

I'll keep you updated.

> 
> > 
> > https://github.com/intel-aero/meta-intel-aero/blob/4ebb7cc829f57306b9895f20af8fd17987089392/recipes-kernel/linux/linux-yocto/shisp_2401a0_v21.bin  
>  [...]  
> > 
> > Dario  
> 

with kind regards,
Patrik


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-04  8:16         ` Patrik Gfeller
@ 2020-05-04  8:49           ` Mauro Carvalho Chehab
  2020-05-04 10:45             ` Patrik Gfeller
  0 siblings, 1 reply; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-05-04  8:49 UTC (permalink / raw)
  To: Patrik Gfeller
  Cc: Francescodario Cuzzocrea, Andy Shevchenko, mchehab+huawei, linux-media

Em Mon, 4 May 2020 10:16:28 +0200
Patrik Gfeller <patrik.gfeller@gmail.com> escreveu:

> On Sun, 3 May 2020 18:07:51 +0200
> Patrik Gfeller <patrik.gfeller@gmail.com> wrote:
> 
> > On Sun, 3 May 2020 18:03:54 +0200
> > Francescodario Cuzzocrea <francescodario.cuzzocrea@mail.polimi.it> wrote:
> >   
> > > Il giorno dom 3 mag 2020 alle ore 17:32 Mauro Carvalho Chehab <      
> >  [...]    
> > > 
> > > Thanks a lot !!
> > >     
> >  [...]    
> > > According to my understarding mine which is baytrail should be  ISP2400    
> > 
> > I have ISP2401 (rev B) ... I'll give it a try :-) - thanks Mauro!  
> 
> I was not able yet to compile the kernel 4.4 successfully yet. 

Yesterday, I imported only a subset of the yocto patches. I imported today
all 24 patches from it, as some patches depend on hacks on other upstream
stuff. You'll need to do a:

	$ git remote update && git reset --hard origin/yocto_intel_atom

To update your local branch.

> I get quite
> some warnings that are treated as errors. I assume that I can "resolve"
> this by removing the respective compiler flag (-Werror).

Yeah, you may need to to that. There's a Kernel option with disables
-Werror. You may also change the Makefile to add things like:

	# HACK! While this driver is in bad shape, don't enable several warnings
	#       that would be otherwise enabled with W=1
	ccflags-y += $(call cc-disable-warning, implicit-fallthrough)
	ccflags-y += $(call cc-disable-warning, missing-prototypes)
	ccflags-y += $(call cc-disable-warning, missing-declarations)
	ccflags-y += $(call cc-disable-warning, suggest-attribute=format)
	ccflags-y += $(call cc-disable-warning, unused-const-variable)
	ccflags-y += $(call cc-disable-warning, unused-but-set-variable)

(this is what we do with the upstream version, as this driver is on
bad shape)

> But there are a few things that will take more time for me to investigate:
> 
> drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_cmd.c:36:10: fatal error: linux/kct.h: No such file or directory
> include/media/v4l2-subdev.h:821:51: error: ‘const struct v4l2_subdev_core_ops’ has no member named ‘g_chip_ident’
> include/media/v4l2-subdev.h:822:15: error: ‘const struct v4l2_subdev_core_ops’ has no member named ‘g_chip_ident’
> 
> I'll keep you updated.

Maybe now with the other patches applied, this could have been solved.

Thanks,
Mauro

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-04  8:49           ` Mauro Carvalho Chehab
@ 2020-05-04 10:45             ` Patrik Gfeller
  2020-05-04 12:08               ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 26+ messages in thread
From: Patrik Gfeller @ 2020-05-04 10:45 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: Francescodario Cuzzocrea, Andy Shevchenko, mchehab+huawei, linux-media

On Mon, 4 May 2020 10:49:34 +0200
Mauro Carvalho Chehab <mchehab@kernel.org> wrote:

> Em Mon, 4 May 2020 10:16:28 +0200
> Patrik Gfeller <patrik.gfeller@gmail.com> escreveu:
> 
> > On Sun, 3 May 2020 18:07:51 +0200
> > Patrik Gfeller <patrik.gfeller@gmail.com> wrote:
> >    
>  [...]  
> > 
> > I was not able yet to compile the kernel 4.4 successfully yet.   
> 
> Yesterday, I imported only a subset of the yocto patches. I imported today
> all 24 patches from it, as some patches depend on hacks on other upstream
> stuff. You'll need to do a:
> 
> 	$ git remote update && git reset --hard origin/yocto_intel_atom
> 
> To update your local branch.
> 
> > I get quite
> > some warnings that are treated as errors. I assume that I can "resolve"
> > this by removing the respective compiler flag (-Werror).  
> 
> Yeah, you may need to to that. There's a Kernel option with disables
> -Werror. You may also change the Makefile to add things like:
> 
> 	# HACK! While this driver is in bad shape, don't enable several warnings
> 	#       that would be otherwise enabled with W=1
> 	ccflags-y += $(call cc-disable-warning, implicit-fallthrough)
> 	ccflags-y += $(call cc-disable-warning, missing-prototypes)
> 	ccflags-y += $(call cc-disable-warning, missing-declarations)
> 	ccflags-y += $(call cc-disable-warning, suggest-attribute=format)
> 	ccflags-y += $(call cc-disable-warning, unused-const-variable)
> 	ccflags-y += $(call cc-disable-warning, unused-but-set-variable)
> 
> (this is what we do with the upstream version, as this driver is on
> bad shape)
> 
> > But there are a few things that will take more time for me to investigate:
> > 
> > drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_cmd.c:36:10: fatal error: linux/kct.h: No such file or directory
> > include/media/v4l2-subdev.h:821:51: error: ‘const struct v4l2_subdev_core_ops’ has no member named ‘g_chip_ident’
> > include/media/v4l2-subdev.h:822:15: error: ‘const struct v4l2_subdev_core_ops’ has no member named ‘g_chip_ident’

There are still errors when I try to build. I've found code like the
one below:

const struct v4l2_ioctl_ops atomisp_ioctl_ops = {
	.vidioc_querycap = atomisp_querycap,
#ifndef CONFIG_INTEL_MID_ISP
	.vidioc_g_chip_ident = atomisp_g_chip_ident,
#endif
	.vidioc_enum_input = atomisp_enum_input,

Therefore I've tried with "CONFIG_INTEL_MID_ISP=y". Not sure if this is
a good idea function wise - but it compiles. But the last step of the
module build produces some scary warnings:

WARNING: "cpu_tss" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined!
WARNING: "pv_lock_ops" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined!
WARNING: "__alloc_workqueue_key" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined!
WARNING: "v4l2_subdev_querymenu" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined!
WARNING: "intel_mid_msgbus_write32" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined!
...

Maybe this is related to my partial build (only the module to test if
it builds). I'll now do a full build of the kernel.

> > 
> > I'll keep you updated.  
> 
> Maybe now with the other patches applied, this could have been solved.
> 
> Thanks,
> Mauro

with kind regards,
Patrik


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-04 10:45             ` Patrik Gfeller
@ 2020-05-04 12:08               ` Mauro Carvalho Chehab
  2020-05-04 13:44                 ` Patrik Gfeller
  2020-05-06 15:10                 ` [GIT PULL] Ressurect the atomisp staging driver Mauro Carvalho Chehab
  0 siblings, 2 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-05-04 12:08 UTC (permalink / raw)
  To: Patrik Gfeller
  Cc: Francescodario Cuzzocrea, Andy Shevchenko, mchehab+huawei, linux-media

Em Mon, 4 May 2020 12:45:39 +0200
Patrik Gfeller <patrik.gfeller@gmail.com> escreveu:

> On Mon, 4 May 2020 10:49:34 +0200
> Mauro Carvalho Chehab <mchehab@kernel.org> wrote:
> 
> > Em Mon, 4 May 2020 10:16:28 +0200
> > Patrik Gfeller <patrik.gfeller@gmail.com> escreveu:
> >   
> > > On Sun, 3 May 2020 18:07:51 +0200
> > > Patrik Gfeller <patrik.gfeller@gmail.com> wrote:
> > >      
> >  [...]    
> > > 
> > > I was not able yet to compile the kernel 4.4 successfully yet.     
> > 
> > Yesterday, I imported only a subset of the yocto patches. I imported today
> > all 24 patches from it, as some patches depend on hacks on other upstream
> > stuff. You'll need to do a:
> > 
> > 	$ git remote update && git reset --hard origin/yocto_intel_atom
> > 
> > To update your local branch.
> >   
> > > I get quite
> > > some warnings that are treated as errors. I assume that I can "resolve"
> > > this by removing the respective compiler flag (-Werror).    
> > 
> > Yeah, you may need to to that. There's a Kernel option with disables
> > -Werror. You may also change the Makefile to add things like:
> > 
> > 	# HACK! While this driver is in bad shape, don't enable several warnings
> > 	#       that would be otherwise enabled with W=1
> > 	ccflags-y += $(call cc-disable-warning, implicit-fallthrough)
> > 	ccflags-y += $(call cc-disable-warning, missing-prototypes)
> > 	ccflags-y += $(call cc-disable-warning, missing-declarations)
> > 	ccflags-y += $(call cc-disable-warning, suggest-attribute=format)
> > 	ccflags-y += $(call cc-disable-warning, unused-const-variable)
> > 	ccflags-y += $(call cc-disable-warning, unused-but-set-variable)
> > 
> > (this is what we do with the upstream version, as this driver is on
> > bad shape)
> >   
> > > But there are a few things that will take more time for me to investigate:
> > > 
> > > drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_cmd.c:36:10: fatal error: linux/kct.h: No such file or directory
> > > include/media/v4l2-subdev.h:821:51: error: ‘const struct v4l2_subdev_core_ops’ has no member named ‘g_chip_ident’
> > > include/media/v4l2-subdev.h:822:15: error: ‘const struct v4l2_subdev_core_ops’ has no member named ‘g_chip_ident’  
> 
> There are still errors when I try to build. I've found code like the
> one below:
> 
> const struct v4l2_ioctl_ops atomisp_ioctl_ops = {
> 	.vidioc_querycap = atomisp_querycap,
> #ifndef CONFIG_INTEL_MID_ISP
> 	.vidioc_g_chip_ident = atomisp_g_chip_ident,
> #endif
> 	.vidioc_enum_input = atomisp_enum_input,
> 
> Therefore I've tried with "CONFIG_INTEL_MID_ISP=y". Not sure if this is
> a good idea function wise - but it compiles.

Yes, that's it. You also need:

CONFIG_REGULATOR_WHISKEY_COVE=y         

and maybe some other stuff. Take a look at the Yocto's *.cfg files I pointed
with the options (see enclosed).



> But the last step of the
> module build produces some scary warnings:
> 
> WARNING: "cpu_tss" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined!
> WARNING: "pv_lock_ops" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined!
> WARNING: "__alloc_workqueue_key" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined!
> WARNING: "v4l2_subdev_querymenu" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined!
> WARNING: "intel_mid_msgbus_write32" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined!
> ...
> 
> Maybe this is related to my partial build (only the module to test if
> it builds). I'll now do a full build of the kernel.

Yeah, either that or there are some config options with different values.

I was able to do a full build here without the above errors, although
I had to turn of some CONFIG options that were otherwise failing.


Thanks,
Mauro

~/meta-intel-aero/recipes-kernel/linux/linux-yocto $ cat *.cfg
CONFIG_USB_ACM=y
CONFIG_USB_WDM=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_CDC_MBIM=y
CONFIG_MEDIA_PCI_SUPPORT=y

CONFIG_VIDEO_DEV=y
CONFIG_MEDIA_SUPPORT=y
CONFIG_VIDEO_V4L2=y
CONFIG_INTEL_MID_ISP=y
CONFIG_VIDEO_ATOMISP=m
CONFIG_VIDEO_OV7251=y
CONFIG_VIDEO_OV8858=y
CONFIG_I2C_CHARDEV=y
CONFIG_GPIO_SYSFS=y
CONFIG_DYNAMIC_DEBUG=y
CONFIG_PRINTK_TIME=y
CONFIG_DMADEVICES=y
CONFIG_DW_DMAC_CORE=y
CONFIG_DW_DMAC=y
# DRONE CODE CONFIG
CONFIG_HAVE_INTEL_TXT=y
CONFIG_MMU_NOTIFIER=y
CONFIG_PCI_ATS=y
CONFIG_PCI_PASID=y

CONFIG_VFIO_IOMMU_TYPE1=y
CONFIG_VFIO_VIRQFD=y
CONFIG_VFIO=y
CONFIG_VFIO_PCI=y
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_IRQ_BYPASS_MANAGER=y

CONFIG_IOMMU_API=y
CONFIG_IOMMU_IOVA=y
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_FLOPPY_WA=y

CONFIG_X86_INTEL_LPSS=y
CONFIG_I2C_DESIGNWARE_CORE=y
CONFIG_I2C_DESIGNWARE_PCI=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_SERIAL_8250_DW=y
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_ACPI=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IPV4=y
CONFIG_NF_NAT_IRC=y
CONFIG_NF_NAT_NEEDED=y
CONFIG_NF_NAT_SIP=y
CONFIG_IP_NF_NAT=y
CONFIG_GPIOLIB=y
CONFIG_DEBUG_PINCTRL=y
CONFIG_PINCTRL_CHERRYVIEW=y

#GPIO Keys
CONFIG_KEYBOARD_GPIO=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_SOC_BUTTON_ARRAY=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_DEBUG=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_WHISKEY_COVE=y
CONFIG_INTEL_SOC_DTS_THERMAL=y
CONFIG_SPI=y
CONFIG_SPI_MASTER=y
CONFIG_SPI_SPIDEV=y
CONFIG_SPI_PXA2XX=y
CONFIG_SPI_PXA2XX_DMA=y
CONFIG_SPI_PXA2XX_PCI=y
CONFIG_USB_ETH=y
CONFIG_USB_GADGET=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_PCI=y
CONFIG_USB_DWC3_GADGET=y
CONFIG_USB_OTG=y
CONFIG_USB_OTG_FSM=y
CONFIG_INTEL_CHT_PHY=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_IIO=y
CONFIG_INTEL_SOC_PMIC=y
CONFIG_ITCO_WDT=y
# CONFIG_ITCO_VENDOR_SUPPORT is not set
CONFIG_LPC_ICH=y



^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-04 12:08               ` Mauro Carvalho Chehab
@ 2020-05-04 13:44                 ` Patrik Gfeller
  2020-05-15  8:32                   ` Mauro Carvalho Chehab
  2020-05-15  9:37                   ` Ressurect the atomisp staging driver - current progress Mauro Carvalho Chehab
  2020-05-06 15:10                 ` [GIT PULL] Ressurect the atomisp staging driver Mauro Carvalho Chehab
  1 sibling, 2 replies; 26+ messages in thread
From: Patrik Gfeller @ 2020-05-04 13:44 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: Francescodario Cuzzocrea, Andy Shevchenko, mchehab+huawei, linux-media

On Mon, 4 May 2020 14:08:33 +0200
Mauro Carvalho Chehab <mchehab@kernel.org> wrote:

> Em Mon, 4 May 2020 12:45:39 +0200
> Patrik Gfeller <patrik.gfeller@gmail.com> escreveu:
> 
> > On Mon, 4 May 2020 10:49:34 +0200
> > Mauro Carvalho Chehab <mchehab@kernel.org> wrote:
> >   
>  [...]  
>  [...]  
>  [...]  
>  [...]  
>  [...]  
>  [...]  
>  [...]  
>  [...]  
> > 
> > There are still errors when I try to build. I've found code like the
> > one below:
> > 
> > const struct v4l2_ioctl_ops atomisp_ioctl_ops = {
> > 	.vidioc_querycap = atomisp_querycap,
> > #ifndef CONFIG_INTEL_MID_ISP
> > 	.vidioc_g_chip_ident = atomisp_g_chip_ident,
> > #endif
> > 	.vidioc_enum_input = atomisp_enum_input,
> > 
> > Therefore I've tried with "CONFIG_INTEL_MID_ISP=y". Not sure if this is
> > a good idea function wise - but it compiles.  
> 
> Yes, that's it. You also need:
> 
> CONFIG_REGULATOR_WHISKEY_COVE=y         
> 
> and maybe some other stuff. Take a look at the Yocto's *.cfg files I pointed
> with the options (see enclosed).
> 
> 
> 
> > But the last step of the
> > module build produces some scary warnings:
> > 
> > WARNING: "cpu_tss" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined!
> > WARNING: "pv_lock_ops" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined!
> > WARNING: "__alloc_workqueue_key" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined!
> > WARNING: "v4l2_subdev_querymenu" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined!
> > WARNING: "intel_mid_msgbus_write32" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined!
> > ...
> > 
> > Maybe this is related to my partial build (only the module to test if
> > it builds). I'll now do a full build of the kernel.  
> 
> Yeah, either that or there are some config options with different values.
> 
> I was able to do a full build here without the above errors, although
> I had to turn of some CONFIG options that were otherwise failing.

Strange - I do not get it :-/ ... can you send me the .config file and
Makefile you use; probably I missed something.

> 
> 
> Thanks,
> Mauro
> 
> ~/meta-intel-aero/recipes-kernel/linux/linux-yocto $ cat *.cfg
> CONFIG_USB_ACM=y
> CONFIG_USB_WDM=y
> CONFIG_USB_USBNET=y
> CONFIG_USB_NET_CDC_MBIM=y
> CONFIG_MEDIA_PCI_SUPPORT=y
> 
> CONFIG_VIDEO_DEV=y
> CONFIG_MEDIA_SUPPORT=y
> CONFIG_VIDEO_V4L2=y
> CONFIG_INTEL_MID_ISP=y
> CONFIG_VIDEO_ATOMISP=m
> CONFIG_VIDEO_OV7251=y
> CONFIG_VIDEO_OV8858=y
> CONFIG_I2C_CHARDEV=y
> CONFIG_GPIO_SYSFS=y
> CONFIG_DYNAMIC_DEBUG=y
> CONFIG_PRINTK_TIME=y
> CONFIG_DMADEVICES=y
> CONFIG_DW_DMAC_CORE=y
> CONFIG_DW_DMAC=y
> # DRONE CODE CONFIG
> CONFIG_HAVE_INTEL_TXT=y
> CONFIG_MMU_NOTIFIER=y
> CONFIG_PCI_ATS=y
> CONFIG_PCI_PASID=y
> 
> CONFIG_VFIO_IOMMU_TYPE1=y
> CONFIG_VFIO_VIRQFD=y
> CONFIG_VFIO=y
> CONFIG_VFIO_PCI=y
> CONFIG_VFIO_PCI_MMAP=y
> CONFIG_VFIO_PCI_INTX=y
> CONFIG_IRQ_BYPASS_MANAGER=y
> 
> CONFIG_IOMMU_API=y
> CONFIG_IOMMU_IOVA=y
> CONFIG_DMAR_TABLE=y
> CONFIG_INTEL_IOMMU=y
> CONFIG_INTEL_IOMMU_SVM=y
> CONFIG_INTEL_IOMMU_DEFAULT_ON=y
> CONFIG_INTEL_IOMMU_FLOPPY_WA=y
> 
> CONFIG_X86_INTEL_LPSS=y
> CONFIG_I2C_DESIGNWARE_CORE=y
> CONFIG_I2C_DESIGNWARE_PCI=y
> CONFIG_I2C_DESIGNWARE_PLATFORM=y
> CONFIG_SERIAL_8250_DW=y
> CONFIG_MMC=y
> CONFIG_MMC_SDHCI=y
> CONFIG_MMC_SDHCI_ACPI=y
> CONFIG_NF_NAT_FTP=y
> CONFIG_NF_NAT_IPV4=y
> CONFIG_NF_NAT_IRC=y
> CONFIG_NF_NAT_NEEDED=y
> CONFIG_NF_NAT_SIP=y
> CONFIG_IP_NF_NAT=y
> CONFIG_GPIOLIB=y
> CONFIG_DEBUG_PINCTRL=y
> CONFIG_PINCTRL_CHERRYVIEW=y
> 
> #GPIO Keys
> CONFIG_KEYBOARD_GPIO=y
> CONFIG_INPUT_MISC=y
> CONFIG_INPUT_SOC_BUTTON_ARRAY=y
> CONFIG_REGULATOR=y
> CONFIG_REGULATOR_DEBUG=y
> CONFIG_REGULATOR_FIXED_VOLTAGE=y
> CONFIG_REGULATOR_GPIO=y
> CONFIG_REGULATOR_WHISKEY_COVE=y
> CONFIG_INTEL_SOC_DTS_THERMAL=y
> CONFIG_SPI=y
> CONFIG_SPI_MASTER=y
> CONFIG_SPI_SPIDEV=y
> CONFIG_SPI_PXA2XX=y
> CONFIG_SPI_PXA2XX_DMA=y
> CONFIG_SPI_PXA2XX_PCI=y
> CONFIG_USB_ETH=y
> CONFIG_USB_GADGET=y
> CONFIG_USB_DWC3=y
> CONFIG_USB_DWC3_PCI=y
> CONFIG_USB_DWC3_GADGET=y
> CONFIG_USB_OTG=y
> CONFIG_USB_OTG_FSM=y
> CONFIG_INTEL_CHT_PHY=y
> CONFIG_NOP_USB_XCEIV=y
> CONFIG_IIO=y
> CONFIG_INTEL_SOC_PMIC=y
> CONFIG_ITCO_WDT=y
> # CONFIG_ITCO_VENDOR_SUPPORT is not set
> CONFIG_LPC_ICH=y
> 

with kind regards,
Patrik


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-04 12:08               ` Mauro Carvalho Chehab
  2020-05-04 13:44                 ` Patrik Gfeller
@ 2020-05-06 15:10                 ` Mauro Carvalho Chehab
  1 sibling, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-05-06 15:10 UTC (permalink / raw)
  To: Patrik Gfeller; +Cc: Francescodario Cuzzocrea, Andy Shevchenko, linux-media

Em Mon, 4 May 2020 14:08:33 +0200
Mauro Carvalho Chehab <mchehab@kernel.org> escreveu:

> Em Mon, 4 May 2020 12:45:39 +0200
> Patrik Gfeller <patrik.gfeller@gmail.com> escreveu:
> 
> > On Mon, 4 May 2020 10:49:34 +0200
> > Mauro Carvalho Chehab <mchehab@kernel.org> wrote:
> >   
> > > Em Mon, 4 May 2020 10:16:28 +0200
> > > Patrik Gfeller <patrik.gfeller@gmail.com> escreveu:
> > >     
> > > > On Sun, 3 May 2020 18:07:51 +0200
> > > > Patrik Gfeller <patrik.gfeller@gmail.com> wrote:
> > > >        
> > >  [...]      
> > > > 
> > > > I was not able yet to compile the kernel 4.4 successfully yet. 

I was able to build this tree with gcc-7:

	https://git.linuxtv.org/mchehab/experimental.git/log/?h=yocto_intel_atom

Please notice that one patch there changed the default from "gcc"
to "gcc-7", just to avoid needing to pass "make CC=gcc-7" every time.

This is not needed and can be dropped if you want to use something else.

This patch mark some drivers as BROKEN, as one of the yocto's patch
changed the way Intel mid works, removing a "regmap" field from it.

I would try to build like this, as it should probably be enough to test 
the atomisp driver on an ISP2401 machine.

I this won't work, we may need to do something else.

Thanks,
Mauro

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-04 13:44                 ` Patrik Gfeller
@ 2020-05-15  8:32                   ` Mauro Carvalho Chehab
  2020-05-15  9:10                     ` Hans de Goede
  2020-05-15  9:37                   ` Ressurect the atomisp staging driver - current progress Mauro Carvalho Chehab
  1 sibling, 1 reply; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-05-15  8:32 UTC (permalink / raw)
  To: Patrik Gfeller
  Cc: Francescodario Cuzzocrea, Andy Shevchenko, linux-media, Hans de Goede

Em Mon, 4 May 2020 15:44:20 +0200
Patrik Gfeller <patrik.gfeller@gmail.com> escreveu:

> > > Maybe this is related to my partial build (only the module to test if
> > > it builds). I'll now do a full build of the kernel.    
> > 
> > Yeah, either that or there are some config options with different values.
> > 
> > I was able to do a full build here without the above errors, although
> > I had to turn of some CONFIG options that were otherwise failing.  
> 
> Strange - I do not get it :-/ ... can you send me the .config file and
> Makefile you use; probably I missed something.

I posted an alternate version, with the driver from the Yocto Aero tree
ported to Kernel 5.7-rc2. The Kernel sources used are at this directory:

	https://download.01.org/aero/deb/pool/main/l/linux-4.4.76-aero-1.3/

Such port is at the atomisp_yocto_v1:

	https://git.linuxtv.org/mchehab/experimental.git/log/?h=atomisp_yocto_v1

The goal of this port is not for upstreaming it. Instead, it is meant
to be used just for testing, using a version that should work - at least
with the Intel Aero board with the Aero drone's camera (tests needed, as
I don't have myself such hardware). This version is ISP2401 only.

The firmware for it is at:
	https://download.01.org/aero/deb/pool/main/f/firmware-atomisp/firmware-atomisp_0.1.orig.tar.xz

If the ISP revision is equal or bigger than rev 02, this file should be
renamed to:

	shisp_2401b0_v21.bin

Before getting excited, this version didn't work so far on my hardware:

	atomisp: Loaded firmware version 'irci_stable_candrpv_0415_20150521_0458'.
	atomisp-isp2 0000:00:03.0: css load fw failed.
	atomisp-isp2 0000:00:03.0: Failed to init css.

(I didn't try to check why it is failing yet - maybe it is just
some version port related issue)

If someone has access to the Intel Aero board, I'd appreciate if you
could test it and send the results. If it fails too, it would be
nice to have the dmesg output of this version and the dmesg from
a version which works.

Thanks,
Mauro

[   17.339160] atomisp-isp2 0000:00:03.0: Detected Cherrytrail version 54 (ISP2401) on T101HA
[   17.343551] atomisp-isp2 0000:00:03.0: enabling device (0000 -> 0002)
[   17.349857] atomisp-isp2 0000:00:03.0: ISP HPLL frequency base = 1600 MHz
[   17.503537] atomisp: Loaded firmware version 'irci_stable_candrpv_0415_20150521_0458'.
[   17.557614] input: Intel HDMI/DP LPE Audio HDMI/DP,pcm=0 as /devices/pci0000:00/0000:00:02.0/hdmi-lpe-audio/sound/card0/input20
[   17.565192] input: Intel HDMI/DP LPE Audio HDMI/DP,pcm=1 as /devices/pci0000:00/0000:00:02.0/hdmi-lpe-audio/sound/card0/input21
[   17.570399] input: Intel HDMI/DP LPE Audio HDMI/DP,pcm=2 as /devices/pci0000:00/0000:00:02.0/hdmi-lpe-audio/sound/card0/input22
[   17.918031] dw_dmac INTL9C60:00: DesignWare DMA Controller, 8 channels
[   17.952066] dw_dmac INTL9C60:01: DesignWare DMA Controller, 8 channels
[   17.985961] input: Intel HID events as /devices/pci0000:00/INT33D5:00/input/input23
[   18.027489] intel_sst_acpi 808622A8:00: LPE base: 0x91400000 size:0x200000
[   18.031435] intel_sst_acpi 808622A8:00: IRAM base: 0x914c0000
[   18.040266] intel_sst_acpi 808622A8:00: DRAM base: 0x91500000
[   18.046614] intel_sst_acpi 808622A8:00: SHIM base: 0x91540000
[   18.052951] intel_sst_acpi 808622A8:00: Mailbox base: 0x91544000
[   18.060278] intel_sst_acpi 808622A8:00: DDR base: 0x20000000
[   18.064686] rt5645 i2c-10EC3270:00: supply avdd not found, using dummy regulator
[   18.071011] rt5645 i2c-10EC3270:00: supply cpvdd not found, using dummy regulator
[   18.071123] intel_sst_acpi 808622A8:00: Got drv data max stream 25
[   18.108451] atomisp_ov2680: module is from the staging directory, the quality is unknown, you have been warned.
[   18.136465] ov2680 i2c-OVTI2680:00: ov2680_probe: ACPI detected it on bus ID=CAM1, HID=OVTI2680
[   18.143419] ov2680 i2c-OVTI2680:00: gmin: power management provided via Dollar Cove TI PMIC (i2c addr 0x5e)
[   18.148928] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_CamClk'
[   18.155196] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_ClkSrc'
[   18.160751] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_CsiPort'
[   18.166904] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_CsiLanes'
[   18.173829] ov2680 i2c-OVTI2680:00: Found DMI entry for 'gmin_V1P8GPIO'
[   18.180318] ov2680 i2c-OVTI2680:00: Found DMI entry for 'gmin_V2P8GPIO'
[   18.268406] ov2680 i2c-OVTI2680:00: camera pdata: port: 1 lanes: 1 order: 00000002
[   18.277517] ov2680 i2c-OVTI2680:00: sensor_revision id = 0x2680, rev= 0
[   18.297737] ov2680 i2c-OVTI2680:00: register atomisp i2c module type 1
[   18.556333] atomisp-isp2 0000:00:03.0: Probing Subdev OVTI2680:00
[   18.562458] atomisp-isp2 0000:00:03.0: Subdev OVTI2680:00 successfully register
[   18.566047] atomisp-isp2 0000:00:03.0: detected 1 camera sensors
[   18.571349] atomisp-isp2 0000:00:03.0: Entity type for entity ATOM ISP CSI2-port0 was not initialized!
[   18.576474] atomisp-isp2 0000:00:03.0: Entity type for entity ATOM ISP CSI2-port1 was not initialized!
[   18.580409] atomisp-isp2 0000:00:03.0: Entity type for entity ATOM ISP CSI2-port2 was not initialized!
[   18.585391] atomisp-isp2 0000:00:03.0: Entity type for entity file_input_subdev was not initialized!
[   18.590868] atomisp-isp2 0000:00:03.0: Entity type for entity tpg_subdev was not initialized!
[   18.597985] atomisp-isp2 0000:00:03.0: Entity type for entity ATOMISP_SUBDEV_0 was not initialized!
[   18.605481] atomisp-isp2 0000:00:03.0: Entity type for entity ATOMISP_SUBDEV_1 was not initialized!
[   18.613965] atomisp: Loaded firmware version 'irci_stable_candrpv_0415_20150521_0458'.
[   18.621420] atomisp-isp2 0000:00:03.0: css load fw failed.
[   18.624687] atomisp-isp2 0000:00:03.0: Failed to init css.
[   17.339160] atomisp-isp2 0000:00:03.0: Detected Cherrytrail version 54 (ISP2401) on T101HA
[   17.343551] atomisp-isp2 0000:00:03.0: enabling device (0000 -> 0002)
[   17.349857] atomisp-isp2 0000:00:03.0: ISP HPLL frequency base = 1600 MHz
[   17.503537] atomisp: Loaded firmware version 'irci_stable_candrpv_0415_20150521_0458'.
[   17.557614] input: Intel HDMI/DP LPE Audio HDMI/DP,pcm=0 as /devices/pci0000:00/0000:00:02.0/hdmi-lpe-audio/sound/card0/input20
[   17.565192] input: Intel HDMI/DP LPE Audio HDMI/DP,pcm=1 as /devices/pci0000:00/0000:00:02.0/hdmi-lpe-audio/sound/card0/input21
[   17.570399] input: Intel HDMI/DP LPE Audio HDMI/DP,pcm=2 as /devices/pci0000:00/0000:00:02.0/hdmi-lpe-audio/sound/card0/input22
[   17.918031] dw_dmac INTL9C60:00: DesignWare DMA Controller, 8 channels
[   17.952066] dw_dmac INTL9C60:01: DesignWare DMA Controller, 8 channels
[   17.985961] input: Intel HID events as /devices/pci0000:00/INT33D5:00/input/input23
[   18.027489] intel_sst_acpi 808622A8:00: LPE base: 0x91400000 size:0x200000
[   18.031435] intel_sst_acpi 808622A8:00: IRAM base: 0x914c0000
[   18.040266] intel_sst_acpi 808622A8:00: DRAM base: 0x91500000
[   18.046614] intel_sst_acpi 808622A8:00: SHIM base: 0x91540000
[   18.052951] intel_sst_acpi 808622A8:00: Mailbox base: 0x91544000
[   18.060278] intel_sst_acpi 808622A8:00: DDR base: 0x20000000
[   18.064686] rt5645 i2c-10EC3270:00: supply avdd not found, using dummy regulator
[   18.071011] rt5645 i2c-10EC3270:00: supply cpvdd not found, using dummy regulator
[   18.071123] intel_sst_acpi 808622A8:00: Got drv data max stream 25
[   18.108451] atomisp_ov2680: module is from the staging directory, the quality is unknown, you have been warned.
[   18.136465] ov2680 i2c-OVTI2680:00: ov2680_probe: ACPI detected it on bus ID=CAM1, HID=OVTI2680
[   18.143419] ov2680 i2c-OVTI2680:00: gmin: power management provided via Dollar Cove TI PMIC (i2c addr 0x5e)
[   18.148928] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_CamClk'
[   18.155196] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_ClkSrc'
[   18.160751] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_CsiPort'
[   18.166904] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_CsiLanes'
[   18.173829] ov2680 i2c-OVTI2680:00: Found DMI entry for 'gmin_V1P8GPIO'
[   18.180318] ov2680 i2c-OVTI2680:00: Found DMI entry for 'gmin_V2P8GPIO'
[   18.268406] ov2680 i2c-OVTI2680:00: camera pdata: port: 1 lanes: 1 order: 00000002
[   18.277517] ov2680 i2c-OVTI2680:00: sensor_revision id = 0x2680, rev= 0
[   18.297737] ov2680 i2c-OVTI2680:00: register atomisp i2c module type 1
[   18.556333] atomisp-isp2 0000:00:03.0: Probing Subdev OVTI2680:00
[   18.562458] atomisp-isp2 0000:00:03.0: Subdev OVTI2680:00 successfully register
[   18.566047] atomisp-isp2 0000:00:03.0: detected 1 camera sensors
[   18.571349] atomisp-isp2 0000:00:03.0: Entity type for entity ATOM ISP CSI2-port0 was not initialized!
[   18.576474] atomisp-isp2 0000:00:03.0: Entity type for entity ATOM ISP CSI2-port1 was not initialized!
[   18.580409] atomisp-isp2 0000:00:03.0: Entity type for entity ATOM ISP CSI2-port2 was not initialized!
[   18.585391] atomisp-isp2 0000:00:03.0: Entity type for entity file_input_subdev was not initialized!
[   18.590868] atomisp-isp2 0000:00:03.0: Entity type for entity tpg_subdev was not initialized!
[   18.597985] atomisp-isp2 0000:00:03.0: Entity type for entity ATOMISP_SUBDEV_0 was not initialized!
[   18.605481] atomisp-isp2 0000:00:03.0: Entity type for entity ATOMISP_SUBDEV_1 was not initialized!
[   18.613965] atomisp: Loaded firmware version 'irci_stable_candrpv_0415_20150521_0458'.
[   18.621420] atomisp-isp2 0000:00:03.0: css load fw failed.
[   18.624687] atomisp-isp2 0000:00:03.0: Failed to init css.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-15  8:32                   ` Mauro Carvalho Chehab
@ 2020-05-15  9:10                     ` Hans de Goede
  2020-05-15  9:42                       ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 26+ messages in thread
From: Hans de Goede @ 2020-05-15  9:10 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Patrik Gfeller
  Cc: Francescodario Cuzzocrea, Andy Shevchenko, linux-media

Hi all,

On 5/15/20 10:32 AM, Mauro Carvalho Chehab wrote:
> Em Mon, 4 May 2020 15:44:20 +0200
> Patrik Gfeller <patrik.gfeller@gmail.com> escreveu:
> 
>>>> Maybe this is related to my partial build (only the module to test if
>>>> it builds). I'll now do a full build of the kernel.
>>>
>>> Yeah, either that or there are some config options with different values.
>>>
>>> I was able to do a full build here without the above errors, although
>>> I had to turn of some CONFIG options that were otherwise failing.
>>
>> Strange - I do not get it :-/ ... can you send me the .config file and
>> Makefile you use; probably I missed something.
> 
> I posted an alternate version, with the driver from the Yocto Aero tree
> ported to Kernel 5.7-rc2. The Kernel sources used are at this directory:
> 
> 	https://download.01.org/aero/deb/pool/main/l/linux-4.4.76-aero-1.3/
> 
> Such port is at the atomisp_yocto_v1:
> 
> 	https://git.linuxtv.org/mchehab/experimental.git/log/?h=atomisp_yocto_v1
> 
> The goal of this port is not for upstreaming it. Instead, it is meant
> to be used just for testing, using a version that should work - at least
> with the Intel Aero board with the Aero drone's camera (tests needed, as
> I don't have myself such hardware). This version is ISP2401 only.
> 
> The firmware for it is at:
> 	https://download.01.org/aero/deb/pool/main/f/firmware-atomisp/firmware-atomisp_0.1.orig.tar.xz
> 
> If the ISP revision is equal or bigger than rev 02, this file should be
> renamed to:
> 
> 	shisp_2401b0_v21.bin
> 
> Before getting excited, this version didn't work so far on my hardware:
> 
> 	atomisp: Loaded firmware version 'irci_stable_candrpv_0415_20150521_0458'.
> 	atomisp-isp2 0000:00:03.0: css load fw failed.
> 	atomisp-isp2 0000:00:03.0: Failed to init css.
> 
> (I didn't try to check why it is failing yet - maybe it is just
> some version port related issue)
> 
> If someone has access to the Intel Aero board, I'd appreciate if you
> could test it and send the results. If it fails too, it would be
> nice to have the dmesg output of this version and the dmesg from
> a version which works.

Mauro, first of all thank you for working on this.

I wonder if you have tried to build and run the linux-4.4.76-aero-1.3
kernel on your T101HA ? It would be interesting to see if that one
does (not) have the "css load fw failed" errors and who knows you
might even be able to get that to actually show some sort of picture
from one of the 2 sensors on the T101HA ?

Regards,

Hans



> [   17.339160] atomisp-isp2 0000:00:03.0: Detected Cherrytrail version 54 (ISP2401) on T101HA
> [   17.343551] atomisp-isp2 0000:00:03.0: enabling device (0000 -> 0002)
> [   17.349857] atomisp-isp2 0000:00:03.0: ISP HPLL frequency base = 1600 MHz
> [   17.503537] atomisp: Loaded firmware version 'irci_stable_candrpv_0415_20150521_0458'.
> [   17.557614] input: Intel HDMI/DP LPE Audio HDMI/DP,pcm=0 as /devices/pci0000:00/0000:00:02.0/hdmi-lpe-audio/sound/card0/input20
> [   17.565192] input: Intel HDMI/DP LPE Audio HDMI/DP,pcm=1 as /devices/pci0000:00/0000:00:02.0/hdmi-lpe-audio/sound/card0/input21
> [   17.570399] input: Intel HDMI/DP LPE Audio HDMI/DP,pcm=2 as /devices/pci0000:00/0000:00:02.0/hdmi-lpe-audio/sound/card0/input22
> [   17.918031] dw_dmac INTL9C60:00: DesignWare DMA Controller, 8 channels
> [   17.952066] dw_dmac INTL9C60:01: DesignWare DMA Controller, 8 channels
> [   17.985961] input: Intel HID events as /devices/pci0000:00/INT33D5:00/input/input23
> [   18.027489] intel_sst_acpi 808622A8:00: LPE base: 0x91400000 size:0x200000
> [   18.031435] intel_sst_acpi 808622A8:00: IRAM base: 0x914c0000
> [   18.040266] intel_sst_acpi 808622A8:00: DRAM base: 0x91500000
> [   18.046614] intel_sst_acpi 808622A8:00: SHIM base: 0x91540000
> [   18.052951] intel_sst_acpi 808622A8:00: Mailbox base: 0x91544000
> [   18.060278] intel_sst_acpi 808622A8:00: DDR base: 0x20000000
> [   18.064686] rt5645 i2c-10EC3270:00: supply avdd not found, using dummy regulator
> [   18.071011] rt5645 i2c-10EC3270:00: supply cpvdd not found, using dummy regulator
> [   18.071123] intel_sst_acpi 808622A8:00: Got drv data max stream 25
> [   18.108451] atomisp_ov2680: module is from the staging directory, the quality is unknown, you have been warned.
> [   18.136465] ov2680 i2c-OVTI2680:00: ov2680_probe: ACPI detected it on bus ID=CAM1, HID=OVTI2680
> [   18.143419] ov2680 i2c-OVTI2680:00: gmin: power management provided via Dollar Cove TI PMIC (i2c addr 0x5e)
> [   18.148928] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_CamClk'
> [   18.155196] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_ClkSrc'
> [   18.160751] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_CsiPort'
> [   18.166904] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_CsiLanes'
> [   18.173829] ov2680 i2c-OVTI2680:00: Found DMI entry for 'gmin_V1P8GPIO'
> [   18.180318] ov2680 i2c-OVTI2680:00: Found DMI entry for 'gmin_V2P8GPIO'
> [   18.268406] ov2680 i2c-OVTI2680:00: camera pdata: port: 1 lanes: 1 order: 00000002
> [   18.277517] ov2680 i2c-OVTI2680:00: sensor_revision id = 0x2680, rev= 0
> [   18.297737] ov2680 i2c-OVTI2680:00: register atomisp i2c module type 1
> [   18.556333] atomisp-isp2 0000:00:03.0: Probing Subdev OVTI2680:00
> [   18.562458] atomisp-isp2 0000:00:03.0: Subdev OVTI2680:00 successfully register
> [   18.566047] atomisp-isp2 0000:00:03.0: detected 1 camera sensors
> [   18.571349] atomisp-isp2 0000:00:03.0: Entity type for entity ATOM ISP CSI2-port0 was not initialized!
> [   18.576474] atomisp-isp2 0000:00:03.0: Entity type for entity ATOM ISP CSI2-port1 was not initialized!
> [   18.580409] atomisp-isp2 0000:00:03.0: Entity type for entity ATOM ISP CSI2-port2 was not initialized!
> [   18.585391] atomisp-isp2 0000:00:03.0: Entity type for entity file_input_subdev was not initialized!
> [   18.590868] atomisp-isp2 0000:00:03.0: Entity type for entity tpg_subdev was not initialized!
> [   18.597985] atomisp-isp2 0000:00:03.0: Entity type for entity ATOMISP_SUBDEV_0 was not initialized!
> [   18.605481] atomisp-isp2 0000:00:03.0: Entity type for entity ATOMISP_SUBDEV_1 was not initialized!
> [   18.613965] atomisp: Loaded firmware version 'irci_stable_candrpv_0415_20150521_0458'.
> [   18.621420] atomisp-isp2 0000:00:03.0: css load fw failed.
> [   18.624687] atomisp-isp2 0000:00:03.0: Failed to init css.
> [   17.339160] atomisp-isp2 0000:00:03.0: Detected Cherrytrail version 54 (ISP2401) on T101HA
> [   17.343551] atomisp-isp2 0000:00:03.0: enabling device (0000 -> 0002)
> [   17.349857] atomisp-isp2 0000:00:03.0: ISP HPLL frequency base = 1600 MHz
> [   17.503537] atomisp: Loaded firmware version 'irci_stable_candrpv_0415_20150521_0458'.
> [   17.557614] input: Intel HDMI/DP LPE Audio HDMI/DP,pcm=0 as /devices/pci0000:00/0000:00:02.0/hdmi-lpe-audio/sound/card0/input20
> [   17.565192] input: Intel HDMI/DP LPE Audio HDMI/DP,pcm=1 as /devices/pci0000:00/0000:00:02.0/hdmi-lpe-audio/sound/card0/input21
> [   17.570399] input: Intel HDMI/DP LPE Audio HDMI/DP,pcm=2 as /devices/pci0000:00/0000:00:02.0/hdmi-lpe-audio/sound/card0/input22
> [   17.918031] dw_dmac INTL9C60:00: DesignWare DMA Controller, 8 channels
> [   17.952066] dw_dmac INTL9C60:01: DesignWare DMA Controller, 8 channels
> [   17.985961] input: Intel HID events as /devices/pci0000:00/INT33D5:00/input/input23
> [   18.027489] intel_sst_acpi 808622A8:00: LPE base: 0x91400000 size:0x200000
> [   18.031435] intel_sst_acpi 808622A8:00: IRAM base: 0x914c0000
> [   18.040266] intel_sst_acpi 808622A8:00: DRAM base: 0x91500000
> [   18.046614] intel_sst_acpi 808622A8:00: SHIM base: 0x91540000
> [   18.052951] intel_sst_acpi 808622A8:00: Mailbox base: 0x91544000
> [   18.060278] intel_sst_acpi 808622A8:00: DDR base: 0x20000000
> [   18.064686] rt5645 i2c-10EC3270:00: supply avdd not found, using dummy regulator
> [   18.071011] rt5645 i2c-10EC3270:00: supply cpvdd not found, using dummy regulator
> [   18.071123] intel_sst_acpi 808622A8:00: Got drv data max stream 25
> [   18.108451] atomisp_ov2680: module is from the staging directory, the quality is unknown, you have been warned.
> [   18.136465] ov2680 i2c-OVTI2680:00: ov2680_probe: ACPI detected it on bus ID=CAM1, HID=OVTI2680
> [   18.143419] ov2680 i2c-OVTI2680:00: gmin: power management provided via Dollar Cove TI PMIC (i2c addr 0x5e)
> [   18.148928] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_CamClk'
> [   18.155196] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_ClkSrc'
> [   18.160751] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_CsiPort'
> [   18.166904] ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_CsiLanes'
> [   18.173829] ov2680 i2c-OVTI2680:00: Found DMI entry for 'gmin_V1P8GPIO'
> [   18.180318] ov2680 i2c-OVTI2680:00: Found DMI entry for 'gmin_V2P8GPIO'
> [   18.268406] ov2680 i2c-OVTI2680:00: camera pdata: port: 1 lanes: 1 order: 00000002
> [   18.277517] ov2680 i2c-OVTI2680:00: sensor_revision id = 0x2680, rev= 0
> [   18.297737] ov2680 i2c-OVTI2680:00: register atomisp i2c module type 1
> [   18.556333] atomisp-isp2 0000:00:03.0: Probing Subdev OVTI2680:00
> [   18.562458] atomisp-isp2 0000:00:03.0: Subdev OVTI2680:00 successfully register
> [   18.566047] atomisp-isp2 0000:00:03.0: detected 1 camera sensors
> [   18.571349] atomisp-isp2 0000:00:03.0: Entity type for entity ATOM ISP CSI2-port0 was not initialized!
> [   18.576474] atomisp-isp2 0000:00:03.0: Entity type for entity ATOM ISP CSI2-port1 was not initialized!
> [   18.580409] atomisp-isp2 0000:00:03.0: Entity type for entity ATOM ISP CSI2-port2 was not initialized!
> [   18.585391] atomisp-isp2 0000:00:03.0: Entity type for entity file_input_subdev was not initialized!
> [   18.590868] atomisp-isp2 0000:00:03.0: Entity type for entity tpg_subdev was not initialized!
> [   18.597985] atomisp-isp2 0000:00:03.0: Entity type for entity ATOMISP_SUBDEV_0 was not initialized!
> [   18.605481] atomisp-isp2 0000:00:03.0: Entity type for entity ATOMISP_SUBDEV_1 was not initialized!
> [   18.613965] atomisp: Loaded firmware version 'irci_stable_candrpv_0415_20150521_0458'.
> [   18.621420] atomisp-isp2 0000:00:03.0: css load fw failed.
> [   18.624687] atomisp-isp2 0000:00:03.0: Failed to init css.
> 


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Ressurect the atomisp staging driver - current progress
  2020-05-04 13:44                 ` Patrik Gfeller
  2020-05-15  8:32                   ` Mauro Carvalho Chehab
@ 2020-05-15  9:37                   ` Mauro Carvalho Chehab
  1 sibling, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-05-15  9:37 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-media

Hi,

I've been trying to ressurrect the driver for the Atom camera hardware,
for systems based on ISP2401, e. g. the ones with this ISP:

	00:03.0 Multimedia controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Imaging Unit (rev ff) (prog-if ff)
		!!! Unknown header type 7f
		Kernel modules: atomisp_css2401a0_v21

	00:0a.0 Non-VGA unclassified device: Intel Corporation Device 22d8 (rev 36)
		Subsystem: ASUSTeK Computer Inc. Device 13a0
		Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
		Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
		Latency: 0, Cache Line Size: 64 bytes
		Interrupt: pin A routed to IRQ 20
		Region 0: Memory at 91a3a000 (32-bit, non-prefetchable) [size=4K]
		Capabilities: <access denied>
		Kernel driver in use: intel_ish_ipc
		Kernel modules: intel_ish_ipc

Right now, the patches are on this branch:

	https://git.linuxtv.org/mchehab/experimental.git/log/?h=atomisp_v2.1

This is based on a previous attempt of upstreaming it to staging,
started by Alan Cox. This was removed back in 2018. I fixed it
to work with Kernel 5.7 and solved several issues that were preventing
it from powering the cameras. This version should support earlier
versions (ISP2400-based), by selecting an option compile-time.

The initial goal is to have a working version. One of the problems with
this device is that firmware and drivers are very closely linked. 
As I was unable to find the versions used on Alan's port, I also 
made an alternate version, using a driver from the Yocto Aero tree
ported to Kernel 5.7-rc2, re-using the work we've done so far at the
original port for it to work with the current Kernel kAPI.

For such second version, I used the Kernel sources found on this
repository:

	https://download.01.org/aero/deb/pool/main/l/linux-4.4.76-aero-1.3/

Such port is at the atomisp_yocto_v1:

	https://git.linuxtv.org/mchehab/experimental.git/log/?h=atomisp_yocto_v1

(there's a variant of it at https://git.linuxtv.org/mchehab/experimental.git/log/?h=atomisp-with-yocto-patchset,
 with would preserve the history of atomisp changes from Yocto's tree)

The firmware used on such version is at:
	https://download.01.org/aero/deb/pool/main/f/firmware-atomisp/firmware-atomisp_0.1.orig.tar.xz

If the ISP revision is equal or bigger than rev 02, this file should be
renamed to:

	shisp_2401b0_v21.bin

The goal of the alternate fork is just to use a driver code base that
it is known to work in the past and has a firmware that it is still
available. It should be noticed that the alternate version is for
ISP2401 only (PCI ID 8086:22d8). It would probe on other versions, but
it probably won't work.

As I don't have the Intel Aero controller card (nor the camera, with 
comes with the drone hardware), I'm doing my tests on an Asus T101HA.

Before getting excited, both versions failed at the tests I've been
doing so far.

The camera sensor detection is working fine and it is able to power
the camera off/on (when driver loads, it makes the camera usage led
indicator to quickly flash):

	ov2680 i2c-OVTI2680:00: ov2680_probe: ACPI detected it on bus ID=CAM1, HID=OVTI2680
	ov2680 i2c-OVTI2680:00: gmin: power management provided via Dollar Cove TI PMIC (i2c addr 0x5e)
	ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_CamClk'
	ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_ClkSrc'
	ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_CsiPort'
	ov2680 i2c-OVTI2680:00: Found DMI entry for 'OVTI2680:00_CsiLanes'
	ov2680 i2c-OVTI2680:00: Found DMI entry for 'gmin_V1P8GPIO'
	ov2680 i2c-OVTI2680:00: Found DMI entry for 'gmin_V2P8GPIO'
	ov2680 i2c-OVTI2680:00: camera pdata: port: 1 lanes: 1 order: 00000002
	ov2680 i2c-OVTI2680:00: sensor_revision id = 0x2680, rev= 0
	ov2680 i2c-OVTI2680:00: register atomisp i2c module type 1

However, the ISP code still have issues that seem to be firmware-related.

At the first version, testing with either the original firmware from 
Windows or the version from Intel Aero causes a warning when the
devnode is opened:

	atomisp-isp2 0000:00:03.0: open device ATOMISP ISP VIEWFINDER output
	sh_css_hrt_system_is_idle() 44: warning: SP not idle
	sh_css_hrt_system_is_idle() 49: warning: ISP not idle
	atomisp-isp2 0000:00:03.0: open device ATOMISP ISP VIDEO output
	sh_css_hrt_system_is_idle() 56: warning: FIFO channel 12 is not empty
	sh_css_hrt_system_is_idle() 56: warning: FIFO channel 26 is not empty
	atomisp-isp2 0000:00:03.0: css init failed --- bad firmware?
	atomisp-isp2 0000:00:03.0: atomisp_mrfld_pre_power_down: error in iunit interrupt. status reg=0xffffffff

It sounds that the firmware was properly loaded there, but somehow,
it is not answering as expected.

The second version produces this error:

	atomisp: Loaded firmware version 'irci_stable_candrpv_0415_20150521_0458'.
	atomisp-isp2 0000:00:03.0: css load fw failed.
	atomisp-isp2 0000:00:03.0: Failed to init css.

I didn't try to check why it is failing yet - maybe it is just
something related to the port itself.

If someone has access to the Intel Aero board, I'd appreciate if you
could test it and send the results. If it fails too, it would be
nice to have the dmesg output of this version and the dmesg from
a version which works.

It would also be good to have a second pair of eyes on it.

Thanks,
Mauro

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-15  9:10                     ` Hans de Goede
@ 2020-05-15  9:42                       ` Mauro Carvalho Chehab
  2020-05-19  7:39                         ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-05-15  9:42 UTC (permalink / raw)
  To: Hans de Goede
  Cc: Patrik Gfeller, Francescodario Cuzzocrea, Andy Shevchenko, linux-media

Em Fri, 15 May 2020 11:10:21 +0200
Hans de Goede <hdegoede@redhat.com> escreveu:

> Hi all,
> 
> On 5/15/20 10:32 AM, Mauro Carvalho Chehab wrote:
> > Em Mon, 4 May 2020 15:44:20 +0200
> > Patrik Gfeller <patrik.gfeller@gmail.com> escreveu:
> >   
> >>>> Maybe this is related to my partial build (only the module to test if
> >>>> it builds). I'll now do a full build of the kernel.  
> >>>
> >>> Yeah, either that or there are some config options with different values.
> >>>
> >>> I was able to do a full build here without the above errors, although
> >>> I had to turn of some CONFIG options that were otherwise failing.  
> >>
> >> Strange - I do not get it :-/ ... can you send me the .config file and
> >> Makefile you use; probably I missed something.  
> > 
> > I posted an alternate version, with the driver from the Yocto Aero tree
> > ported to Kernel 5.7-rc2. The Kernel sources used are at this directory:
> > 
> > 	https://download.01.org/aero/deb/pool/main/l/linux-4.4.76-aero-1.3/
> > 
> > Such port is at the atomisp_yocto_v1:
> > 
> > 	https://git.linuxtv.org/mchehab/experimental.git/log/?h=atomisp_yocto_v1
> > 
> > The goal of this port is not for upstreaming it. Instead, it is meant
> > to be used just for testing, using a version that should work - at least
> > with the Intel Aero board with the Aero drone's camera (tests needed, as
> > I don't have myself such hardware). This version is ISP2401 only.
> > 
> > The firmware for it is at:
> > 	https://download.01.org/aero/deb/pool/main/f/firmware-atomisp/firmware-atomisp_0.1.orig.tar.xz
> > 
> > If the ISP revision is equal or bigger than rev 02, this file should be
> > renamed to:
> > 
> > 	shisp_2401b0_v21.bin
> > 
> > Before getting excited, this version didn't work so far on my hardware:
> > 
> > 	atomisp: Loaded firmware version 'irci_stable_candrpv_0415_20150521_0458'.
> > 	atomisp-isp2 0000:00:03.0: css load fw failed.
> > 	atomisp-isp2 0000:00:03.0: Failed to init css.
> > 
> > (I didn't try to check why it is failing yet - maybe it is just
> > some version port related issue)
> > 
> > If someone has access to the Intel Aero board, I'd appreciate if you
> > could test it and send the results. If it fails too, it would be
> > nice to have the dmesg output of this version and the dmesg from
> > a version which works.  
> 
> Mauro, first of all thank you for working on this.
> 
> I wonder if you have tried to build and run the linux-4.4.76-aero-1.3
> kernel on your T101HA ? It would be interesting to see if that one
> does (not) have the "css load fw failed" errors and who knows you
> might even be able to get that to actually show some sort of picture
> from one of the 2 sensors on the T101HA ?

Yes, I tried, but the Kernel doesn't even boot. Grub2 simply doesn't 
show any messages when trying to boot a Kernel 4.4 Kernel on it.

As this device doesn't have any physical serial ports, and the only 
USB cables I have are based on a chipset not supported by GRUB[1], I
can't see where it is failing.

[1] A side note to myself: I need to spend some time checking what
serial cables would work with grub2 and try to buy one such cable.

Thanks,
Mauro

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-15  9:42                       ` Mauro Carvalho Chehab
@ 2020-05-19  7:39                         ` Mauro Carvalho Chehab
  2020-05-19 17:36                           ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-05-19  7:39 UTC (permalink / raw)
  To: Hans de Goede
  Cc: Patrik Gfeller, Francescodario Cuzzocrea, Andy Shevchenko, linux-media

Em Fri, 15 May 2020 11:42:45 +0200
Mauro Carvalho Chehab <mchehab@kernel.org> escreveu:

> Em Fri, 15 May 2020 11:10:21 +0200
> Hans de Goede <hdegoede@redhat.com> escreveu:
> 
> > Hi all,
> > 
> > On 5/15/20 10:32 AM, Mauro Carvalho Chehab wrote:  
> > > Em Mon, 4 May 2020 15:44:20 +0200
> > > Patrik Gfeller <patrik.gfeller@gmail.com> escreveu:
> > >     
> > >>>> Maybe this is related to my partial build (only the module to test if
> > >>>> it builds). I'll now do a full build of the kernel.    
> > >>>
> > >>> Yeah, either that or there are some config options with different values.
> > >>>
> > >>> I was able to do a full build here without the above errors, although
> > >>> I had to turn of some CONFIG options that were otherwise failing.    
> > >>
> > >> Strange - I do not get it :-/ ... can you send me the .config file and
> > >> Makefile you use; probably I missed something.    
> > > 
> > > I posted an alternate version, with the driver from the Yocto Aero tree
> > > ported to Kernel 5.7-rc2. The Kernel sources used are at this directory:
> > > 
> > > 	https://download.01.org/aero/deb/pool/main/l/linux-4.4.76-aero-1.3/
> > > 
> > > Such port is at the atomisp_yocto_v1:
> > > 
> > > 	https://git.linuxtv.org/mchehab/experimental.git/log/?h=atomisp_yocto_v1
> > > 
> > > The goal of this port is not for upstreaming it. Instead, it is meant
> > > to be used just for testing, using a version that should work - at least
> > > with the Intel Aero board with the Aero drone's camera (tests needed, as
> > > I don't have myself such hardware). This version is ISP2401 only.
> > > 
> > > The firmware for it is at:
> > > 	https://download.01.org/aero/deb/pool/main/f/firmware-atomisp/firmware-atomisp_0.1.orig.tar.xz
> > > 
> > > If the ISP revision is equal or bigger than rev 02, this file should be
> > > renamed to:
> > > 
> > > 	shisp_2401b0_v21.bin
> > > 
> > > Before getting excited, this version didn't work so far on my hardware:
> > > 
> > > 	atomisp: Loaded firmware version 'irci_stable_candrpv_0415_20150521_0458'.
> > > 	atomisp-isp2 0000:00:03.0: css load fw failed.
> > > 	atomisp-isp2 0000:00:03.0: Failed to init css.
> > > 
> > > (I didn't try to check why it is failing yet - maybe it is just
> > > some version port related issue)
> > > 
> > > If someone has access to the Intel Aero board, I'd appreciate if you
> > > could test it and send the results. If it fails too, it would be
> > > nice to have the dmesg output of this version and the dmesg from
> > > a version which works.    
> > 
> > Mauro, first of all thank you for working on this.
> > 
> > I wonder if you have tried to build and run the linux-4.4.76-aero-1.3
> > kernel on your T101HA ? It would be interesting to see if that one
> > does (not) have the "css load fw failed" errors and who knows you
> > might even be able to get that to actually show some sort of picture
> > from one of the 2 sensors on the T101HA ?  
> 
> Yes, I tried, but the Kernel doesn't even boot. Grub2 simply doesn't 
> show any messages when trying to boot a Kernel 4.4 Kernel on it.
> 
> As this device doesn't have any physical serial ports, and the only 
> USB cables I have are based on a chipset not supported by GRUB[1], I
> can't see where it is failing.
> 
> [1] A side note to myself: I need to spend some time checking what
> serial cables would work with grub2 and try to buy one such cable.

Eureka!

Looking at the Yocto's port, I noticed this comment:

	#ifdef CONFIG_INTEL_MID_ISP
	/* Moorefield lacks PCI PM, BYT advertises it but it's broken, use PUNIT */
	#define ATOMISP_INTERNAL_PM    (IS_MOFD || IS_BYT || IS_CHT)
	#endif

And some other codes like this:

	#ifdef CONFIG_INTEL_MID_ISP
	       if (ATOMISP_INTERNAL_PM) {
	               ret = atomisp_mrfld_power_up(isp);
	               if (ret)
	                       return ret;
	       }
	#endif


Basically, for some types of hardware, it has to disable the 
atomisp_mrfld_power_up() and atomisp_mrfld_power_down() calls.

So, a hack like this:

<code snip>
diff --git a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c
index 8c7b42221659..5c1f8bcc24f4 100644
--- a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c
+++ b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c
@@ -824,12 +824,15 @@ static int atomisp_mrfld_power(struct atomisp_device *isp, bool enable)
 /* Workaround for pmu_nc_set_power_state not ready in MRFLD */
 int atomisp_mrfld_power_down(struct atomisp_device *isp)
 {
+return 0;
+
 	return atomisp_mrfld_power(isp, false);
 }
 
 /* Workaround for pmu_nc_set_power_state not ready in MRFLD */
 int atomisp_mrfld_power_up(struct atomisp_device *isp)
 {
+return 0;
 	return atomisp_mrfld_power(isp, true);
 }
</code snip>
 
Made the firmware to properly load, and the driver now shows signs of life:

v4l2-ctl --all
Driver Info:
	Driver name      : atomisp
	Card type        : ATOM ISP
	Bus info         : PCI:0000:00:03.0
	Driver version   : 5.7.0
	Capabilities     : 0xa4200003
		Video Capture
		Video Output
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps      : 0x24200003
		Video Capture
		Video Output
		Streaming
		Extended Pix Format
Media Driver Info:
	Driver name      : atomisp-isp2
	Model            : Intel Atom ISP
	Serial           : 
	Bus info         : 
	Media version    : 5.7.0
	Hardware revision: 0x00002010 (8208)
	Driver version   : 5.7.0
Interface Info:
	ID               : 0x03000016
	Type             : V4L Video
Entity Info:
	ID               : 0x00000014 (20)
	Name             : ATOMISP ISP CAPTURE output
	Function         : V4L2 I/O
	Pad 0x01000015   : 0: Sink
	  Link 0x02000062: from remote pad 0x1000010 of entity 'ATOMISP_SUBDEV_0': Data
Priority: 0
Video input : 0 (ATOMISP ISP CAPTURE output: ok)
Format Video Capture:
	Width/Height      : 0/0
	Pixel Format      : ''
	Field             : Any
	Bytes per Line    : 0
	Size Image        : 0
	Colorspace        : Default
	Transfer Function : Default (maps to Rec. 709)
	YCbCr/HSV Encoding: Default (maps to ITU-R 601)
	Quantization      : Default (maps to Full Range)
	Flags             : 
Streaming Parameters Video Capture:
	Frames per second: invalid (0/0)
	Read buffers     : 0
error 22 getting ctrl Automatic White Balance
error 22 getting ctrl Red Balance
error 22 getting ctrl Blue Balance
error 22 getting ctrl Gamma
error 22 getting ctrl exposure
error 22 getting ctrl Light frequency filter
             image_color_effect 0x0098091f (int)    : min=0 max=9 step=1 default=0 value=0
error 22 getting ctrl Image Color Effect CbCr
           bad_pixel_correction 0x08000000 (int)    : min=0 max=1 step=1 default=0 value=1
                        gdc_cac 0x08000001 (int)    : min=0 max=1 step=1 default=0 value=0
             video_stablization 0x08000002 (int)    : min=0 max=1 step=1 default=0 value=0
  fixed_pattern_noise_reduction 0x08000003 (int)    : min=0 max=1 step=1 default=0 value=0
         false_color_correction 0x08000004 (int)    : min=0 max=1 step=1 default=0 value=0
                 low_light_mode 0x08000005 (bool)   : default=1 value=0


It doesn't stream on yet:

	[ 1040.688130] atomisp-isp2 0000:00:03.0: sh_css_init success
	[ 1040.688748] BUG: unable to handle page fault for address: 0000000000004518
	[ 1040.688754] #PF: supervisor read access in kernel mode
	[ 1040.688757] #PF: error_code(0x0000) - not-present page
	[ 1040.688760] PGD 0 P4D 0 

But at least it is now showing some signals of life.

There are still lots of  work to do before it can run, but it sounds 
that we'll eventually get there.
Thanks,
Mauro

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-19  7:39                         ` Mauro Carvalho Chehab
@ 2020-05-19 17:36                           ` Mauro Carvalho Chehab
  2020-05-22 10:46                             ` Hans de Goede
  0 siblings, 1 reply; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-05-19 17:36 UTC (permalink / raw)
  To: Hans de Goede
  Cc: Patrik Gfeller, Francescodario Cuzzocrea, Andy Shevchenko, linux-media

Em Tue, 19 May 2020 09:39:20 +0200
Mauro Carvalho Chehab <mchehab@kernel.org> escreveu:

> Em Fri, 15 May 2020 11:42:45 +0200
> Mauro Carvalho Chehab <mchehab@kernel.org> escreveu:
> 
> > Em Fri, 15 May 2020 11:10:21 +0200
> > Hans de Goede <hdegoede@redhat.com> escreveu:
> >   
> > > Hi all,
> > > 
> > > On 5/15/20 10:32 AM, Mauro Carvalho Chehab wrote:    
> > > > Em Mon, 4 May 2020 15:44:20 +0200
> > > > Patrik Gfeller <patrik.gfeller@gmail.com> escreveu:
> > > >       
> > > >>>> Maybe this is related to my partial build (only the module to test if
> > > >>>> it builds). I'll now do a full build of the kernel.      
> > > >>>
> > > >>> Yeah, either that or there are some config options with different values.
> > > >>>
> > > >>> I was able to do a full build here without the above errors, although
> > > >>> I had to turn of some CONFIG options that were otherwise failing.      
> > > >>
> > > >> Strange - I do not get it :-/ ... can you send me the .config file and
> > > >> Makefile you use; probably I missed something.      
> > > > 
> > > > I posted an alternate version, with the driver from the Yocto Aero tree
> > > > ported to Kernel 5.7-rc2. The Kernel sources used are at this directory:
> > > > 
> > > > 	https://download.01.org/aero/deb/pool/main/l/linux-4.4.76-aero-1.3/
> > > > 
> > > > Such port is at the atomisp_yocto_v1:
> > > > 
> > > > 	https://git.linuxtv.org/mchehab/experimental.git/log/?h=atomisp_yocto_v1
> > > > 
> > > > The goal of this port is not for upstreaming it. Instead, it is meant
> > > > to be used just for testing, using a version that should work - at least
> > > > with the Intel Aero board with the Aero drone's camera (tests needed, as
> > > > I don't have myself such hardware). This version is ISP2401 only.
> > > > 
> > > > The firmware for it is at:
> > > > 	https://download.01.org/aero/deb/pool/main/f/firmware-atomisp/firmware-atomisp_0.1.orig.tar.xz
> > > > 
> > > > If the ISP revision is equal or bigger than rev 02, this file should be
> > > > renamed to:
> > > > 
> > > > 	shisp_2401b0_v21.bin
> > > > 
> > > > Before getting excited, this version didn't work so far on my hardware:
> > > > 
> > > > 	atomisp: Loaded firmware version 'irci_stable_candrpv_0415_20150521_0458'.
> > > > 	atomisp-isp2 0000:00:03.0: css load fw failed.
> > > > 	atomisp-isp2 0000:00:03.0: Failed to init css.
> > > > 
> > > > (I didn't try to check why it is failing yet - maybe it is just
> > > > some version port related issue)
> > > > 
> > > > If someone has access to the Intel Aero board, I'd appreciate if you
> > > > could test it and send the results. If it fails too, it would be
> > > > nice to have the dmesg output of this version and the dmesg from
> > > > a version which works.      
> > > 
> > > Mauro, first of all thank you for working on this.
> > > 
> > > I wonder if you have tried to build and run the linux-4.4.76-aero-1.3
> > > kernel on your T101HA ? It would be interesting to see if that one
> > > does (not) have the "css load fw failed" errors and who knows you
> > > might even be able to get that to actually show some sort of picture
> > > from one of the 2 sensors on the T101HA ?    
> > 
> > Yes, I tried, but the Kernel doesn't even boot. Grub2 simply doesn't 
> > show any messages when trying to boot a Kernel 4.4 Kernel on it.
> > 
> > As this device doesn't have any physical serial ports, and the only 
> > USB cables I have are based on a chipset not supported by GRUB[1], I
> > can't see where it is failing.
> > 
> > [1] A side note to myself: I need to spend some time checking what
> > serial cables would work with grub2 and try to buy one such cable.  
> 
> Eureka!
> 
> Looking at the Yocto's port, I noticed this comment:
> 
> 	#ifdef CONFIG_INTEL_MID_ISP
> 	/* Moorefield lacks PCI PM, BYT advertises it but it's broken, use PUNIT */
> 	#define ATOMISP_INTERNAL_PM    (IS_MOFD || IS_BYT || IS_CHT)
> 	#endif
> 
> And some other codes like this:
> 
> 	#ifdef CONFIG_INTEL_MID_ISP
> 	       if (ATOMISP_INTERNAL_PM) {
> 	               ret = atomisp_mrfld_power_up(isp);
> 	               if (ret)
> 	                       return ret;
> 	       }
> 	#endif
> 
> 
> Basically, for some types of hardware, it has to disable the 
> atomisp_mrfld_power_up() and atomisp_mrfld_power_down() calls.
> 
> So, a hack like this:
> 
> <code snip>
> diff --git a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c
> index 8c7b42221659..5c1f8bcc24f4 100644
> --- a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c
> +++ b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c
> @@ -824,12 +824,15 @@ static int atomisp_mrfld_power(struct atomisp_device *isp, bool enable)
>  /* Workaround for pmu_nc_set_power_state not ready in MRFLD */
>  int atomisp_mrfld_power_down(struct atomisp_device *isp)
>  {
> +return 0;
> +
>  	return atomisp_mrfld_power(isp, false);
>  }
>  
>  /* Workaround for pmu_nc_set_power_state not ready in MRFLD */
>  int atomisp_mrfld_power_up(struct atomisp_device *isp)
>  {
> +return 0;
>  	return atomisp_mrfld_power(isp, true);
>  }
> </code snip>
>  
> Made the firmware to properly load, and the driver now shows signs of life:
> 
> v4l2-ctl --all
> Driver Info:
> 	Driver name      : atomisp
> 	Card type        : ATOM ISP
> 	Bus info         : PCI:0000:00:03.0
> 	Driver version   : 5.7.0
> 	Capabilities     : 0xa4200003
> 		Video Capture
> 		Video Output
> 		Streaming
> 		Extended Pix Format
> 		Device Capabilities
> 	Device Caps      : 0x24200003
> 		Video Capture
> 		Video Output
> 		Streaming
> 		Extended Pix Format
> Media Driver Info:
> 	Driver name      : atomisp-isp2
> 	Model            : Intel Atom ISP
> 	Serial           : 
> 	Bus info         : 
> 	Media version    : 5.7.0
> 	Hardware revision: 0x00002010 (8208)
> 	Driver version   : 5.7.0
> Interface Info:
> 	ID               : 0x03000016
> 	Type             : V4L Video
> Entity Info:
> 	ID               : 0x00000014 (20)
> 	Name             : ATOMISP ISP CAPTURE output
> 	Function         : V4L2 I/O
> 	Pad 0x01000015   : 0: Sink
> 	  Link 0x02000062: from remote pad 0x1000010 of entity 'ATOMISP_SUBDEV_0': Data
> Priority: 0
> Video input : 0 (ATOMISP ISP CAPTURE output: ok)
> Format Video Capture:
> 	Width/Height      : 0/0
> 	Pixel Format      : ''
> 	Field             : Any
> 	Bytes per Line    : 0
> 	Size Image        : 0
> 	Colorspace        : Default
> 	Transfer Function : Default (maps to Rec. 709)
> 	YCbCr/HSV Encoding: Default (maps to ITU-R 601)
> 	Quantization      : Default (maps to Full Range)
> 	Flags             : 
> Streaming Parameters Video Capture:
> 	Frames per second: invalid (0/0)
> 	Read buffers     : 0
> error 22 getting ctrl Automatic White Balance
> error 22 getting ctrl Red Balance
> error 22 getting ctrl Blue Balance
> error 22 getting ctrl Gamma
> error 22 getting ctrl exposure
> error 22 getting ctrl Light frequency filter
>              image_color_effect 0x0098091f (int)    : min=0 max=9 step=1 default=0 value=0
> error 22 getting ctrl Image Color Effect CbCr
>            bad_pixel_correction 0x08000000 (int)    : min=0 max=1 step=1 default=0 value=1
>                         gdc_cac 0x08000001 (int)    : min=0 max=1 step=1 default=0 value=0
>              video_stablization 0x08000002 (int)    : min=0 max=1 step=1 default=0 value=0
>   fixed_pattern_noise_reduction 0x08000003 (int)    : min=0 max=1 step=1 default=0 value=0
>          false_color_correction 0x08000004 (int)    : min=0 max=1 step=1 default=0 value=0
>                  low_light_mode 0x08000005 (bool)   : default=1 value=0
> 
> 
> It doesn't stream on yet:
> 
> 	[ 1040.688130] atomisp-isp2 0000:00:03.0: sh_css_init success
> 	[ 1040.688748] BUG: unable to handle page fault for address: 0000000000004518
> 	[ 1040.688754] #PF: supervisor read access in kernel mode
> 	[ 1040.688757] #PF: error_code(0x0000) - not-present page
> 	[ 1040.688760] PGD 0 P4D 0 
> 
> But at least it is now showing some signals of life.
> 
> There are still lots of  work to do before it can run, but it sounds 
> that we'll eventually get there.
> Thanks,
> Mauro


I did a lot of progress today. After identified the above bug, which
was turning down the ISP device, causing the firmware load to fail
(as the turn on code is not OK), I solved several other issues there.

The current status is that:

- the ISP firmware is properly loading;
- it can properly communicate with the camera sensor;
- Userspace can read video controls (tested with v4l2-ctl and qv4l2);
- set a video format is now working;
- buffers are being queued, and per-frame IRQs are arriving.

I did a really quick test today of trying to get a video from it,
using a simple tool I developed for such kind of tests (v4l2grab 
from v4l-utils package, changed to work with the only format that
my camera sensor supports). This tool needs uses a bare minimum
set of ioctls, with would avoid hitting a bug somewhere else.

Running it makes the device to start receiving frames from the
hardware. Yet, there's something wrong at the part with stores
the data into the video frame buffers. This driver has a weird
mm/DMA code, based on a fork of get_user_pages() taken probably
during Kernel 3.10 old days. 

Addressing it has a high chance of grabbing some image from it.

Ok, driver is at staging quality: there are lots of crap there that
will require changes, but it seems we're getting there.

Thanks,
Mauro


[   16.992312] atomisp_gmin_platform: module is from the staging directory, the quality is unknown, you have been warned.
[   17.149892] atomisp: module is from the staging directory, the quality is unknown, you have been warned.
[   17.300671] atomisp-isp2 0000:00:03.0: Detected Cherrytrail version 54 (ISP2401) on T101HA
[   17.304865] atomisp-isp2 0000:00:03.0: enabling device (0000 -> 0002)
[   17.309779] atomisp-isp2 0000:00:03.0: start: 0x91000000
[   17.309844] atomisp-isp2 0000:00:03.0: base: 00000000b729c9ce
[   17.309847] atomisp-isp2 0000:00:03.0: atomisp_io_base: 00000000b729c9ce
[   17.309858] atomisp-isp2 0000:00:03.0: ISP HPLL frequency base = 1600 MHz
[   17.466845] atomisp-isp2 0000:00:03.0: Firmware version may not be compatible with this driver
[   17.472253] atomisp-isp2 0000:00:03.0: Expecting version 'irci_ecr - master_20150911_0724', but firmware is 'irci_stable_candrpv_0415_20150521_0458'.
[   17.993376] atomisp_ov2680: module is from the staging directory, the quality is unknown, you have been warned.
[   18.180880] ov2680 i2c-OVTI2680:00: register atomisp i2c module type 1
[   18.468046] atomisp-isp2 0000:00:03.0: Probing Subdev OVTI2680:00
[   18.475814] atomisp-isp2 0000:00:03.0: Subdev OVTI2680:00 successfully register
[   18.479475] atomisp-isp2 0000:00:03.0: raw_index: 0
[   18.479478] atomisp-isp2 0000:00:03.0: SOC_INDEX: 0
[   18.479482] atomisp-isp2 0000:00:03.0: detected 1 camera sensors
[   18.483036] atomisp-isp2 0000:00:03.0: atomisp_csi_lane_config: the portconfig is 1-1-0, CSI_CONTROL is 0x0003008C
[   18.483041] atomisp-isp2 0000:00:03.0: Entity type for entity ATOM ISP CSI2-port0 was not initialized!
[   18.487850] atomisp-isp2 0000:00:03.0: Entity type for entity ATOM ISP CSI2-port1 was not initialized!
[   18.492186] atomisp-isp2 0000:00:03.0: Entity type for entity ATOM ISP CSI2-port2 was not initialized!
[   18.498354] atomisp-isp2 0000:00:03.0: Entity type for entity file_input_subdev was not initialized!
[   18.501774] atomisp-isp2 0000:00:03.0: Entity type for entity tpg_subdev was not initialized!
[   18.505156] atomisp-isp2 0000:00:03.0: Entity type for entity ATOMISP_SUBDEV_0 was not initialized!
[   18.512876] atomisp-isp2 0000:00:03.0: Entity type for entity ATOMISP_SUBDEV_1 was not initialized!
[   18.520554] atomisp-isp2 0000:00:03.0: FILE_INPUT enable, camera_cnt: 1
[   18.520558] atomisp-isp2 0000:00:03.0: TPG detected, camera_cnt: 2
[   18.521886] atomisp-isp2 0000:00:03.0: atomisp_save_iunit_reg
[   18.521933] atomisp-isp2 0000:00:03.0: DFS target frequency=100.
[   18.521936] atomisp-isp2 0000:00:03.0: Programming DFS frequency to 100
[   18.521948] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[   18.522052] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[   18.522172] atomisp-isp2 0000:00:03.0: atomisp_ospm_dphy_down
[   18.523350] atomisp-isp2 0000:00:03.0: Firmware version may not be compatible with this driver
[   18.526725] atomisp-isp2 0000:00:03.0: Expecting version 'irci_ecr - master_20150911_0724', but firmware is 'irci_stable_candrpv_0415_20150521_0458'.
[   22.695171] atomisp-isp2 0000:00:03.0: open device ATOMISP ISP VIEWFINDER output
[   22.695245] atomisp-isp2 0000:00:03.0: atomisp_restore_iunit_reg
[   22.695265] atomisp-isp2 0000:00:03.0: DFS target frequency=100.
[   22.695268] atomisp-isp2 0000:00:03.0: Programming DFS frequency to 100
[   22.695280] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[   22.695384] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[   22.703634] atomisp-isp2 0000:00:03.0: sh_css_init success
[   22.703755] atomisp-isp2 0000:00:03.0: release device ATOMISP ISP VIEWFINDER output
[   22.703766] atomisp-isp2 0000:00:03.0: ffmt: pad ATOMISP_SUBDEV_PAD_SINK w 0 h 0 code 0x00000000 which V4L2_SUBDEV_FORMAT_ACTIVE
[   22.703772] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SINK tgt V4L2_SEL_TGT_CROP l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.703777] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.703780] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.703784] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VF tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.703787] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.703791] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.703794] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.703798] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VIDEO tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.703801] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.703804] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.704805] atomisp-isp2 0000:00:03.0: DFS target frequency=100.
[   22.704810] atomisp-isp2 0000:00:03.0: Programming DFS frequency to 100
[   22.704821] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[   22.704926] atomisp-isp2 0000:00:03.0: atomisp_ospm_dphy_down
[   22.704983] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VF tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.704987] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.770633] atomisp-isp2 0000:00:03.0: open device ATOMISP ISP PREVIEW output
[   22.770707] atomisp-isp2 0000:00:03.0: atomisp_restore_iunit_reg
[   22.770728] atomisp-isp2 0000:00:03.0: DFS target frequency=100.
[   22.770731] atomisp-isp2 0000:00:03.0: Programming DFS frequency to 100
[   22.770743] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[   22.782506] atomisp-isp2 0000:00:03.0: sh_css_init success
[   22.782642] atomisp-isp2 0000:00:03.0: release device ATOMISP ISP PREVIEW output
[   22.782652] atomisp-isp2 0000:00:03.0: ffmt: pad ATOMISP_SUBDEV_PAD_SINK w 0 h 0 code 0x00000000 which V4L2_SUBDEV_FORMAT_ACTIVE
[   22.782659] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SINK tgt V4L2_SEL_TGT_CROP l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.782664] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.782667] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.782671] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VF tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.782674] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.782678] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.782681] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.782685] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VIDEO tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.782688] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.782691] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.783645] atomisp-isp2 0000:00:03.0: DFS target frequency=100.
[   22.783649] atomisp-isp2 0000:00:03.0: Programming DFS frequency to 100
[   22.783660] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[   22.783765] atomisp-isp2 0000:00:03.0: atomisp_ospm_dphy_down
[   22.783803] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.783807] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.794753] atomisp-isp2 0000:00:03.0: open device ATOMISP ISP VIEWFINDER output
[   22.794824] atomisp-isp2 0000:00:03.0: atomisp_restore_iunit_reg
[   22.794843] atomisp-isp2 0000:00:03.0: DFS target frequency=100.
[   22.794846] atomisp-isp2 0000:00:03.0: Programming DFS frequency to 100
[   22.794857] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[   22.794977] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[   22.797849] atomisp-isp2 0000:00:03.0: open device ATOMISP ISP MEMORY input
[   22.800926] atomisp-isp2 0000:00:03.0: open device ATOMISP ISP CAPTURE output
[   22.812712] atomisp-isp2 0000:00:03.0: open device ATOMISP ISP CAPTURE output
[   22.817645] atomisp-isp2 0000:00:03.0: open device ATOMISP ISP ACC
[   22.819822] atomisp-isp2 0000:00:03.0: open device ATOMISP ISP VIDEO output
[   22.898738] atomisp-isp2 0000:00:03.0: sh_css_init success
[   22.899079] atomisp-isp2 0000:00:03.0: skip init isp in open
[   22.899215] atomisp-isp2 0000:00:03.0: skip init isp in open
[   22.899246] atomisp-isp2 0000:00:03.0: skip init isp in open
[   22.899307] atomisp-isp2 0000:00:03.0: skip init isp in open
[   22.899337] atomisp-isp2 0000:00:03.0: skip init isp in open
[   22.899445] atomisp-isp2 0000:00:03.0: release device ATOMISP ISP VIEWFINDER output
[   22.899456] atomisp-isp2 0000:00:03.0: ffmt: pad ATOMISP_SUBDEV_PAD_SINK w 0 h 0 code 0x00000000 which V4L2_SUBDEV_FORMAT_ACTIVE
[   22.899462] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SINK tgt V4L2_SEL_TGT_CROP l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899467] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899471] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.899475] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VF tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899478] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.899482] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899485] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.899489] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VIDEO tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899492] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.899495] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.899504] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VF tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899507] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.899531] atomisp-isp2 0000:00:03.0: release device ATOMISP ISP MEMORY input
[   22.899542] atomisp-isp2 0000:00:03.0: ffmt: pad ATOMISP_SUBDEV_PAD_SINK w 0 h 0 code 0x00000000 which V4L2_SUBDEV_FORMAT_ACTIVE
[   22.899548] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SINK tgt V4L2_SEL_TGT_CROP l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899553] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899557] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.899561] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VF tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899564] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.899568] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899571] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.899574] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VIDEO tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899577] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.899581] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.899589] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SINK tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899593] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899596] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.899600] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VF tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899603] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.899607] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899610] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.899614] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VIDEO tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.899617] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.899620] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.903400] atomisp-isp2 0000:00:03.0: release device ATOMISP ISP CAPTURE output
[   22.903414] atomisp-isp2 0000:00:03.0: ffmt: pad ATOMISP_SUBDEV_PAD_SINK w 0 h 0 code 0x00000000 which V4L2_SUBDEV_FORMAT_ACTIVE
[   22.903420] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SINK tgt V4L2_SEL_TGT_CROP l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.903425] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.903429] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.903433] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VF tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.903436] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.903440] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.903443] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.903447] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VIDEO tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.903450] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.903453] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.903485] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.903488] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.904196] atomisp-isp2 0000:00:03.0: open device ATOMISP ISP ACC
[   22.904203] atomisp-isp2 0000:00:03.0: skip init isp in open
[   22.904285] atomisp-isp2 0000:00:03.0: release device ATOMISP ISP ACC
[   22.907132] atomisp-isp2 0000:00:03.0: release device ATOMISP ISP CAPTURE output
[   22.907145] atomisp-isp2 0000:00:03.0: ffmt: pad ATOMISP_SUBDEV_PAD_SINK w 0 h 0 code 0x00000000 which V4L2_SUBDEV_FORMAT_ACTIVE
[   22.907150] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SINK tgt V4L2_SEL_TGT_CROP l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.907156] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.907159] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.907163] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VF tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.907167] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.907171] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.907174] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.907178] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VIDEO tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.907181] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.907184] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.907193] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.907196] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.911162] atomisp-isp2 0000:00:03.0: release device ATOMISP ISP ACC
[   22.913194] atomisp-isp2 0000:00:03.0: release device ATOMISP ISP VIDEO output
[   22.913207] atomisp-isp2 0000:00:03.0: ffmt: pad ATOMISP_SUBDEV_PAD_SINK w 0 h 0 code 0x00000000 which V4L2_SUBDEV_FORMAT_ACTIVE
[   22.913213] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SINK tgt V4L2_SEL_TGT_CROP l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.913220] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.913223] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.913227] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VF tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.913230] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.913234] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.913237] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.913241] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VIDEO tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.913244] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.913248] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.914487] atomisp-isp2 0000:00:03.0: DFS target frequency=100.
[   22.914491] atomisp-isp2 0000:00:03.0: Programming DFS frequency to 100
[   22.914503] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[   22.914612] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[   22.914717] atomisp-isp2 0000:00:03.0: atomisp_ospm_dphy_down
[   22.914756] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VIDEO tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.914760] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.954745] atomisp-isp2 0000:00:03.0: open device ATOMISP ISP VIDEO output
[   22.955327] atomisp-isp2 0000:00:03.0: atomisp_restore_iunit_reg
[   22.955345] atomisp-isp2 0000:00:03.0: DFS target frequency=100.
[   22.955348] atomisp-isp2 0000:00:03.0: Programming DFS frequency to 100
[   22.955360] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[   22.955859] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[   22.986125] atomisp-isp2 0000:00:03.0: open device ATOMISP ISP PREVIEW output
[   22.986246] atomisp-isp2 0000:00:03.0: sh_css_init success
[   22.986282] atomisp-isp2 0000:00:03.0: skip init isp in open
[   22.986782] atomisp-isp2 0000:00:03.0: release device ATOMISP ISP PREVIEW output
[   22.986792] atomisp-isp2 0000:00:03.0: ffmt: pad ATOMISP_SUBDEV_PAD_SINK w 0 h 0 code 0x00000000 which V4L2_SUBDEV_FORMAT_ACTIVE
[   22.986798] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SINK tgt V4L2_SEL_TGT_CROP l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.986803] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.986806] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.986810] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VF tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.986813] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.986817] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.986820] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.986824] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VIDEO tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.986827] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.986831] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.986840] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.986843] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.998304] atomisp-isp2 0000:00:03.0: release device ATOMISP ISP VIDEO output
[   22.998316] atomisp-isp2 0000:00:03.0: ffmt: pad ATOMISP_SUBDEV_PAD_SINK w 0 h 0 code 0x00000000 which V4L2_SUBDEV_FORMAT_ACTIVE
[   22.998323] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SINK tgt V4L2_SEL_TGT_CROP l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.998328] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.998331] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.998335] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VF tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.998338] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.998342] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.998345] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.998349] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VIDEO tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.998352] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.998355] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[   22.999578] atomisp-isp2 0000:00:03.0: DFS target frequency=100.
[   22.999583] atomisp-isp2 0000:00:03.0: Programming DFS frequency to 100
[   22.999594] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[   22.999699] atomisp-isp2 0000:00:03.0: atomisp_ospm_dphy_down
[   22.999740] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VIDEO tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[   22.999743] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0

When I start v4l2grab, I got the stuff below	

[  209.961974] atomisp-isp2 0000:00:03.0: open device ATOMISP ISP CAPTURE output
[  209.962131] atomisp-isp2 0000:00:03.0: atomisp_restore_iunit_reg
[  209.962170] atomisp-isp2 0000:00:03.0: DFS target frequency=100.
[  209.962174] atomisp-isp2 0000:00:03.0: Programming DFS frequency to 100
[  209.962187] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[  209.962293] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[  209.972377] isys dma store at addr(0xcd408) val(0)
[  209.973180] atomisp-isp2 0000:00:03.0: sh_css_init success
[  209.975785] atomisp-isp2 0000:00:03.0: try_mbus_fmt: asking for 1616x1216
[  209.975794] ov2680 i2c-OVTI2680:00: ov2680_set_fmt: try: pad: 0, fmt: 000000001caa5ada
[  209.975798] atomisp-isp2 0000:00:03.0: try_mbus_fmt: got 1616x1216
[  209.975816] atomisp-isp2 0000:00:03.0: setting resolution 1616x1216 on pad 1 for asd0, bytesperline 0
[  209.975820] atomisp-isp2 0000:00:03.0: try_mbus_fmt: asking for 1616x1216
[  209.975824] ov2680 i2c-OVTI2680:00: ov2680_set_fmt: try: pad: 0, fmt: 0000000088f2a982
[  209.975827] atomisp-isp2 0000:00:03.0: try_mbus_fmt: got 1616x1216
[  209.975832] atomisp-isp2 0000:00:03.0: ffmt: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE w 0 h 0 code 0x00003007 which V4L2_SUBDEV_FORMAT_ACTIVE
[  209.975838] atomisp-isp2 0000:00:03.0: s_mbus_fmt: ask 1616x1216 (padding 0x0, dvs 0x0)
[  209.975840] atomisp-isp2 0000:00:03.0: sensor width: 1616, height: 1216
[  209.975844] ov2680 i2c-OVTI2680:00: ov2680_set_fmt: set: pad: 0, fmt: 000000009b679c7a
[  209.975846] ov2680 i2c-OVTI2680:00: ov2680_set_fmt: Resolution index: 0
[  209.975849] ov2680 i2c-OVTI2680:00: ov2680_set_fmt: i=0, w=1616, h=1216
[  209.975852] ov2680 i2c-OVTI2680:00: power_ctrl: on
[  210.072235] ov2680 i2c-OVTI2680:00: ++++ov2680_get_intg_factor
[  210.074133] OVTI2680:00: 
               ov2680_set_fmt idx 0
[  210.074157] atomisp-isp2 0000:00:03.0: sensor width: 1616, height: 1216
[  210.074171] atomisp-isp2 0000:00:03.0: ffmt: pad ATOMISP_SUBDEV_PAD_SINK w 1616 h 1216 code 0x00003007 which V4L2_SUBDEV_FORMAT_ACTIVE
[  210.074187] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SINK tgt V4L2_SEL_TGT_CROP l 0 t 0 w 1616 h 1216 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[  210.074201] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 1616 h 1216 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[  210.074210] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 1616 h 1216
[  210.074221] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VF tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 1616 h 1216 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[  210.074229] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 1616 h 1216
[  210.074240] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 1616 h 1216 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[  210.074248] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 1616 h 1216
[  210.074258] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VIDEO tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 1616 h 1216 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[  210.074267] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 1616 h 1216
[  210.074275] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 1616 h 1216
[  210.074292] atomisp-isp2 0000:00:03.0: css_input_resolution_changed to 1616x1216
[  210.074312] atomisp-isp2 0000:00:03.0: atomisp_csi_lane_config: the portconfig is 1-1-0, CSI_CONTROL is 0x0303008C
[  210.074320] atomisp-isp2 0000:00:03.0: copy_mode: 1
[  210.074332] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SINK tgt V4L2_SEL_TGT_CROP l 0 t 0 w 1616 h 1216 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000004
[  210.074340] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 1616 h 1216
[  210.074351] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 1616 h 1216 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[  210.074359] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 1616 h 1216
[  210.074376] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VF tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 640 h 480 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[  210.074386] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 640 h 480
[  210.074395] atomisp-isp2 0000:00:03.0: ffmt: pad ATOMISP_SUBDEV_PAD_SOURCE_VF w 0 h 0 code 0x00008001 which V4L2_SUBDEV_FORMAT_ACTIVE
[  210.074408] atomisp-isp2 0000:00:03.0: configuring pipe[3] vf output info w=640.h=480.f=1.
[  210.074421] atomisp-isp2 0000:00:03.0: configuring pipe[1] output info w=1616.h=1216.f=17.
[  210.074462] atomisp-isp2 0000:00:03.0: dumping pipe[1] config:
[  210.074470] atomisp-isp2 0000:00:03.0: pipe_config.pipe_mode:4.
[  210.074477] atomisp-isp2 0000:00:03.0: pipe_config.output_info[0] w=1616, h=1216.
[  210.074484] atomisp-isp2 0000:00:03.0: pipe_config.vf_pp_in_res w=0, h=0.
[  210.074491] atomisp-isp2 0000:00:03.0: pipe_config.capt_pp_in_res w=0, h=0.
[  210.074498] atomisp-isp2 0000:00:03.0: pipe_config.output.padded w=0.
[  210.074505] atomisp-isp2 0000:00:03.0: pipe_config.vf_output_info[0] w=0, h=0.
[  210.074512] atomisp-isp2 0000:00:03.0: pipe_config.bayer_ds_out_res w=0, h=0.
[  210.074518] atomisp-isp2 0000:00:03.0: pipe_config.envelope w=0, h=0.
[  210.074524] atomisp-isp2 0000:00:03.0: pipe_config.dvs_frame_delay=1.
[  210.074530] atomisp-isp2 0000:00:03.0: pipe_config.isp_pipe_version:2.
[  210.074540] atomisp-isp2 0000:00:03.0: pipe_config.acc_extension=00000000352f4d07.
[  210.074548] atomisp-isp2 0000:00:03.0: pipe_config.acc_stages=00000000352f4d07.
[  210.074554] atomisp-isp2 0000:00:03.0: pipe_config.num_acc_stages=0.
[  210.074560] atomisp-isp2 0000:00:03.0: pipe_config.acc_num_execs=-1.
[  210.074567] atomisp-isp2 0000:00:03.0: pipe_config.default_capture_config.capture_mode=0.
[  210.074573] atomisp-isp2 0000:00:03.0: pipe_config.enable_dz=0.
[  210.074579] atomisp-isp2 0000:00:03.0: pipe_config.default_capture_config.enable_xnr=0.
[  210.074585] atomisp-isp2 0000:00:03.0: dumping pipe[1] extra config:
[  210.074593] atomisp-isp2 0000:00:03.0: pipe_extra_config.enable_raw_binning:0.
[  210.074599] atomisp-isp2 0000:00:03.0: pipe_extra_config.enable_yuv_ds:0.
[  210.074605] atomisp-isp2 0000:00:03.0: pipe_extra_config.enable_high_speed:0.
[  210.074611] atomisp-isp2 0000:00:03.0: pipe_extra_config.enable_dvs_6axis:0.
[  210.074618] atomisp-isp2 0000:00:03.0: pipe_extra_config.enable_reduced_pipe:0.
[  210.074624] atomisp-isp2 0000:00:03.0: pipe_(extra_)config.enable_dz:0.
[  210.074630] atomisp-isp2 0000:00:03.0: pipe_extra_config.disable_vf_pp:0.
[  210.074636] atomisp-isp2 0000:00:03.0: stream_config.mode=5.
[  210.074642] atomisp-isp2 0000:00:03.0: stream_config.source.port.port=0.
[  210.074648] atomisp-isp2 0000:00:03.0: stream_config.source.port.num_lanes=1.
[  210.074655] atomisp-isp2 0000:00:03.0: stream_config.source.port.timeout=1048564.
[  210.074662] atomisp-isp2 0000:00:03.0: stream_config.source.port.rxcount=0x4040404.
[  210.074668] atomisp-isp2 0000:00:03.0: stream_config.source.port.compression.type=0.
[  210.074674] atomisp-isp2 0000:00:03.0: stream_config.source.port.compression.compressed_bits_per_pixel=0.
[  210.074680] atomisp-isp2 0000:00:03.0: stream_config.source.port.compression.uncompressed_bits_per_pixel=0.
[  210.074688] atomisp-isp2 0000:00:03.0: stream_configisys_config[0].input_res w=1616, h=1216.
[  210.074695] atomisp-isp2 0000:00:03.0: stream_configisys_config[0].linked_isys_stream_id=-1
[  210.074702] atomisp-isp2 0000:00:03.0: stream_configisys_config[0].format=15
[  210.074708] atomisp-isp2 0000:00:03.0: stream_configisys_config[0].valid=1.
[  210.074716] atomisp-isp2 0000:00:03.0: stream_configisys_config[1].input_res w=0, h=0.
[  210.074722] atomisp-isp2 0000:00:03.0: stream_configisys_config[1].linked_isys_stream_id=0
[  210.074729] atomisp-isp2 0000:00:03.0: stream_configisys_config[1].format=0
[  210.074736] atomisp-isp2 0000:00:03.0: stream_configisys_config[1].valid=0.
[  210.074743] atomisp-isp2 0000:00:03.0: stream_config.input_config.input_res w=1616, h=1216.
[  210.074752] atomisp-isp2 0000:00:03.0: stream_config.input_config.effective_res w=1616, h=1216.
[  210.074758] atomisp-isp2 0000:00:03.0: stream_config.input_config.format=15
[  210.074765] atomisp-isp2 0000:00:03.0: stream_config.input_config.bayer_order=2.
[  210.074771] atomisp-isp2 0000:00:03.0: stream_config.pixels_per_clock=1.
[  210.074777] atomisp-isp2 0000:00:03.0: stream_config.online=0.
[  210.074783] atomisp-isp2 0000:00:03.0: stream_config.continuous=0.
[  210.074789] atomisp-isp2 0000:00:03.0: stream_config.disable_cont_viewfinder=0.
[  210.074795] atomisp-isp2 0000:00:03.0: stream_config.channel_id=0.
[  210.074801] atomisp-isp2 0000:00:03.0: stream_config.init_num_cont_raw_buf=0.
[  210.074807] atomisp-isp2 0000:00:03.0: stream_config.target_num_cont_raw_buf=3.
[  210.074813] atomisp-isp2 0000:00:03.0: stream_config.left_padding=-1.
[  210.074821] atomisp-isp2 0000:00:03.0: stream_config.sensor_binning_factor=0.
[  210.074827] atomisp-isp2 0000:00:03.0: stream_config.pixels_per_clock=1.
[  210.074834] atomisp-isp2 0000:00:03.0: stream_config.pack_raw_pixels=0.
[  210.074840] atomisp-isp2 0000:00:03.0: stream_config.flash_gpio_pin=0.
[  210.074847] atomisp-isp2 0000:00:03.0: stream_config.mipi_buffer_config.size_mem_words=93633.
[  210.074853] atomisp-isp2 0000:00:03.0: stream_config.mipi_buffer_config.contiguous=0.
[  210.074859] atomisp-isp2 0000:00:03.0: stream_config.metadata_config.data_type=30.
[  210.074866] atomisp-isp2 0000:00:03.0: stream_config.metadata_config.resolution w=0, h=0.
[  210.075684] atomisp-isp2 0000:00:03.0: getting main frame info.
[  210.075695] atomisp-isp2 0000:00:03.0: get frame info: w=1616, h=1216, num_invalid_frames 0.
[  210.075708] atomisp-isp2 0000:00:03.0: grid info change escape. memcmp=1, s3a_user_stat=0,dvs_stat=0, s3a.width=0, s3a.height=0, metadata width =0
[  210.075780] atomisp-isp2 0000:00:03.0: allocating 11 metadata buffers for type 0
[  210.075794] atomisp-isp2 0000:00:03.0: allocating 11 metadata buffers for type 1
[  210.096689] atomisp-isp2 0000:00:03.0: qbuf buffer 0 (ATOMISP ISP CAPTURE output) for asd0
[  210.096754] atomisp-isp2 0000:00:03.0: qbuf buffer 1 (ATOMISP ISP CAPTURE output) for asd0
[  210.096780] atomisp-isp2 0000:00:03.0: Start stream on pad 1 for asd0
[  210.096824] atomisp-isp2 0000:00:03.0: atomisp_css_update_isp_params: ia_css_stream_set_isp_config() not supported in copy mode!.
[  210.097552] atomisp-isp2 0000:00:03.0: irq:0x20
[  210.097581] atomisp-isp2 0000:00:03.0: irq:0x20
[  210.097596] atomisp-isp2 0000:00:03.0: irq:0x20
[  210.097619] atomisp-isp2 0000:00:03.0: irq:0x20
[  210.097638] atomisp-isp2 0000:00:03.0: irq:0x20
[  210.097709] atomisp-isp2 0000:00:03.0: stream[0] started.
[  210.097809] atomisp-isp2 0000:00:03.0: atomisp_css_irq_enable:Invalid irq info.
[  210.097822] atomisp-isp2 0000:00:03.0: dfs failed!
[  210.097830] ov2680 i2c-OVTI2680:00: ov2680_s_stream one
[  210.098036] atomisp-isp2 0000:00:03.0: WDT starts with 2000 ms period (ATOMISP ISP CAPTURE output)
[  210.098572] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.098594] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 1, asd 0
[  210.098605] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 2, asd 0
[  210.098625] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.098725] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.098740] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 3, asd 0
[  210.098849] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.098865] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 4, asd 0
[  210.098975] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.098992] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 5, asd 0
[  210.099099] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.099116] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 6, asd 0
[  210.099309] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.099327] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 7, asd 0
[  210.099338] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 8, asd 0
[  210.099351] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.099524] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.099541] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 9, asd 0
[  210.099595] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.099610] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 10, asd 0
[  210.099692] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.099707] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 11, asd 0
[  210.099815] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.099829] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 12, asd 0
[  210.099938] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.099951] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 13, asd 0
[  210.100063] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.100077] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 14, asd 0
[  210.100186] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.100200] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 15, asd 0
[  210.100311] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.100325] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 16, asd 0
[  210.100434] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.100450] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 17, asd 0
[  210.100556] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.100571] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 18, asd 0
[  210.100679] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.100693] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 19, asd 0
[  210.100801] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.100816] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 20, asd 0
[  210.100926] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.100940] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 21, asd 0
[  210.101049] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.101063] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 22, asd 0
[  210.101174] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.101188] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 23, asd 0
[  210.101348] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.101362] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 24, asd 0
[  210.101474] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.101488] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 25, asd 0
[  210.101548] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.101562] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 26, asd 0
[  210.101668] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.101682] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 27, asd 0
[  210.101791] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.101804] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 28, asd 0
[  210.101914] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.101927] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 29, asd 0
[  210.102039] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.102055] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 30, asd 0
[  210.102163] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.102178] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 31, asd 0
[  210.102290] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.102305] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 32, asd 0
[  210.102410] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.102425] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 33, asd 0
[  210.102534] atomisp-isp2 0000:00:03.0: irq:0x200000
[  210.102549] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 34, asd 0
[  210.102656] atomisp-isp2 0000:00:03.0: irq:0x200000
...
[  213.264176] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 207, asd 0
[  213.264292] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.264306] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 208, asd 0
[  213.264420] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.264434] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 209, asd 0
[  213.264543] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.264556] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 210, asd 0
[  213.264671] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.264686] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 211, asd 0
[  213.264795] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.264809] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 212, asd 0
[  213.264922] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.264939] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 213, asd 0
[  213.265047] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.265061] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 214, asd 0
[  213.265176] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.265192] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 215, asd 0
[  213.265302] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.265317] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 216, asd 0
[  213.265428] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.265442] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 217, asd 0
[  213.265554] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.265569] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 218, asd 0
[  213.265678] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.265691] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 219, asd 0
[  213.265806] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.265822] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 220, asd 0
[  213.265932] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.265949] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 221, asd 0
[  213.266057] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.266072] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 222, asd 0
[  213.266181] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.266195] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 223, asd 0
[  213.266308] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.266322] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 224, asd 0
[  213.266435] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.266451] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 225, asd 0
[  213.266558] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.266571] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 226, asd 0
[  213.266684] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.266698] atomisp-isp2 0000:00:03.0: atomisp_isr EOF exp_id 227, asd 0
[  213.266745] atomisp-isp2 0000:00:03.0: release device ATOMISP ISP CAPTURE output
[  213.266749] atomisp-isp2 0000:00:03.0: atomisp_release: ISP still streaming while closing!
[  213.266757] atomisp-isp2 0000:00:03.0: Stop stream on pad 1 for asd0
[  213.266761] atomisp-isp2 0000:00:03.0: WDT stop:
[  213.266765] atomisp-isp2 0000:00:03.0: atomisp_css_irq_enable:Invalid irq info.
[  213.270681] atomisp-isp2 0000:00:03.0: irq:0x200000
[  213.275332] atomisp-isp2 0000:00:03.0: irq:0x20
[  213.286460] ov2680 i2c-OVTI2680:00: ov2680_s_stream off
[  213.289045] atomisp-isp2 0000:00:03.0: DFS target frequency=100.
[  213.289050] atomisp-isp2 0000:00:03.0: atomisp_reset
[  213.289055] atomisp-isp2 0000:00:03.0: atomisp_reset
[  213.290686] atomisp-isp2 0000:00:03.0: DFS target frequency=100.
[  213.290691] atomisp-isp2 0000:00:03.0: Programming DFS frequency to 100
[  213.290703] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[  213.290807] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[  213.290928] atomisp-isp2 0000:00:03.0: atomisp_ospm_dphy_down
[  213.290940] atomisp-isp2 0000:00:03.0: atomisp_restore_iunit_reg
[  213.290957] atomisp-isp2 0000:00:03.0: DFS target frequency=100.
[  213.290960] atomisp-isp2 0000:00:03.0: Programming DFS frequency to 100
[  213.290970] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[  213.293897] isys dma store at addr(0xcd408) val(0)
[  213.294546] atomisp-isp2 0000:00:03.0: ffmt: pad ATOMISP_SUBDEV_PAD_SINK w 0 h 0 code 0x00000000 which V4L2_SUBDEV_FORMAT_ACTIVE
[  213.294552] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SINK tgt V4L2_SEL_TGT_CROP l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[  213.294557] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[  213.294561] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[  213.294565] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VF tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[  213.294568] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[  213.294573] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_PREVIEW tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[  213.294576] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[  213.294580] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_VIDEO tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[  213.294583] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[  213.294587] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[  213.294628] ov2680 i2c-OVTI2680:00: power_ctrl: off
[  213.304032] atomisp-isp2 0000:00:03.0: DFS target frequency=100.
[  213.304035] atomisp-isp2 0000:00:03.0: Programming DFS frequency to 100
[  213.304046] atomisp-isp2 0000:00:03.0: waiting for ISPSSPM1 valid bit to be 0.
[  213.304152] atomisp-isp2 0000:00:03.0: atomisp_ospm_dphy_down
[  213.304189] atomisp-isp2 0000:00:03.0: sel: pad ATOMISP_SUBDEV_PAD_SOURCE_CAPTURE tgt V4L2_SEL_TGT_COMPOSE l 0 t 0 w 0 h 0 which V4L2_SUBDEV_FORMAT_ACTIVE f 0x00000000
[  213.304193] atomisp-isp2 0000:00:03.0: sel actual: l 0 t 0 w 0 h 0
[  213.304898] BUG: non-zero pgtables_bytes on freeing mm: 24576





Thanks,
Mauro

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-02  6:03 ` Greg KH
@ 2020-05-20  7:48   ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-05-20  7:48 UTC (permalink / raw)
  To: Greg KH
  Cc: Mauro Carvalho Chehab, linux-media, Alan Cox, Alan Cox, linux-kernel

Em Sat, 2 May 2020 08:03:55 +0200
Greg KH <gregkh@linuxfoundation.org> escreveu:

> On Fri, May 01, 2020 at 09:57:41PM +0200, Mauro Carvalho Chehab wrote:
> > This driver is simply too big for it to be sent to the ML via e-mails. Those
> > will very likely be rejected due to the e-mail sizes.
> > 
> > So, instead, I'm sending a "GIT PULL" to myself, at the ML.
> > 
> > This series basically "resurrect" this driver from the death, giving it a
> > second chance to survive.  
> 
> Hah, good luck!  Without the hardware I think you are going to be
> fighting a loosing battle, best of luck...

I got one hardware, based on ISP 2401 (PCI ID 8086:22b8). 

I did lots of progress at the driver. Well, there are a lot more to be
done, but I'm confident we'll be able to make it run.

Getting it out of staging will require *lots* of time and efforts,
but I guess it would be doable (long term).

Thanks,
Mauro

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-19 17:36                           ` Mauro Carvalho Chehab
@ 2020-05-22 10:46                             ` Hans de Goede
  2020-05-22 11:42                               ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 26+ messages in thread
From: Hans de Goede @ 2020-05-22 10:46 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: Patrik Gfeller, Francescodario Cuzzocrea, Andy Shevchenko, linux-media

Hi,

On 5/19/20 7:36 PM, Mauro Carvalho Chehab wrote:

<snip>

> I did a lot of progress today. After identified the above bug, which
> was turning down the ISP device, causing the firmware load to fail
> (as the turn on code is not OK), I solved several other issues there.
> 
> The current status is that:
> 
> - the ISP firmware is properly loading;
> - it can properly communicate with the camera sensor;
> - Userspace can read video controls (tested with v4l2-ctl and qv4l2);
> - set a video format is now working;
> - buffers are being queued, and per-frame IRQs are arriving.
> 
> I did a really quick test today of trying to get a video from it,
> using a simple tool I developed for such kind of tests (v4l2grab
> from v4l-utils package, changed to work with the only format that
> my camera sensor supports). This tool needs uses a bare minimum
> set of ioctls, with would avoid hitting a bug somewhere else.
> 
> Running it makes the device to start receiving frames from the
> hardware. Yet, there's something wrong at the part with stores
> the data into the video frame buffers. This driver has a weird
> mm/DMA code, based on a fork of get_user_pages() taken probably
> during Kernel 3.10 old days.
> 
> Addressing it has a high chance of grabbing some image from it.
> 
> Ok, driver is at staging quality: there are lots of crap there that
> will require changes, but it seems we're getting there.

This is very good news. Hopefully you will get an actual image
out of these soon. That would be awesome.

I happened to notice an advert for a second-hand Asus T101HA
locally, for not too much money. So now I'm the happy owner of
an Asus T101HA myself. So once you have something working I can
try to reproduce your work on identical hardware then as time
permits help with cleaning things up.   Although I might focus
at first on trying to get your work to run on more Cherry Trail
based models, to find out what bits we need to make configurable
and if we can get the info from ACPI or if we need to have a
DMI based table with model specific info.

Regards,

Hans


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-22 10:46                             ` Hans de Goede
@ 2020-05-22 11:42                               ` Mauro Carvalho Chehab
  2020-05-23  8:00                                 ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-05-22 11:42 UTC (permalink / raw)
  To: Hans de Goede
  Cc: Patrik Gfeller, Francescodario Cuzzocrea, Andy Shevchenko, linux-media

Em Fri, 22 May 2020 12:46:07 +0200
Hans de Goede <hdegoede@redhat.com> escreveu:

> Hi,
> 
> On 5/19/20 7:36 PM, Mauro Carvalho Chehab wrote:
> 
> <snip>
> 
> > I did a lot of progress today. After identified the above bug, which
> > was turning down the ISP device, causing the firmware load to fail
> > (as the turn on code is not OK), I solved several other issues there.
> > 
> > The current status is that:
> > 
> > - the ISP firmware is properly loading;
> > - it can properly communicate with the camera sensor;
> > - Userspace can read video controls (tested with v4l2-ctl and qv4l2);
> > - set a video format is now working;
> > - buffers are being queued, and per-frame IRQs are arriving.
> > 
> > I did a really quick test today of trying to get a video from it,
> > using a simple tool I developed for such kind of tests (v4l2grab
> > from v4l-utils package, changed to work with the only format that
> > my camera sensor supports). This tool needs uses a bare minimum
> > set of ioctls, with would avoid hitting a bug somewhere else.
> > 
> > Running it makes the device to start receiving frames from the
> > hardware. Yet, there's something wrong at the part with stores
> > the data into the video frame buffers. This driver has a weird
> > mm/DMA code, based on a fork of get_user_pages() taken probably
> > during Kernel 3.10 old days.
> > 
> > Addressing it has a high chance of grabbing some image from it.
> > 
> > Ok, driver is at staging quality: there are lots of crap there that
> > will require changes, but it seems we're getting there.  
> 
> This is very good news. Hopefully you will get an actual image
> out of these soon. That would be awesome.
> 
> I happened to notice an advert for a second-hand Asus T101HA
> locally, for not too much money. So now I'm the happy owner of
> an Asus T101HA myself.

Great!

> So once you have something working I can
> try to reproduce your work on identical hardware then as time
> permits help with cleaning things up.   Although I might focus
> at first on trying to get your work to run on more Cherry Trail
> based models, to find out what bits we need to make configurable
> and if we can get the info from ACPI or if we need to have a
> DMI based table with model specific info.

The main ACPI related code is at this file:

	drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c

Originally, this was a platform driver. Now, it is just an ancillary
driver.

Inside the sensor drivers, there's just the ACPI tables, in order
for them to be probed.

I updated the driver's TODO list, but there are probably more to be
said than what's there.

Let me list the things I remember that should be done:

1) The atomisp doesn't rely at the usual i2c stuff to discover the
sensors. Instead, it calls a function from atomisp_gmin_platform.c.
There are some hacks I added there for it to wait for sensors to be
probed (with a timeout of 2 seconds or so). This should be converted 
to the usual way, using V4L2 async subdev framework to wait for cameras 
to be probed;

2) The Asus T101HA support (and other board-specific data) uses the a
DMI match table to retrieve sensor's data, using hard-coded values. 
I did some research last week: it sounds possible to retrieve those
data directly from ACPI via this _DSM table, associated with CAM1
sensor (UUID: dc2f6c4f-045b-4f1d-97b9-882a6860a4be):

            Name (C1CD, Buffer (0x0220){})
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("dc2f6c4f-045b-4f1d-97b9-882a6860a4be")))
                {
                    Local0 = Package (0x12)
                        {
                            "CamId", 
                            "ov2680", 
                            "CamType", 
                            "1", 
                            "CsiPort", 
                            "0", 
                            "CsiLanes", 
                            "1", 
                            "CsiFmt", 
                            "15", 
                            "CsiBayer", 
                            "0", 
                            "CamClk", 
                            "1", 
                            "Regulator1p8v", 
                            "0", 
                            "Regulator2p8v", 
                            "0"
                        }
                    Return (Local0)
                }

The code there at atomisp_gmin_platform has an EFI parser, but it assumes
that the information would be stored on a different way.

Kernel has support for reading data from _DSM, via acpi_evaluate_dsm().

I suspect that it should be doable to use such infra and remove the
TA101HA DMI match. This will likely allow covering more devices that
could also be using the same EFI UUID.

3) Switch the driver to use pm_runtime stuff. Right now, it probes the
existing PMIC code and sensors call it directly.

4) There's a problem at the sensor drivers (I hacked the ov2880
to avoid that): when trying to set a video format, atomisp calls 
the sensor drivers with the sensor turned off. This causes them
to fail.

I guess the right fix would be to power on the sensor when a video
device is opened (or at the first VIDIOC_ ioctl - except for
VIDIOC_QUERYCAP), powering it down at close() syscall.

5) There are several issues related to memory management, causing
crashes. This is probably something that we need to fix asap.

The atomisp splits the memory management on three separate regions:

	- dynamic pool;
	- reserved pool;
	- generic pool

The code implementing it is at:

	drivers/staging/media/atomisp/pci/hmm/

It also has a separate code for managing DMA buffers at:
	
	drivers/staging/media/atomisp/pci/mmu/

The code there is really dirty, ugly and probably wrong. I fixed
one bug there already, but the best would be to just trash it and use
something else. Maybe the code from the newer intel driver could
serve as a model:

	drivers/staging/media/ipu3/ipu3-mmu.c

But converting it to use something like that is painful and may
cause some breakages.

6) there is some issue at the frame receive logic. This is currently
my main focus.

Btw, this is the branch I'm using on my tests:

	https://git.linuxtv.org/mchehab/experimental.git/log/?h=atomisp_v3

It has basically the stuff from linux-media, plus the ACPI patch
that enables the OpRegion:

	https://git.linuxtv.org/mchehab/experimental.git/commit/?h=atomisp_v3&id=d8613fcbb3c9cb21b6818b0245e320054ecb5deb

(I didn't cherry-picked the Kconfig ones here, since I have already
everything enabled at the .config file I'm using here).

Besides that, it has some patches that I'm working to address (5) and
(6).

PS.: I'm constantly rebasing the stuff there (specially the patches with
weird names, like "foo" and "HACK").

Thanks,
Mauro

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT PULL] Ressurect the atomisp staging driver
  2020-05-22 11:42                               ` Mauro Carvalho Chehab
@ 2020-05-23  8:00                                 ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-05-23  8:00 UTC (permalink / raw)
  To: Hans de Goede
  Cc: Patrik Gfeller, Francescodario Cuzzocrea, Andy Shevchenko, linux-media

Em Fri, 22 May 2020 13:42:03 +0200
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> escreveu:

> Em Fri, 22 May 2020 12:46:07 +0200
> Hans de Goede <hdegoede@redhat.com> escreveu:
> 
> > Hi,
> > 
> > On 5/19/20 7:36 PM, Mauro Carvalho Chehab wrote:
> > 
> > <snip>
> >   
> > > I did a lot of progress today. After identified the above bug, which
> > > was turning down the ISP device, causing the firmware load to fail
> > > (as the turn on code is not OK), I solved several other issues there.
> > > 
> > > The current status is that:
> > > 
> > > - the ISP firmware is properly loading;
> > > - it can properly communicate with the camera sensor;
> > > - Userspace can read video controls (tested with v4l2-ctl and qv4l2);
> > > - set a video format is now working;
> > > - buffers are being queued, and per-frame IRQs are arriving.
> > > 
> > > I did a really quick test today of trying to get a video from it,
> > > using a simple tool I developed for such kind of tests (v4l2grab
> > > from v4l-utils package, changed to work with the only format that
> > > my camera sensor supports). This tool needs uses a bare minimum
> > > set of ioctls, with would avoid hitting a bug somewhere else.
> > > 
> > > Running it makes the device to start receiving frames from the
> > > hardware. Yet, there's something wrong at the part with stores
> > > the data into the video frame buffers. This driver has a weird
> > > mm/DMA code, based on a fork of get_user_pages() taken probably
> > > during Kernel 3.10 old days.
> > > 
> > > Addressing it has a high chance of grabbing some image from it.
> > > 
> > > Ok, driver is at staging quality: there are lots of crap there that
> > > will require changes, but it seems we're getting there.    
> > 
> > This is very good news. Hopefully you will get an actual image
> > out of these soon. That would be awesome.
> > 
> > I happened to notice an advert for a second-hand Asus T101HA
> > locally, for not too much money. So now I'm the happy owner of
> > an Asus T101HA myself.  
> 
> Great!
> 
> > So once you have something working I can
> > try to reproduce your work on identical hardware then as time
> > permits help with cleaning things up.   Although I might focus
> > at first on trying to get your work to run on more Cherry Trail
> > based models, to find out what bits we need to make configurable
> > and if we can get the info from ACPI or if we need to have a
> > DMI based table with model specific info.  
> 
> The main ACPI related code is at this file:
> 
> 	drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c
> 
> Originally, this was a platform driver. Now, it is just an ancillary
> driver.
> 
> Inside the sensor drivers, there's just the ACPI tables, in order
> for them to be probed.
> 
> I updated the driver's TODO list, but there are probably more to be
> said than what's there.
> 
> Let me list the things I remember that should be done:
> 
> 1) The atomisp doesn't rely at the usual i2c stuff to discover the
> sensors. Instead, it calls a function from atomisp_gmin_platform.c.
> There are some hacks I added there for it to wait for sensors to be
> probed (with a timeout of 2 seconds or so). This should be converted 
> to the usual way, using V4L2 async subdev framework to wait for cameras 
> to be probed;
> 
> 2) The Asus T101HA support (and other board-specific data) uses the a
> DMI match table to retrieve sensor's data, using hard-coded values. 
> I did some research last week: it sounds possible to retrieve those
> data directly from ACPI via this _DSM table, associated with CAM1
> sensor (UUID: dc2f6c4f-045b-4f1d-97b9-882a6860a4be):
> 
>             Name (C1CD, Buffer (0x0220){})
>             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
>             {
>                 If ((Arg0 == ToUUID ("dc2f6c4f-045b-4f1d-97b9-882a6860a4be")))
>                 {
>                     Local0 = Package (0x12)
>                         {
>                             "CamId", 
>                             "ov2680", 
>                             "CamType", 
>                             "1", 
>                             "CsiPort", 
>                             "0", 
>                             "CsiLanes", 
>                             "1", 
>                             "CsiFmt", 
>                             "15", 
>                             "CsiBayer", 
>                             "0", 
>                             "CamClk", 
>                             "1", 
>                             "Regulator1p8v", 
>                             "0", 
>                             "Regulator2p8v", 
>                             "0"
>                         }
>                     Return (Local0)
>                 }
> 
> The code there at atomisp_gmin_platform has an EFI parser, but it assumes
> that the information would be stored on a different way.
> 
> Kernel has support for reading data from _DSM, via acpi_evaluate_dsm().
> 
> I suspect that it should be doable to use such infra and remove the
> TA101HA DMI match. This will likely allow covering more devices that
> could also be using the same EFI UUID.
> 
> 3) Switch the driver to use pm_runtime stuff. Right now, it probes the
> existing PMIC code and sensors call it directly.
> 
> 4) There's a problem at the sensor drivers (I hacked the ov2880
> to avoid that): when trying to set a video format, atomisp calls 
> the sensor drivers with the sensor turned off. This causes them
> to fail.
> 
> I guess the right fix would be to power on the sensor when a video
> device is opened (or at the first VIDIOC_ ioctl - except for
> VIDIOC_QUERYCAP), powering it down at close() syscall.
> 
> 5) There are several issues related to memory management, causing
> crashes. This is probably something that we need to fix asap.
> 
> The atomisp splits the memory management on three separate regions:
> 
> 	- dynamic pool;
> 	- reserved pool;
> 	- generic pool
> 
> The code implementing it is at:
> 
> 	drivers/staging/media/atomisp/pci/hmm/
> 
> It also has a separate code for managing DMA buffers at:
> 	
> 	drivers/staging/media/atomisp/pci/mmu/
> 
> The code there is really dirty, ugly and probably wrong. I fixed
> one bug there already, but the best would be to just trash it and use
> something else. Maybe the code from the newer intel driver could
> serve as a model:
> 
> 	drivers/staging/media/ipu3/ipu3-mmu.c
> 
> But converting it to use something like that is painful and may
> cause some breakages.
> 
> 6) there is some issue at the frame receive logic. This is currently
> my main focus.
> 
> Btw, this is the branch I'm using on my tests:
> 
> 	https://git.linuxtv.org/mchehab/experimental.git/log/?h=atomisp_v3
> 
> It has basically the stuff from linux-media, plus the ACPI patch
> that enables the OpRegion:
> 
> 	https://git.linuxtv.org/mchehab/experimental.git/commit/?h=atomisp_v3&id=d8613fcbb3c9cb21b6818b0245e320054ecb5deb

Btw, this can also be useful:

	https://git.linuxtv.org/mchehab/experimental.git/log/?h=yocto_intel_aero_ported_v2

This is basically the Yocto Aero patchset from:

	https://github.com/intel-aero/meta-intel-aero-base

applied on the top of Kernel 4.4.76 and then ported to 
Kernel 5.7-rc2, making it run there.

On such version, I tried to preserve the patch history as much
as possible and minimize the changes, while not touching at the media
framework. This version contains 3 new I2C sensor drivers.

From the new sensors, I ported only the ov8858 code to be built
on the top of v5.7-rc2, but aiming another device I have here,
using ipu3. So, it got removed from all atomisp-dependent code.

Thanks,
Mauro

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT,PULL] Ressurect the atomisp staging driver
  2020-05-16 19:53   ` Finn Rayment
@ 2020-05-19 17:37     ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-05-19 17:37 UTC (permalink / raw)
  To: Finn Rayment; +Cc: linux-media

Em Sat, 16 May 2020 21:53:14 +0200
Finn Rayment <finn@rayment.fr> escreveu:

> On 16/5/20 11:54, Mauro Carvalho Chehab wrote:
> > Em Sat, 16 May 2020 15:23:57 +0200
> > Finn Rayment <finn@rayment.fr> escreveu:
> >   
> >> Hello,
> >>
> >> I've cloned HEAD from atomisp_v2 (commit bb1407f0d...), tried to compile
> >> it on a T100TA and have received the following error:
> >>
> >> arch/x86/kvm/../../../virt/kvm/kvm_main.c: In function
> >> __kvm_gfn_to_hva_cache_init:
> >> arch/x86/kvm/../../../virt/kvm/kvm_main.c:2442:42: error: nr_pages_avail
> >> may be used uninitialized in this function [-Werror=maybe-uninitialized]
> >>
> >> Commenting out the third line in arch/x86/kvm/Makefile has solved this
> >> for me. Aside from warnings, this is the only error I receive during
> >> compilation.
> >>
> >> After installing the kernel and booting to Arch Linux, it gets stuck at
> >> "Loading initial ramdisk" with no extra information even with
> >> `loglevel=7` set. I will try to diagnose the issue and ensure I haven't
> >> incorrectly installed the kernel - will also try to compile on another
> >> computer.
> >>
> >> Let me know if I can offer any other help or more information, I would
> >> love to contribute to the development of these drivers.
> >>
> >> Regards,
> >> Finn.  
> > 
> > Let me enclose the .config file I used here. Perhaps using the same one
> > as a starting point would help building it.
> > 
> > Thanks,
> > Mauro
> >   
> 
> Thank you for the config. I've tried compiling on the T100TA itself and 
> a second computer and on both I am receiving this error now:
> 
> make[1]: *** [kernel/Makefile:136: kernel/kheaders_data.tar.xz] Error 127
> make: *** [Makefile:1722: kernel] Error 2
> make: *** Waiting for unfinished jobs....
> 
> I am unable to finish generating the modules because of this.

Weird. Why it is requiring a tarball to build the Kernel? Never saw that
before.
Thanks,
Mauro

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [GIT,PULL] Ressurect the atomisp staging driver
       [not found] ` <20200516115459.4a24063b@coco.lan>
@ 2020-05-16 19:53   ` Finn Rayment
  2020-05-19 17:37     ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 26+ messages in thread
From: Finn Rayment @ 2020-05-16 19:53 UTC (permalink / raw)
  To: linux-media

On 16/5/20 11:54, Mauro Carvalho Chehab wrote:
> Em Sat, 16 May 2020 15:23:57 +0200
> Finn Rayment <finn@rayment.fr> escreveu:
> 
>> Hello,
>>
>> I've cloned HEAD from atomisp_v2 (commit bb1407f0d...), tried to compile
>> it on a T100TA and have received the following error:
>>
>> arch/x86/kvm/../../../virt/kvm/kvm_main.c: In function
>> __kvm_gfn_to_hva_cache_init:
>> arch/x86/kvm/../../../virt/kvm/kvm_main.c:2442:42: error: nr_pages_avail
>> may be used uninitialized in this function [-Werror=maybe-uninitialized]
>>
>> Commenting out the third line in arch/x86/kvm/Makefile has solved this
>> for me. Aside from warnings, this is the only error I receive during
>> compilation.
>>
>> After installing the kernel and booting to Arch Linux, it gets stuck at
>> "Loading initial ramdisk" with no extra information even with
>> `loglevel=7` set. I will try to diagnose the issue and ensure I haven't
>> incorrectly installed the kernel - will also try to compile on another
>> computer.
>>
>> Let me know if I can offer any other help or more information, I would
>> love to contribute to the development of these drivers.
>>
>> Regards,
>> Finn.
> 
> Let me enclose the .config file I used here. Perhaps using the same one
> as a starting point would help building it.
> 
> Thanks,
> Mauro
> 

Thank you for the config. I've tried compiling on the T100TA itself and 
a second computer and on both I am receiving this error now:

make[1]: *** [kernel/Makefile:136: kernel/kheaders_data.tar.xz] Error 127
make: *** [Makefile:1722: kernel] Error 2
make: *** Waiting for unfinished jobs....

I am unable to finish generating the modules because of this.

Regards,
Finn.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [GIT,PULL] Ressurect the atomisp staging driver
@ 2020-05-16 13:23 Finn Rayment
       [not found] ` <20200516115459.4a24063b@coco.lan>
  0 siblings, 1 reply; 26+ messages in thread
From: Finn Rayment @ 2020-05-16 13:23 UTC (permalink / raw)
  To: linux-media

Hello,

I've cloned HEAD from atomisp_v2 (commit bb1407f0d...), tried to compile 
it on a T100TA and have received the following error:

arch/x86/kvm/../../../virt/kvm/kvm_main.c: In function 
__kvm_gfn_to_hva_cache_init:
arch/x86/kvm/../../../virt/kvm/kvm_main.c:2442:42: error: nr_pages_avail 
may be used uninitialized in this function [-Werror=maybe-uninitialized]

Commenting out the third line in arch/x86/kvm/Makefile has solved this 
for me. Aside from warnings, this is the only error I receive during 
compilation.

After installing the kernel and booting to Arch Linux, it gets stuck at 
"Loading initial ramdisk" with no extra information even with 
`loglevel=7` set. I will try to diagnose the issue and ensure I haven't 
incorrectly installed the kernel - will also try to compile on another 
computer.

Let me know if I can offer any other help or more information, I would 
love to contribute to the development of these drivers.

Regards,
Finn.

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, back to index

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-01 19:57 [GIT PULL] Ressurect the atomisp staging driver Mauro Carvalho Chehab
2020-05-02  6:03 ` Greg KH
2020-05-20  7:48   ` Mauro Carvalho Chehab
2020-05-03  9:19 ` Francescodario Cuzzocrea
2020-05-03 10:07   ` Mauro Carvalho Chehab
2020-05-03 15:32   ` Mauro Carvalho Chehab
     [not found]     ` <CADnVkj96W0QfthukTKQ0a-i2fH1buooH3BEgfy22J9H9=_PcKA@mail.gmail.com>
2020-05-03 16:07       ` Patrik Gfeller
2020-05-04  8:16         ` Patrik Gfeller
2020-05-04  8:49           ` Mauro Carvalho Chehab
2020-05-04 10:45             ` Patrik Gfeller
2020-05-04 12:08               ` Mauro Carvalho Chehab
2020-05-04 13:44                 ` Patrik Gfeller
2020-05-15  8:32                   ` Mauro Carvalho Chehab
2020-05-15  9:10                     ` Hans de Goede
2020-05-15  9:42                       ` Mauro Carvalho Chehab
2020-05-19  7:39                         ` Mauro Carvalho Chehab
2020-05-19 17:36                           ` Mauro Carvalho Chehab
2020-05-22 10:46                             ` Hans de Goede
2020-05-22 11:42                               ` Mauro Carvalho Chehab
2020-05-23  8:00                                 ` Mauro Carvalho Chehab
2020-05-15  9:37                   ` Ressurect the atomisp staging driver - current progress Mauro Carvalho Chehab
2020-05-06 15:10                 ` [GIT PULL] Ressurect the atomisp staging driver Mauro Carvalho Chehab
2020-05-03  9:23 ` bosconovic
2020-05-16 13:23 [GIT,PULL] " Finn Rayment
     [not found] ` <20200516115459.4a24063b@coco.lan>
2020-05-16 19:53   ` Finn Rayment
2020-05-19 17:37     ` Mauro Carvalho Chehab

Linux-Media Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-media/0 linux-media/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-media linux-media/ https://lore.kernel.org/linux-media \
		linux-media@vger.kernel.org
	public-inbox-index linux-media

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-media


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git