Skip to content

Commit 4999993

Browse files
committed
inline ddi_{get,put} wrappers
1 parent b8fa94b commit 4999993

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
@@ -1236,17 +1236,62 @@ struct mlxcx {
12361236
};
12371237

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

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

1248-
extern void mlxcx_uar_put32(mlxcx_t *, mlxcx_uar_t *, uintptr_t, uint32_t);
1249-
extern void mlxcx_uar_put64(mlxcx_t *, mlxcx_uar_t *, uintptr_t, uint64_t);
1288+
static inline void
1289+
mlxcx_uar_put64(mlxcx_t *mlxp, mlxcx_uar_t *mlu, uintptr_t off, uint64_t val)
1290+
{
1291+
uintptr_t addr = off + (uintptr_t)mlu->mlu_base +
1292+
(uintptr_t)mlxp->mlx_regs_base;
1293+
ddi_put64(mlxp->mlx_regs_handle, (void *)addr, val);
1294+
}
12501295

12511296
/*
12521297
* Logging functions.

0 commit comments

Comments
 (0)