git: dd6c1c2a6c0d - main - Remove redundantcy from the arm GIC softc
Andrew Turner
andrew at FreeBSD.org
Wed Jan 27 19:09:53 UTC 2021
The branch main has been updated by andrew:
URL: https://cgit.FreeBSD.org/src/commit/?id=dd6c1c2a6c0d3ac239b55105b6726a594ba79c60
commit dd6c1c2a6c0d3ac239b55105b6726a594ba79c60
Author: Andrew Turner <andrew at FreeBSD.org>
AuthorDate: 2021-01-25 20:03:47 +0000
Commit: Andrew Turner <andrew at FreeBSD.org>
CommitDate: 2021-01-27 19:03:39 +0000
Remove redundantcy from the arm GIC softc
A struct recource already contains the bus_space_tag_t and
bus_space_handle_t. There is no neec to read them and store them again
in the drivers softc. Remove them and use the struct resource directly
with bus_read_* and bus_write_*.
Reviewed by: mmel
Differential Revision: https://reviews.freebsd.org/D28339
---
sys/arm/arm/gic.c | 20 +++++++-------------
sys/arm/arm/gic.h | 6 ++----
2 files changed, 9 insertions(+), 17 deletions(-)
diff --git a/sys/arm/arm/gic.c b/sys/arm/arm/gic.c
index 8fcf511fda08..1851e69644ed 100644
--- a/sys/arm/arm/gic.c
+++ b/sys/arm/arm/gic.c
@@ -143,16 +143,18 @@ static u_int arm_gic_map[MAXCPU];
static struct arm_gic_softc *gic_sc = NULL;
+/* CPU Interface */
#define gic_c_read_4(_sc, _reg) \
- bus_space_read_4((_sc)->gic_c_bst, (_sc)->gic_c_bsh, (_reg))
+ bus_read_4((_sc)->gic_res[GIC_RES_CPU], (_reg))
#define gic_c_write_4(_sc, _reg, _val) \
- bus_space_write_4((_sc)->gic_c_bst, (_sc)->gic_c_bsh, (_reg), (_val))
+ bus_write_4((_sc)->gic_res[GIC_RES_CPU], (_reg), (_val))
+/* Distributor Interface */
#define gic_d_read_4(_sc, _reg) \
- bus_space_read_4((_sc)->gic_d_bst, (_sc)->gic_d_bsh, (_reg))
+ bus_read_4((_sc)->gic_res[GIC_RES_DIST], (_reg))
#define gic_d_write_1(_sc, _reg, _val) \
- bus_space_write_1((_sc)->gic_d_bst, (_sc)->gic_d_bsh, (_reg), (_val))
+ bus_write_1((_sc)->gic_res[GIC_RES_DIST], (_reg), (_val))
#define gic_d_write_4(_sc, _reg, _val) \
- bus_space_write_4((_sc)->gic_d_bst, (_sc)->gic_d_bsh, (_reg), (_val))
+ bus_write_4((_sc)->gic_res[GIC_RES_DIST], (_reg), (_val))
static inline void
gic_irq_unmask(struct arm_gic_softc *sc, u_int irq)
@@ -321,14 +323,6 @@ arm_gic_attach(device_t dev)
/* Initialize mutex */
mtx_init(&sc->mutex, "GIC lock", NULL, MTX_SPIN);
- /* Distributor Interface */
- sc->gic_d_bst = rman_get_bustag(sc->gic_res[0]);
- sc->gic_d_bsh = rman_get_bushandle(sc->gic_res[0]);
-
- /* CPU Interface */
- sc->gic_c_bst = rman_get_bustag(sc->gic_res[1]);
- sc->gic_c_bsh = rman_get_bushandle(sc->gic_res[1]);
-
/* Disable interrupt forwarding to the CPU interface */
gic_d_write_4(sc, GICD_CTLR, 0x00);
diff --git a/sys/arm/arm/gic.h b/sys/arm/arm/gic.h
index 3df226c2819a..74cfbbee9d5a 100644
--- a/sys/arm/arm/gic.h
+++ b/sys/arm/arm/gic.h
@@ -49,11 +49,9 @@ struct arm_gic_softc {
device_t gic_dev;
void * gic_intrhand;
struct gic_irqsrc * gic_irqs;
+#define GIC_RES_DIST 0
+#define GIC_RES_CPU 1
struct resource * gic_res[3];
- bus_space_tag_t gic_c_bst;
- bus_space_tag_t gic_d_bst;
- bus_space_handle_t gic_c_bsh;
- bus_space_handle_t gic_d_bsh;
uint8_t ver;
struct mtx mutex;
uint32_t nirqs;
More information about the dev-commits-src-main
mailing list