Skip to content

Commit e0350fa

Browse files
committed
inline ddi_{get,put} wrappers
1 parent 71d3bfd commit e0350fa

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
@@ -1239,17 +1239,62 @@ struct mlxcx {
12391239
};
12401240

12411241
/*
1242-
* Register access
1242+
* Register access. Use static inlines.
12431243
*/
1244-
extern uint16_t mlxcx_get16(mlxcx_t *, uintptr_t);
1245-
extern uint32_t mlxcx_get32(mlxcx_t *, uintptr_t);
1246-
extern uint64_t mlxcx_get64(mlxcx_t *, uintptr_t);
1244+
static inline uint16_t
1245+
mlxcx_get16(mlxcx_t *mlxp, uintptr_t off)
1246+
{
1247+
uintptr_t addr = off + (uintptr_t)mlxp->mlx_regs_base;
1248+
return (ddi_get16(mlxp->mlx_regs_handle, (void *)addr));
1249+
}
1250+
1251+
static inline uint32_t
1252+
mlxcx_get32(mlxcx_t *mlxp, uintptr_t off)
1253+
{
1254+
uintptr_t addr = off + (uintptr_t)mlxp->mlx_regs_base;
1255+
return (ddi_get32(mlxp->mlx_regs_handle, (void *)addr));
1256+
}
1257+
1258+
static inline uint64_t
1259+
mlxcx_get64(mlxcx_t *mlxp, uintptr_t off)
1260+
{
1261+
uintptr_t addr = off + (uintptr_t)mlxp->mlx_regs_base;
1262+
return (ddi_get64(mlxp->mlx_regs_handle, (void *)addr));
1263+
}
1264+
1265+
static inline void
1266+
mlxcx_put32(mlxcx_t *mlxp, uintptr_t off, uint32_t val)
1267+
{
1268+
uintptr_t addr = off + (uintptr_t)mlxp->mlx_regs_base;
1269+
ddi_put32(mlxp->mlx_regs_handle, (void *)addr, val);
1270+
}
12471271

1248-
extern void mlxcx_put32(mlxcx_t *, uintptr_t, uint32_t);
1249-
extern void mlxcx_put64(mlxcx_t *, uintptr_t, uint64_t);
1272+
static inline void
1273+
mlxcx_put64(mlxcx_t *mlxp, uintptr_t off, uint64_t val)
1274+
{
1275+
uintptr_t addr = off + (uintptr_t)mlxp->mlx_regs_base;
1276+
ddi_put64(mlxp->mlx_regs_handle, (void *)addr, val);
1277+
}
1278+
1279+
static inline void
1280+
mlxcx_uar_put32(mlxcx_t *mlxp, mlxcx_uar_t *mlu, uintptr_t off, uint32_t val)
1281+
{
1282+
/*
1283+
* The UAR is always inside the first BAR, which we mapped as
1284+
* mlx_regs
1285+
*/
1286+
uintptr_t addr = off + (uintptr_t)mlu->mlu_base +
1287+
(uintptr_t)mlxp->mlx_regs_base;
1288+
ddi_put32(mlxp->mlx_regs_handle, (void *)addr, val);
1289+
}
12501290

1251-
extern void mlxcx_uar_put32(mlxcx_t *, mlxcx_uar_t *, uintptr_t, uint32_t);
1252-
extern void mlxcx_uar_put64(mlxcx_t *, mlxcx_uar_t *, uintptr_t, uint64_t);
1291+
static inline void
1292+
mlxcx_uar_put64(mlxcx_t *mlxp, mlxcx_uar_t *mlu, uintptr_t off, uint64_t val)
1293+
{
1294+
uintptr_t addr = off + (uintptr_t)mlu->mlu_base +
1295+
(uintptr_t)mlxp->mlx_regs_base;
1296+
ddi_put64(mlxp->mlx_regs_handle, (void *)addr, val);
1297+
}
12531298

12541299
/*
12551300
* Logging functions.

0 commit comments

Comments
 (0)