Skip to content

Integrate meta-seco-rk/linux-seco-rk/feature/mdb_fix

Commit: https://git.seco.com/edgehog/layers/seco/meta-seco-rk/-/commit/1f1ceb546ec4e8c90b9d0c0327bfcec06300cfe9

Integrate linux-seco-rk/feature/mdb_fix

--

Commit: https://git.seco.com/edgehog/bsp/rockchip/linux-seco-rk/-/commit/88f718426ffbdf70681bef609cca29aff9d372dc

[TTY/SERIAL] Fix MDB management for serial port

This patch fixes the MDB management by adding:

  • 9th bit management via sticky parity instead of even/odd configuration
    • Note that sticky bit is not declared in the processor manual but it is actually working as expected
  • a different IOCTL for 9th bit configuration, together with the original one

Note that 9th bit and byte are managed by different requests to the driver, that have different timings: if the requests are not properly ordered from userspace, it can happen that they are not in the expected order, so that sometimes we use byte N and 9th bit of byte (N+1), and the communication fails.

In order to avoid this, the only solution is that at userspace the timings ar correctly managed, and a new 9th bit is not requested before the previous byte as been sent (sent, not accepted by the driver, which is instead what usually happens with not blocking writes in serial drivers).

Merge request reports

Loading