** Description changed:

  [SRU Justificaiton]
  
  [ Impact ]
  
  Latest IPU6/7 userspace framework becomes incompatible with ipu6-drivers
  using out-of-tree ipu6-isys kernel module.
  
  1. The userspace framework has to be compatible with all kernels, and
  therefore all ipu6 kernel driver revisions, available in Noble.
  
  2. There are implementation differences between the upstreamed ipu6-isys
  driver and that from out-of-tree git repository. Such differences are
  identified by a media device model name.
  
  3. The out-of-tree driver ipu6-isys used to identify itself as "ipu6",
  but while it being upstreamed, this formal name was taken to identify
  the in-tree ipu6-isys driver, and therefore demanding the out-of-tree
  one to be renamed as "ipu6-downstream" instead.
  
  4. The latest userspace framework has adopted such naming policy, so all
  the kernels that are still using out-of-tree ipu6-isys with such name
  identity must take corresponding action so that it won't be
  misidentified by the framework.
  
  [ Test Plan ]
  
  1. install kernel from -proposed pocket. When this lands -updates, it
  will be taken to compiled against generic-6.8 and linux-oem-6.8 kernels;
  before that, an experimental built is available in
  https://launchpad.net/~canonical-hwe-team/+archive/ubuntu/intermediate-
  kernel
  
  2. install necessary (ipu6/ipu7/usbio/vision) linux-modules-
  FOO-<variant> corresponding packages for the kernel.
  
  3. For kernels > v6.10 it should be using the in-tree ipu6-isys, and 
out-of-tree one for kernel < v6.10. From `v4l2-ctl` output:
  ```
  # kernel >= v6.10
  $ v4l2-ctl -D -d 1
  Driver Info:
          Driver name: intel-ipu6-isys
          Card type  : ipu6
  
- # kernel > v6.10
+ # kernel < v6.10
  $ v4l2-ctl -D -d 1
  Driver Info:
          Driver name: intel-ipu6-isys
          Card type  : ipu6-downstream
  ```
  
  4. Use https://webcamtests.com/ to verify camera availability.
  
  [ Where problems could occur ]
  
  For old userspace framework, there is no such identity checks, so the
  new identity for the out-of-tree driver doesn't have an effect for the
  existing setups.
  
  [ Other Info ]
  
  This is already part of the drivers for kernel >= v6.10, and therefore
  it affects only ipu6-drivers/noble.
  
  ========== original bug report ==========
  
  The Intel's ARL enablement release (bug 2085845) also makes use of in-
  tree IPU6 ISYS kernel modules for kernel versions >= 6.10. This is not
  optional, and the differences between the in-tree and out-of-tree isys
  kernel modules result in the need of the compatibility handling only
  available in userspace HAL >= 20241122. The new kernel driver depends on
  the new HAL.
  
  To be worse, the media device model name that used to be "ipu6" is
  chosen to serve as an identity to distinguish the upstream (in-tree) and
  downstream (out-of-tree) implementation of isys. While the upstreamed
  isys driver must use "ipu6" as the model name, it means the downstream
  one has to rename media device model as "ipu6-downstream". Since the old
  ipu6-drivers always use "ipu6", and the new HAL assumes "ipu" means the
  in-tree isys but it's not, all the old ipu6-drivers deployments has to
  rename their media device model to "ipu6-downstream" when using the new
  HAL.
  
  Then, the last problem, Noble has both oem-6.11 and oem-6.8, which
  follows the oem-6.11 will need the new HAL, and the new HAL demands
  intel-isys module built along with oem-6.8 to be renamed as
  "ipu6-downstream".
  
  Proposed fix: https://github.com/intel/ipu6-drivers/pull/310

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2092139

Title:
  Rename media device as ipu6-downstream in Noble

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ipu6-drivers/+bug/2092139/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to