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

Update i915 PXP and MEI Driver to DII client. #17

Open
wants to merge 171 commits into
base: main
Choose a base branch
from

Conversation

jsunintel
Copy link

No description provided.

princyko and others added 30 commits August 19, 2024 10:06
Update GuC for ALDERLAKE_S , ALDERLAKE_P, MTL and DG2 to version
GuC v70.29.2.

Suggested-by: Mazlan, Hazwan Arif <[email protected]>
Signed-off-by: Kooran Paul, Princy <[email protected]>
Signed-off-by: Junxiao Chang <[email protected]>
Change Description:
Support IMX390 on kernel 6.6.

Test Platform:
MTL

Signed-off-by: hepengpx <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
Support LT6911UXE on kernel 6.6.

Signed-off-by: linya14x <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
ipu6: Try to load FW from 2 patchs

Signed-off-by: Hao Yao <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
media: Fix headers missing in out-of-tree build

Signed-off-by: Hao Yao <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
IPU bridge make some update to instantiate the vcm
in async callback instead of in bridge driver to
avoid dead-lock.

Signed-off-by: Hongju Wang <[email protected]>
Signed-off-by: Hao Yao <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
media: pci: intel: print stream handle for token

Signed-off-by: hepengpx <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
add support for imx390 on mtl

Signed-off-by: hepengpx <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
media: intel-ipu6: backup the mmu pointer before remove bus devices

Signed-off-by: Bingbu Cao <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
Change psys_freq to readable and writable, and delete psys_force_freq.

Signed-off-by: linya14x <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
media: i2c: ar0234: set min csi port value to 0 for MTL

Signed-off-by: Ng Khai Wen <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
fix UXC failed to launch preview after changing resolution issue.
use START_AND_CAPTURE
use START ,then CAPTURE

Test Platform:
ADL, RPL, MTL

Signed-off-by: linya14x <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:

Signed-off-by: Bingbu Cao <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
Support IMX390 on kernel 6.6.
Fix gpio default value check issue.
Fix stop 2nd stream, 1st stream entity be set to NULL issue.
Support MIPI PORT 0 for MTL.

Test Platform:
MTL

Signed-off-by: hepengpx <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
Do NULL check before source_pad dereference

Signed-off-by: hepengpx <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
media: intel-ipu6: update some coding style to align with Chromeos

Signed-off-by: Bingbu Cao <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Test Platform:
tglrvp
volteer

Signed-off-by: Sergey Senozhatsky <[email protected]>
Signed-off-by: Bingbu Cao <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
media: intel-ipu6: use vm_insert_pages() for newer kernel

Signed-off-by: Bingbu Cao <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
bus devices will release the isys and psys devices, it is
unsafe to use the isp->isys/psys to reference the mmu, so
move the mmu cleanup before bus_del_devices().

Test Platform:
tglrvp
volteer

Signed-off-by: Bingbu Cao <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
pcim_iomap_regions() and pcim_enable_device() are used in the probe.
So the corresponding managed resources don't need to be freed
explicitly in the remove function.

Remove the unnecessary pci_release_regions() and pci_disable_device().

Test Platform:
tglrvp
volteer

Signed-off-by: Christophe JAILLET <[email protected]>
Signed-off-by: Bingbu Cao <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
[Changes]
Fix build issue on Chrome.

[Test Platform]
TWL

Signed-off-by: Qingwu Zhang <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
media: pci: Clean kernel default log

Signed-off-by: linya14x <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
media: pci: intel: fix compile error for [missing-prototypes]

Signed-off-by: zouxiaoh <[email protected]>
Change Description:
media: i2c: platform: fix multiple compile errors

Signed-off-by: zouxiaoh <[email protected]>
Signed-off-by: Chen Meng J <[email protected]>
Change Description:
When hotplugging, timeout will happen. When Ctrl+C, unplugged capture will
run into stop_stream, in which function, still plugged capture will be
stop then start again. But for split uxc, still plugged capture start fail.
Then,still plugged capture will also run into stop_stream, and due to start
failure, ip of still plugged capture is NULL. So, when deference ip in
is_support_vc, system is hung.
So, move is_support_vc to the part after the check whether ip is empty.

Test Platform:
RPL

Signed-off-by: hepengpx <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
add isx031 acpi pdata

Signed-off-by: jiabinhe <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
Change Description:
enable isx031

Signed-off-by: jiabinhe <[email protected]>
Signed-off-by: zouxiaoh <[email protected]>
This is the 6.6.48 stable release

# gpg verification failed.

# By Matthieu Baerts (NGI0) (29) and others
# Via Greg Kroah-Hartman
* tag 'v6.6.48': (724 commits)
  Linux 6.6.48
  tools: move alignment-related macros to new <linux/align.h>
  Input: MT - limit max slots
  Revert "s390/dasd: Establish DMA alignment"
  net: ngbe: Fix phy mode set to external phy
  ksmbd: fix race condition between destroy_previous_session() and smb2 operations()
  drm/amdgpu/vcn: not pause dpg for unified queue
  drm/amdgpu/vcn: identify unified queue in sw init
  NFSD: simplify error paths in nfsd_svc()
  selftests/bpf: Add a test to verify previous stacksafe() fix
  bpf: Fix a kernel verifier crash in stacksafe()
  mm/numa: no task_numa_fault() call if PTE is changed
  mm/numa: no task_numa_fault() call if PMD is changed
  ALSA: timer: Relax start tick time check for slave timer elements
  igc: Fix qbv tx latency by setting gtxoffset
  drm/panel: nt36523: Set 120Hz fps for xiaomi,elish panels
  drm/msm/mdss: specify cfg bandwidth for SDM670
  hwmon: (ltc2992) Fix memory leak in ltc2992_parse_dt()
  tcp: do not export tcp_twsk_purge()
  platform/x86/intel/ifs: Call release_firmware() when handling errors.
  ...

# Conflicts:
#	drivers/net/ethernet/intel/igc/igc_tsn.c
Adding enable_rc6 parameter for enable/disable power saving.

Signed-off-by: James Xiong <[email protected]>
Reviewed-by: Matt Roper <[email protected]>
xyzhao2018 and others added 9 commits December 11, 2024 07:03
Add epoll support for SPI devices transfers based on the per SPI device
interrupt mechanism provided by the Virtio SPI controller.

Tracked-On: OAM-125192
Tracked-On: OAM-127459
Signed-off-by: Zhao, Shirley <[email protected]>
Signed-off-by: Qiang Zhang <[email protected]>
Signed-off-by: Qi Zhang <[email protected]>
Porting virtio-camera driver for the Android14.

This driver is originally designed by
Dmitry Osipenko <[email protected]>.
Link:
https://gitlab.collabora.com/dmitry.osipenko/
linux-kernel-rd/-/tree/virtio-camera

Also extend its functions to support multiple video streams
for one virtio-camera instance.
Per stream per /dev/videoX.

Tracked-On: OAM-125247
Tracked-On: OAM-127456
Tracked-On: OAM-127455
Tracked-On: OAM-125249
Signed-off-by: Zhangwei6 <[email protected]>
Signed-off-by: Zhao, Shirley <[email protected]>
Now the virtio-fs has a bad performance.
For improves its performance, we let the virtio-fs
driver to support multiple virtqueues and
create a separate done-work queue.

Keeping these improvements in the virtio-fs driver,
and combining them with changes and parameter configurations
in the backend, we can see some performance
improvements. For example, rand_read performance can be
increased from the original 300+MB/s to 400+MB/s.

Test done:
   Configure virtio-fs, then start the VM
   and you can use virtio-fs normally in the VM
   Also use the fio tool to see its performance.

Tracked-On: OAM-125247
Tracked-On: OAM-127456
Tracked-On: OAM-127455
Tracked-On: OAM-125249
Signed-off-by: Zhangwei6 <[email protected]>
Signed-off-by: Shiqing Gao <[email protected]>
Signed-off-by: Zhao, Shirley <[email protected]>
This patch add alloc memory from ivshmem feature.

move the virtio-camera patch to open source repo.

Tracked-On: OAM-125247
Tracked-On: OAM-127456
Tracked-On: OAM-127455
Tracked-On: OAM-125249
Signed-off-by: Zhao, Shirley <[email protected]>
Signed-off-by: Chenli Wei <[email protected]>
For virtio-input devices, writing to config area is defined as selecting
config pages. But in virtio over shmem implement, this operation is not
supported. The W/A is to update config area upon config selection in BE,
and delay a short while after cfg write in FE. This delay does not reduce
performance as it only happens during init stage.

Test done:
Using keyboard/mouse/touchscreen over virtio-input on QNX

Tracked-On: OAM-125247
Tracked-On: OAM-127456
Tracked-On: OAM-127455
Tracked-On: OAM-125249
Signed-off-by: Zhao, Shirley <[email protected]>
Signed-off-by: Wu Zhou <[email protected]>
 This patch extends UIO PCI generic driver to
  support MSI-X interrupt.

Tracked-On: OAM-125247
Tracked-On: OAM-127456
Tracked-On: OAM-127455
Tracked-On: OAM-125249
Signed-off-by: Yuan Liu <[email protected]>
Signed-off-by: Yonghua Huang <[email protected]>
Signed-off-by: Zhao, Shirley <[email protected]>
  this patch to enable per-application notification support
  when enabling ivhsmem doorbell feature.

Tracked-On: OAM-125247
Tracked-On: OAM-127456
Tracked-On: OAM-127455
Tracked-On: OAM-125249
Signed-off-by: Zhao, Shirley <[email protected]>
Signed-off-by: Yonghua Huang <[email protected]>
this fix reboot bt failure init issue in VM env.

Tracked-On: OAM-125247
Tracked-On: OAM-127456
Tracked-On: OAM-127455
Tracked-On: OAM-125249
Signed-off-by: Austin Sun <[email protected]>
1. dkms: optimize the dg2 kernel driver loading time
    loaded the dGPU drvier as kernel module on boot stage,
    before that the driver loaded after init process lunched
    that took more time for driver working.

2. dkms: add module load parameters for i915_ag.ko
    nuclear_pageflip=1 enable_guc=0x7 max_vfs=7 modeset=1 fastboot=1

Tracked-On: OAM-127461
Signed-off-by: Zhao, Shirley <[email protected]>
Signed-off-by: yiyang.wang <[email protected]>
@sysopenci
Copy link

Improper Commit Message
Tracked on not found in commit message,
make sure Tracked-On: Jira-ticket is present.

The driver tracks the time spent by NPU executing jobs
and shares it through sysfs `npu_busy_time_us` file.
It can be then used by user space applications to monitor device
utilization.

NPU is considered 'busy' starting with a first job submitted
to firmware and ending when there is no more jobs pending/executing.

Tracked-On: OAM-128674
Signed-off-by: Tomasz Rusinowicz <[email protected]>
Signed-off-by: Jacek Lawrynowicz <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/accel/ivpu?id=0adff3b0ef12483a79dc8415b94547853d26d1f3
Signed-off-by: Zhao, Shirley <[email protected]>
@sysopenci
Copy link

Improper Commit Message
Tracked on not found in commit message,
make sure Tracked-On: Jira-ticket is present.

simonami99 pushed a commit that referenced this pull request Jan 15, 2025
[ Upstream commit 826cc42adf44930a633d11a5993676d85ddb0842 ]

My colleague Wupeng found the following problems during fault injection:

BUG: unable to handle page fault for address: fffffbfff809d073
PGD 6e648067 P4D 123ec8067 PUD 123ec4067 PMD 100e38067 PTE 0
Oops: Oops: 0000 [#1] PREEMPT SMP KASAN NOPTI
CPU: 5 UID: 0 PID: 755 Comm: modprobe Not tainted 6.12.0-rc3+ #17
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.16.1-2.fc37 04/01/2014
RIP: 0010:__asan_load8+0x4c/0xa0
...
Call Trace:
 <TASK>
 blkdev_put_whole+0x41/0x70
 bdev_release+0x1a3/0x250
 blkdev_release+0x11/0x20
 __fput+0x1d7/0x4a0
 task_work_run+0xfc/0x180
 syscall_exit_to_user_mode+0x1de/0x1f0
 do_syscall_64+0x6b/0x170
 entry_SYSCALL_64_after_hwframe+0x76/0x7e

loop_init() is calling loop_add() after __register_blkdev() succeeds and
is ignoring disk_add() failure from loop_add(), for loop_add() failure
is not fatal and successfully created disks are already visible to
bdev_open().

brd_init() is currently calling brd_alloc() before __register_blkdev()
succeeds and is releasing successfully created disks when brd_init()
returns an error. This can cause UAF for the latter two case:

case 1:
    T1:
modprobe brd
  brd_init
    brd_alloc(0) // success
      add_disk
        disk_scan_partitions
          bdev_file_open_by_dev // alloc file
          fput // won't free until back to userspace
    brd_alloc(1) // failed since mem alloc error inject
  // error path for modprobe will release code segment
  // back to userspace
  __fput
    blkdev_release
      bdev_release
        blkdev_put_whole
          bdev->bd_disk->fops->release // fops is freed now, UAF!

case 2:
    T1:                            T2:
modprobe brd
  brd_init
    brd_alloc(0) // success
                                   open(/dev/ram0)
    brd_alloc(1) // fail
  // error path for modprobe

                                   close(/dev/ram0)
                                   ...
                                   /* UAF! */
                                   bdev->bd_disk->fops->release

Fix this problem by following what loop_init() does. Besides,
reintroduce brd_devices_mutex to help serialize modifications to
brd_list.

Fixes: 7f9b348 ("brd: convert to blk_alloc_disk/blk_cleanup_disk")
Reported-by: Wupeng Ma <[email protected]>
Signed-off-by: Yang Erkun <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jens Axboe <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
simonami99 pushed a commit that referenced this pull request Jan 15, 2025
commit 17af2b39daf12870cac61ffc360e62bc35798afb upstream.

The workqueue should be destroyed in mtk_jpeg_core.c since commit
09aea13 ("media: mtk-jpeg: refactor some variables"), otherwise
the below calltrace can be easily triggered.

[  677.862514] Unable to handle kernel paging request at virtual address dfff800000000023
[  677.863633] KASAN: null-ptr-deref in range [0x0000000000000118-0x000000000000011f]
...
[  677.879654] CPU: 6 PID: 1071 Comm: modprobe Tainted: G           O       6.8.12-mtk+gfa1a78e5d24b+ #17
...
[  677.882838] pc : destroy_workqueue+0x3c/0x770
[  677.883413] lr : mtk_jpegdec_destroy_workqueue+0x70/0x88 [mtk_jpeg_dec_hw]
[  677.884314] sp : ffff80008ad974f0
[  677.884744] x29: ffff80008ad974f0 x28: ffff0000d7115580 x27: ffff0000dd691070
[  677.885669] x26: ffff0000dd691408 x25: ffff8000844af3e0 x24: ffff80008ad97690
[  677.886592] x23: ffff0000e051d400 x22: ffff0000dd691010 x21: dfff800000000000
[  677.887515] x20: 0000000000000000 x19: 0000000000000000 x18: ffff800085397ac0
[  677.888438] x17: 0000000000000000 x16: ffff8000801b87c8 x15: 1ffff000115b2e10
[  677.889361] x14: 00000000f1f1f1f1 x13: 0000000000000000 x12: ffff7000115b2e4d
[  677.890285] x11: 1ffff000115b2e4c x10: ffff7000115b2e4c x9 : ffff80000aa43e90
[  677.891208] x8 : 00008fffeea4d1b4 x7 : ffff80008ad97267 x6 : 0000000000000001
[  677.892131] x5 : ffff80008ad97260 x4 : ffff7000115b2e4d x3 : 0000000000000000
[  677.893054] x2 : 0000000000000023 x1 : dfff800000000000 x0 : 0000000000000118
[  677.893977] Call trace:
[  677.894297]  destroy_workqueue+0x3c/0x770
[  677.894826]  mtk_jpegdec_destroy_workqueue+0x70/0x88 [mtk_jpeg_dec_hw]
[  677.895677]  devm_action_release+0x50/0x90
[  677.896211]  release_nodes+0xe8/0x170
[  677.896688]  devres_release_all+0xf8/0x178
[  677.897219]  device_unbind_cleanup+0x24/0x170
[  677.897785]  device_release_driver_internal+0x35c/0x480
[  677.898461]  device_release_driver+0x20/0x38
...
[  677.912665] ---[ end trace 0000000000000000 ]---

Fixes: 09aea13 ("media: mtk-jpeg: refactor some variables")
Cc: <[email protected]>
Signed-off-by: Guoqing Jiang <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
@sysopenci
Copy link

Expected syntax:
Commit message one-line summary

  Extra paragraphs can be added here.

  Longer description that explains the problem / solution
  or whatever that needs to be said

  It can contain
    multiple lines
    multiple paragraphs
    blank lines
    references

  But each paragraph must be followed by a blank line

  However, you need to keep the 'Tracked-On', 'Change-Id',
  'Signed-off-by', ..., fields in the **lastest** paragraph of
  the commit message.

  Change-Id: I9e58f79c7faf7f0edb9792e8b5322ab161331141
  Tracked-On: https://jira.server.ext/browse/PROJECTA-123
  Signed-off-by: Developer Name <[email protected]>

@sysopenci
Copy link

Improper Commit Message
Tracked on not found in commit message,
make sure Tracked-On: Jira-ticket is present.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.