Skip to content

Commit 29590db

Browse files
committed
inline ddi_{get,put} wrappers
1 parent 60e1f13 commit 29590db

File tree

2 files changed

+53
-63
lines changed

2 files changed

+53
-63
lines changed

usr/src/uts/common/io/mlxcx/mlxcx.c

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -650,61 +650,6 @@ mlxcx_panic(mlxcx_t *mlxp, const char *fmt, ...)
650650
va_end(ap);
651651
}
652652

653-
uint16_t
654-
mlxcx_get16(mlxcx_t *mlxp, uintptr_t off)
655-
{
656-
uintptr_t addr = off + (uintptr_t)mlxp->mlx_regs_base;
657-
return (ddi_get16(mlxp->mlx_regs_handle, (void *)addr));
658-
}
659-
660-
uint32_t
661-
mlxcx_get32(mlxcx_t *mlxp, uintptr_t off)
662-
{
663-
uintptr_t addr = off + (uintptr_t)mlxp->mlx_regs_base;
664-
return (ddi_get32(mlxp->mlx_regs_handle, (void *)addr));
665-
}
666-
667-
uint64_t
668-
mlxcx_get64(mlxcx_t *mlxp, uintptr_t off)
669-
{
670-
uintptr_t addr = off + (uintptr_t)mlxp->mlx_regs_base;
671-
return (ddi_get64(mlxp->mlx_regs_handle, (void *)addr));
672-
}
673-
674-
void
675-
mlxcx_put32(mlxcx_t *mlxp, uintptr_t off, uint32_t val)
676-
{
677-
uintptr_t addr = off + (uintptr_t)mlxp->mlx_regs_base;
678-
ddi_put32(mlxp->mlx_regs_handle, (void *)addr, val);
679-
}
680-
681-
void
682-
mlxcx_put64(mlxcx_t *mlxp, uintptr_t off, uint64_t val)
683-
{
684-
uintptr_t addr = off + (uintptr_t)mlxp->mlx_regs_base;
685-
ddi_put64(mlxp->mlx_regs_handle, (void *)addr, val);
686-
}
687-
688-
void
689-
mlxcx_uar_put32(mlxcx_t *mlxp, mlxcx_uar_t *mlu, uintptr_t off, uint32_t val)
690-
{
691-
/*
692-
* The UAR is always inside the first BAR, which we mapped as
693-
* mlx_regs
694-
*/
695-
uintptr_t addr = off + (uintptr_t)mlu->mlu_base +
696-
(uintptr_t)mlxp->mlx_regs_base;
697-
ddi_put32(mlxp->mlx_regs_handle, (void *)addr, val);
698-
}
699-
700-
void
701-
mlxcx_uar_put64(mlxcx_t *mlxp, mlxcx_uar_t *mlu, uintptr_t off, uint64_t val)
702-
{
703-
uintptr_t addr = off + (uintptr_t)mlu->mlu_base +
704-
(uintptr_t)mlxp->mlx_regs_base;
705-
ddi_put64(mlxp->mlx_regs_handle, (void *)addr, val);
706-
}
707-
708653
static void
709654
mlxcx_fm_fini(mlxcx_t *mlxp)
710655
{

usr/src/uts/common/io/mlxcx/mlxcx.h

Lines changed: 53 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1204,17 +1204,62 @@ struct mlxcx {
12041204
};
12051205

12061206
/*
1207-
* Register access
1207+
* Register access. Use static inlines.
12081208
*/
1209-
extern uint16_t mlxcx_get16(mlxcx_t *, uintptr_t);
1210-
extern uint32_t mlxcx_get32(mlxcx_t *, uintptr_t);
1211-
extern uint64_t mlxcx_get64(mlxcx_t *, uintptr_t);
1209+
static inline uint16_t
1210+
mlxcx_get16(mlxcx_t *mlxp, uintptr_t off)
1211+
{
1212+
uintptr_t addr = off + (uintptr_t)mlxp->mlx_regs_base;
1213+
return (ddi_get16(mlxp->mlx_regs_handle, (void *)addr));
1214+
}
1215+
1216+
static inline uint32_t
1217+
mlxcx_get32(mlxcx_t *mlxp, uintptr_t off)
1218+
{
1219+
uintptr_t addr = off + (uintptr_t)mlxp->mlx_regs_base;
1220+
return (ddi_get32(mlxp->mlx_regs_handle, (void *)addr));
1221+
}
1222+
1223+
static inline uint64_t
1224+
mlxcx_get64(mlxcx_t *mlxp, uintptr_t off)
1225+
{
1226+
uintptr_t addr = off + (uintptr_t)mlxp->mlx_regs_base;
1227+
return (ddi_get64(mlxp->mlx_regs_handle, (void *)addr));
1228+
}
1229+
1230+
static inline void
1231+
mlxcx_put32(mlxcx_t *mlxp, uintptr_t off, uint32_t val)
1232+
{
1233+
uintptr_t addr = off + (uintptr_t)mlxp->mlx_regs_base;
1234+
ddi_put32(mlxp->mlx_regs_handle, (void *)addr, val);
1235+
}
12121236

1213-
extern void mlxcx_put32(mlxcx_t *, uintptr_t, uint32_t);
1214-
extern void mlxcx_put64(mlxcx_t *, uintptr_t, uint64_t);
1237+
static inline void
1238+
mlxcx_put64(mlxcx_t *mlxp, uintptr_t off, uint64_t val)
1239+
{
1240+
uintptr_t addr = off + (uintptr_t)mlxp->mlx_regs_base;
1241+
ddi_put64(mlxp->mlx_regs_handle, (void *)addr, val);
1242+
}
1243+
1244+
static inline void
1245+
mlxcx_uar_put32(mlxcx_t *mlxp, mlxcx_uar_t *mlu, uintptr_t off, uint32_t val)
1246+
{
1247+
/*
1248+
* The UAR is always inside the first BAR, which we mapped as
1249+
* mlx_regs
1250+
*/
1251+
uintptr_t addr = off + (uintptr_t)mlu->mlu_base +
1252+
(uintptr_t)mlxp->mlx_regs_base;
1253+
ddi_put32(mlxp->mlx_regs_handle, (void *)addr, val);
1254+
}
12151255

1216-
extern void mlxcx_uar_put32(mlxcx_t *, mlxcx_uar_t *, uintptr_t, uint32_t);
1217-
extern void mlxcx_uar_put64(mlxcx_t *, mlxcx_uar_t *, uintptr_t, uint64_t);
1256+
static inline void
1257+
mlxcx_uar_put64(mlxcx_t *mlxp, mlxcx_uar_t *mlu, uintptr_t off, uint64_t val)
1258+
{
1259+
uintptr_t addr = off + (uintptr_t)mlu->mlu_base +
1260+
(uintptr_t)mlxp->mlx_regs_base;
1261+
ddi_put64(mlxp->mlx_regs_handle, (void *)addr, val);
1262+
}
12181263

12191264
/*
12201265
* Logging functions.

0 commit comments

Comments
 (0)