intel / ipu6-drivers

GNU General Public License v2.0
160 stars 51 forks source link

Engineer release on 2023-04-03 #128

Closed hao-yao closed 1 year ago

bjesus commented 1 year ago

Will we be able to use this on an unpatched 6.2 kernel, or do we still need to wait for https://github.com/intel/ipu6-drivers/pull/84 to be merged?

hao-yao commented 1 year ago

Will we be able to use this on an unpatched 6.2 kernel, or do we still need to wait for #84 to be merged?

Hi, this branch is for Intel's internal use. IPU6 driver can use on a unpatched 6.2 kernel now, but some camera sensor driver still cannot -- they have too much dependencies now.

bjesus commented 1 year ago

Hey @hao-yao , is there any way to know which camera sensors will work and which will not? I want to upgrade my kernel but I'm not sure if I can. My current logs show

[   12.404785] intel-ipu6 intel-ipu: Found supported sensor INT3474:01
[   12.404827] intel-ipu6 intel-ipu: Connected 1 cameras
[   12.405578] intel-ipu6 intel-ipu: Sending BOOT_LOAD to CSE
[   12.422846] intel-ipu6 intel-ipu: Sending AUTHENTICATE_RUN to CSE
[   12.493034] intel-ipu6 intel-ipu: CSE authenticate_run done
[   12.493066] intel-ipu6 intel-ipu: IPU6-v3 driver version 1.0
[   12.493693] intel-ipu6-isys intel-ipu6-isys0: bind ov2740 19-0036 nlanes is 2 port is 1
hao-yao commented 1 year ago

[ 12.493693] intel-ipu6-isys intel-ipu6-isys0: bind ov2740 19-0036 nlanes is 2 port is 1

This line means camera ov2740 is registered as a subdevice of IPU6, which means kernel driver is successful.

bjesus commented 1 year ago

The above is what I get with a patched kernel. My question is whether my camera will work also with an unpatched kernel?

hao-yao commented 1 year ago

The above is what I get with a patched kernel. My question is whether my camera will work also with an unpatched kernel?

No, because privacy LED won't work on unpatched kernel before 6.3. However, ov2740 can be powered on and output stream with only its reset pin pulled high. If you think this means "work", the answer is yes.

bjesus commented 1 year ago

If I used kernel 6.3rc7, will everything work?

bjesus commented 1 year ago

Seems like DKMS doesn't work 6.3rc7, I'm getting this error:

  CC [M]  /var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6/ipu6-isys-gpc.o
/var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6/../cio2-bridge.c: In function ‘cio2_bridge_unregister_sensors’:
/var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6/../cio2-bridge.c:296:17: error: implicit declaration of function ‘software_node_unregister_nodes’; did you mean ‘software_node_unregister’? [-Werror=implicit-function-declaration]
  296 |                 software_node_unregister_nodes(sensor->swnodes);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                 software_node_unregister
  CC [M]  /var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6/../ipu-isys-csi2-be-soc.o
  CC [M]  /var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6/../ipu-fw-isys.o
  CC [M]  /var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6/../ipu-isys-video.o
/var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6/../cio2-bridge.c: In function ‘cio2_bridge_connect_sensor’:
/var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6/../cio2-bridge.c:355:23: error: implicit declaration of function ‘software_node_register_nodes’; did you mean ‘software_node_register’? [-Werror=implicit-function-declaration]
  355 |                 ret = software_node_register_nodes(sensor->swnodes);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                       software_node_register
  CC [M]  /var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6/../ipu-isys-queue.o
/var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6/../ipu-isys-csi2.c:473:1: warning: ‘csi2_try_fmt’ defined but not used [-Wunused-function]
  473 | csi2_try_fmt(struct ipu_isys_video *av,
      | ^~~~~~~~~~~~
  CC [M]  /var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6/../ipu-isys-subdev.o
  CC [M]  /var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6/../ipu-psys.o
  CC [M]  /var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6/ipu6-psys.o
cc1: some warnings being treated as errors
  CC [M]  /var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6/ipu-resources.o
make[4]: *** [scripts/Makefile.build:252: /var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6/../cio2-bridge.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [scripts/Makefile.build:494: /var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel/ipu6] Error 2
make[2]: *** [scripts/Makefile.build:494: /var/lib/dkms/ipu6-drivers/0.0.0/build/drivers/media/pci/intel] Error 2
make[1]: *** [Makefile:2025: /var/lib/dkms/ipu6-drivers/0.0.0/build] Error 2
make: *** [Makefile:71: all] Error 2
hao-yao commented 1 year ago

If I used kernel 6.3rc7, will everything work?

I have not started to work on kernel v6.3.

bjesus commented 1 year ago

Thanks. It seems like it doesn't work with 6.3 for now. I wonder if merging https://github.com/intel/ipu6-drivers/pull/84 will allow many people to use their cameras more easily. It's a real pain right now and every time I update my system I'm afraid the camera will stop working.