Message ID | 20200501215741.3be05695@coco.lan (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [GIT,PULL] Ressurect the atomisp staging driver | expand |
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
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
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
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
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
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
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
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
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
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
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
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
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.
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. >
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
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
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
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
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
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
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
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
Hi, On 5/23/20 10:00 AM, Mauro Carvalho Chehab wrote: <snip> > 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 for the info, that might be useful later. Note ATM I'm swamped with a lot of other stuff, so I have no idea when I will have time to scratch my itch wrt to looking at this. And TBH I'm waiting for you to reach that all important milestone of actually getting some sort of picture outside of the sensor before I start sinking time into this :) Regards, Hans
Em Wed, 27 May 2020 18:23:26 +0200 Hans de Goede <hdegoede@redhat.com> escreveu: > Hi, > > On 5/23/20 10:00 AM, Mauro Carvalho Chehab wrote: > > <snip> > > > 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 for the info, that might be useful later. > > Note ATM I'm swamped with a lot of other stuff, so I have no idea > when I will have time to scratch my itch wrt to looking at this. > > And TBH I'm waiting for you to reach that all important milestone > of actually getting some sort of picture outside of the sensor > before I start sinking time into this :) :-D Today, I was able to (at least partially) fix an issue that was causing an OOPS when using a scaler. I also got rid of the Kernel 3.10 fork of get_user_pages(). Still, the free logic seems to be losing some pages: [ 71.472835] BUG: non-zero pgtables_bytes on freeing mm: 4096 From the driver fixing, that's probably the next step. I want to be sure that the mm/ code is reliable enough, before trying to identify what's wrong at the image side. Btw, the firmware is actually split into several different binaries: $ sudo su -c "echo 5 >/sys/bus/pci/drivers/atomisp-isp2/dbgopt" $ dmesg [11105.369532] atomisp-isp2 0000:00:03.0: Num1 binary id is 0, name is isp_copy_var [11105.369537] atomisp-isp2 0000:00:03.0: Num2 binary id is 2, name is isp_vf_pp_full [11105.369540] atomisp-isp2 0000:00:03.0: Num3 binary id is 3, name is isp_vf_pp_opt [11105.369543] atomisp-isp2 0000:00:03.0: Num4 binary id is 60, name is isp_capture_pp_var_bli [11105.369546] atomisp-isp2 0000:00:03.0: Num5 binary id is 61, name is isp_capture_pp_ldc [11105.369549] atomisp-isp2 0000:00:03.0: Num6 binary id is 5, name is isp_capture_pp_var [11105.369605] atomisp-isp2 0000:00:03.0: Num7 binary id is 4, name is isp_yuv_scale_var [11105.369609] atomisp-isp2 0000:00:03.0: Num8 binary id is 6, name is isp_preisp_var [11105.369611] atomisp-isp2 0000:00:03.0: Num9 binary id is 7, name is isp_preisp_var_isp2 [11105.369614] atomisp-isp2 0000:00:03.0: Num10 binary id is 58, name is isp_pre_de_var_isp2 [11105.369617] atomisp-isp2 0000:00:03.0: Num11 binary id is 8, name is isp_gdc_var [11105.369620] atomisp-isp2 0000:00:03.0: Num12 binary id is 11, name is isp_anr_var [11105.369623] atomisp-isp2 0000:00:03.0: Num13 binary id is 12, name is isp_anr_var_isp2 [11105.369626] atomisp-isp2 0000:00:03.0: Num14 binary id is 9, name is isp_postisp_var [11105.369629] atomisp-isp2 0000:00:03.0: Num15 binary id is 10, name is isp_postisp_var_isp2 [11105.369632] atomisp-isp2 0000:00:03.0: Num16 binary id is 15, name is isp_preview_dec [11105.369634] atomisp-isp2 0000:00:03.0: Num17 binary id is 16, name is isp_preview_cont_bds125_isp2 [11105.369637] atomisp-isp2 0000:00:03.0: Num18 binary id is 17, name is isp_preview_cont_dpc_bds150_isp2 [11105.369640] atomisp-isp2 0000:00:03.0: Num19 binary id is 19, name is isp_preview_cont_dpc_bds200_isp2 [11105.369643] atomisp-isp2 0000:00:03.0: Num20 binary id is 18, name is isp_preview_cont_bds150_isp2 [11105.369646] atomisp-isp2 0000:00:03.0: Num21 binary id is 20, name is isp_preview_cont_bds200_isp2 [11105.369649] atomisp-isp2 0000:00:03.0: Num22 binary id is 21, name is isp_preview_var [11105.369652] atomisp-isp2 0000:00:03.0: Num23 binary id is 22, name is isp_preview_var_isp2 [11105.369655] atomisp-isp2 0000:00:03.0: Num24 binary id is 24, name is isp_primary_var [11105.369657] atomisp-isp2 0000:00:03.0: Num25 binary id is 25, name is isp_primary_var_isp2 [11105.369660] atomisp-isp2 0000:00:03.0: Num26 binary id is 26, name is isp_primary_small [11105.369663] atomisp-isp2 0000:00:03.0: Num27 binary id is 27, name is isp_primary_striped [11105.369666] atomisp-isp2 0000:00:03.0: Num28 binary id is 28, name is isp_primary_striped_isp2 [11105.369669] atomisp-isp2 0000:00:03.0: Num29 binary id is 29, name is isp_primary_8mp [11105.369672] atomisp-isp2 0000:00:03.0: Num30 binary id is 30, name is isp_primary_14mp [11105.369675] atomisp-isp2 0000:00:03.0: Num31 binary id is 31, name is isp_primary_16mp [11105.369677] atomisp-isp2 0000:00:03.0: Num32 binary id is 33, name is isp_primary_isp261_stage0 [11105.369680] atomisp-isp2 0000:00:03.0: Num33 binary id is 34, name is isp_primary_isp261_stage1 [11105.369683] atomisp-isp2 0000:00:03.0: Num34 binary id is 35, name is isp_primary_isp261_stage2 [11105.369686] atomisp-isp2 0000:00:03.0: Num35 binary id is 36, name is isp_primary_isp261_stage3 [11105.369689] atomisp-isp2 0000:00:03.0: Num36 binary id is 37, name is isp_primary_isp261_stage4 [11105.369691] atomisp-isp2 0000:00:03.0: Num37 binary id is 38, name is isp_primary_isp261_stage5 [11105.369694] atomisp-isp2 0000:00:03.0: Num38 binary id is 42, name is isp_video_dz [11105.369697] atomisp-isp2 0000:00:03.0: Num39 binary id is 44, name is isp_video_high [11105.369700] atomisp-isp2 0000:00:03.0: Num40 binary id is 45, name is isp_video_nodz [11105.369703] atomisp-isp2 0000:00:03.0: Num41 binary id is 46, name is isp_video_cont_multibds_isp2_min [11105.369706] atomisp-isp2 0000:00:03.0: Num42 binary id is 47, name is isp_video_cont_bds_300_600_isp2_min [11105.369709] atomisp-isp2 0000:00:03.0: Num43 binary id is 48, name is isp_video_cont_dpc_bds150_isp2_min [11105.369712] atomisp-isp2 0000:00:03.0: Num44 binary id is 50, name is isp_video_cont_dpc_bds200_isp2_min [11105.369715] atomisp-isp2 0000:00:03.0: Num45 binary id is 49, name is isp_video_cont_bds150_isp2_min [11105.369717] atomisp-isp2 0000:00:03.0: Num46 binary id is 51, name is isp_video_cont_bds200_isp2_min [11105.369720] atomisp-isp2 0000:00:03.0: Num47 binary id is 52, name is isp_video_cont_nobds_isp2_min [11105.369723] atomisp-isp2 0000:00:03.0: Num48 binary id is 53, name is isp_video_dz_isp2_min [11105.369726] atomisp-isp2 0000:00:03.0: Num49 binary id is 54, name is isp_video_dz_isp2 [11105.369729] atomisp-isp2 0000:00:03.0: Num50 binary id is 55, name is isp_video_lp_isp2 Based on the name of some of those binaries, it sounds that there are some binaries that are resolution-specific: [11105.369669] atomisp-isp2 0000:00:03.0: Num29 binary id is 29, name is isp_primary_8mp [11105.369672] atomisp-isp2 0000:00:03.0: Num30 binary id is 30, name is isp_primary_14mp [11105.369675] atomisp-isp2 0000:00:03.0: Num31 binary id is 31, name is isp_primary_16mp I'm currently using the Intel Aero firmware, which is meant for a different sensor model. I'm wandering if such firmware has everything needed for the sensor. One of the things that could be done in parallel would be to use different firmwares and see if they would produce a different pipeline setting. Thanks, Mauro