04 Jun, 2018

1 commit


30 Aug, 2017

5 commits

  • To fully read the received rx data from FIFO both the command and data
    has to be read. Currently we read command, data separately and process
    them. By adding an offset parameter to RX FIFO peak accessor, command
    and data can be read together, simplifying things. So introduce this.

    Acked-by: Arun Kumar Neelakantam
    Signed-off-by: Sricharan R
    Signed-off-by: Bjorn Andersson

    Bjorn Andersson
     
  • Intents are nothing but pre-allocated buffers of appropriate size that
    are allocated on the local side and communicated to the remote side and
    the remote stores the list of intent ids that it is informed.

    Later when remote side is intenting to send data, it picks up a right
    intent (based on the size) and sends the data buffer and the intent id.
    Local side receives the data and copies it to the local intent buffer.

    The whole idea is to avoid stalls on the transport for allocating
    memory, used for copy based transports.

    When the remote request to allocate buffers using CMD_RX_INTENT_REQ, we
    allocate buffers of requested size, store the buffer id locally and also
    communicate the intent id to the remote.

    Acked-by: Arun Kumar Neelakantam
    Signed-off-by: Sricharan R
    Signed-off-by: Bjorn Andersson

    Sricharan R
     
  • G-link supports a version number and feature flags for each transport.
    A combination of the version number and feature flags enable/disable:

    (*) G-Link software updates for each edge
    (*) Individual features for each edge

    Endpoints negotiate both the version and the supported flags when
    the transport is opened and they cannot be changed after negotiation has
    been completed.

    Each full implementation of G-Link must support a minimum of the current
    version, the previous version, and the base negotiation version called v0.

    Acked-by: Arun Kumar Neelakantam
    Signed-off-by: Sricharan R
    Signed-off-by: Bjorn Andersson

    Sricharan R
     
  • The glink protocol supports different types of transports (shared
    memory). With the core protocol remaining the same, the way the
    transport's memory is probed and accessed is different. So add support
    for glink's smem based transports.

    Adding a new smem transport register function and the fifo accessors for
    the same.

    Acked-by: Arun Kumar Neelakantam
    Signed-off-by: Sricharan R
    Signed-off-by: Bjorn Andersson

    Bjorn Andersson
     
  • Move the common part of glink core protocol implementation to
    glink_native.c that can be shared with the smem based glink
    transport in the later patches.

    Acked-by: Arun Kumar Neelakantam
    Signed-off-by: Sricharan R
    Signed-off-by: Bjorn Andersson

    Bjorn Andersson