8b8f8059 | 10-Mar-2021 |
Andrew Jeffery <andrew@aj.id.au> |
docs: vendor-ibm-astlpc: Style code snippets as C
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I95a31775cef4f54e37a94cde5185493d3427f586 |
3297be51 | 10-Mar-2021 |
Andrew Jeffery <andrew@aj.id.au> |
docs: vendor-ibm-astlpc: Fix IDs in packet transmission sequences
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I974a1c72c57f899d297e7cb71e4dbec5ca325ea4 |
42a4afdc | 10-Mar-2021 |
Andrew Jeffery <andrew@aj.id.au> |
docs: vendor-ibm-astlpc: Increase prominence of endianness
Describe this before we get distracted by other details of the LPC FW window.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I
docs: vendor-ibm-astlpc: Increase prominence of endianness
Describe this before we get distracted by other details of the LPC FW window.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ibe2c17cdc60631a4402fd182be64d636c6835605
show more ...
|
cf08ac9c | 10-Mar-2021 |
Andrew Jeffery <andrew@aj.id.au> |
docs: vendor-ibm-astlpc: Annotate {M,L}SB in Bit column
Tidy up alignment of the descriptions.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ie15ef81ed337bf183e6367e0f92547aa5bc2fd1a |
f3161492 | 10-Mar-2021 |
Andrew Jeffery <andrew@aj.id.au> |
docs: vendor-ibm-astlpc: Fix packet exchange order of operations
We read data from the KCS channels to confirm the command type before reading the packet data from the FW window.
Signed-off-by: And
docs: vendor-ibm-astlpc: Fix packet exchange order of operations
We read data from the KCS channels to confirm the command type before reading the packet data from the FW window.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I19378b20c91183b5403f046cb7ab22d83c257e40
show more ...
|
9125bb5d | 10-Mar-2021 |
Andrew Jeffery <andrew@aj.id.au> |
docs: vendor-ibm-astlpc: Add definitions for KCS registers
These were explained in the document body but deserve their own definitions given their importance to the protocol.
Signed-off-by: Andrew
docs: vendor-ibm-astlpc: Add definitions for KCS registers
These were explained in the document body but deserve their own definitions given their importance to the protocol.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I2cdf60dda74efba95e6e78bd4a53aa9558308d75
show more ...
|
a6bf978a | 10-Mar-2021 |
Andrew Jeffery <andrew@aj.id.au> |
docs: vendor-ibm-astlpc: Use numbered list for strictly ordered ops
I'm not sure how we used a bullet list for a section titled "the following sequence occurs".
Signed-off-by: Andrew Jeffery <andre
docs: vendor-ibm-astlpc: Use numbered list for strictly ordered ops
I'm not sure how we used a bullet list for a section titled "the following sequence occurs".
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I28dbe579de62a77726c617dd7aad11239a23f2ff
show more ...
|
f1b913f7 | 10-Mar-2021 |
Andrew Jeffery <andrew@aj.id.au> |
docs: vendor-ibm-astlpc: Reorder sections to improve flow
The new order tries to keep the concepts flowing from least-to-most detailed.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ib
docs: vendor-ibm-astlpc: Reorder sections to improve flow
The new order tries to keep the concepts flowing from least-to-most detailed.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ib076c78f79aaedcb4b6c5c0e2606f8c2cbdd17a9
show more ...
|
a666c2d6 | 10-Mar-2021 |
Andrew Jeffery <andrew@aj.id.au> |
docs: vendor-ibm-astlpc: Reduce emphasis for definitions
The aim is to be eye-catching but not over-bearing.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I4cde5f858ab6e26754c8b9d48df3
docs: vendor-ibm-astlpc: Reduce emphasis for definitions
The aim is to be eye-catching but not over-bearing.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I4cde5f858ab6e26754c8b9d48df3a96b07bd4545
show more ...
|
f0ee3f71 | 10-Mar-2021 |
Andrew Jeffery <andrew@aj.id.au> |
docs: vendor-ibm-astlpc: References as a numbered list
Make it easier to distinguish what text is which document at a glance.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ifdd69d9e3af
docs: vendor-ibm-astlpc: References as a numbered list
Make it easier to distinguish what text is which document at a glance.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ifdd69d9e3af3706c044e374984337609f9d70dde
show more ...
|
ebd623c2 | 10-Mar-2021 |
Andrew Jeffery <andrew@aj.id.au> |
docs: vendor-ibm-astlpc: Improve readability with explicit line breaks
Separate the reference document URLs from the document names.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I0f7e
docs: vendor-ibm-astlpc: Improve readability with explicit line breaks
Separate the reference document URLs from the document names.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I0f7eff977f01c67f2757814ede81da07f7cbba43
show more ...
|
b1bf5493 | 10-Mar-2021 |
Andrew Jeffery <andrew@aj.id.au> |
docs: vendor-ibm-astlpc: Remove intimidating header wording
Given the state of the rest of the document, stop trying to be super formal.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I
docs: vendor-ibm-astlpc: Remove intimidating header wording
Given the state of the rest of the document, stop trying to be super formal.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ibdff4bdbc927cfcb77a691344748ac384c039641
show more ...
|
58a4542a | 10-Mar-2021 |
Andrew Jeffery <andrew@aj.id.au> |
docs: Rename astlpc binding to include vendor
It helps to identify who is driving development of the binding.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ifb4508701e2a511632ba50dcee0
docs: Rename astlpc binding to include vendor
It helps to identify who is driving development of the binding.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ifb4508701e2a511632ba50dcee027dc01a247fa4
show more ...
|
e889b19f | 11-Mar-2021 |
Andrew Jeffery <andrew@aj.id.au> |
core: Make pkt_size and pkt_pad size_t
Fix bad signedness comparison:
``` core.c: In function ‘mctp_binding_set_tx_enabled’: core.c:630:25: error: comparison of integer expressions of different sig
core: Make pkt_size and pkt_pad size_t
Fix bad signedness comparison:
``` core.c: In function ‘mctp_binding_set_tx_enabled’: core.c:630:25: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Werror=sign-compare] 630 | if (binding->pkt_size < MCTP_PACKET_SIZE(MCTP_BTU)) { | ^ cc1: all warnings being treated as errors ```
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Idb91b16efa43526ea8e86fff666d0151f2987247
show more ...
|
19275230 | 28-Jan-2021 |
Andrew Jeffery <andrew@aj.id.au> |
core: Fail bridge initialisation if a binding fails to start
The start() callback can return an error, so make sure we propagate this to the caller of mctp_bridge_busses().
mctp_destroy() will clea
core: Fail bridge initialisation if a binding fails to start
The start() callback can return an error, so make sure we propagate this to the caller of mctp_bridge_busses().
mctp_destroy() will clean up the memory allocated for the bridged busses. Cleaning the bus memory up before returning from mctp_bridge_busses() may leave a started binding in an unsafe state state (as its bus pointer will be either invalid or NULL), so we'll avoid doing that for now.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I84803ced41d106ac96e2bf94c90feb5eea10579f
show more ...
|
06735055 | 27-Jan-2021 |
Andrew Jeffery <andrew@aj.id.au> |
mctp-demux-daemon: Warn about failed messages
It's possible that messages might not be sent if they are routed to a binding before that binding has completed its protocol initialisation.
Signed-off
mctp-demux-daemon: Warn about failed messages
It's possible that messages might not be sent if they are routed to a binding before that binding has completed its protocol initialisation.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I1ddf6817fdef974b61dcb3ce0f166af94b4b0f16
show more ...
|
3f4bca9a | 27-Jan-2021 |
Andrew Jeffery <andrew@aj.id.au> |
tests: astlpc: Exercise mctp_message_tx() before channel init
Attempting to send messages before channel init should intentionally fail, not fail by OOMing the machine.
Signed-off-by: Andrew Jeffer
tests: astlpc: Exercise mctp_message_tx() before channel init
Attempting to send messages before channel init should intentionally fail, not fail by OOMing the machine.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: If912f488d89f14e66e7bb18dbf3c929648117827
show more ...
|
1a4f441a | 27-Jan-2021 |
Andrew Jeffery <andrew@aj.id.au> |
astlpc: Initialise with at least a BTU-sized packet
The astlpc binding's MTU negotiation takes place during processing of the `Channel Init` command, after which both sides update `pkt_size` accordi
astlpc: Initialise with at least a BTU-sized packet
The astlpc binding's MTU negotiation takes place during processing of the `Channel Init` command, after which both sides update `pkt_size` according to the negotiated MTU. Despite this, let's not set a potentially invalid MTU at binding construction.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ic6d3dba38102b81ff9b7c09865f359d31ee829f7
show more ...
|
afcb701a | 28-Jan-2021 |
Andrew Jeffery <andrew@aj.id.au> |
astlpc: Warn on unexpected commands before binding has started
We should receive neither `Tx Begin` nor `Rx Complete` prior to sending or receiving `Channel Init`. If we do, warn about it and don't
astlpc: Warn on unexpected commands before binding has started
We should receive neither `Tx Begin` nor `Rx Complete` prior to sending or receiving `Channel Init`. If we do, warn about it and don't proceed to process the unexpected message.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ib154436305afe291f2cc71bbb861edd8362e42e3
show more ...
|
1fa707e2 | 27-Jan-2021 |
Andrew Jeffery <andrew@aj.id.au> |
core: Validate binding MTU before allowing transmission
Don't accept MTU values like 0, which will cause the packetisation loop to fail in unacceptable ways (OOM).
Signed-off-by: Andrew Jeffery <an
core: Validate binding MTU before allowing transmission
Don't accept MTU values like 0, which will cause the packetisation loop to fail in unacceptable ways (OOM).
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I00d563cd91f718e695ed28d2b9978fc38566c4ae
show more ...
|
c61501cc | 27-Jan-2021 |
Andrew Jeffery <andrew@aj.id.au> |
core: Drop messages sent before binding enables transmission
Some bindings (astlpc) have a handshake that must occur before packets can be sent across the bus, but after the binding instance has bee
core: Drop messages sent before binding enables transmission
Some bindings (astlpc) have a handshake that must occur before packets can be sent across the bus, but after the binding instance has been constructed. Similarly, some bindings (astlpc) require coordination of resources between endpoints as part of regular operation, which motivates the existence of the associated `tx_enabled` state.
If a binding invokes mctp_binding_set_tx_enabled() with a `true` argument it implies that all required handshaking has been completed (if it had not, we still would not be able to send packets).
Switch `tx_enabled` from a boolean to a ternary state machine to capture the `constructed` state of a binding (before required handshaking has completed). Further, error out if mctp_message_tx_on_bus() is invoked with a binding in the `constructed` state, as it's possible the information required to correctly packetise the provided message is invalid.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: If4baf07ab5fe7edd7f522fac29e32fc5c2a6105d
show more ...
|
3ae89dce | 27-Jan-2021 |
Andrew Jeffery <andrew@aj.id.au> |
core: Introduce mctp_bus_destroy()
Tearing down a binding needs to free all packets that have been queued but not yet transmitted.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ia4bff3
core: Introduce mctp_bus_destroy()
Tearing down a binding needs to free all packets that have been queued but not yet transmitted.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: Ia4bff3243f80e1088c521b09a512584383deb1ad
show more ...
|
2304c833 | 28-Jan-2021 |
Andrew Jeffery <andrew@aj.id.au> |
core: Set n_busses appropriately on failure to start binding
We were cleaning up the allocated memory but failing to reset the number of allocated busses to zero. This makes it harder to correctly c
core: Set n_busses appropriately on failure to start binding
We were cleaning up the allocated memory but failing to reset the number of allocated busses to zero. This makes it harder to correctly clean up the MCTP context later in the lifecycle.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I392ef6d6f7ffa7af7bb33d1aedfc4968f1749f7b
show more ...
|
b4ae00b9 | 17-Jan-2021 |
Andrew Jeffery <andrew@aj.id.au> |
core: Remove Rube Goldberg sequence point in packet body assignment
The code isn't wrong* - if it were we certainly would have noticed - but why it's *right* isn't something we want to be reasoning
core: Remove Rube Goldberg sequence point in packet body assignment
The code isn't wrong* - if it were we certainly would have noticed - but why it's *right* isn't something we want to be reasoning about.
Convert the sequence point to a plain statement to make the ordering and value state requirements obvious to the reader.
* the sequence point will order the write to p before mctp_rx() is invoked, giving p the correct value at the time of invocation, but its value after the return of mctp_rx() is undefined.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I68a1e35ba6a9b8daf89c4d5782037ed623ebbeb5
show more ...
|
b9fd597c | 25-Jun-2020 |
Andrew Jeffery <andrew@aj.id.au> |
astlpc: Fix version test before assignment
The bug leads to the wrong packet size being used for the first negotiation.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I1419c5905b2815359
astlpc: Fix version test before assignment
The bug leads to the wrong packet size being used for the first negotiation.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I1419c5905b28153594304d8fb5511c5c4782fe72
show more ...
|