Linux Kernel IPC Examples are broken

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Medium
    • SITSW-7005
    • Hide
      10.00.00
      10.01.00
      11.00.00
      Show
      10.00.00 10.01.00 11.00.00
    • 11.02.00
    • Hide
      am62xx-sk
      am62xx-sk-lp
      am62x-sip-sk
      am62a-sk
      am62p-sk
      am62d-evm
      am64xx-evm
      am64xx-sk
      am654x-evm
      am654x-idk
      Show
      am62xx-sk am62xx-sk-lp am62x-sip-sk am62a-sk am62p-sk am62d-evm am64xx-evm am64xx-sk am654x-evm am654x-idk

      Our MCU+ projects that do IPC_RPMsg with Linux are no longer compatible with the Linux kernel example rpmsg_client_sample.c:
      https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/samples/rpmsg/rpmsg_client_sample.c?h=ti-linux-6.12.y

      These MCU+ examples use “ti.ipc4.ping-pong” for Linux kernel communication:
      ipc_rpmsg_echo_linux, lpm_mcu_dmtimer_wakeup, lpm_mcu_mcan_wakeup, lpm_mcu_uart_wakeup

      The generic upstream driver uses channel name "rpmsg-client-sample". For years we manually patched rpmsg_client_sample.c to add “ti.ipc4.ping-pong”, but the Linux team stopped applying that manual patch for Linux kernels 6.6 & 6.12:
      https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/commit/samples/rpmsg/rpmsg_client_sample.c?h=ti-linux-6.1.y&id=68874d652f2e82da56cb05ec1e998d2f5d600a69

      The code needs to change from this:
      AM62x, AM62Ax, AM62Px: https://github.com/TexasInstruments/mcupsdk-core-k3/blob/k3_main/examples/drivers/ipc/ipc_rpmsg_echo_linux/ipc_rpmsg_echo.c#L72
      AM64x: https://github.com/TexasInstruments/mcupsdk-core/blob/next/examples/drivers/ipc/ipc_rpmsg_echo_linux/ipc_rpmsg_echo.c#L69
      to this:

      #define IPC_RPMESSAGE_SERVICE_PING        "rpmsg-client-sample"
      #define IPC_RPMESSAGE_ENDPT_PING          (13U)
      

      FYI, the Linux team is considering also removing the rpmsg_chrdev name service in favor of rpmsg-raw: https://jira.itg.ti.com/browse/PDK-16805

            Assignee:
            TI User
            Reporter:
            TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                Connection: Intermediate to External PROD System
                EXTSYNC-5746 - Linux Kernel IPC Examples are broken
                SYNCHRONIZED
                • Last Sync Date: