Most of this series are working at the memory management abstraction. The last patch contain an important bug fix: the logic which configures the hardware pipelines add some "delay frames" that are NULL, causing the driver to crash when userspace selects a resolution different than the sensor resolution. It took me a lot of time debugging it, due to all the weirdness and abstractions with the mm/ allocation, plus the 4+ abstraction layers that it takes for the driver to actually do something. We should try to get rid of at least some of the layers as soon as possible, as it takes a lot of time to debug certain things with all those layers. Mauro Carvalho Chehab (20): media: atomisp: simplify hive_isp_css_mm_hrt wrapper media: atomisp: get rid of the hrt/hive_isp_css_mm_hrt abstraction layer media: atomisp: reduce abstraction at ia_css_memory_access media: atomisp: go one step further to drop ia_css_memory_access.c media: atomisp: get rid of mmgr_load and mmgr_store media: atomisp: get rid of unused memory_realloc code media: atomisp: change the type returned by mmgr alloc media: atomisp: get rid of memory_access.c media: atomisp: hmm_bo: untag user pointers media: atomisp: add debug message to help debugging hmm code media: atomisp: use Yocto Aero default hmm pool sizes media: atomisp: get rid of a warning message media: atomisp: fix driver caps media: atomisp: use pin_user_pages() for memory allocation media: atomisp: add debug for hmm alloc media: atomisp: improve warning for IRQ enable function media: atomisp: add debug functions for received events media: atomisp: add more comments about frame allocation media: atomisp: remove kvmalloc/kvcalloc abstractions media: atomisp: avoid OOPS due to non-existing ref_frames drivers/staging/media/atomisp/Makefile | 8 - .../staging/media/atomisp/include/hmm/hmm.h | 7 +- .../media/atomisp/include/hmm/hmm_bo.h | 11 +- .../media/atomisp/include/linux/atomisp.h | 2 + .../staging/media/atomisp/pci/atomisp_acc.c | 27 ++- .../staging/media/atomisp/pci/atomisp_cmd.c | 2 +- .../media/atomisp/pci/atomisp_compat.h | 2 +- .../media/atomisp/pci/atomisp_compat_css20.c | 19 +- .../staging/media/atomisp/pci/atomisp_fops.c | 3 - .../staging/media/atomisp/pci/atomisp_ioctl.c | 48 +---- .../media/atomisp/pci/atomisp_subdev.c | 8 +- .../staging/media/atomisp/pci/atomisp_v4l2.c | 30 +-- .../base/refcount/interface/ia_css_refcount.h | 13 +- .../atomisp/pci/base/refcount/src/refcount.c | 19 +- .../pci/hive_isp_css_common/host/debug.c | 15 +- .../hive_isp_css_common/host/debug_private.h | 9 +- .../hive_isp_css_include/host/debug_public.h | 5 +- .../memory_access/memory_access.h | 174 ------------------ .../pci/hive_isp_css_include/memory_realloc.h | 38 ---- .../staging/media/atomisp/pci/hive_types.h | 3 - drivers/staging/media/atomisp/pci/hmm/hmm.c | 35 +++- .../staging/media/atomisp/pci/hmm/hmm_bo.c | 153 +++------------ .../atomisp/pci/hrt/hive_isp_css_mm_hrt.c | 124 ------------- .../atomisp/pci/hrt/hive_isp_css_mm_hrt.h | 57 ------ .../media/atomisp/pci/ia_css_frame_public.h | 2 +- .../media/atomisp/pci/ia_css_memory_access.c | 85 --------- .../staging/media/atomisp/pci/ia_css_pipe.h | 2 +- .../pci/isp/kernels/bh/bh_2/ia_css_bh.host.c | 1 - .../isp/kernels/dvs/dvs_1.0/ia_css_dvs.host.c | 5 +- .../isp/kernels/dvs/dvs_1.0/ia_css_dvs.host.h | 2 +- .../raw_aa_binning_1.0/ia_css_raa.host.c | 1 - .../isp/kernels/ref/ref_1.0/ia_css_ref.host.c | 13 +- .../kernels/ref/ref_1.0/ia_css_ref_param.h | 4 +- .../kernels/sdis/sdis_1.0/ia_css_sdis.host.c | 13 +- .../kernels/sdis/sdis_2/ia_css_sdis2.host.c | 9 +- .../kernels/tnr/tnr_1.0/ia_css_tnr_param.h | 2 +- .../media/atomisp/pci/memory_realloc.c | 81 -------- .../media/atomisp/pci/mmu/sh_mmu_mrfld.c | 1 - .../atomisp/pci/runtime/binary/src/binary.c | 8 +- .../pci/runtime/debug/src/ia_css_debug.c | 5 +- .../atomisp/pci/runtime/event/src/event.c | 1 - .../frame/interface/ia_css_frame_comm.h | 4 +- .../atomisp/pci/runtime/frame/src/frame.c | 38 ++-- .../isp_param/interface/ia_css_isp_param.h | 2 +- .../pci/runtime/isp_param/src/isp_param.c | 15 +- .../pci/runtime/pipeline/src/pipeline.c | 5 +- .../pci/runtime/queue/src/queue_access.c | 11 +- .../runtime/rmgr/interface/ia_css_rmgr_vbuf.h | 3 +- .../atomisp/pci/runtime/rmgr/src/rmgr_vbuf.c | 6 +- .../runtime/spctrl/interface/ia_css_spctrl.h | 2 +- .../atomisp/pci/runtime/spctrl/src/spctrl.c | 17 +- drivers/staging/media/atomisp/pci/sh_css.c | 52 ++---- .../media/atomisp/pci/sh_css_firmware.c | 9 +- .../media/atomisp/pci/sh_css_firmware.h | 2 +- .../media/atomisp/pci/sh_css_host_data.c | 2 +- .../media/atomisp/pci/sh_css_internal.h | 76 ++++---- .../media/atomisp/pci/sh_css_metrics.c | 9 +- .../staging/media/atomisp/pci/sh_css_mmu.c | 1 - .../media/atomisp/pci/sh_css_param_dvs.c | 21 +-- .../media/atomisp/pci/sh_css_param_shading.c | 3 +- .../staging/media/atomisp/pci/sh_css_params.c | 161 ++++++++-------- .../staging/media/atomisp/pci/sh_css_params.h | 12 +- drivers/staging/media/atomisp/pci/sh_css_sp.c | 18 +- .../staging/media/atomisp/pci/sh_css_struct.h | 2 +- 64 files changed, 437 insertions(+), 1081 deletions(-) delete mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/memory_access/memory_access.h delete mode 100644 drivers/staging/media/atomisp/pci/hive_isp_css_include/memory_realloc.h delete mode 100644 drivers/staging/media/atomisp/pci/hrt/hive_isp_css_mm_hrt.c delete mode 100644 drivers/staging/media/atomisp/pci/hrt/hive_isp_css_mm_hrt.h delete mode 100644 drivers/staging/media/atomisp/pci/ia_css_memory_access.c delete mode 100644 drivers/staging/media/atomisp/pci/memory_realloc.c -- 2.26.2 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel