[PATCH 00/20] More atomisp fixes and cleanups

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

 



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



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux