interrupt_controller: gicv3_its: add get_msi_addr API
Add get_msi_addr() callback to ITS API to retrieve the GITS_TRANSLATER physical address to be set in the MSI message address field. Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
This commit is contained in:
parent
683fc11f3a
commit
318999d656
2 changed files with 18 additions and 0 deletions
|
@ -561,6 +561,13 @@ static unsigned int gicv3_its_alloc_intid(const struct device *dev)
|
|||
return atomic_inc(&nlpi_intid);
|
||||
}
|
||||
|
||||
static uint32_t gicv3_its_get_msi_addr(const struct device *dev)
|
||||
{
|
||||
const struct gicv3_its_config *cfg = (const struct gicv3_its_config *)dev->config;
|
||||
|
||||
return cfg->base_addr + GITS_TRANSLATER;
|
||||
}
|
||||
|
||||
#define ITS_RDIST_MAP(n) \
|
||||
{ \
|
||||
const struct device *dev = DEVICE_DT_INST_GET(n); \
|
||||
|
@ -651,6 +658,7 @@ struct its_driver_api gicv3_its_api = {
|
|||
.setup_deviceid = gicv3_its_init_device_id,
|
||||
.map_intid = gicv3_its_map_intid,
|
||||
.send_int = gicv3_its_send_int,
|
||||
.get_msi_addr = gicv3_its_get_msi_addr,
|
||||
};
|
||||
|
||||
#define GICV3_ITS_INIT(n) \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue