Skip to content

Commit

Permalink
Merge pull request #78 from pathakraul/rpathak_post_arcdraft
Browse files Browse the repository at this point in the history
rpmi: Update enable notification service for all service groups
  • Loading branch information
lftan authored Nov 11, 2024
2 parents 17421ac + fdb93e3 commit 0d09215
Show file tree
Hide file tree
Showing 13 changed files with 363 additions and 56 deletions.
8 changes: 4 additions & 4 deletions src/message-protocol.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -205,10 +205,10 @@ below.

The RPMI events are defined separately for each RPMI service group. An
RPMI service group must have a `ENABLE_NOTIFICATION` service with a fixed
`SERVICE_ID=0x01` which can be used by the application processors to enable
notification messages for a particular RPMI event defined by the RPMI service
groups. By default, notifications are disabled for all RPMI events of an RPMI
service group. The platform microcontroller only sends RPMI notification
`SERVICE_ID=0x01` which can be used by the application processors to enable or
disable notification messages for a particular RPMI event defined by the RPMI
service groups. By default, notifications are disabled for all RPMI events of
an RPMI service group. The platform microcontroller only sends RPMI notification
messages for RPMI events which are enabled by the application processors.
If multiple RPMI events are supported by an RPMI service group then the
application processors must enable to each RPMI event individually.
Expand Down
27 changes: 26 additions & 1 deletion src/srvgrp-base.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,19 @@ described in <<base-notifications>>.
| EVENT_ID
| uint32
| The event to be subscribed for notification.

| 1
| REQ_STATE
| uint32
| Requested event notification state +
Change or query the current state of `EVENT_ID` notification.
----
0: Disable
1: Enable
2: Return current state.
----
Any other values of `REQ_STATE` field other than the defined ones are reserved
for future use.
|===

[#table_base_ennotification_response_data]
Expand All @@ -145,12 +158,24 @@ described in <<base-notifications>>.
! Event is subscribed successfully.

! RPMI_ERR_INVALID_PARAM
! `EVENT_ID` is invalid.
! `EVENT_ID` or `REQ_STATE` is invalid.

! RPMI_ERR_NOT_SUPPORTED
! Notification is not supported.
!===
- Other errors <<table_error_codes>>

| 1
| CURRENT_STATE
| uint32
| Current `EVENT_ID` notification state
----
0: Notification is disabled
1: Notification is enabled.
----
In case of `REQ_STATE = 0` or `1`, the `CURRENT_STATE` will return the requested
state. +
In case of an error, the value of `CURRENT_STATE` is unspecified.
|===

==== Service: BASE_GET_IMPLEMENTATION_VERSION (SERVICE_ID: 0x02)
Expand Down
34 changes: 30 additions & 4 deletions src/srvgrp-clock.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ described in <<clock-notifications>>.

[#table_clock_ennotification_request_data]
.Request Data
[cols="1, 2, 1, 7", width=100%, align="center", options="header"]
[cols="1, 2, 1, 7a", width=100%, align="center", options="header"]
|===
| Word
| Name
Expand All @@ -168,7 +168,20 @@ described in <<clock-notifications>>.
| 0
| EVENT_ID
| uint32
| Event to be subscribed for notification.
| The event to be subscribed for notification.

| 1
| REQ_STATE
| uint32
| Requested event notification state +
Change or query the current state of `EVENT_ID` notification.
----
0: Disable
1: Enable
2: Return current state.
----
Any other values of `REQ_STATE` field other than the defined ones are reserved
for future use.
|===

[#table_clock_ennotification_response_data]
Expand All @@ -185,7 +198,7 @@ described in <<clock-notifications>>.
| int32
| Return error code

[cols="5,5", options="header"]
[cols="6,5a", options="header"]
!===
! Error Code
! Description
Expand All @@ -194,14 +207,27 @@ described in <<clock-notifications>>.
! Event is subscribed successfully.

! RPMI_ERR_INVALID_PARAM
! `EVENT_ID` is invalid.
! `EVENT_ID` or `REQ_STATE` is invalid.

! RPMI_ERR_NOT_SUPPORTED
! Notification is not supported.
!===
- Other errors <<table_error_codes>>

| 1
| CURRENT_STATE
| uint32
| Current `EVENT_ID` notification state
----
0: Notification is disabled
1: Notification is enabled.
----
In case of `REQ_STATE = 0` or `1`, the `CURRENT_STATE` will return the requested
state. +
In case of an error, the value of `CURRENT_STATE` is unspecified.
|===


==== Service: CLK_GET_NUM_CLOCKS (SERVICE_ID: 0x02)
This service is used to query the number of clocks available in the system.
All supported clocks in the system are designated by an integer identifier
Expand Down
35 changes: 31 additions & 4 deletions src/srvgrp-cppc.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ described in <<cppc-notifications>>.

[#table_cppc_ennotification_request_data]
.Request Data
[cols="1, 2, 1, 7", width=100%, align="center", options="header"]
[cols="1, 2, 1, 7a", width=100%, align="center", options="header"]
|===
| Word
| Name
Expand All @@ -214,7 +214,20 @@ described in <<cppc-notifications>>.
| 0
| EVENT_ID
| uint32
| Event to be subscribed for notification.
| The event to be subscribed for notification.

| 1
| REQ_STATE
| uint32
| Requested event notification state +
Change or query the current state of `EVENT_ID` notification.
----
0: Disable
1: Enable
2: Return current state.
----
Any other values of `REQ_STATE` field other than the defined ones are reserved
for future use.
|===

[#table_cppc_ennotification_response_data]
Expand All @@ -230,7 +243,8 @@ described in <<cppc-notifications>>.
| STATUS
| int32
| Return error code
[cols="5,5a", options="header"]

[cols="6,5a", options="header"]
!===
! Error Code
! Description
Expand All @@ -239,14 +253,27 @@ described in <<cppc-notifications>>.
! Event is subscribed successfully.

! RPMI_ERR_INVALID_PARAM
! `EVENT_ID` is invalid.
! `EVENT_ID` or `REQ_STATE` is invalid.

! RPMI_ERR_NOT_SUPPORTED
! Notification is not supported.
!===
- Other errors <<table_error_codes>>

| 1
| CURRENT_STATE
| uint32
| Current `EVENT_ID` notification state
----
0: Notification is disabled
1: Notification is enabled.
----
In case of `REQ_STATE = 0` or `1`, the `CURRENT_STATE` will return the requested
state. +
In case of an error, the value of `CURRENT_STATE` is unspecified.
|===


==== Service: CPPC_PROBE_REG (SERVICE_ID: 0x02)
This service is used to probe a CPPC register implementation status for a
application processor. If the CPPC register `reg_id` is implemented then
Expand Down
34 changes: 30 additions & 4 deletions src/srvgrp-device-power.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ described in <<device-power-notifications>>.

[#table_devpower_ennotification_request_data]
.Request Data
[cols="1, 2, 1, 7", width=100%, align="center", options="header"]
[cols="1, 2, 1, 7a", width=100%, align="center", options="header"]
|===
| Word
| Name
Expand All @@ -138,7 +138,20 @@ described in <<device-power-notifications>>.
| 0
| EVENT_ID
| uint32
| Event to be subscribed for notification.
| The event to be subscribed for notification.

| 1
| REQ_STATE
| uint32
| Requested event notification state +
Change or query the current state of `EVENT_ID` notification.
----
0: Disable
1: Enable
2: Return current state.
----
Any other values of `REQ_STATE` field other than the defined ones are reserved
for future use.
|===

[#table_devpower_ennotification_response_data]
Expand All @@ -155,7 +168,7 @@ described in <<device-power-notifications>>.
| int32
| Return error code

[cols="5,5", options="header"]
[cols="6,5a", options="header"]
!===
! Error Code
! Description
Expand All @@ -164,14 +177,27 @@ described in <<device-power-notifications>>.
! Event is subscribed successfully.

! RPMI_ERR_INVALID_PARAM
! `EVENT_ID` is invalid.
! `EVENT_ID` or `REQ_STATE` is invalid.

! RPMI_ERR_NOT_SUPPORTED
! Notification is not supported.
!===
- Other errors <<table_error_codes>>

| 1
| CURRENT_STATE
| uint32
| Current `EVENT_ID` notification state
----
0: Notification is disabled
1: Notification is enabled.
----
In case of `REQ_STATE = 0` or `1`, the `CURRENT_STATE` will return the requested
state. +
In case of an error, the value of `CURRENT_STATE` is unspecified.
|===


==== Service: DPWR_GET_NUM_DOMAINS (SERVICE_ID: 0x02)
This service is used to query the number of device power domains available which
can be controlled by the client. The number of domains returned may be less than
Expand Down
38 changes: 32 additions & 6 deletions src/srvgrp-hart-state-management.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -98,32 +98,46 @@ described in <<hsm-notifications>>.

[#table_hsm_ennotification_request_data]
.Request Data
[cols="1, 2, 1, 7", width=100%, align="center", options="header"]
[cols="1, 2, 1, 7a", width=100%, align="center", options="header"]
|===
| Word
| Name
| Type
| Description

| 0
| 0
| EVENT_ID
| uint32
| Event to be subscribed for notification.
| The event to be subscribed for notification.

| 1
| REQ_STATE
| uint32
| Requested event notification state +
Change or query the current state of `EVENT_ID` notification.
----
0: Disable
1: Enable
2: Return current state.
----
Any other values of `REQ_STATE` field other than the defined ones are reserved
for future use.
|===

[#table_hsm_ennotification_response_data]
.Response Data
[cols="1, 1, 1, 7a", width=100%, align="center", options="header"]
[cols="1, 2, 1, 7a", width=100%, align="center", options="header"]
|===
| Word
| Name
| Type
| Description

| 0
| 0
| STATUS
| int32
| Return error code

[cols="6,5a", options="header"]
!===
! Error Code
Expand All @@ -133,12 +147,24 @@ described in <<hsm-notifications>>.
! Event is subscribed successfully.

! RPMI_ERR_INVALID_PARAM
! `EVENT_ID` is invalid.
! `EVENT_ID` or `REQ_STATE` is invalid.

! RPMI_ERR_NOT_SUPPORTED
! Notification is not supported.
!===
- Other errors <<table_error_codes>>

| 1
| CURRENT_STATE
| uint32
| Current `EVENT_ID` notification state
----
0: Notification is disabled
1: Notification is enabled.
----
In case of `REQ_STATE = 0` or `1`, the `CURRENT_STATE` will return the requested
state. +
In case of an error, the value of `CURRENT_STATE` is unspecified.
|===

==== Service: HSM_GET_HART_STATUS (SERVICE_ID: 0x02)
Expand Down
Loading

0 comments on commit 0d09215

Please sign in to comment.