[PATCH 00/20] More atomisp fixes and cleanups
Mauro Carvalho Chehab
mchehab+huawei at kernel.org
Thu May 28 06:14:00 UTC 2020
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
More information about the devel
mailing list