Submitted to kteam mailing list: "[SRU][R/N:hwe-7.0][PATCH 0/1] firmware: arm_ffa: Respect firmware advertised RX/TX buffer size limits" I checked and confirmed that the first two patches are not in N:hwe-6.17, so I believe that tree should be unaffected. -- You received this bug notification because you are subscribed to linux in Ubuntu. Matching subscriptions: Bgg, Bmail, Nb https://bugs.launchpad.net/bugs/2162012 Title: Backport: "firmware: arm_ffa: Respect firmware advertised RX/TX buffer size limits" Status in linux package in Ubuntu: New Status in linux-hwe-7.0 package in Ubuntu: New Status in linux-nvidia-7.0 package in Ubuntu: In Progress Status in linux-nvidia-bos package in Ubuntu: In Progress Status in linux-hwe-7.0 source package in Noble: In Progress Status in linux-nvidia-7.0 source package in Noble: New Status in linux-nvidia-bos source package in Noble: New Status in linux source package in Resolute: In Progress Status in linux-hwe-7.0 source package in Resolute: In Progress Status in linux-nvidia-7.0 source package in Resolute: New Status in linux-nvidia-bos source package in Resolute: New Status in linux source package in Stonking: New Status in linux-hwe-7.0 source package in Stonking: New Status in linux-nvidia-7.0 source package in Stonking: In Progress Status in linux-nvidia-bos source package in Stonking: In Progress Bug description: [ Summary ] A recent stable-update pulled two v7.1 FF-A commits into the linux-nvidia 7.0 branches, but not the third commit in the chain. The result is that FF-A fails to initialise on 64K page kernels whose firmware rejects a 64K RX/TX buffer, taking every FF-A device with it. This backports the missing fix. ### The regression Stable-updates applied these two, both of which first shipped upstream in **v7.1**: | Backport | Upstream | BugLink | |---|---|---| | `7bfaed6b412b` firmware: arm_ffa: Use the correct buffer size during RXTX_MAP | `83210251fd70` | LP #2156385 | | `105dac1d2c92` firmware: arm_ffa: Align RxTx buffer size before mapping | `0399e3f872ca` | LP #2156390 | The first makes the driver advertise `PAGE_ALIGN(rxtx_bufsz)` to firmware; the second is its follow-up fix. Both landed in `Ubuntu-nvidia-bos-7.0.0-2016.16`, the most recent tag on this branch. Earlier tags are not affected. The third commit in the chain, which fixes the fallout from the first, only landed upstream in **v7.2-rc4**: 53716a4d745f firmware: arm_ffa: Respect firmware advertised RX/TX buffer size limits [ Impact ] On a 64K page kernel the driver takes the firmware advertised minimum RX/TX buffer size, rounds it up to `PAGE_SIZE`, and asks firmware to map that. FF-A implementations before v1.2 advertise no maximum and may simply reject the rounded up size. There is no clamp and no retry, so probe fails: ARM FF-A: Driver version 1.2 ARM FF-A: Firmware version 1.1 found ARM FF-A: failed to register FFA RxTx buffers and no FF-A devices are registered at all. Anything sitting on FF-A goes with it, including TPM over FF-A. Trigger is `PAGE_SIZE` greater than the advertised minimum, so the 64K flavours. Platforms with FF-A v1.2 or later firmware are unaffected, since the advertised maximum is then respected. [ Fix ] Backport of `53716a4d745f`. It decodes the maximum buffer size that FF-A v1.2+ reports, clamps the page aligned minimum to it, and where no maximum is advertised retries `RXTX_MAP` at the advertised minimum if the rounded size is rejected with `INVALID_PARAMETERS`. [ Test Plan ] Tested on an Arm server reporting FF-A firmware version 1.1, running a 64K page kernel built from this branch's own `nvidia-bos-64k` flavour annotations. Before, on the unmodified branch tip: ARM FF-A: failed to register FFA RxTx buffers /sys/bus/arm_ffa/devices/ -> empty After, with this commit applied: ARM FF-A: Firmware version 1.1 found ARM FF-A: Failed to create IRQ mapping! /sys/bus/arm_ffa/devices/ -> arm-ffa-1 .. arm-ffa-5 All five partitions enumerate again. The remaining "Failed to create IRQ mapping" line is pre-existing and also present on the distro kernel that predates the regression. No new BUG, WARNING or call traces. [ Where Problems Could Occur ] A regression in this fix could cause issues with the ARM FF-A driver's partition enumeration To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2162012/+subscriptions
Комментариев нет:
Отправить комментарий