Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GIT PULL] media updates for v5.15-rc1 #3

Closed
wants to merge 197 commits into from

Conversation

ammarfaizi2
Copy link
Owner

The following changes since commit c500bee1c5b2f1d59b1081ac879d73268ab0ff17:

  Linux 5.14-rc4 (2021-08-01 17:04:17 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media tags/media/v5.15-1

for you to fetch changes up to 9c3a0f285248899dfa81585bc5d5bc9ebdb8fead:

  Merge tag 'v5.14-rc4' into media_tree (2021-08-05 16:28:43 +0200)

----------------------------------------------------------------
media updates for v5.15-rc1

----------------------------------------------------------------
Andy Shevchenko (8):
      media: atomisp: Remove unused declarations
      media: atomisp: Annotate a couple of definitions with __maybe_unused
      media: atomisp: Remove unused port_enabled variable
      media: atomisp: Move MIPI_PORT_LANES to the only user
      media: atomisp: Remove unused declarations
      media: atomisp: Annotate a couple of definitions with __maybe_unused
      media: atomisp: Remove unused port_enabled variable
      media: atomisp: Move MIPI_PORT_LANES to the only user

Aniket Bhattacharyea (2):
      media: atomisp: Fix whitespace at the beginning of line
      media: atomisp: Fix whitespace at the beginning of line

Baokun Li (1):
      media: atomisp: use list_splice_init in atomisp_compat_css20.c

Bhaskar Chowdhury (1):
      media: atomisp-ov2680: A trivial typo fix

Bingbu Cao (3):
      media: ov2740: use group write for digital gain
      media: ov9734: use group write for digital gain
      media: ov8856: ignore gpio and regulator for ov8856 with ACPI

Christophe JAILLET (2):
      media: saa7134: switch from 'pci_' to 'dma_' API
      media: cxd2880-spi: Fix an error handling path

Colin Ian King (3):
      media: atomisp: remove redundant initialization of variable ret
      media: saa7164: remove redundant continue statement
      media: venus: venc: Fix potential null pointer dereference on pointer fmt

Dafna Hirschfeld (2):
      media: rkisp1: remove field 'vaddr' from 'rkisp1_buffer'
      media: rkisp1: cap: initialize dma buf address in 'buf_init' cb

Dan Carpenter (2):
      media: v4l2-subdev: fix some NULL vs IS_ERR() checks
      media: rockchip/rga: fix error handling in probe

Deborah Brouwer (1):
      media: cec-pin: rename timer overrun variables

Deepak R Varma (2):
      media: atomisp: pci: reposition braces as per coding style
      media: atomisp: pci: reposition braces as per coding style

Dinghao Liu (1):
      media: atomisp: Fix runtime PM imbalance in atomisp_pci_probe

Dmitrii Wolf (1):
      media: atomisp: pci: fixed a curly bracket coding style issue.

Dongliang Mu (4):
      media: dvb-usb: fix uninit-value in dvb_usb_adapter_dvb_init
      media: dvb-usb: fix uninit-value in vp702x_read_mac_addr
      media: dvb-usb: Fix error handling in dvb_usb_i2c_init
      media: em28xx-input: fix refcount bug in em28xx_usb_disconnect

Eugen Hristev (1):
      media: atmel: atmel-sama5d2-isc: fix YUYV format

Evgeny Novikov (2):
      media: platform: stm32: unprepare clocks at handling errors in probe
      media: tegra-cec: Handle errors of clk_prepare_enable()

Ezequiel Garcia (7):
      media: gspca: Drop default m
      media: hantro: vp8: Move noisy WARN_ON to vpu_debug
      media: hantro: Make struct hantro_variant.init() optional
      media: hantro: Avoid redundant hantro_get_{dst,src}_buf() calls
      media: hantro: h264: Move DPB valid and long-term bitmaps
      media: hantro: h264: Move reference picture number to a helper
      media: hantro: Enable H.264 on Rockchip VDPU2

Fabio Estevam (3):
      media: dt-bindings: adv7180: Introduce the 'reset-gpios' property
      media: i2c: adv7180: Print the chip ID on probe
      media: dt-bindings: adv7180: Introduce 'adv,force-bt656-4' property

Fabio M. De Francesco (4):
      media: atomisp: pci: Remove checks before kfree/kvfree
      media: atomisp: pci: Remove unnecessary (void *) cast
      media: atomisp: pci: Remove checks before kfree/kvfree
      media: atomisp: pci: Remove unnecessary (void *) cast

Frieder Schrempf (1):
      media: adv7180: Add optional reset GPIO

Hans Verkuil (4):
      media: include/uapi/linux/cec.h: typo: SATERDAY -> SATURDAY
      media: vivid: increase max number of allowed
      media: media/cec-core.rst: update adap_enable doc
      media: v4l2-dv-timings.c: fix wrong condition in two for-loops

Herman (5):
      media: drivers/media/pci/tw5864/Tw5864-reg.h: fix typo issues
      media: drivers/media/usb/gspca: fix typo Fliker -> Flicker
      media: drivers/media/platform/davinci/vpfe_capture.c : fix typo Proabably > Probably
      media: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c : fix typo 'in deed imporant' > 'indeed important'
      media: drivers/media/platform/marvell-ccic/mcam-core.c : fix typo 'gettig' > 'getting'

Jernej Skrabec (2):
      media: hevc: Add segment address field
      media: cedrus: hevc: Add support for multiple slices

Jiabing Wan (2):
      media: atomisp: Align block comments
      media: atomisp: Align block comments

Jonas Karlman (1):
      media: hantro: Add H.264 support for Rockchip VDPU2

Ján Čáni (1):
      media: dvbsky: add support for MyGica T230C2_LITE and T230A

Kees Cook (2):
      media: atomisp: Perform a single memset() for union
      media: atomisp: Perform a single memset() for union

Krzysztof Hałasa (4):
      media: TDA1997x: enable EDID support
      media: Fix cosmetic error in TDA1997x driver
      media: TDA1997x: fix tda1997x_query_dv_timings() return value
      media: TDA1997x: report -ENOLINK after disconnecting HDMI source

Laurent Pinchart (5):
      media: imx258: Rectify mismatch of VTS value
      media: dt-bindings: media: nxp,imx7-csi: Add i.MX8MM support
      media: imx: imx7-media-csi: Set TWO_8BIT_SENSOR for >= 10-bit formats
      media: imx: imx7-media-csi: Don't set PIXEL_BIT in CSICR1
      media: imx: imx7-media-csi: Fix buffer return upon stream start failure

Mansur Alisha Shaik (2):
      media: venus: helper: do not set constrained parameters for UBWC
      media: venus: venc: add support for V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM control

Martin Kepplinger (2):
      media: dt-bindings: media: document the nxp,imx8mq-mipi-csi2 receiver phy and controller
      media: imx: add a driver for i.MX8MQ mipi csi rx phy and controller

Martina Krasteva (6):
      media: dt-bindings: media: Add bindings for imx335
      media: i2c: Add imx335 camera sensor driver
      media: dt-bindings: media: Add bindings for imx412
      media: i2c: Add imx412 camera sensor driver
      media: dt-bindings: media: Add bindings for ov9282
      media: i2c: Add ov9282 camera sensor driver

Martiros Shakhzadyan (10):
      media: atomisp: Resolve goto style issue in sh_css.c
      media: atomisp: Remove unnecessary parens in sh_css.c
      media: atomisp: Use kcalloc instead of kzalloc with multiply in sh_css.c
      media: atomisp: Fix line continuation style issue in sh_css.c
      media: atomisp: i2c: Remove a superfluous else clause in atomisp-mt9m114.c
      media: atomisp: Resolve goto style issue in sh_css.c
      media: atomisp: Remove unnecessary parens in sh_css.c
      media: atomisp: Use kcalloc instead of kzalloc with multiply in sh_css.c
      media: atomisp: Fix line continuation style issue in sh_css.c
      media: atomisp: i2c: Remove a superfluous else clause in atomisp-mt9m114.c

Matthew Michilot (1):
      media: i2c: adv7180: fix adv7280 BT.656-4 compatibility

Mauro Carvalho Chehab (6):
      media: dib8000: rewrite the init prbs logic
      media: sti: don't copy past the size
      media: uvc: don't do DMA on stack
      media: ivtv: prevent going past the hw arrays
      Merge commit 'c3cdc019a6bf' into media_tree
      Merge tag 'v5.14-rc4' into media_tree

Nguyen Dinh Phi (2):
      media: atomisp: Use sysfs_emit() instead of sprintf() where appropriate
      media: atomisp: Use sysfs_emit() instead of sprintf() where appropriate

Paul Kocialkowski (3):
      media: hantro: Add support for the Rockchip PX30
      media: dt-bindings: media: rockchip-vpu: Add PX30 compatible
      media: v4l2-subdev: Fix documentation of the subdev_notifier member

Pavel Skripkin (6):
      media: go7007: fix memory leak in go7007_usb_probe
      media: go7007: remove redundant initialization
      media: stkwebcam: fix memory leak in stk_camera_probe
      media: atomisp: remove useless breaks
      media: atomisp: remove dublicate code
      media: atomisp: remove useless returns

Philipp Zabel (1):
      media: coda: fix frame_mem_ctrl for YUV420 and YVU420 formats

Ricardo Ribalda (1):
      media: atomisp: Fix typo "accesible"

Sakari Ailus (9):
      media: Documentation: media: Improve camera sensor documentation
      media: Documentation: media: Fix v4l2-async kerneldoc syntax
      media: Documentation: v4l: Fix V4L2_CID_PIXEL_RATE documentation
      media: Documentation: v4l: Improve frame rate configuration documentation
      media: Documentation: v4l: Rework LP-11 documentation, add callbacks
      media: v4l: subdev: Add pre_streamon and post_streamoff callbacks
      media: ccs: Implement support for manual LP control
      media: v4l2-flash: Add sanity checks for flash and indicator controls
      media: v4l2-flash: Check whether setting LED brightness succeeded

Sean Young (5):
      media: rc-loopback: return number of emitters rather than error
      media: rc-loopback: use dev_dbg() rather than handrolled debug
      media: rc-loopback: send carrier reports
      media: rc-loopback: max_timeout of UINT_MAX does not work
      media: rc: rename s_learning_mode() to s_wideband_receiver()

Shaokun Zhang (2):
      media: atomisp: remove the repeated declaration
      media: atomisp: remove the repeated declaration

Stanimir Varbanov (3):
      media: docs: ext-ctrls-codec: Document cyclic intra-refresh zero control value
      media: v4l2-ctrls: Add intra-refresh period control
      media: venus: venc: Add support for intra-refresh period

Tom Rix (4):
      media: ti-vpe: cal: fix indexing of cal->ctx[] in cal_probe()
      media: atomisp: improve error handling in gc2235_detect()
      media: atomisp: improve error handling in gc2235_detect()
      media: imx: imx7_mipi_csis: convert some switch cases to the default

Tomi Valkeinen (35):
      media: ti-vpe: cal: add g/s_parm for legacy API
      media: ti-vpe: cal: fix error handling in cal_camerarx_create
      media: ti-vpe: cal: remove unused cal_camerarx->dev field
      media: ti-vpe: cal: rename "sensor" to "source"
      media: ti-vpe: cal: move global config from cal_ctx_wr_dma_config to runtime resume
      media: ti-vpe: cal: use v4l2_get_link_freq
      media: ti-vpe: cal: add cal_ctx_prepare/unprepare
      media: ti-vpe: cal: change index and cport to u8
      media: ti-vpe: cal: Add CSI2 context
      media: ti-vpe: cal: Add pixel processing context
      media: ti-vpe: cal: rename cal_ctx->index to dma_ctx
      media: ti-vpe: cal: rename CAL_HL_IRQ_MASK
      media: ti-vpe: cal: clean up CAL_CSI2_VC_IRQ_* macros
      media: ti-vpe: cal: catch VC errors
      media: ti-vpe: cal: remove wait when stopping camerarx
      media: ti-vpe: cal: disable csi2 ctx and pix proc at ctx_stop
      media: ti-vpe: cal: allocate pix proc dynamically
      media: ti-vpe: cal: add 'use_pix_proc' field
      media: ti-vpe: cal: add cal_ctx_wr_dma_enable and fix a race
      media: ti-vpe: cal: add vc and datatype fields to cal_ctx
      media: ti-vpe: cal: handle cal_ctx_v4l2_register error
      media: ti-vpe: cal: set field always to V4L2_FIELD_NONE
      media: ti-vpe: cal: fix typo in a comment
      media: ti-vpe: cal: add mbus_code support to cal_mc_enum_fmt_vid_cap
      media: ti-vpe: cal: rename non-MC funcs to cal_legacy_*
      media: ti-vpe: cal: init ctx->v_fmt correctly in MC mode
      media: ti-vpe: cal: remove cal_camerarx->fmtinfo
      media: ti-vpe: cal: support 8 DMA contexts
      media: ti-vpe: cal: cleanup phy iteration in cal_remove
      media: ti-vpe: cal: fix ctx uninitialization
      media: ti-vpe: cal: fix queuing of the initial buffer
      media: ti-vpe: cal: add camerarx locking
      media: ti-vpe: cal: add camerarx enable/disable refcounting
      media: ti-vpe: cal: allow more than 1 source pads
      media: ti-vpe: cal: add embedded data support

Umang Jain (1):
      media: imx258: Limit the max analogue gain to 480

Uwe Kleine-König (2):
      media: usb: dvb-usb-v2: af9035: report if i2c client isn't bound
      media: usb: dvb-usb-v2: af9035: let subdrv autoselect enable si2168 and si2157

Viktor Prutyanov (2):
      media: rc: meson-ir-tx: document device tree bindings
      media: rc: introduce Meson IR TX driver

Wei Yongjun (1):
      media: omap3isp: Fix missing unlock in isp_subdev_notifier_complete()

Xavier Roumegue (1):
      media: ov5640: Complement yuv mbus formats with their 1X16 versions

Yang Yingliang (3):
      media: saa7134: convert list_for_each to entry variant
      media: atomisp: pci: fix error return code in atomisp_pci_probe()
      media: atomisp: pci: fix error return code in atomisp_pci_probe()

Yizhuo (2):
      media: atomisp: fix the uninitialized use and rename "retvalue"
      media: atomisp: fix the uninitialized use and rename "retvalue"

Zhen Lei (5):
      media: mc-device.c: use DEVICE_ATTR_RO() helper macro
      media: i2c: et8ek8: use DEVICE_ATTR_RO() helper macro
      media: i2c: use DEVICE_ATTR_RO() helper macro
      media: exynos4-is: use DEVICE_ATTR_RW() helper macro
      media: venus: hfi: fix return value check in sys_get_prop_image_version()

lijian (5):
      media: i2c: tvp5150: deleted the repeated word
      media: rc: streamzap: Removed unnecessary 'return'
      media: rc: redrat3: Fix a typo
      media: rc: rc-main.c: deleted the repeated word
      media: dvb-frontends: cx24117: Delete 'break' after 'goto'

 .../bindings/media/amlogic,meson-ir-tx.yaml        |   60 +
 .../devicetree/bindings/media/i2c/adv7180.yaml     |    8 +
 .../devicetree/bindings/media/i2c/ovti,ov9282.yaml |   91 ++
 .../devicetree/bindings/media/i2c/sony,imx335.yaml |   91 ++
 .../devicetree/bindings/media/i2c/sony,imx412.yaml |   91 ++
 .../devicetree/bindings/media/nxp,imx7-csi.yaml    |   12 +-
 .../bindings/media/nxp,imx8mq-mipi-csi2.yaml       |  174 +++
 .../devicetree/bindings/media/rockchip-vpu.yaml    |    1 +
 Documentation/driver-api/media/camera-sensor.rst   |   45 +-
 Documentation/driver-api/media/cec-core.rst        |    9 +-
 Documentation/driver-api/media/csi2.rst            |   94 --
 Documentation/driver-api/media/index.rst           |    2 +-
 Documentation/driver-api/media/tx-rx.rst           |  133 ++
 .../userspace-api/media/cec.h.rst.exceptions       |    2 +-
 .../userspace-api/media/v4l/ext-ctrls-codec.rst    |   22 +-
 .../media/v4l/ext-ctrls-image-process.rst          |   29 +-
 MAINTAINERS                                        |   27 +
 drivers/media/cec/core/cec-pin-priv.h              |    4 +-
 drivers/media/cec/core/cec-pin.c                   |   20 +-
 drivers/media/cec/platform/stm32/stm32-cec.c       |   26 +-
 drivers/media/cec/platform/tegra/tegra_cec.c       |   10 +-
 drivers/media/dvb-frontends/cx24117.c              |    1 -
 drivers/media/dvb-frontends/dib8000.c              |   58 +-
 drivers/media/i2c/Kconfig                          |   42 +
 drivers/media/i2c/Makefile                         |    4 +-
 drivers/media/i2c/adv7180.c                        |   66 +-
 drivers/media/i2c/ccs/ccs-core.c                   |   58 +-
 drivers/media/i2c/et8ek8/et8ek8_driver.c           |    5 +-
 drivers/media/i2c/imx258.c                         |    4 +-
 drivers/media/i2c/imx335.c                         | 1129 +++++++++++++++++
 drivers/media/i2c/imx412.c                         | 1272 ++++++++++++++++++++
 drivers/media/i2c/ov2740.c                         |   26 +-
 drivers/media/i2c/ov5640.c                         |    4 +
 drivers/media/i2c/ov8856.c                         |   27 +-
 drivers/media/i2c/ov9282.c                         | 1137 +++++++++++++++++
 drivers/media/i2c/ov9734.c                         |   24 +-
 drivers/media/i2c/tda1997x.c                       |   11 +-
 drivers/media/i2c/tvp5150.c                        |    2 +-
 drivers/media/mc/mc-device.c                       |    4 +-
 drivers/media/pci/ivtv/ivtv-cards.h                |   68 +-
 drivers/media/pci/ivtv/ivtv-i2c.c                  |   16 +-
 drivers/media/pci/saa7134/saa7134-alsa.c           |    4 +-
 drivers/media/pci/saa7134/saa7134-core.c           |    7 +-
 drivers/media/pci/saa7164/saa7164-cmd.c            |    3 -
 drivers/media/pci/tw5864/tw5864-reg.h              |    2 +-
 drivers/media/platform/atmel/atmel-sama5d2-isc.c   |   17 +
 drivers/media/platform/coda/coda-bit.c             |   18 +-
 drivers/media/platform/davinci/vpfe_capture.c      |    2 +-
 drivers/media/platform/exynos4-is/media-dev.c      |   13 +-
 drivers/media/platform/marvell-ccic/mcam-core.c    |    2 +-
 drivers/media/platform/omap3isp/isp.c              |    4 +-
 drivers/media/platform/qcom/venus/core.h           |    2 +
 drivers/media/platform/qcom/venus/helpers.c        |    3 +
 drivers/media/platform/qcom/venus/hfi_cmds.c       |    8 +
 drivers/media/platform/qcom/venus/hfi_helper.h     |    5 +
 drivers/media/platform/qcom/venus/hfi_msgs.c       |    2 +-
 drivers/media/platform/qcom/venus/venc.c           |   40 +
 drivers/media/platform/qcom/venus/venc_ctrls.c     |   38 +-
 drivers/media/platform/rcar-vin/rcar-v4l2.c        |    4 +-
 drivers/media/platform/rockchip/rga/rga.c          |   27 +-
 .../platform/rockchip/rkisp1/rkisp1-capture.c      |   12 +-
 .../media/platform/rockchip/rkisp1/rkisp1-common.h |    6 +-
 .../media/platform/rockchip/rkisp1/rkisp1-params.c |    3 +-
 .../media/platform/rockchip/rkisp1/rkisp1-stats.c  |    6 +-
 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c    |    2 +-
 drivers/media/platform/sti/delta/delta-ipc.c       |    3 +-
 drivers/media/platform/ti-vpe/cal-camerarx.c       |  247 ++--
 drivers/media/platform/ti-vpe/cal-video.c          |  176 ++-
 drivers/media/platform/ti-vpe/cal.c                |  278 +++--
 drivers/media/platform/ti-vpe/cal.h                |   66 +-
 drivers/media/platform/ti-vpe/cal_regs.h           |   53 +-
 drivers/media/platform/vsp1/vsp1_entity.c          |    4 +-
 drivers/media/rc/Kconfig                           |   10 +
 drivers/media/rc/Makefile                          |    1 +
 drivers/media/rc/ene_ir.c                          |    2 +-
 drivers/media/rc/lirc_dev.c                        |    6 +-
 drivers/media/rc/mceusb.c                          |    2 +-
 drivers/media/rc/meson-ir-tx.c                     |  407 +++++++
 drivers/media/rc/rc-loopback.c                     |   82 +-
 drivers/media/rc/rc-main.c                         |    2 +-
 drivers/media/rc/redrat3.c                         |    2 +-
 drivers/media/rc/streamzap.c                       |    2 -
 drivers/media/spi/cxd2880-spi.c                    |    7 +-
 drivers/media/test-drivers/vivid/vivid-cec.c       |    2 +-
 drivers/media/usb/dvb-usb-v2/Kconfig               |    2 +
 drivers/media/usb/dvb-usb-v2/af9035.c              |    1 +
 drivers/media/usb/dvb-usb-v2/dvbsky.c              |   37 +-
 drivers/media/usb/dvb-usb/dvb-usb-i2c.c            |    9 +-
 drivers/media/usb/dvb-usb/dvb-usb-init.c           |    2 +-
 drivers/media/usb/dvb-usb/nova-t-usb2.c            |    6 +-
 drivers/media/usb/dvb-usb/vp702x.c                 |   12 +-
 drivers/media/usb/em28xx/em28xx-input.c            |    1 -
 drivers/media/usb/go7007/go7007-driver.c           |   26 -
 drivers/media/usb/go7007/go7007-usb.c              |    2 +-
 drivers/media/usb/gspca/Kconfig                    |    1 -
 drivers/media/usb/gspca/vc032x.c                   |    6 +-
 drivers/media/usb/gspca/zc3xx.c                    |  134 +--
 drivers/media/usb/stkwebcam/stk-webcam.c           |    6 +-
 drivers/media/usb/uvc/uvc_v4l2.c                   |   34 +-
 drivers/media/v4l2-core/v4l2-ctrls-defs.c          |    2 +
 drivers/media/v4l2-core/v4l2-dv-timings.c          |    4 +-
 drivers/media/v4l2-core/v4l2-flash-led-class.c     |   80 +-
 drivers/staging/media/atomisp/i2c/atomisp-gc2235.c |   13 +-
 .../staging/media/atomisp/i2c/atomisp-mt9m114.c    |   22 +-
 drivers/staging/media/atomisp/i2c/ov2680.h         |    2 +-
 .../media/atomisp/i2c/ov5693/atomisp-ov5693.c      |    2 +-
 drivers/staging/media/atomisp/pci/atomisp_compat.h |    2 -
 .../media/atomisp/pci/atomisp_compat_css20.c       |   38 +-
 drivers/staging/media/atomisp/pci/atomisp_csi2.c   |    3 +-
 drivers/staging/media/atomisp/pci/atomisp_drvfs.c  |    6 +-
 .../media/atomisp/pci/atomisp_gmin_platform.c      |    8 +-
 drivers/staging/media/atomisp/pci/atomisp_v4l2.c   |    4 +-
 .../pci/hive_isp_css_common/host/input_system.c    |   62 -
 .../media/atomisp/pci/input_system_ctrl_defs.h     |    2 +-
 .../pci/isp/kernels/anr/anr_1.0/ia_css_anr_types.h |    4 +-
 .../media/atomisp/pci/isp2400_input_system_local.h |   32 +-
 .../media/atomisp/pci/isp_acquisition_defs.h       |    2 +-
 .../staging/media/atomisp/pci/isp_capture_defs.h   |    2 +-
 .../media/atomisp/pci/runtime/isys/src/rx.c        |   14 +-
 drivers/staging/media/atomisp/pci/sh_css.c         |   47 +-
 .../staging/media/atomisp/pci/sh_css_firmware.c    |    6 +-
 drivers/staging/media/atomisp/pci/sh_css_mipi.c    |   69 +-
 drivers/staging/media/atomisp/pci/sh_css_params.c  |  171 ++-
 drivers/staging/media/atomisp/pci/sh_css_sp.c      |  108 +-
 drivers/staging/media/atomisp/pci/sh_css_version.c |    3 +-
 drivers/staging/media/hantro/Makefile              |    1 +
 drivers/staging/media/hantro/hantro.h              |    4 +-
 drivers/staging/media/hantro/hantro_drv.c          |   11 +-
 drivers/staging/media/hantro/hantro_g1_h264_dec.c  |   48 +-
 drivers/staging/media/hantro/hantro_g1_vp8_dec.c   |   31 +-
 drivers/staging/media/hantro/hantro_h264.c         |   24 +
 drivers/staging/media/hantro/hantro_hw.h           |    8 +
 .../media/hantro/rockchip_vpu2_hw_h264_dec.c       |  491 ++++++++
 .../media/hantro/rockchip_vpu2_hw_vp8_dec.c        |   32 +-
 drivers/staging/media/hantro/rockchip_vpu_hw.c     |   43 +-
 drivers/staging/media/hantro/sama5d4_vdec_hw.c     |    6 -
 drivers/staging/media/imx/Makefile                 |    1 +
 drivers/staging/media/imx/imx7-media-csi.c         |   36 +-
 drivers/staging/media/imx/imx7-mipi-csis.c         |    6 +-
 drivers/staging/media/imx/imx8mq-mipi-csi2.c       |  991 +++++++++++++++
 drivers/staging/media/sunxi/cedrus/cedrus_h265.c   |   26 +-
 drivers/staging/media/sunxi/cedrus/cedrus_video.c  |    1 +
 drivers/staging/media/tegra-video/vi.c             |    4 +-
 include/media/dvb-usb-ids.h                        |    2 +
 include/media/hevc-ctrls.h                         |    3 +-
 include/media/rc-core.h                            |    5 +-
 include/media/v4l2-async.h                         |   30 +-
 include/media/v4l2-subdev.h                        |   27 +-
 include/uapi/linux/cec.h                           |    2 +-
 include/uapi/linux/v4l2-controls.h                 |    1 +
 150 files changed, 7973 insertions(+), 1339 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/media/amlogic,meson-ir-tx.yaml
 create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov9282.yaml
 create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx335.yaml
 create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx412.yaml
 create mode 100644 Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml
 delete mode 100644 Documentation/driver-api/media/csi2.rst
 create mode 100644 Documentation/driver-api/media/tx-rx.rst
 create mode 100644 drivers/media/i2c/imx335.c
 create mode 100644 drivers/media/i2c/imx412.c
 create mode 100644 drivers/media/i2c/ov9282.c
 create mode 100644 drivers/media/rc/meson-ir-tx.c
 create mode 100644 drivers/staging/media/hantro/rockchip_vpu2_hw_h264_dec.c
 create mode 100644 drivers/staging/media/imx/imx8mq-mipi-csi2.c

pego149 and others added 30 commits July 12, 2021 09:16
Add Geniatech MyGica T230C2_LITE and T230A as many people
are asking support for these devices on forums.

Link: https://lore.kernel.org/linux-media/YMuptIYFLdwSmw//@kali

Signed-off-by: Ján Čáni <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Fix typo in a define: CEC_OP_REC_SEQ_SATERDAY -> CEC_OP_REC_SEQ_SATURDAY

This isn't used yet in actual applications to the best of my knowledge,
and it certainly doesn't break the ABI since the value doesn't change.

Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Drop the "default m", as options should default to disabled.
No other media driver is enabled by default.

Signed-off-by: Ezequiel Garcia <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
The logic at dib8000_get_init_prbs() has a few issues:

1. the tables used there has an extra unused value at the beginning;
2. the dprintk() message doesn't write the right value when
   transmission mode is not 8K;
3. the array overflow validation is done by the callers.

Rewrite the code to fix such issues.

This should also shut up those smatch warnings:

	drivers/media/dvb-frontends/dib8000.c:2125 dib8000_get_init_prbs() error: buffer overflow 'lut_prbs_8k' 14 <= 14
	drivers/media/dvb-frontends/dib8000.c:2129 dib8000_get_init_prbs() error: buffer overflow 'lut_prbs_2k' 14 <= 14
	drivers/media/dvb-frontends/dib8000.c:2131 dib8000_get_init_prbs() error: buffer overflow 'lut_prbs_4k' 14 <= 14
	drivers/media/dvb-frontends/dib8000.c:2134 dib8000_get_init_prbs() error: buffer overflow 'lut_prbs_8k' 14 <= 14

Signed-off-by: Mauro Carvalho Chehab <[email protected]>
The logic at delta_ipc_open() tries to copy past the size of
the name passed to it:

	drivers/media/platform/sti/delta/delta-ipc.c:178 delta_ipc_open() error: __memcpy() 'name' too small (17 vs 32)

Basically,this function is called just one with:

	ret = delta_ipc_open(pctx, "JPEG_DECODER_HW0", ...);

The string used there has just 17 bytes. Yet, the logic tries
to copy the entire name size (32 bytes), which is plain wrong.

Replace it by strscpy, which is good enough to copy the string,
warranting that this will be NUL-terminated.

Signed-off-by: Mauro Carvalho Chehab <[email protected]>
As warned by smatch:
	drivers/media/usb/uvc/uvc_v4l2.c:911 uvc_ioctl_g_input() error: doing dma on the stack (&i)
	drivers/media/usb/uvc/uvc_v4l2.c:943 uvc_ioctl_s_input() error: doing dma on the stack (&i)

those two functions call uvc_query_ctrl passing a pointer to
a data at the DMA stack. those are used to send URBs via
usb_control_msg(). Using DMA stack is not supported and should
not work anymore on modern Linux versions.

So, use a kmalloc'ed buffer.

Cc: [email protected]	# Kernel 4.9 and upper
Reviewed-by: Laurent Pinchart <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
As warned by smatch:

	drivers/media/pci/ivtv/ivtv-i2c.c:245 ivtv_i2c_register() error: buffer overflow 'hw_devicenames' 21 <= 31
	drivers/media/pci/ivtv/ivtv-i2c.c:266 ivtv_i2c_register() error: buffer overflow 'hw_addrs' 21 <= 31
	drivers/media/pci/ivtv/ivtv-i2c.c:269 ivtv_i2c_register() error: buffer overflow 'hw_addrs' 21 <= 31
	drivers/media/pci/ivtv/ivtv-i2c.c:275 ivtv_i2c_register() error: buffer overflow 'hw_addrs' 21 <= 31
	drivers/media/pci/ivtv/ivtv-i2c.c:280 ivtv_i2c_register() error: buffer overflow 'hw_addrs' 21 <= 31
	drivers/media/pci/ivtv/ivtv-i2c.c:290 ivtv_i2c_register() error: buffer overflow 'hw_addrs' 21 <= 31

The logic at ivtv_i2c_register() could let buffer overflows at
hw_devicenames and hw_addrs arrays.

This won't happen in practice due to a carefully-contructed
logic, but it is not error-prune.

Change the logic in a way that will make clearer that the
I2C hardware flags will affect the size of those two
arrays, and add an explicit check to avoid buffer overflows.

While here, use the bit macro.

Reviewed-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
If HEVC frame consists of multiple slices, segment address has to be
known in order to properly decode it.

Add segment address field to slice parameters.

Signed-off-by: Jernej Skrabec <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Now that segment address is available, support for multi-slice frames
can be easily added.

Signed-off-by: Jernej Skrabec <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
change 'syncrous' into 'synchronous'

Signed-off-by: Herman <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Change 'Fliker' into 'Flicker'.

Signed-off-by: Herman <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
The variable ret is being initialized with a value that is never read,
it is being updated later on. The assignment is redundant and can be
removed.

Addresses-Coverity: ("Unused value")

Signed-off-by: Colin Ian King <[email protected]>
Acked-by: Sakari Ailus <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
SAMA5D2 does not have the YCYC field for the RLP (rounding, limiting,
packaging) module.
The YCYC field is supposed to work with interleaved YUV formats like YUYV.
In SAMA5D2, we have to use YYCC field, which is used for both planar
formats like YUV420 and interleaved formats like YUYV.
Fix the according rlp callback to replace the generic YCYC field (which
makes more sense from a logical point of view) with the required YYCC
field.

Fixes: debfa49 ("media: atmel: atmel-isc-base: add support for more formats and additional pipeline modules")
Signed-off-by: Eugen Hristev <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
…ably > Probably

Change 'Proabably' into 'Probably'.

Signed-off-by: Herman <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
deleted the repeated word 'the' in the comments.

Signed-off-by: lijian <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
The wrappers in include/linux/pci-dma-compat.h should go away.

The patch has been generated with the coccinelle script below and has been
hand modified to replace GFP_ with a correct flag.
It has been compile tested.

When memory is allocated in 'saa7134_pgtable_alloc()', GFP_KERNEL can be
used because its 4 callers (one function calls it 2 times, so there is
only 3 functions that call it):

.hw_params in a struct snd_pcm_ops (saa7134-alsa.c)
  --> snd_card_saa7134_hw_params   (saa7134-alsa.c)
    --> saa7134_pgtable_alloc
==> .hw_params function can use GFP_KERNEL

saa7134_initdev                    (saa7134-core.c)
  --> saa7134_hwinit1              (saa7134-core.c)
    --> saa7134_ts_init1           (saa7134-ts.c)
      --> saa7134_pgtable_alloc
==> saa7134_initdev already uses GFP_KERNEL

saa7134_initdev                    (saa7134-core.c)
  --> saa7134_hwinit1              (saa7134-core.c)
    --> saa7134_video_init1        (saa7134-video.c)
      --> saa7134_pgtable_alloc    (called 2 times)
==> saa7134_initdev already uses GFP_KERNEL

and no spin_lock is taken in the between.

@@ @@
-    PCI_DMA_BIDIRECTIONAL
+    DMA_BIDIRECTIONAL

@@ @@
-    PCI_DMA_TODEVICE
+    DMA_TO_DEVICE

@@ @@
-    PCI_DMA_FROMDEVICE
+    DMA_FROM_DEVICE

@@ @@
-    PCI_DMA_NONE
+    DMA_NONE

@@
expression e1, e2, e3;
@@
-    pci_alloc_consistent(e1, e2, e3)
+    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)

@@
expression e1, e2, e3;
@@
-    pci_zalloc_consistent(e1, e2, e3)
+    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)

@@
expression e1, e2, e3, e4;
@@
-    pci_free_consistent(e1, e2, e3, e4)
+    dma_free_coherent(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_map_single(e1, e2, e3, e4)
+    dma_map_single(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_unmap_single(e1, e2, e3, e4)
+    dma_unmap_single(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4, e5;
@@
-    pci_map_page(e1, e2, e3, e4, e5)
+    dma_map_page(&e1->dev, e2, e3, e4, e5)

@@
expression e1, e2, e3, e4;
@@
-    pci_unmap_page(e1, e2, e3, e4)
+    dma_unmap_page(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_map_sg(e1, e2, e3, e4)
+    dma_map_sg(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_unmap_sg(e1, e2, e3, e4)
+    dma_unmap_sg(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_single_for_cpu(e1, e2, e3, e4)
+    dma_sync_single_for_cpu(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_single_for_device(e1, e2, e3, e4)
+    dma_sync_single_for_device(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_sg_for_cpu(e1, e2, e3, e4)
+    dma_sync_sg_for_cpu(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_sg_for_device(e1, e2, e3, e4)
+    dma_sync_sg_for_device(&e1->dev, e2, e3, e4)

@@
expression e1, e2;
@@
-    pci_dma_mapping_error(e1, e2)
+    dma_mapping_error(&e1->dev, e2)

@@
expression e1, e2;
@@
-    pci_set_dma_mask(e1, e2)
+    dma_set_mask(&e1->dev, e2)

@@
expression e1, e2;
@@
-    pci_set_consistent_dma_mask(e1, e2)
+    dma_set_coherent_mask(&e1->dev, e2)

Signed-off-by: Christophe JAILLET <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
… deed imporant' > 'indeed important'

Change 'imporant' into 'important'.

Signed-off-by: Herman <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Without this patch, the TDA19971 chip's EDID is inactive.
EDID never worked with this driver, it was all tested with HDMI signal
sources which don't need EDID support.

Signed-off-by: Krzysztof Halasa <[email protected]>
Fixes: 9ac0038 ("media: i2c: Add TDA1997x HDMI receiver driver")
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
The max number of allowed logical addresses was set to 1 in
vivid, for no good reason. This prevented testing with multiple
logical addresses for the same CEC device. Increase this number to
CEC_MAX_LOG_ADDRS.

Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
…ttig' > 'getting'

Change 'gettig' into 'getting'.

Signed-off-by: Herman <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Convert list_for_each() to list_for_each_entry() where
applicable.

Signed-off-by: Yang Yingliang <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
The continue statement at the end of a for-loop has no effect,
remove it.

Addresses-Coverity: ("Continue has no effect")

Signed-off-by: Colin Ian King <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
v4l2-compliance complains about g/s_parm when using the non-MC API. Fix
it by adding the functions and just call v4l2_s/g_parm_cap for the
phy subdev.

Signed-off-by: Tomi Valkeinen <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
cal_camerarx_create() doesn't handle error returned from
cal_camerarx_sd_init_cfg(). Fix this.

Signed-off-by: Tomi Valkeinen <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
cal_camerarx->dev field is not used, remove it.

Signed-off-by: Tomi Valkeinen <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
CAL driver uses "sensor" name to refer to the subdev connected to CAL.
As the subdev can also be a bridge, the naming is misleading and might
cause the reader to think it refers to the actual sensor at the end of
the pipeline.

Rename "sensor" to "source".

Signed-off-by: Tomi Valkeinen <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
…runtime resume

For some reason CAL_CTRL is written at the end of cal_ctx_wr_dma_config.
CAL_CTRL is a global (for CAL) register, so it should be independent of
contexts.

Move the code to cal_runtime_resume().

Signed-off-by: Tomi Valkeinen <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
CAL driver uses V4L2_CID_PIXEL_RATE to get the required pixel rate, and
then changes that value to link rate before configuring the registers.

Rewrite the code to use v4l2_get_link_freq(), which simplifies the code
as we get the link rate directly, and it also adds support for
V4L2_CID_LINK_FREQ.

Signed-off-by: Tomi Valkeinen <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
In the following patches we need to do context configuration which might
fail. Add new functions, cal_ctx_prepare and cal_ctx_unprepare, to
handle such configuration.

[hverkuil: fix spurious newline checkpatch warning]

Signed-off-by: Tomi Valkeinen <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
cal_ctx's index and cport fields are numbers less than 8. In the
following patches we will get a bunch of new fields, all of which are
similar small numbers, so lets change the type to u8.

Signed-off-by: Tomi Valkeinen <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
ammarfaizi2 pushed a commit that referenced this pull request Jan 18, 2024
The variable rmnet_link_ops assign a *bigger* maxtype which leads to a
global out-of-bounds read when parsing the netlink attributes. See bug
trace below:

==================================================================
BUG: KASAN: global-out-of-bounds in validate_nla lib/nlattr.c:386 [inline]
BUG: KASAN: global-out-of-bounds in __nla_validate_parse+0x24af/0x2750 lib/nlattr.c:600
Read of size 1 at addr ffffffff92c438d0 by task syz-executor.6/84207

CPU: 0 PID: 84207 Comm: syz-executor.6 Tainted: G                 N 6.1.0 #3
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x8b/0xb3 lib/dump_stack.c:106
 print_address_description mm/kasan/report.c:284 [inline]
 print_report+0x172/0x475 mm/kasan/report.c:395
 kasan_report+0xbb/0x1c0 mm/kasan/report.c:495
 validate_nla lib/nlattr.c:386 [inline]
 __nla_validate_parse+0x24af/0x2750 lib/nlattr.c:600
 __nla_parse+0x3e/0x50 lib/nlattr.c:697
 nla_parse_nested_deprecated include/net/netlink.h:1248 [inline]
 __rtnl_newlink+0x50a/0x1880 net/core/rtnetlink.c:3485
 rtnl_newlink+0x64/0xa0 net/core/rtnetlink.c:3594
 rtnetlink_rcv_msg+0x43c/0xd70 net/core/rtnetlink.c:6091
 netlink_rcv_skb+0x14f/0x410 net/netlink/af_netlink.c:2540
 netlink_unicast_kernel net/netlink/af_netlink.c:1319 [inline]
 netlink_unicast+0x54e/0x800 net/netlink/af_netlink.c:1345
 netlink_sendmsg+0x930/0xe50 net/netlink/af_netlink.c:1921
 sock_sendmsg_nosec net/socket.c:714 [inline]
 sock_sendmsg+0x154/0x190 net/socket.c:734
 ____sys_sendmsg+0x6df/0x840 net/socket.c:2482
 ___sys_sendmsg+0x110/0x1b0 net/socket.c:2536
 __sys_sendmsg+0xf3/0x1c0 net/socket.c:2565
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3b/0x90 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7fdcf2072359
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 f1 19 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fdcf13e3168 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007fdcf219ff80 RCX: 00007fdcf2072359
RDX: 0000000000000000 RSI: 0000000020000200 RDI: 0000000000000003
RBP: 00007fdcf20bd493 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fffbb8d7bdf R14: 00007fdcf13e3300 R15: 0000000000022000
 </TASK>

The buggy address belongs to the variable:
 rmnet_policy+0x30/0xe0

The buggy address belongs to the physical page:
page:0000000065bdeb3c refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x155243
flags: 0x200000000001000(reserved|node=0|zone=2)
raw: 0200000000001000 ffffea00055490c8 ffffea00055490c8 0000000000000000
raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffffffff92c43780: f9 f9 f9 f9 00 00 00 02 f9 f9 f9 f9 00 00 00 07
 ffffffff92c43800: f9 f9 f9 f9 00 00 00 05 f9 f9 f9 f9 06 f9 f9 f9
>ffffffff92c43880: f9 f9 f9 f9 00 00 00 00 00 00 f9 f9 f9 f9 f9 f9
                                                 ^
 ffffffff92c43900: 00 00 00 00 00 00 00 00 07 f9 f9 f9 f9 f9 f9 f9
 ffffffff92c43980: 00 00 00 07 f9 f9 f9 f9 00 00 00 05 f9 f9 f9 f9

According to the comment of `nla_parse_nested_deprecated`, the maxtype
should be len(destination array) - 1. Hence use `IFLA_RMNET_MAX` here.

Fixes: 14452ca ("net: qualcomm: rmnet: Export mux_id and flags to netlink")
Signed-off-by: Lin Ma <[email protected]>
Reviewed-by: Subash Abhinov Kasiviswanathan <[email protected]>
Reviewed-by: Simon Horman <[email protected]>
Reviewed-by: Jiri Pirko <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
ammarfaizi2 pushed a commit that referenced this pull request Jan 18, 2024
Andrii Nakryiko says:

====================
Tighten up arg:ctx type enforcement

Follow up fixes for kernel-side and libbpf-side logic around handling arg:ctx
(__arg_ctx) tagged arguments of BPF global subprogs.

Patch #1 adds libbpf feature detection of kernel-side __arg_ctx support to
avoid unnecessary rewriting BTF types. With stricter kernel-side type
enforcement this is now mandatory to avoid problems with using `struct
bpf_user_pt_regs_t` instead of actual typedef. For __arg_ctx tagged arguments
verifier is now supporting either `bpf_user_pt_regs_t` typedef or resolves it
down to the actual struct (pt_regs/user_pt_regs/user_regs_struct), depending
on architecture), but for old kernels without __arg_ctx support it's more
backwards compatible for libbpf to use `struct bpf_user_pt_regs_t` rewrite
which will work on wider range of kernels. So feature detection prevent libbpf
accidentally breaking global subprogs on new kernels.

We also adjust selftests to do similar feature detection (much simpler, but
potentially breaking due to kernel source code refactoring, which is fine for
selftests), and skip tests expecting libbpf's BTF type rewrites.

Patch #2 is preparatory refactoring for patch #3 which adds type enforcement
for arg:ctx tagged global subprog args. See the patch for specifics.

Patch #4 adds many new cases to ensure type logic works as expected.

Finally, patch #5 adds a relevant subset of kernel-side type checks to
__arg_ctx cases that libbpf supports rewrite of. In libbpf's case, type
violations are reported as warnings and BTF rewrite is not performed, which
will eventually lead to BPF verifier complaining at program verification time.

Good care was taken to avoid conflicts between bpf and bpf-next tree (which
has few follow up refactorings in the same code area). Once trees converge
some of the code will be moved around a bit (and some will be deleted), but
with no change to functionality or general shape of the code.

v2->v3:
  - support `bpf_user_pt_regs_t` typedef for KPROBE and PERF_EVENT (CI);
v1->v2:
  - add user_pt_regs and user_regs_struct support for PERF_EVENT (CI);
  - drop FEAT_ARG_CTX_TAG enum leftover from patch #1;
  - fix warning about default: without break in the switch (CI).
====================

Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Alexei Starovoitov <[email protected]>
ammarfaizi2 pushed a commit that referenced this pull request Jan 18, 2024
Petr Machata says:

====================
mlxsw: Miscellaneous fixes

This patchset is a bric-a-brac of fixes for bugs impacting mlxsw.

- Patches #1 and #2 fix issues in ACL handling error paths.
- Patch #3 fixes stack corruption in ACL code that a recent FW update
  has uncovered.

- Patch #4 fixes an issue in handling of IPIP next hops.

- Patch #5 fixes a typo in a the qos_pfc selftest
- Patch #6 fixes the same selftest to work with 8-lane ports.
====================

Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
ammarfaizi2 pushed a commit that referenced this pull request Jan 23, 2024
commit ca25c00 upstream.

A failure loading the safexcel driver results in the following warning
on boot, because the IRQ affinity has not been correctly cleaned up.
Ensure we clean up the affinity and workqueues on a failure to load the
driver.

crypto-safexcel: probe of f2800000.crypto failed with error -2
------------[ cut here ]------------
WARNING: CPU: 1 PID: 232 at kernel/irq/manage.c:1913 free_irq+0x300/0x340
Modules linked in: hwmon mdio_i2c crypto_safexcel(+) md5 sha256_generic libsha256 authenc libdes omap_rng rng_core nft_masq nft_nat nft_chain_nat nf_nat nft_ct nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables libcrc32c nfnetlink fuse autofs4
CPU: 1 PID: 232 Comm: systemd-udevd Tainted: G        W          6.1.6-00002-g9d4898824677 #3
Hardware name: MikroTik RB5009 (DT)
pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : free_irq+0x300/0x340
lr : free_irq+0x2e0/0x340
sp : ffff800008fa3890
x29: ffff800008fa3890 x28: 0000000000000000 x27: 0000000000000000
x26: ffff8000008e6dc0 x25: ffff000009034cac x24: ffff000009034d50
x23: 0000000000000000 x22: 000000000000004a x21: ffff0000093e0d80
x20: ffff000009034c00 x19: ffff00000615fc00 x18: 0000000000000000
x17: 0000000000000000 x16: 0000000000000000 x15: 000075f5c1584c5e
x14: 0000000000000017 x13: 0000000000000000 x12: 0000000000000040
x11: ffff000000579b60 x10: ffff000000579b62 x9 : ffff800008bbe370
x8 : ffff000000579dd0 x7 : 0000000000000000 x6 : ffff000000579e18
x5 : ffff000000579da8 x4 : ffff800008ca0000 x3 : ffff800008ca0188
x2 : 0000000013033204 x1 : ffff000009034c00 x0 : ffff8000087eadf0
Call trace:
 free_irq+0x300/0x340
 devm_irq_release+0x14/0x20
 devres_release_all+0xa0/0x100
 device_unbind_cleanup+0x14/0x60
 really_probe+0x198/0x2d4
 __driver_probe_device+0x74/0xdc
 driver_probe_device+0x3c/0x110
 __driver_attach+0x8c/0x190
 bus_for_each_dev+0x6c/0xc0
 driver_attach+0x20/0x30
 bus_add_driver+0x148/0x1fc
 driver_register+0x74/0x120
 __platform_driver_register+0x24/0x30
 safexcel_init+0x48/0x1000 [crypto_safexcel]
 do_one_initcall+0x4c/0x1b0
 do_init_module+0x44/0x1cc
 load_module+0x1724/0x1be4
 __do_sys_finit_module+0xbc/0x110
 __arm64_sys_finit_module+0x1c/0x24
 invoke_syscall+0x44/0x110
 el0_svc_common.constprop.0+0xc0/0xe0
 do_el0_svc+0x20/0x80
 el0_svc+0x14/0x4c
 el0t_64_sync_handler+0xb0/0xb4
 el0t_64_sync+0x148/0x14c
---[ end trace 0000000000000000 ]---

Fixes: 1b44c5a ("inside-secure - add SafeXcel EIP197 crypto engine driver")
Signed-off-by: Jonathan McDowell <[email protected]>
Cc: [email protected]
Signed-off-by: Herbert Xu <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
ammarfaizi2 pushed a commit that referenced this pull request Jan 23, 2024
[ Upstream commit cba6cfd ]

An automated bot told me that there was a potential lockdep problem
with regulators. This was on the chromeos-5.15 kernel, but I see
nothing that would be different downstream compared to upstream. The
bot said:
  ============================================
  WARNING: possible recursive locking detected
  5.15.104-lockdep-17461-gc1e499ed6604 #1 Not tainted
  --------------------------------------------
  kworker/u16:4/115 is trying to acquire lock:
  ffffff8083110170 (regulator_ww_class_mutex){+.+.}-{3:3}, at: create_regulator+0x398/0x7ec

  but task is already holding lock:
  ffffff808378e170 (regulator_ww_class_mutex){+.+.}-{3:3}, at: ww_mutex_trylock+0x3c/0x7b8

  other info that might help us debug this:
   Possible unsafe locking scenario:

         CPU0
         ----
    lock(regulator_ww_class_mutex);
    lock(regulator_ww_class_mutex);

   *** DEADLOCK ***

   May be due to missing lock nesting notation

  4 locks held by kworker/u16:4/115:
   #0: ffffff808006a948 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work+0x520/0x1348
   #1: ffffffc00e0a7cc0 ((work_completion)(&entry->work)){+.+.}-{0:0}, at: process_one_work+0x55c/0x1348
   #2: ffffff80828a2260 (&dev->mutex){....}-{3:3}, at: __device_attach_async_helper+0xd0/0x2a4
   #3: ffffff808378e170 (regulator_ww_class_mutex){+.+.}-{3:3}, at: ww_mutex_trylock+0x3c/0x7b8

  stack backtrace:
  CPU: 2 PID: 115 Comm: kworker/u16:4 Not tainted 5.15.104-lockdep-17461-gc1e499ed6604 #1 9292e52fa83c0e23762b2b3aa1bacf5787a4d5da
  Hardware name: Google Quackingstick (rev0+) (DT)
  Workqueue: events_unbound async_run_entry_fn
  Call trace:
   dump_backtrace+0x0/0x4ec
   show_stack+0x34/0x50
   dump_stack_lvl+0xdc/0x11c
   dump_stack+0x1c/0x48
   __lock_acquire+0x16d4/0x6c74
   lock_acquire+0x208/0x750
   __mutex_lock_common+0x11c/0x11f8
   ww_mutex_lock+0xc0/0x440
   create_regulator+0x398/0x7ec
   regulator_resolve_supply+0x654/0x7c4
   regulator_register_resolve_supply+0x30/0x120
   class_for_each_device+0x1b8/0x230
   regulator_register+0x17a4/0x1f40
   devm_regulator_register+0x60/0xd0
   reg_fixed_voltage_probe+0x728/0xaec
   platform_probe+0x150/0x1c8
   really_probe+0x274/0xa20
   __driver_probe_device+0x1dc/0x3f4
   driver_probe_device+0x78/0x1c0
   __device_attach_driver+0x1ac/0x2c8
   bus_for_each_drv+0x11c/0x190
   __device_attach_async_helper+0x1e4/0x2a4
   async_run_entry_fn+0xa0/0x3ac
   process_one_work+0x638/0x1348
   worker_thread+0x4a8/0x9c4
   kthread+0x2e4/0x3a0
   ret_from_fork+0x10/0x20

The problem was first reported soon after we made many of the
regulators probe asynchronously, though nothing I've seen implies that
the problems couldn't have also happened even without that.

I haven't personally been able to reproduce the lockdep issue, but the
issue does look somewhat legitimate. Specifically, it looks like in
regulator_resolve_supply() we are holding a "rdev" lock while calling
set_supply() -> create_regulator() which grabs the lock of a
_different_ "rdev" (the one for our supply). This is not necessarily
safe from a lockdep perspective since there is no documented ordering
between these two locks.

In reality, we should always be locking a regulator before the
supplying regulator, so I don't expect there to be any real deadlocks
in practice. However, the regulator framework in general doesn't
express this to lockdep.

Let's fix the issue by simply grabbing the two locks involved in the
same way we grab multiple locks elsewhere in the regulator framework:
using the "wound/wait" mechanisms.

Fixes: eaa7995 ("regulator: core: avoid regulator_resolve_supply() race condition")
Signed-off-by: Douglas Anderson <[email protected]>
Link: https://lore.kernel.org/r/20230329143317.RFC.v2.2.I30d8e1ca10cfbe5403884cdd192253a2e063eb9e@changeid
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
ammarfaizi2 pushed a commit that referenced this pull request Jan 23, 2024
[ Upstream commit 05bb016 ]

ACPICA commit 770653e3ba67c30a629ca7d12e352d83c2541b1e

Before this change we see the following UBSAN stack trace in Fuchsia:

  #0    0x000021e4213b3302 in acpi_ds_init_aml_walk(struct acpi_walk_state*, union acpi_parse_object*, struct acpi_namespace_node*, u8*, u32, struct acpi_evaluate_info*, u8) ../../third_party/acpica/source/components/dispatcher/dswstate.c:682 <platform-bus-x86.so>+0x233302
  #1.2  0x000020d0f660777f in ubsan_get_stack_trace() compiler-rt/lib/ubsan/ubsan_diag.cpp:41 <libclang_rt.asan.so>+0x3d77f
  #1.1  0x000020d0f660777f in maybe_print_stack_trace() compiler-rt/lib/ubsan/ubsan_diag.cpp:51 <libclang_rt.asan.so>+0x3d77f
  #1    0x000020d0f660777f in ~scoped_report() compiler-rt/lib/ubsan/ubsan_diag.cpp:387 <libclang_rt.asan.so>+0x3d77f
  #2    0x000020d0f660b96d in handlepointer_overflow_impl() compiler-rt/lib/ubsan/ubsan_handlers.cpp:809 <libclang_rt.asan.so>+0x4196d
  #3    0x000020d0f660b50d in compiler-rt/lib/ubsan/ubsan_handlers.cpp:815 <libclang_rt.asan.so>+0x4150d
  #4    0x000021e4213b3302 in acpi_ds_init_aml_walk(struct acpi_walk_state*, union acpi_parse_object*, struct acpi_namespace_node*, u8*, u32, struct acpi_evaluate_info*, u8) ../../third_party/acpica/source/components/dispatcher/dswstate.c:682 <platform-bus-x86.so>+0x233302
  #5    0x000021e4213e2369 in acpi_ds_call_control_method(struct acpi_thread_state*, struct acpi_walk_state*, union acpi_parse_object*) ../../third_party/acpica/source/components/dispatcher/dsmethod.c:605 <platform-bus-x86.so>+0x262369
  #6    0x000021e421437fac in acpi_ps_parse_aml(struct acpi_walk_state*) ../../third_party/acpica/source/components/parser/psparse.c:550 <platform-bus-x86.so>+0x2b7fac
  #7    0x000021e4214464d2 in acpi_ps_execute_method(struct acpi_evaluate_info*) ../../third_party/acpica/source/components/parser/psxface.c:244 <platform-bus-x86.so>+0x2c64d2
  #8    0x000021e4213aa052 in acpi_ns_evaluate(struct acpi_evaluate_info*) ../../third_party/acpica/source/components/namespace/nseval.c:250 <platform-bus-x86.so>+0x22a052
  #9    0x000021e421413dd8 in acpi_ns_init_one_device(acpi_handle, u32, void*, void**) ../../third_party/acpica/source/components/namespace/nsinit.c:735 <platform-bus-x86.so>+0x293dd8
  #10   0x000021e421429e98 in acpi_ns_walk_namespace(acpi_object_type, acpi_handle, u32, u32, acpi_walk_callback, acpi_walk_callback, void*, void**) ../../third_party/acpica/source/components/namespace/nswalk.c:298 <platform-bus-x86.so>+0x2a9e98
  #11   0x000021e4214131ac in acpi_ns_initialize_devices(u32) ../../third_party/acpica/source/components/namespace/nsinit.c:268 <platform-bus-x86.so>+0x2931ac
  #12   0x000021e42147c40d in acpi_initialize_objects(u32) ../../third_party/acpica/source/components/utilities/utxfinit.c:304 <platform-bus-x86.so>+0x2fc40d
  #13   0x000021e42126d603 in acpi::acpi_impl::initialize_acpi(acpi::acpi_impl*) ../../src/devices/board/lib/acpi/acpi-impl.cc:224 <platform-bus-x86.so>+0xed603

Add a simple check that avoids incrementing a pointer by zero, but
otherwise behaves as before. Note that our findings are against ACPICA
20221020, but the same code exists on master.

Link: acpica/acpica@770653e3
Signed-off-by: Bob Moore <[email protected]>
Signed-off-by: Rafael J. Wysocki <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
ammarfaizi2 pushed a commit that referenced this pull request Jan 23, 2024
commit 614ce6a upstream.

When the dwc3 device is runtime suspended, various required clocks are in
disabled state and it is not guaranteed that access to any registers would
work. Depending on the SoC glue, a register read could be as benign as
returning 0 or be fatal enough to hang the system.

In order to prevent such scenarios of fatal errors, make sure to resume
dwc3 then allow the function to proceed.

Fixes: 72246da ("usb: Introduce DesignWare USB3 DRD Driver")
Cc: [email protected] #3.2: 30332ee: debugfs: regset32: Add Runtime PM support
Signed-off-by: Udipto Goswami <[email protected]>
Reviewed-by: Johan Hovold <[email protected]>
Tested-by: Johan Hovold <[email protected]>
Acked-by: Thinh Nguyen <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
ammarfaizi2 pushed a commit that referenced this pull request Jan 23, 2024
…d_lock() deadlock"

In commit 7e9fc61 ("Merge 5.10.143 into android13-5.10-lts")
the fix dee1e2b ("cgroup: Fix threadgroup_rwsem <->
cpus_read_lock() deadlock") was merged in.

However, it seems like the merge went awry and undid the
critical locking fix in cpuset_attach().

This causes lockdep to give the following splat:
[   35.132948] ============================================
[   35.132951] WARNING: possible recursive locking detected
[   35.132957] 5.10.157-android13-4-00001-g87c7751c5c84-dirty #1 Tainted: G           OE
[   35.132959] --------------------------------------------
[   35.132963] init/400 is trying to acquire lock:
[   35.132968] ffffffe936b8c0f0 (cpu_hotplug_lock){++++}-{0:0}, at: cpuset_attach+0x54/0x30c
[   35.132994] but task is already holding lock:
[   35.132997] ffffffe936b8c0f0 (cpu_hotplug_lock){++++}-{0:0}, at: cgroup_procs_write_start+0x98/0x28c
[   35.133016] other info that might help us debug this:
[   35.133018] Possible unsafe locking scenario:
[   35.133021] CPU0
[   35.133024] ----
[   35.133026] lock(cpu_hotplug_lock);
[   35.133033] lock(cpu_hotplug_lock);
[   35.133040]  *** DEADLOCK ***
[   35.133042] May be due to missing lock nesting notation
[   35.133046] 5 locks held by init/400:
[   35.133049] #0: ffffff880700a490 (sb_writers#9){.+.+}-{0:0}, at: vfs_write+0xc8/0x358
[   35.133073] #1: ffffff8804fdbc88 (&of->mutex){+.+.}-{4:4}, at: kernfs_fop_write_iter+0xc8/0x200
[   35.133093] #2: ffffffe936c15488 (cgroup_mutex){+.+.}-{4:4}, at: cgroup_kn_lock_live+0x80/0xe8
[   35.133112] #3: ffffffe936b8c0f0 (cpu_hotplug_lock){++++}-{0:0}, at: cgroup_procs_write_start+0x98/0x28c
[   35.133128] #4: ffffffe936c15610 (cgroup_threadgroup_rwsem){++++}-{0:0}, at: cgroup_procs_write_start+0xa8/0x28c
[   35.133149] stack backtrace:
[   35.133155] CPU: 3 PID: 400 Comm: init Tainted: G           OE     5.10.157-android13-4-00001-g87c7751c5c84-dirty #1
[   35.133159] Hardware name: Oriole DVT (DT)
[   35.133162] Call trace:
[   35.133171] dump_backtrace.cfi_jt+0x0/0x8
[   35.133178] show_stack+0x1c/0x2c
[   35.133186] dump_stack_lvl+0xe0/0x17c
[   35.133193] __lock_acquire+0x5e4/0x2fb4
[   35.133197] lock_acquire+0x100/0x210
[   35.133205] cpus_read_lock+0x7c/0x1b0
[   35.133210] cpuset_attach+0x54/0x30c
[   35.133215] cgroup_migrate_execute+0x2e4/0x568
[   35.133221] cgroup_migrate+0x104/0x120
[   35.133226] cgroup_attach_task+0x204/0x2b8
[   35.133233] __cgroup1_procs_write+0x104/0x1bc
[   35.133239] cgroup1_procs_write+0x18/0x28
[   35.133243] cgroup_file_write+0xac/0x308
[   35.133248] kernfs_fop_write_iter+0x134/0x200
[   35.133252] vfs_write+0x2e4/0x358
[   35.133256] ksys_write+0x7c/0xec
[   35.133261] __arm64_sys_write+0x20/0x30
[   35.133269] el0_svc_common.llvm.12320387402837011898+0xd4/0x1ec
[   35.133273] do_el0_svc+0x28/0xa0
[   35.133280] el0_svc+0x24/0x38
[   35.133285] el0_sync_handler+0x88/0xec
[   35.133292] el0_sync+0x1b4/0x1c0

So this patch tries to fix that merge by including the dropped
changes.

Original upstream commit: 4f7e723

Cc: Greg Kroah-Hartman <[email protected]>
Bug: 287147292
Fixes: f5094ec ("Merge 5.10.150 into android13-5.10-lts")
Signed-off-by: John Stultz <[email protected]>
Change-Id: Iaadcdc76ed9470bf02e352a5ea8b0f254a1df976
ammarfaizi2 pushed a commit that referenced this pull request Apr 26, 2024
As for ice bug fixed by commit b7306b4 ("ice: manage interrupts
during poll exit") followed by commit 23be707 ("ice: fix software
generating extra interrupts") I'm seeing the similar issue also with
i40e driver.

In certain situation when busy-loop is enabled together with adaptive
coalescing, the driver occasionally misses that there are outstanding
descriptors to clean when exiting busy poll.

Try to catch the remaining work by triggering a software interrupt
when exiting busy poll. No extra interrupts will be generated when
busy polling is not used.

The issue was found when running sockperf ping-pong tcp test with
adaptive coalescing and busy poll enabled (50 as value busy_pool
and busy_read sysctl knobs) and results in huge latency spikes
with more than 100000us.

The fix is inspired from the ice driver and do the following:
1) During napi poll exit in case of busy-poll (napo_complete_done()
   returns false) this is recorded to q_vector that we were in busy
   loop.
2) Extends i40e_buildreg_itr() to be able to add an enforced software
   interrupt into built value
2) In i40e_update_enable_itr() enforces a software interrupt trigger
   if we are exiting busy poll to catch any pending clean-ups
3) Reuses unused 3rd ITR (interrupt throttle) index and set it to
   20K interrupts per second to limit the number of these sw interrupts.

Test results
============
Prior:
[root@dell-per640-07 net]# sockperf ping-pong -i 10.9.9.1 --tcp -m 1000 --mps=max -t 120
sockperf: == version #3.10-no.git ==
sockperf[CLIENT] send on:sockperf: using recvfrom() to block on socket(s)

[ 0] IP = 10.9.9.1        PORT = 11111 # TCP
sockperf: Warmup stage (sending a few dummy messages)...
sockperf: Starting test...
sockperf: Test end (interrupted by timer)
sockperf: Test ended
sockperf: [Total Run] RunTime=119.999 sec; Warm up time=400 msec; SentMessages=2438563; ReceivedMessages=2438562
sockperf: ========= Printing statistics for Server No: 0
sockperf: [Valid Duration] RunTime=119.549 sec; SentMessages=2429473; ReceivedMessages=2429473
sockperf: ====> avg-latency=24.571 (std-dev=93.297, mean-ad=4.904, median-ad=1.510, siqr=1.063, cv=3.797, std-error=0.060, 99.0% ci=[24.417, 24.725])
sockperf: # dropped messages = 0; # duplicated messages = 0; # out-of-order messages = 0
sockperf: Summary: Latency is 24.571 usec
sockperf: Total 2429473 observations; each percentile contains 24294.73 observations
sockperf: ---> <MAX> observation = 103294.331
sockperf: ---> percentile 99.999 =   45.633
sockperf: ---> percentile 99.990 =   37.013
sockperf: ---> percentile 99.900 =   35.910
sockperf: ---> percentile 99.000 =   33.390
sockperf: ---> percentile 90.000 =   28.626
sockperf: ---> percentile 75.000 =   27.741
sockperf: ---> percentile 50.000 =   26.743
sockperf: ---> percentile 25.000 =   25.614
sockperf: ---> <MIN> observation =   12.220

After:
[root@dell-per640-07 net]# sockperf ping-pong -i 10.9.9.1 --tcp -m 1000 --mps=max -t 120
sockperf: == version #3.10-no.git ==
sockperf[CLIENT] send on:sockperf: using recvfrom() to block on socket(s)

[ 0] IP = 10.9.9.1        PORT = 11111 # TCP
sockperf: Warmup stage (sending a few dummy messages)...
sockperf: Starting test...
sockperf: Test end (interrupted by timer)
sockperf: Test ended
sockperf: [Total Run] RunTime=119.999 sec; Warm up time=400 msec; SentMessages=2400055; ReceivedMessages=2400054
sockperf: ========= Printing statistics for Server No: 0
sockperf: [Valid Duration] RunTime=119.549 sec; SentMessages=2391186; ReceivedMessages=2391186
sockperf: ====> avg-latency=24.965 (std-dev=5.934, mean-ad=4.642, median-ad=1.485, siqr=1.067, cv=0.238, std-error=0.004, 99.0% ci=[24.955, 24.975])
sockperf: # dropped messages = 0; # duplicated messages = 0; # out-of-order messages = 0
sockperf: Summary: Latency is 24.965 usec
sockperf: Total 2391186 observations; each percentile contains 23911.86 observations
sockperf: ---> <MAX> observation =  195.841
sockperf: ---> percentile 99.999 =   45.026
sockperf: ---> percentile 99.990 =   39.009
sockperf: ---> percentile 99.900 =   35.922
sockperf: ---> percentile 99.000 =   33.482
sockperf: ---> percentile 90.000 =   28.902
sockperf: ---> percentile 75.000 =   27.821
sockperf: ---> percentile 50.000 =   26.860
sockperf: ---> percentile 25.000 =   25.685
sockperf: ---> <MIN> observation =   12.277

Fixes: 0bcd952 ("ethernet/intel: consolidate NAPI and NAPI exit")
Reported-by: Hugo Ferreira <[email protected]>
Reviewed-by: Michal Schmidt <[email protected]>
Signed-off-by: Ivan Vecera <[email protected]>
Reviewed-by: Jesse Brandeburg <[email protected]>
Tested-by: Pucha Himasekhar Reddy <[email protected]> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.