This is the 6.1.57 stable release
* tag 'v6.1.57': (2054 commits)
Linux 6.1.57
xen/events: replace evtchn_rwlock with RCU
ipv6: remove one read_lock()/read_unlock() pair in rt6_check_neigh()
btrfs: file_remove_privs needs an exclusive lock in direct io write
netlink: remove the flex array from struct nlmsghdr
btrfs: fix fscrypt name leak after failure to join log transaction
btrfs: fix an error handling path in btrfs_rename()
vrf: Fix lockdep splat in output path
ipv6: remove nexthop_fib6_nh_bh()
parisc: Restore __ldcw_align for PA-RISC 2.0 processors
ksmbd: fix uaf in smb20_oplock_break_ack
ksmbd: fix race condition between session lookup and expire
x86/sev: Use the GHCB protocol when available for SNP CPUID requests
RDMA/mlx5: Fix NULL string error
RDMA/mlx5: Fix mutex unlocking on error flow for steering anchor creation
RDMA/siw: Fix connection failure handling
RDMA/srp: Do not call scsi_done() from srp_abort()
RDMA/uverbs: Fix typo of sizeof argument
RDMA/cma: Fix truncation compilation warning in make_cma_ports
RDMA/cma: Initialize ib_sa_multicast structure to 0 when join
...
Change-Id: I79b925ca5822e02e0b9f497b1db93fef0e1dadd3
Conflicts:
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
drivers/iommu/rockchip-iommu.c
drivers/power/supply/rk817_charger.c
drivers/scsi/sd.c
include/linux/pci.h
* commit '604cec4004abe5a96c734f2fab7b74809d2d742f':
soc: rockchip: rockchip_system_monitor: Fix opp_info NULL pointer
media: rockchip: vicap fixes error of access NULL point when pm resume
media: rockchip: vicap fixes error flags of devm_request_irq
pwm: rockchip: support pwm version 4
pwm: core: add oneshot_repeat and duty_offset attributes
pwm: rockchip: support more features
driver: rknpu: Fix passing 0 to PTR_ERR in rknpu_devfreq_init()
media: rockchip: vicap fixes error of rk_csirx_irq1_handler
media: rockchip: vicap fixes issue of resend the same buffer to isp
media: rockchip: vicap fixes logic error of skip frame
media: rockchip: vicap fixes rdbk buffer not send to isp with single frame mode
arm/configs: rk3308bs_aarch32_mipi_display.config add gt911
Change-Id: I97a6c31ec3c250c7a83e8d85cf7d5e0124fc4dea
In px30, rkvdec and vdpu&vepu need set grf and ensure working
in current hardware mode before running. this issue may accur
when get iommu dte_addr, thus add set_grf before, then ensure
the hardware working mode.
refer log when probe:
[ 3.040107][ T53] mpp_rkvdec ff440000.hevc: Adding to iommu group 1
[ 3.040455][ T53] mpp_rkvdec ff440000.hevc: probing start
[ 3.040939][ T53] rkvdec_init:1139: failed on clk_get clk_cabac
[ 3.040991][ T53] rkvdec_init:1142: failed on clk_get
clk_hevc_cabac
[ 3.041031][ T53] mpp_rkvdec ff440000.hevc:
reset_group->rw_sem_on=0
[ 3.041057][ T53] mpp_rkvdec ff440000.hevc:
reset_group->rw_sem_on=0
[ 3.041107][ T53] mpp_rkvdec ff440000.hevc: shared_video_cabac is
not found!
[ 3.041123][ T53] rkvdec_init:1170: No cabac reset resource define
[ 3.041141][ T53] mpp_rkvdec ff440000.hevc: shared_video_hevc_cabac
is not found!
[ 3.041156][ T53] rkvdec_init:1173: No hevc cabac reset resource
define
[ 3.042264][ T53] rk_iommu ff440440.iommu: Error during raw reset.
MMU_DTE_ADDR is not functioning
[ 3.042303][ T53] mpp_rkvdec ff440000.hevc:
px30_workaround_combo_init dte_addr 00000000
[ 3.043372][ T53] rk_iommu ff440440.iommu: Error during raw reset.
MMU_DTE_ADDR is not functioning
[ 3.044133][ T53] mpp_rkvdec ff440000.hevc: probing finish
Change-Id: I09a700e946871ef9822d44a868ff82ce085ed514
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
1.support counter, frequency meter, global control and
wave generator.
2.add struct rockchip_pwm_funcs and modify struct
rockchip_pwm_data for compatibility and extensibility.
3.rename current .enable/.config/.irq_handler to v1.
4.not to return ERRNO if failed to get irq in probing for
pwm_v3.
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I28c6a2946ccb9072f464397d6b25f4b6803fa8c5
drivers/input/touchscreen/gt9xx/gt9xx_update.c:104:5: error: unknown type name 'mm_segment_t'
drivers/input/touchscreen/gt9xx/gt9xx_update.c:3448:25: error: implicit declaration of function 'get_fs'; did you mean 'sget_fc'? [-Werror=implicit-function-declaration]
drivers/input/touchscreen/gt9xx/gt9xx_update.c:3449:5: error: implicit declaration of function 'set_fs'; did you mean 'sget_fc'? [-Werror=implicit-function-declaration]
drivers/input/touchscreen/gt9xx/gt9xx_update.c:3449:12: error: 'KERNEL_DS' undeclared (first use in this function); did you mean 'KERNFS_NS'?
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ib054bb4652595313a06faaa26d2ec65f3c9b4c67
aarch64-none-linux-gnu-ld: drivers/gpu/drm/rockchip/dw-dp.o: in function `dw_dp_send_hdr_metadata_infoframe_sdp':
drivers/gpu/drm/rockchip/dw-dp.c:2192: undefined reference to `drm_hdmi_infoframe_set_hdr_metadata'
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I47967b76f34cd317b415f37b67e23a0533ca432f
Merge made by the 'ours' strategy.
* commit '9b4205b38d4a835446ece378c344d0cae059c17f':
UPSTREAM: usb: gadget: uvc: Fix argument to sizeof() in uvc_register_video()
UPSTREAM: usb: gadget: uvc: increase worker prio to WQ_HIGHPRI
UPSTREAM: usb: gadget: uvc: ensure the vdev is unset
Change-Id: Icd702c0ded90ea85dd95905ded8c02f497b2418c
drivers/media/platform/rockchip/hdmirx/rk_hdmirx_cec.c:143:3: error: implicit declaration of function 'cec_transmit_attempt_done' [-Werror,-Wimplicit-function-declaration]
drivers/media/platform/rockchip/hdmirx/rk_hdmirx_cec.c:148:3: error: implicit declaration of function 'cec_received_msg' [-Werror,-Wimplicit-function-declaration]
drivers/media/platform/rockchip/hdmirx/rk_hdmirx_cec.c:224:14: error: implicit declaration of function 'cec_allocate_adapter' [-Werror,-Wimplicit-function-declaration]
drivers/media/platform/rockchip/hdmirx/rk_hdmirx_cec.c:224:12: error: incompatible integer to pointer conversion assigning to 'struct cec_adapter *' from 'int' [-Werror,-Wint-conversion]
drivers/media/platform/rockchip/hdmirx/rk_hdmirx.c:1068:2: error: implicit declaration of function 'cec_queue_pin_hpd_event' [-Werror,-Wimplicit-function-declaration]
drivers/media/platform/rockchip/hdmirx/rk_hdmirx.c:1077:2: error: implicit declaration of function 'cec_queue_pin_hpd_event' [-Werror,-Wimplicit-function-declaration]
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ibad7f45af8ecf9a789d7062a2b33c68c4f1541cb
Merge made by the 'ours' strategy.
* commit '6f0438f55fd59adeec0ed0f1fdd2d9dbf8791e22':
media: i2c: nvp6324: add workqueue support
Change-Id: I3fffe62bb2f5d691fa495e49f8030ff5a4746c3a
Merge made by the 'ours' strategy.
* commit '8fb9b4c3ba5caf4330c68af01505cacc5d4b11b1':
ASoC: rockchip: i2s-tdm: Register PCM before DAI component
Change-Id: Ibe2454198ab246896b9a45ccbdf8c6fb3da6c446
API snd_soc_register_component will try to rebind card per
each component register. and the ASoC allow no-pcm card instance.
devm_snd_soc_register_component
snd_soc_try_rebind_card
snd_soc_bind_card
snd_soc_add_pcm_runtime
devm_snd_dmaengine_pcm_register
So, we should register PCM before DAI component.
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I578b7c54b96cfa89fd2f8cf346832e2b68a1d355
* commit '87d068845824b89f96208feb628be75bdd2b1f1e':
drm/bridge: synopsys: Fix no sound on some TVs
spi: spidev_rkslv: Support dynamic adjustment of system performance
drm/rockchip: vop2: fix other display dev do disable and enable when disable writeback
Change-Id: If3e04127be92d57f0897432223fba9e4fea7fde5
support dual sc230ai
support master_slaver mode
Change-Id: I0b3fdffa22dd5ca0b9272e6b3f8159aeb4727208
Signed-off-by: Lan Honglin <helin.lan@rock-chips.com>
When building s390 allmodconfig after commit 9b91a65230 ("usb: gadget:
uvc: increase worker prio to WQ_HIGHPRI"), the following error occurs:
In file included from ../include/linux/string.h:253,
from ../include/linux/bitmap.h:11,
from ../include/linux/cpumask.h:12,
from ../include/linux/smp.h:13,
from ../include/linux/lockdep.h:14,
from ../include/linux/rcupdate.h:29,
from ../include/linux/rculist.h:11,
from ../include/linux/pid.h:5,
from ../include/linux/sched.h:14,
from ../include/linux/ratelimit.h:6,
from ../include/linux/dev_printk.h:16,
from ../include/linux/device.h:15,
from ../drivers/usb/gadget/function/f_uvc.c:9:
In function ‘fortify_memset_chk’,
inlined from ‘uvc_register_video’ at ../drivers/usb/gadget/function/f_uvc.c:424:2:
../include/linux/fortify-string.h:301:25: error: call to ‘__write_overflow_field’ declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror=attribute-warning]
301 | __write_overflow_field(p_size_field, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This points to the memset() in uvc_register_video(). It is clear that
the argument to sizeof() is incorrect, as uvc->vdev (a 'struct
video_device') is being zeroed out but the size of uvc->video (a 'struct
uvc_video') is being used as the third arugment to memset().
pahole shows that prior to commit 9b91a65230 ("usb: gadget: uvc:
increase worker prio to WQ_HIGHPRI"), 'struct video_device' and
'struct ucv_video' had the same size, meaning that the argument to
sizeof() is incorrect semantically but there is no visible issue:
$ pahole -s build/drivers/usb/gadget/function/f_uvc.o | grep -E "(uvc_video|video_device)\s+"
video_device 1400 4
uvc_video 1400 3
After that change, uvc_video becomes slightly larger, meaning that the
memset() will overwrite by 8 bytes:
$ pahole -s build/drivers/usb/gadget/function/f_uvc.o | grep -E "(uvc_video|video_device)\s+"
video_device 1400 4
uvc_video 1408 3
Fix the arugment to sizeof() so that there is no overwrite.
Cc: stable@vger.kernel.org
Fixes: e4ce9ed835 ("usb: gadget: uvc: ensure the vdev is unset")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20220928201921.3152163-1-nathan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(cherry picked from commit a15e17acce)
Change-Id: Id7fe8570ae7f3998593f33c01ffb63c8c89f0716
This patch is changing the simple workqueue in the gadget driver to be
allocated as async_wq with a higher priority. The pump worker, that is
filling the usb requests, will have a higher priority and will not be
scheduled away so often while the video stream is handled. This will
lead to fewer streaming underruns.
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Link: https://lore.kernel.org/r/20220907215818.2670097-1-m.grzeschik@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(cherry picked from commit 9b91a65230)
Change-Id: I3a70591f53a4040c50d723784f5e520cf2d53d99
It's hard to debug without log if folks add wrong present
gpio.
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: Ic9d54a90911d6d268830e21df90710af0a352992
1 if is_multi_overflow don't set is_first_double
2 avoid dual_sensor resume same sensor only readback once
Signed-off-by: Mingwei Yan <mingwei.yan@rock-chips.com>
Change-Id: I9c25801de47e308d6845b3549f767bd801f5e5f1
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>