diff options
Diffstat (limited to 'drivers/arm/gic/common/gic_common.c')
-rw-r--r-- | drivers/arm/gic/common/gic_common.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/arm/gic/common/gic_common.c b/drivers/arm/gic/common/gic_common.c index 17be61d5..cfa0d23e 100644 --- a/drivers/arm/gic/common/gic_common.c +++ b/drivers/arm/gic/common/gic_common.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2015-2016, ARM Limited and Contributors. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -31,6 +31,7 @@ #include <assert.h> #include <gic_common.h> #include <mmio.h> +#include "gic_common_private.h" /******************************************************************************* * GIC Distributor interface accessors for reading entire registers @@ -239,7 +240,10 @@ void gicd_write_nsacr(uintptr_t base, unsigned int id, unsigned int val) } /******************************************************************************* - * GIC Distributor interface accessors for individual interrupt manipulation + * GIC Distributor functions for accessing the GIC registers + * corresponding to a single interrupt ID. These functions use bitwise + * operations or appropriate register accesses to modify or return + * the bit-field corresponding the single interrupt ID. ******************************************************************************/ unsigned int gicd_get_igroupr(uintptr_t base, unsigned int id) { @@ -306,3 +310,8 @@ void gicd_set_icactiver(uintptr_t base, unsigned int id) gicd_write_icactiver(base, id, (1 << bit_num)); } + +void gicd_set_ipriorityr(uintptr_t base, unsigned int id, unsigned int pri) +{ + mmio_write_8(base + GICD_IPRIORITYR + id, pri & GIC_PRI_MASK); +} |