diff options
author | Krzysztof Richert <krzysztof.richert@intel.com> | 2022-04-05 16:19:52 +0300 |
---|---|---|
committer | Krzysztof Richert <krzysiek.richert@gmail.com> | 2022-04-15 10:15:51 +0300 |
commit | 6329b11a61a5c3ee529e228731023239d036e40b (patch) | |
tree | 747577787a5cf6e089181a0182f4df4338271ab6 /drivers/soc | |
parent | 913231244a40110c832b5ec0afabda89d4d95f0f (diff) | |
download | linux-6329b11a61a5c3ee529e228731023239d036e40b.tar.xz |
soc: aspeed: mctp: Extend internal aspeed-mctp driver API
New API allows to read DomainId information by internal
kernel clients (for example peci-mctp).
Signed-off-by: Krzysztof Richert <krzysztof.richert@intel.com>
Diffstat (limited to 'drivers/soc')
-rw-r--r-- | drivers/soc/aspeed/aspeed-mctp.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/soc/aspeed/aspeed-mctp.c b/drivers/soc/aspeed/aspeed-mctp.c index 2fa1dcfc37e3..5073f0e14dc3 100644 --- a/drivers/soc/aspeed/aspeed-mctp.c +++ b/drivers/soc/aspeed/aspeed-mctp.c @@ -1083,6 +1083,28 @@ int aspeed_mctp_get_eid_bdf(struct mctp_client *client, u8 eid, u16 *bdf) } EXPORT_SYMBOL_GPL(aspeed_mctp_get_eid_bdf); +int aspeed_mctp_get_eid(struct mctp_client *client, u16 bdf, + u8 domain_id, u8 *eid) +{ + struct aspeed_mctp_endpoint *endpoint; + int ret = -ENOENT; + + mutex_lock(&client->priv->endpoints_lock); + + list_for_each_entry(endpoint, &client->priv->endpoints, link) { + if (endpoint->data.eid_ext_info.domain_id == domain_id && + endpoint->data.eid_ext_info.bdf == bdf) { + *eid = endpoint->data.eid_ext_info.eid; + ret = 0; + break; + } + } + + mutex_unlock(&client->priv->endpoints_lock); + return ret; +} +EXPORT_SYMBOL_GPL(aspeed_mctp_get_eid); + static int aspeed_mctp_get_eid_info(struct aspeed_mctp *priv, void __user *userbuf, enum mctp_address_type addr_format) |